Skip to content

v0.16.0

Latest
Compare
Choose a tag to compare
@szczys szczys released this 25 Nov 20:26
· 27 commits to main since this release

Breaking Changes:

  • All asynchronous callbacks now have both a status member and a coap_rsp_code member to replace the response member. All of the same information remains accessible. Update callback functions to match the new declaration and change any response->status checks to status.
  • golioth_ota_download_component() has a new uint32_t *next_block_idx parameter. Use this to resume block download. Set to NULL to use previous functionality in existing code.
  • The parameters for ota_component_block_write_cb() have changed to include block_buffer_len for the actual length of data and negotiated_block_size to indicate the maximum block size (may be used along with block_idx to calculate a byte offset).
  • golioth_ota_component->hash is now stored as an array of bytes instead of as a hex string.

Highlights:

  • Zephyr port updated to Zephyr v4.0
  • NCS port updated to NCS v2.8
  • Improved OTA stablility

Added:

  • ESP-IDF: optional ipv6 support enabled by CONFIG_LIBCOAP_ENABLE_IPV6_SUPPORT
  • LightDB/OTA/RPC: log message when an error response is received from server
  • CoAP: Server-negotiated block size for blockwise uploads
  • CoAP: optionally call a set_cb callback at the end of a blockwise upload operation
  • OTA: ability to resume a component download
  • golioth_sys_sha256_*() API for calculating OTA component hash
  • CONFIG_GOLIOTH_OTA to enable OTA component separately from fw_update component
  • Numerous hardware-in-the-loop (HIL) testing improvements for both code samples and integration tests

Changed:

  • Certificates: Replace ISRG Root X2 CA certificate with Golioth Root X1 CA certificate.
  • Zephyr: Samples: kconfig and devicetree settings common to an SoC moved from boards directory to socs directory.

Fixed:

  • Zephyr: Golioth coap client log messages now honor changes to the logging level.
  • Zephyr: Fixed off-by-one error in Golioth backend logging message length limit.
  • Zephyr: Connection ID is now properly enabled by Kconfig setting.
  • Zephyr: Run user callbacks when cancelling requests.
  • Linux: Error checks and max PEM size for certificate_auth sample.

Removed:

  • OTA compression was removed as the feature is currently unsupported on the servers side.
  • Golioth Basics sample removed from Zephyr and ESP-IDF. Existing per-feature sample code for these platforms covers everything demonstrated in that sample.

Known Issues:

  • [Zephyr only] examples won't build for esp32_devkitc_wrover with support for certificates due to bugs in Zephyr that prevent all RAM banks from being made available to the application.