Tags: AVSystem/Anjay
Tags
Anjay 3.8.0 BREAKING CHANGES: - Timeout in case of sending a Confirmable Notification does not cancel the observation anymore by default. Features: - Added a ``connection_error_is_registration_failure`` configuration option that allows handling connection errors as Register failures, including the automatic retry mechanism - Added experimental server connection status API. Improvements: - (commercial version only) Changed MSISDN matching method in SMS binding feature to allow handling messages with Short Codes as originating number Bugfixes: - Fixed a corner case in which a connection error during a non-first Register attempt could cause uncontrolled infinite retries - Fixed a bug in demo of Advanced Firmware Update module that prevented proper handling of security config for targets other than APP - Fixed a bug that caused anjay_next_planned_notify_trigger family APIs to return an invalid value after canceling observations
Anjay 3.7.0 Features - Added support for LwM2M 1.2 server object requirement for infinite lifetime (lifetime == 0). - Introduced @experimental and @deprecated Doxygen tags. - Added experimental IPSO objects v2 API. - Added experimental Software Management object API. Improvements - Improved integration tests compability and framework stability - Added support for wget2 for validating links in documentation (for HTTP/2 support) Bugfixes - Refactored generation of blockwise Confirmable notifications to avoid a possible assertion failure; requests for subsequent blocks of such notifications are now sent as Piggybacked responses - Fixed a bug in the documentation of an object definition struct - (commercial version only) Fixed problems with running some tests on systems with Mbed TLS 3.x - Fixed a few assertion and pointer punning issues regarding calls to IPSO objects APIs in erroneous cases - Prevent from trying to store empty cert/keys on HSM
Anjay 4.0.0-alpha.1 Initial release of Anjay 4 Alpha.
Anjay 3.6.1 Improvements: - Optimized heap memory usage: SenML CBOR payloads for Send and Notify operations are no longer serialized in memory in their entirety unless their contents depend on the Access Control object state - Added a public define for MSISDN string size - Optimized "Out of memory" logs in favor of a smaller flash memory footprint Bugfixes: - (commercial feature only) Fixes for various bugs that could cause invalid memory accesses when restoring data from corrupted core persistence data
Anjay 3.5.0 BREAKING CHANGES - Reversed the order of calling the ``delivery_handler`` callback vs. canceling the observation when sending notifications with 4.xx or 5.xx code; this change is breaking only for direct users of ``avs_coap`` API Features - Added APIs for suspending and resuming standalone downloads as well as Firmware Update and Advanced Firmware Update PULL-mode downloads - Added standalone versions of the Security and Server object implementations, that can be customized by the end users - Added definitions for common Core Object IDs in the public API - Removed potentially faulty assertion in code generated by anjay_codegen.py - (commercial feature only) added ``anjay_sim_bootstrap_calculate_md5()`` function that allows verification whether SIM Bootstrap data has been changed (e.g. as a result of SIM OTA) Improvements - Rewritten Send-based reporting in Advanced Firmware Update in such a way that it will now work with custom implementations of the Server object - Simplified the CoAP downloader implementation so that the ``get_remote_hostname`` socket operation is no longer necessary for download resumption - Made handling of initial peer CSM messages in CoAP+TCP asynchronous - Updated the documentation with more descriptive warnings about functions that require extra care to maintain thread safety - Removed ``const`` qualifier from ``MAKE_URI_PATH()`` compound literal which triggers a plausible compiler bug on IAR EWARM v9.30 Bugfixes - Fixed a critical bug that caused Anjay to crash when sending notifications with 4.xx or 5.xx code over TCP - Fixed a regression introduced in 2.13.0 that prevented the Firmware Update and Advanced Firmware Update from compiling without the ``ANJAY_WITH_DOWNLOADER`` configuration option enabled - Fixed a condition where the Register or Update messages could be erroneously regenerated when refreshing server connections while already performing a Register or Update request - Fixed a condition where the connection could be erroneously retried automatically when a fatal failure was expected - Decoupled the ``WITH_AVS_COAP_TCP`` and ``ANJAY_WITH_LWM2M11`` configuration options so that they can be set independently as intended - Fixed the ``devconfig`` script and Github Actions configuration for better compatibility with building on macOS - Refactored TCP binding handling in integration tests for more reliability - Fixed the case where CoAP+TCP Abort message could erroneously be sent multiple times - Loosened some time constraints in Advanced Firmware Update tests - Fixed supplemental iid sort in Advanced Firmware Update - Fixed too early restart while performing an upgrade using Advanced Firmware Update module in Anjay demo app - Fixed too early persistence write while performing an upgrade using Advanced Firmware Update module in Anjay demo app
Anjay 3.4.1 Features - (commercial feature only) New ``sim_bootstrap`` module that implements the logic necessary to extract the EF(DODF-bootstrap) file contents from a smart card Bugfixes - Fixed a potential crash in case of a specific out-of-memory condition in Advanced Firmware Update - Fixed `anjay_config_log.h` so that all non-binary configuration options are properly logged - Fixed a regression from 3.4.0 that prevented ``nsh_lwm2m.py`` from launching
Anjay 3.4.0 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
Anjay 3.3.1 Improvements - `anjay_disable_server()` and `anjay_disable_server_with_timeout()` can now be be called on servers that are not enabled as well Bugfixes - Fixed resetting of counter for the Communication Sequence Retry Count resource - Fixed a regression in 3.2.0 that prevented the bootstrap connection to be properly closed if the Bootstrap Server is reconfigured in the new bootstrap information and legacy Server-Initiated Bootstrap is disabled
PreviousNext