Skip to content

Anjay 3.1.0

Compare
Choose a tag to compare
@kFYatek kFYatek released this 06 Jul 16:12
· 18 commits to master since this release

BREAKING CHANGES

Note: the following changes, while technically breaking, are minor, and should not cause problems in most pratical usages. See also: https://avsystem.github.io/Anjay-doc/Migrating/MigratingFromAnjay30.html

  • Changed error handling semantics of anjay_attr_storage_restore() to match other persistence restore functions
  • TLS 1.2 is no longer implicitly set as the default (D)TLS version; the underlying crypto library's default is now used

Features

  • Factory provisioning feature that allows to perform "Factory bootstrap" based on SenML CBOR data stream
  • New API: anjay_access_control_set_owner(), allowing to set Owner resource in the Access Control object during the "Factory bootstrap" phase
  • New APIs for changing the CoAP transmission parameters, CoAP exchange timeout and DTLS handshake timeouts while the library is running

Improvements

  • Migrated the Observe/Notify subsystem to use the new AVS_SORTED_SET API from avs_commons; this means that avs_rbtree can be disabled, in which case a more lightweight list-based implementation will be used
  • Minor code size optimizations in the Server object implementation
  • Added documentation for the OSCORE commercial feature
  • (D)TLS version can now be set from command line in the demo application

Bugfixes

  • Fixed a bug in anjay_ongoing_registration_exists() that could cause it to always return true if disable_legacy_server_initiated_bootstrap is set to true
  • Fixed improper formatting of the payload describing the data model in the Register message during initial negotiation of the LwM2M version
  • Fixed handling of persistence format versioning for the Security object, that could cause crashes if Anjay was compiled without LwM2M 1.1 support
  • Changed the "Bootstrap on Registration Failure" resource in the Server object to be readable, as specified in LwM2M TS 1.2
  • (commercial feature only) Added persistence of runtime LwM2M version in the core persistence feature; previously the client could erroneously use a different LwM2M version than it registered with after core persistence restore