Persistency Release Note#
Note
Document header
Persistency Release Note
|
status: valid
security: YES
safety: ASIL_B
|
||||
Overview#
This document provides an overview of the changes, improvements, and bug fixes included in the software module release version v0.4.1 as compared to the module’s origin release (which is usually the previous release).
Disclaimer#
This release note does not “release for production”, as it does not come with a safety argumentation and a performed safety assessment. The work products compiled in the safety package are created with care according to a process satisfying standards, but the project, being a non-profit and open source organization, can not take over any liability for its content.
Changes to the Module#
The release description contains the generated changelog, including the complete list of merged pull requests and dependency updates: GitHub releases. This note focuses on behavior and compatibility changes relevant to module users.
New Features#
No new KVS operations or storage capabilities were introduced in this maintenance release.
Improvements#
Instance locking: operations on the same KVS instance now wait for the lock instead of failing immediately; the C++
KMutexLockFailederror was removed.C++ filesystem access: the implementation now uses
score::filesysteminstead ofstd::filesystem.Logging: KVS instances share a logger and emit more informative messages.
Bug Fixes#
No additional user-visible bug fixes are called out separately from the generated changelog.
Other changes by Label#
Integration testing: C++ and Rust component integration tests now run through ITF on Linux (Docker) and QNX x86_64 (QEMU).
Documentation and build/CI maintenance: see the generated changelog in the GitHub release description.
Compatibility#
Dependencies: as declared in
MODULE.bazelof tag v0.4.1 The full dependency inventory is provided by the SBOM (//:sbom_*).
Performed Verification#
This release note is based on the verification as documented in module verification report Persistency Module Verifica... (mod_vrep__persistency__report).
Known Issues#
Non-atomic storage of data and hash file (#515), Atomic Store (comp_req__kvs__atomic_store): an interrupted write is detected as checksum mismatch on the next load (Persistent Data Storage Che... (comp_req__kvs__pers_data_csum_vrfy)).
Large 64-bit integers rounded in JSON (Rust) (#204): exact storage is only given within the IEEE 754 double integer range.
No protection against multi-process access (#494), Single Process Access (comp_req__kvs__single_process_access): exclusive access per KVS instance has to be ensured by the user.
Known Vulnerabilities#
No open vulnerabilities are known for this release (GitHub Dependabot alerts: none open).
Upgrade Instructions#
C++ API: remove handling for
KMutexLockFailed; contending calls now wait for the instance lock.C++ API: assignments to rvalue
KvsorKvsValueobjects are no longer supported.C++ API:
KvsValue::GetValue()on a temporary now returns by value.C++ ABI:
KvsValue::Typenow has underlying typestd::uint8_t; rebuild C++ consumers.
For any questions or support, please contact the Project lead or raise an issue/discussion.