Changelog¶
Changelog¶
This page documents the evolution of the DaaS-IoT SDK across releases.
The entries below highlight functional changes, behavioral updates, and known limitations that may impact existing applications.
Version 0.21.03¶
Breaking Changes¶
The following changes introduce incompatibilities with previous versions:
-
Protocol incompatibility
Version 0.21.03 is not protocol-compatible with earlier releases.
Nodes running older versions cannot correctly communicate with 0.21.03 nodes. -
Configuration incompatibility
Existing configurations may not be compatible due to internal changes in identifier handling and synchronization behavior. -
Event naming standardization
Event names and callbacks have been standardized.
Applications upgrading from version 0.20.x must update event listeners accordingly. -
DDO timestamp and origin handling
Applications can no longer manually set the timestamp or origin of a DDO.
These fields are now fully managed by the runtime to ensure consistency with synchronization and routing mechanisms.
Discovery and Network Formation¶
- Introduction of configurable discovery activation modes:
- discovery_off
- discovery_sender_only
- discovery_receiver_only
-
discovery_full
-
Nodes can be initialized without predefined SID or DIN when discovery is enabled.
-
Automatic DIN assignment using a time-based algorithm when not explicitly provided.
-
SID inheritance from the network master when joining an existing network. User-defined SIDs may be overridden to prevent conflicts.
-
Discovery admission policies allow incoming requests to be accepted, ignored, or rejected.
-
Beaconing mechanisms improve automatic network formation and peer detection.
Time Synchronization¶
-
Mandatory synchronization phase before bidirectional communication is allowed.
-
Improved synchronization behavior based on internal ATS mechanisms.
-
Updated master selection rule:
- the node receiving the discovery packet during network creation becomes the synchronization master
-
master selection occurs only once per network lifecycle
-
Improved robustness and convergence of the synchronization algorithm.
DDO and Messaging¶
-
Support for payload-less DDOs, enabling lightweight control, acknowledgment, and status signaling.
-
Introduction of retry policies for DDO delivery failures.
-
Internal improvements to message parsing:
- headers and payloads are processed independently
-
invalid headers cause early packet discard, improving robustness and security
-
Improved timestamp precision by separating header reception timing from payload decoding.
Driver Management and Reliability¶
-
Connection monitoring detects degraded or failed communication paths.
-
Automatic failover to alternative known paths when a remote endpoint becomes unreachable.
-
Internal acknowledgment-based statistics are used to evaluate path performance and latency.
-
Improved recovery mechanisms for event callbacks and internal modules.
-
Atomic rollback ensures the system returns to a stable state if critical operations fail.
Platform Support¶
- Added support for:
- ESP32 RISC-V
- Raspberry platforms (ARM6, ARM7, ARM8)
Known Limitations¶
-
Threadless core and locate
When usingPERFORM_CORE_NO_THREAD, locate operations may fail if the core is not periodically executed.
A workaround is to retry the operation while invokingdoPerform(PERFORM_CORE_NO_THREAD)in a loop. -
Discovery on low-end devices
Discovery may fail on the first attempt on resource-constrained devices. Retrying beacon transmission is recommended. -
Self-targeted messaging
Sending messages to the local node itself (destination DIN equal to the local DIN) is currently not supported due to internal identifier handling changes.
Warning
Version 0.21.03 introduces multiple breaking changes. Carefully review this changelog before upgrading existing applications.