Skip to content

Changelog

2022-05

This is a Long-Term Support release.

Upcoming Breaking Change

With the next release of IOWA, the configuration flags IOWA_SECURITY_LAYER_TINYDTLS, IOWA_SECURITY_LAYER_MBEDTLS, IOWA_SECURITY_LAYER_MBEDTLS_PSK_ONLY, IOWA_SECURITY_LAYER_MBEDTLS_OSCORE_ONLY will be deprecated. The configuration flag IOWA_SECURITY_LAYER_USER will be the default.

The samples secure_client_mbedtls3, secure_client_mbedtls2, and secure_client_tinydtls provides a feature equivalent integration with Mbed TLS and tinydtls. They also serve as a basis for integration with other TLS/DTLS libraries.

New Features

Breaking Change

Behavior Changes

  • When a Response is bigger than the connection MTU, and IOWA_COAP_BLOCK_SUPPORT is defined, IOWA will now return the first block of the response instead of returning a 4.13 (Request Entity Too Large) code.
  • The iowa_server_info_t structure now contains the LwM2M protocol version used by the LwM2M Server.

SDK Changes

  • Some internal functions were renamed to avoid conflicts.
  • Add three new samples illustrating how to integrate with a DTLS/TLS security library, one using Mbed TLS 3.1, one using Mbed TLS 2.28, and one using tinydtls.
  • The sample custom_object_multiple_instances, illustrating how to manage multiple instances of a custom LwM2M Object, was simplified and documented.

Bug Fixes

  • Fix a bug where corrupted data retrieved from the notification storage queues may lead to out-of-range memory accesses or value underflows.
  • Fix a bug where a Notification bigger than the connection MTU was not correctly sent as the first block of a CoAP Block-Transfer.
  • Fix a potential crash when handling a Observation on a multiple resource with no instance in Clients with no support of the Observe-Composite operation.
  • Fix a bug where IOWA was returning an error to the LwM2M Server cancelling the Firmware Update process. The Firmware Update process was however cancelled correctly.
  • Fix a bug where a Server lifetime or binding modified by calling iowa_client_set_server_configuration() was not automatically saved when IOWA_STORAGE_CONTEXT_AUTOMATIC_BACKUP is defined.
  • Fix a bug where the Access Control List Object Instances where not correctly restored when loading a context. The saved access control rights were however still enforced.