Eclipse Hara 2.0.0

2.0.0

Description

First release of the hara-ddiclient by the Eclipse Hara project. Hara-ddiclient is a Kotlin library that facilitates and speeds up the development of DDI API clients for devices connecting to hawkBit servers. Hara-ddiclient provides a library, a reference example implementation called "virtual device" and a docker image of the virtual device.

The first release provides support for the major DDI API features such as HTTP and HTTPS connections, authentication with Gateway Token or Target Token, and forced and soft updates.

Architectural Issues

Being a library the project is extensible by its nature. Interfaces are exposed to the users of the library.

Known issues:

  • some Kotlin features marked as ObsoleteCoroutinesApi (and ExperimentalCoroutinesApi) are used
  • Kotlin is not updated to the latest version (currently 1.6.10)
Security Issues

There are no security issues known at the time of this writing.

Non-Code Aspects

The project provides:

  • README.md file with:
    • Project structure

    • how to import the project using gradle / maven

    • how to build the project from source

    • how to run the virtual device reference example client

    • how to use the library in custom projects, including code examples

    • how to contribute to the project

    • where to find help

    • IP, licensing and copyright

  • Kdoc (code documentation)
Conforms To UI/UX Guidelines
Not applicable (project doesn't provide UI)
End of Life

Since this is the first release of hawkBit, there are no deprecated or removed features (yet).

Standards

Hara does not support any particular standards.

Communities

The Hara team is attracting users, adopters, and contributors using multiple channels.

  • On GitHub (https://github.com/eclipse/hara-ddiclient) users can create issues for questions, bugs, and enhancements and provide pull requests for improving hawkBit. Users are reporting bugs also via the mailing list (https://www.eclipse.org/lists/hara-dev/msg00001.html) or the hawkBit gitter chat
  • The Hara team openly reviews the changes by committers and external contributors using github pull requests (https://github.com/eclipse/hara-ddiclient/pulls?q=is%3Apr+is%3Aclosed)
  • Some of the committers are speaking at conferences (https://www.eclipsecon.org/2022/sessions/eclipse-hara-updating-embedded-devices-hawkbit-made-easy, https://youtu.be/hva9ZwehIjo, https://youtu.be/0TFHlPCq2PU), publishing blog entries and/or articles (https://www.kynetics.com/eclipse-iot-and-edge-native-the-hara-project, https://www.kynetics.com/eclipsecon-2022).
  • Some of the committers are active in the hawkBit gitter channel, helping hawkBit and Hara users (https://gitter.im/eclipse/hawkbit?at=63317081d020d223d356ce1e, https://gitter.im/eclipse/hawkbit?at=62541ecec61ef0178eb81aec, https://gitter.im/eclipse/hawkbit?at=61725d41f2cedf67f99c0cf1, etc)

Know users of the hara-ddiclient library are:

  • the virtual device reference implementation, included in the hara-ddiclient repository
  • Kynetics' Update Factory Android Client for hawkBit (https://github.com/kynetics/uf-android-client). The client is used in thousands of production Android devices to apply application and OS OTA software updates
  • RTSoft Gmbh company. The company and its employees forked the project (https://github.com/rtsoft-gmbh/hara-ddiclient, https://github.com/aleksandrovrts/hara-ddiclient/tree/hara-tiny) and contributed patches before the project migrated to Eclipse github (https://github.com/Kynetics/uf-ddiclient/pull/2)