Skip to content

Anjay 3.4.0

Compare
Choose a tag to compare
@PiotrRoszkowski PiotrRoszkowski released this 14 Jun 14:35
· 8 commits to master since this release

Features

  • New APIs for server connection lifecycle management:
    anjay_server_schedule_reconnect() and anjay_schedule_register()
  • New options in anjay_configuration_t that allow for optional more strict
    LwM2M TS compliance: update_immediately_on_dm_change and
    enable_self_notify
  • Added option to disable auto-closing of the socket when in queue mode.
  • avs_coap_observe_cancel() is now public API (for direct users of avs_coap)
  • Added Advanced Firmware Update as an Anjay module
  • Added simplified demo of Advanced Firmware Update with two firmware images
  • Added tutorial for Advanced Firmware Update

Improvements

  • Observations are now automatically cancelled if the client needs to send a new
    Register messsage
  • Added explicit casts in macros that involve negating an unsigned value, to
    silence warnings generated by some compilers
  • Various improvements and refactors of integration tests, to make them run
    faster and more stable
  • (commercial feature only) Disabled servers are saved now in Core Persistence,
    which prevents them from registering until the timeout passes with respect to
    the real clock.

Bugfixes

  • Fixed handling of SenML payload that could cause erroneous behavior and memory
    leaks when parsing payloads only containing the Base Name field, without Name
  • Fixed error handling in bootstrapper (commercial only) and factory
    provisioning modules so that the changes are properly rolled back in case of
    error
  • Fixed assertion error (or 4.05 Method Not Allowed when compiled without
    assertions) when attempting to set the Disable Timeout resource in the Server
    object when the ANJAY_WITHOUT_DEREGISTER configuration option is set
  • Fixed inequality comparisons on some time values that could cause erroneous
    behavior on platforms with low-resolution system clocks, and updated unit
    tests to not assume a high-resolution clock
  • Fixed a problem where anjay_ongoing_registration_exists() inconditionally
    returned true if any server connection in a "disabled" state existed
  • Timeout when sending a Confirmable Notification now cancels the observation,
    as required by RFC 7641
  • Removed sending of Release messages when using CoAP+TCP, which fixes the issue
    of erroneously sending them at the beginning after reconnecting a LwM2M
    connection socket
  • Fixed the serial port handling code in the sample NIDD driver, to properly
    handle cases where more than one line is received in a single read() call
  • Fixed compatibility of integration tests with the current versions of the
    Python cryptography module
  • Fixed problems with compiling the library without WITH_AVS_COAP_BLOCK
    enabled (contributed by Flonidan A/S)
  • Fixed a bug in the pymbedtls library used by tests, that prevented it from
    working in DTLS client mode
  • Fixed bug in the "Custom (D)TLS layers" code examples