v0.7.0
The notable addition in this release is the support for OTA Campaigns. These allow rolling out OTA Updates to multiple devices automatically, while controlling the rollout with parameters like, e.g., the maximum number of failures, the number of concurrent device updates etc.
To support OTA Campaign, many new concepts are introduced: device tags, selectors, groups, update channels, base image collections. All these are detailed in the documentation.
The v0.5 release cycle has now been deprecated, and users are suggested to upgrade to the v0.7.0 version.
Here's the full list of changes from v0.5.2, the latest release in the v0.5 release cycle:
Breaking changes
- The
Description
field in theSystemModel
object is now aString
instead of aLocalizedText
.
Deprecated
- Support for
io.edgehog.devicemanager.OTAResponse
is deprecated and will be removed in future releases. Switch toio.edgehog.devicemanager.OTAEvent
instead. - Support for
io.edgehog.devicemanager.OTARequest
with major version0
is deprecated and will be removed in future releases. Switch toio.edgehog.devicemanager.OTARequest
major version1
instead.
Added
- Add support for device tags (#191, #212).
- Add support for device custom attributes (#205).
- Add
MAX_UPLOAD_SIZE_BYTES
env variable to define the maximum dimension for uploads (particularly relevant for OTA updates). Defaults to 4 GB. - Allow creating and managing groups based on selectors.
- Add support for device's
network_interfaces
(#231, #232). - Add support for base image collections (#229, [#230] #230)).
- Add support for base images (#240, #244).
- Add support for update channels (#243, #245).
- Add support for
io.edgehog.devicemanager.OTAEvent
. - Add support for
io.edgehog.devicemanager.OTARequest
v1.0. - Add OTA Campaigns execution support.
- Expose OTA Campaigns stats.
Changed
- Handle Device part numbers for nonexistent system models.
- Enhance the OTA Campaigns frontend, using the exposed stats.
Fixed
- Fix DevicesTable component for devices without SystemModel
- Don't crash the OTA campaign if a misconfigured device doesn't send its base image version.
- Correctly return stats even for OTA campaigns with no targets.
- Handle empty string when translating legacy OTAResponse messages.
- Deduplicate tags in list of existing device tags.