Releases: AVSystem/Anjay-lite
Releases · AVSystem/Anjay-lite
Anjay Lite 2.0.0
BREAKING CHANGES
- Removed support for TCP and TLS bindings in NET layer -
ANJ_NET_WITH_TCP,ANJ_COAP_WITH_UDP,ANJ_COAP_WITH_TCPoptions were removed. - Removed
anj_net_shutdownfrom NET layer. - Monotonic time is now the primary clock used for scheduling operations,
replacing real-time clock usage across the codebase.
Features
- NTP module for time synchronization.
- (commercial version only) Added default OSCORE Object implementation.
- Added support for canceling observations with CoAP RST message.
- Re-introduced
anj_core_ongoing_operationAPI. - Added
ANJ_OBSERVE_OBSERVATION_CANCEL_ON_TIMEOUToption to control behavior
in case of notification timeouts. - Introduced
ANJ_LOG_MICROoption for optimizing footprint of
logging withtools/micro_logs_decode.pytool to decode log messages.
Improvements
- Switch RNG implementation from getrandom() to getentropy() for improved portability.
- Tests structure refactored in order to increase coverage.
- Shorter Send operation payloads due to the use of a common path when encoding messages.
- MbedTLS integration layer sets the correct MTU value.
- MbedTLS is now fetched and compiled only once when calling
make allvia rootCMakeLists.txt.
Bugfixes
- Fixed a bug in TLV decoder that incorrectly rejected request with a resource
instance specified in the uri-path. - Fixed handling of Discover requests targeting the root path.
- Fixed incorrect descriptions of return values in callbacks from FOTA.
- Writes to Object Instances now ignore unknown optional Resources, per LwM2M specification.
Anjay Lite 1.0.0
The first Anjay Lite release featuring stable API.
BREAKING CHANGES
- Implemented new Time API with distinct clock types:
anj_time_real_t,anj_time_monotonic_t,anj_time_duration_t. - Renamed
anj_dm_res_t::operationfield toanj_dm_res_t::kind. - Renamed
anj_dm_res_operation_ttype toanj_dm_res_kind_t. - Moved
anj/log/log.hheader toanj/log.h. - Removed
anj_core_ongoing_operationAPI. - Removed
anj_dm_bootstrap_cleanupAPI.
Bugfixes
- Fixed broken README.md link in integrations documentation
Anjay Lite 1.0.0-beta.2
Second release for Anjay Lite Beta.
BREAKING CHANGES
- Changed error codes defined in the
anj_net_api.hto positive values. Returning any positive values from the
user Network API implementation, other thanANJ_NET_E*, is prohibited.
Features
- CoAP Downloader module for large file transfers from CoAP servers, supporting FOTA Pull scenarios.
- Added support for Write-Composite operation.
Improvements
- Added
anj/init.hheader to make config includes and option dependency checks
more consistent. - Removed unnecessary usages of
ANJ_CONTAINER_OF()in object implementation
examples. - Introduce Python tools for downloading object XMLs from OMA registry -
tools/lwm2m_object_registry.pyand generating
object stubs -tools/anjay_codegen.py - Implemented responses caching
- If no confirmable notification is sent for 24 hours, the next notification sent will be confirmable.
- The library now follows the include pattern recommendations from Include What You Use (IWYU) version 0.24
compatible with clang 20.
Bugfixes
- Fixed improper handling of LwM2M Server responses in Separate Response mode.
- Updated default value in description of
ANJ_COAP_MAX_OPTIONS_NUMBERoption. - Fixed an issue with calling the observation module API during message exchange handling.
- Corrected the timing for setting the last sent notification timestamp.
- Fixed an issue that allowed server both bootstrap and management to freely read
the Security and OSCORE objects.
Anjay Lite 1.0.0-beta.1
Initial release of Anjay Lite Beta.
Supported Features:
- Support for both LwM2M 1.1 and 1.2
- Interfaces
- Bootstrap support
- Client Registration support
- Device Management and Service Enablement support
- Information Reporting support
- Transport
- Support for UDP Binding
- Content Formats
- Input: TLV, PlainText, Opaque, CBOR, SenML CBOR, LwM2M CBOR
- Output: PlainText, Opaque, CBOR, SenML CBOR, LwM2M CBOR
- Preimplemented LwM2M Objects
- Security (
/0) - Server (
/1) - Device (
/3) - Firmware Update (
/5)
- Security (