Skip to content

Release 0.5.0

Choose a tag to compare

@ncmiller ncmiller released this 12 Jan 23:18
· 1305 commits to main since this release

Highlights:

  • Support for ESP-IDF v5.0. This is the new recommended version. IDF 4.x is still supported.
  • Support for decompressing compressed OTA artifacts
  • Support for certificate authentication when connecting to Golioth
  • No breaking changes from prior release

Added

  • client: new API golioth_client_wait_for_connect(), to block until connected to Golioth
  • new submodule: heatshrink
  • fw_update: support for decompressing compressed OTA artifacts, using heatshrink library
  • fw_update: new API golioth_fw_update_state_change_callback(), notification of state changes
  • fw_update: new API golioth_fw_update_init_with_config(), for more detailed configuration
  • config: new configuration to enable/disable OTA decompression
  • config: new configuration to set the default log level of the Golioth SDK
  • linux: option to download OTA images and store as a file
  • scripts: generate project root and device certificates
  • support for using SDK in C++ projects, extern "C" in headers, new esp-idf example
  • examples/esp_idf: new example cpp, demonstrating usage of SDK in C++ project
  • examples/{esp_idf,linux}: new certificate_auth example
  • docs: new document, Flash_and_RAM_Usage.md

Changed

  • esp-idf: libcoap is a separate IDF component now
  • docs: improved integration guide for ESP-IDF
  • esp-idf: configuration optimizations to reduce total flash size of binary
  • wifi: reduce log level to WARN, to avoid spammy logs at init time

Fixed

  • Miscellaneous printf formatting warnings, e.g. converting %d to PRId32
  • examples,wifi: fix potential strncpy size issue, NULL termination
  • Where malloc is called, check for NULL before attempting to memset
  • log: dynamically allocate JSON serialized string, to avoid 100 character limit
  • linux: golioth_sys_msleep now sleeps the correct amount of time, uses nanosleep
  • coap_client: only add URI path option to packet if path length is > 0
  • coap_client: use the accept option on all GET requests (was incorrectly using content-type)