Highlights
- The Zephyr CoAP library is now used instead of libcoap for Zephyr ports
- Zephyr ports can specify a TLS credential tag to use for authentication, in particular this will enable the use of offloaded DTLS sockets.
Breaking Changes
- Remove golioth_prefix from filenames and move header files undergolioth/folder.
- Remove golioth.hheader - users must now include individual headers for each service that they use.
- Stream and State: change jsonandcborobject set calls to specify type in the parameters (instead of separate function calls).
- RPC: This service must now be initialized prior to use by calling golioth_rpc_init(client);
- Settings: This service must now be initialzied prior to use by calling golioth_settings_init(client);
- Services (e.g. stream, fw_update, etc.) are disabled by default - be sure to enable them in your project configuration.
- Typedefs have been removed throughout the codebase - instead use the underlying struct or enum types
- Remove lightdb_fromlightdb_streamfunctions to differentiate from LIghtDB State
Added:
- Automated Hardware-in-the-Loop test framework
- Basic cross-platform connection HIL test
- Tests for all Zephyr examples
- Add kconfig option for default log level for SDK logs
- Lightb State examples now show how to use CBOR
Changed:
- Improved network connection management
- Wait for network traffic and request queue concurrently - this removes the need to wakeup every 1 second to check for requests
- Pass structs by reference instead of value in golioth_sys_* APIs
- Use bool instead of int for binary Kconfig options
- Improved organization of Kconfig options
- ESP-IDF examples use FreeRTOS APIs directly instead of Golioth abstractions
- LightDB State and Stream are now separate services in the SDK
- DFU example has been renamed to fw_update
- Use golioth_content_type enum instead of libcoap content types
Removed:
- Magtag demo for ESP-IDF - this hardware is out of stock
- Golioth time module - this was a thin wrapper around golioth_sys
- golioth_statistics module - this internal memory tracking module is being replaced by out-of-source tooling
- remote_shell - This was an experimental feature that was never released. If you are interested in remote shell functionality in the future, please reach out to Golioth!
- Integration guide - see docs.golioth.io for the latest documentation on integration Golioth into your product
Fixed:
- Various documentation fixes
- Removed double check for CONFIG_GOLIOTH_SAMPLE_COMMON
- Fix stack overflow in logging thread
- Drop logs with unsupported log levels
- Attempting to use a disabled service now fails at build time instead of at run time