Skip to content

Anjay 3.0.0

Compare
Choose a tag to compare
@kFYatek kFYatek released this 18 May 15:45
· 19 commits to master since this release
BREAKING CHANGES:
- Changed license of the free version to AVSystem-5-clause
- Refactored the attr_storage module as a core feature
  - Names of the relevant CMake options and configuration macros have changed
  - anjay_attr_storage_install() has been removed; Attribute Storage is now
    always installed if enabled at compilation time
  - Behavior of anjay_attr_storage_restore() has been changed - this function
    now fails if supplied source stream is empty
- The "con" attribute is now included in anjay_dm_oi_attributes_t, as it has
  been standardized for LwM2M TS 1.2
- Refactored public headers to consistently use conditional compilation; APIs
  for disabled features are no longer accessible
- Removed previously deprecated APIs
- avs_commons 5.0 refactor the API for providing PSK credentials. Please refer
  to the change log there, or the document below for details:
  https://avsystem.github.io/Anjay-doc/Migrating/MigratingFromAnjay215.html

Features:
- LwM2M TS 1.1 support and related features are now available in the open source
  version; the features include:
  - Support for TCP binding
  - Support for SenML JSON, SenML CBOR and raw CBOR content formats
  - Support for the Send operation
  - Possibility for automatically moving security credentials provisioned by the
    Bootstrap Server or the bootstrapper module onto hardware security engines
    (note: no hardware security engine implementation is provided in the open
    source version)
- Security credentials provisioned by the Bootstrap server or bootstrapper
  module and automatically moved onto hardware security engine can now be marked
  as "permanent" to prevent them from being removed
- (commercial feature only) Experimental support for some LwM2M TS 1.2 features

Improvements:
- Refactored incoming message handling to make use of the
  AVS_NET_SOCKET_HAS_BUFFERED_DATA feature added in avs_commons 5.0
- Refactored and simplified internal flow of calling data model handlers
- Refactored internal handling of communication state
- Commercial features are now available for separate inclusion, described in the
  documentation more clearly and feature code examples
- Various improvements in the documentation

Bugfixes:
- Fixed some uninitialized variables in IPSO object implementations
- Fixed some compilation warnings in unit tests
- Fixed compatibility of integration tests with OpenSSL 3
- Fixed socket flag handling in tests that were breaking with some versions of
  Python
- Fixed some obsolete information in Doxygen documentation
- (commercial feature only) Added a validity check for the certificate
  provisioned via EST; previous code could lead to an assertion failure if the
  server misbehaved or the system clock was not set correctly