Releases: nerves-hub/nerves_hub_link
Releases · nerves-hub/nerves_hub_link
v2.9.0
Added
- The way firmware updates are downloaded and installed has been improved to support recovery of downloads in the event of application crashes and device reboots. The default update strategy has been encapsulated in a new module called NervesHubLink.UpdateManager.StreamingUpdater, while the new optional caching updater strategy is implemented inNervesHubLink.UpdateManager.CachingUpdater. New update strategies can be added by implementing theNervesHubLink.UpdateManager.Updaterbehaviour. Please read the module documentation for more information.
- The firmware update progress messages sent from Link to Hub have been improved to include more detailed information about the update process, including if the update was ignored, requesting it be rescheduled, or if an error occurred. These messages are backwards compatible with older versions of NervesHub.
- You can now connect to NervesHub using your TPM module for key and cert storage. If your project uses the TPM Hex library we will automatically configure the websocket to use the TPM module for reading the key and cert. Please refer to the readme for more information on how to configure this feature.
Updated
- Alarms relating to disk mounts being almost (or completely) full can be ignored. Previously only /:disk_almost_fullAlarms were ingored, but this can now be configured to include other mounts. Please refer to the Extensions guide for more information.
- How NervesHubLinks checks for network availability has been improved to reduce blocking of GenServer messages. Previously :inet.gethostbyname/1was used, but under certain circumstances calls would take over 5 seconds, which would block calls to check on the status of the connection. Using:gen_tcp.connect/4allows for specifying a timeout, reducing the potential for the blocking of message processing.
v2.9.0-rc.1
- 
Added - The way firmware updates are downloaded and installed has been improved to support recovery of downloads in the event of application crashes and device reboots. The default update strategy has been encapsulated in a new module called NervesHubLink.UpdateManager.StreamingUpdater, while the new optional caching updater strategy is implemented inNervesHubLink.UpdateManager.CachingUpdater. New update strategies can be added by implementing theNervesHubLink.UpdateManager.Updaterbehaviour. Please read the module documentation for more information.
 
- The way firmware updates are downloaded and installed has been improved to support recovery of downloads in the event of application crashes and device reboots. The default update strategy has been encapsulated in a new module called 
v2.8.1
- 
Added - Send the firmwares validation status to NervesHub when the connection is established via an optional Client.firmware_validated?/0callback. A default implementation is provided, while supporting overriding with custom logic.
- Poll for firmware validation changes and send an update to NervesHub when the firmware is validated.
- Detect if a firmware revert has occurred and send this information to NervesHub when the connection is established. This is supported via an optional Client.firmware_auto_revert_detected?/0callback. A default implementation is provided, while supporting overriding with custom logic.
- Custom Clients can now be implemented usinguse NervesHubLink.Client, eliminating the need to implement allClientbehavior callbacks.
 
- Send the firmwares validation status to NervesHub when the connection is established via an optional 
- 
Updated - Support for Elixir 1.13.x has been removed
 
v2.8.0
- 
Added 
- 
Updated 
- 
Fixed 
v2.7.3
v2.7.2
- 
Fixed - Retrieve disk info differently based on OTP version
- Emit a warning when trying to retrieve public certs through Erlang on < OTP 25
- Revert Backoff/Certificate move to fix breaking change
 
- 
Updated - Force whenwhere 0.1.2 to fix compatibility with OTP 24 and earlier
 
v2.7.0
🚧 Invalid Release 🚧
This release is now invalid, It contains unintended breaking changes to NervesHubLink.Certificate and NervesHubLink.Backoff. Please use 2.7.2.
- 
Added - Improve how custom sets of metrics are defined (#279)
- Optional network traffic metrics (#267)
- REUSE compliance
 
- 
Updated 
v2.6.0
This update includes Extensions, a mechanism to handle extensions on a device for custom data and/or reporting outside the firmware update mechanism. These are isolated from the socket as to not get in the way of potential firmware updates and can be defined in external libs as well as this one by implementing the NervesHubLink.Extensions behavior. Extensions are controlled by NervesHub and can be adjusted at the product or device level for granular control.