Releases: eclipse-score/baselibs
v0.2.7
Module Name: baselibs
Release Tag: v0.2.7
Origin Release Tag: v0.2.6
Release Commit Hash: cab36dd
Release Date: 2026-04-29
Overview
The baselibs module provides a selection of basic C++ utility libraries for common use in the S-CORE project.
Disclaimer
This release is not intended for production use, as it does not include a safety argumentation or a completed safety assessment.
The work products compiled in the safety package are created with care according to the S-CORE process. However, as a non-profit, open-source organization, the project cannot assume any liability for its content.
For details on the features, see https://eclipse-score.github.io/score/main/features/baselibs/index.html
Improvements
- score/flatbuffers: Added FlatBuffers dependency and initial set of Starlark rules for C++.
- score/analysis/tracing: Introduced new failure handling concept in the Generic Trace Library.
- score/result: Removed deprecated
ResultBlankandBlankaliases. Updated all consumers across baselibs. - score/memory: Removed support for custom
string_viewinstring_comparison_adaptor; users should usestd::string_view. - score/mw/log: Made the minimal target public to support additive backend registration. Removed backend registrant plugin files. Updated README with supported Bazel targets. Consolidated backend design docs, updated verbose logging sequence diagrams, and restructured diagram references.
Bug Fixes
None.
Compatibility
The following platforms are supported using the bazel_cpp_toolchains:
x86_64-unknown-linux-gnuaarch64-unknown-linux-gnux86_64-unknown-nto-qnx800aarch64-unknown-nto-qnx800
Performed Verification
- Build on all supported platforms
- Unit test execution on all supported platforms (some test failures are expected on AArch64 and QNX targets).
- Address and undefined behavior sanitized unit test execution
- Leak sanitized unit test execution
Report: https://github.com/eclipse-score/baselibs/actions/runs/25110676839
Upgrade Instructions
Backward compatibility with the previous release is not guaranteed.
Contact Information
For any questions or support, please contact the Base Libs Feature Team (https://github.com/orgs/eclipse-score/discussions/1223) or raise an issue/discussion.
Full Changelog: v.0.2.6...v0.2.7
v0.2.6
Module Name: baselibs
Release Tag: v0.2.6
Origin Release Tag: v0.2.5
Release Commit Hash: f35af1b
Release Date: 2026-04-20
Overview
The baselibs module provides a selection of basic C++ utility libraries for common use in the S-CORE project.
Disclaimer
This release is not intended for production use, as it does not include a safety argumentation or a completed safety assessment.
The work products compiled in the safety package are created with care according to the S-CORE process. However, as a non-profit, open-source organization, the project cannot assume any liability for its content.
For details on the features, see https://eclipse-score.github.io/score/main/features/baselibs/index.html
Improvements
- score/result: Added Rust FFI bindings for score::Result and associated types (score::details::expected, score::Error, score::ErrorDomain, std::string_view). Results can be transferred across FFI boundaries and converted to Rust
std::result::Result. Includes ABI detection for runtime compatibility checking and a CXX macro for importing typedefs on the C++ side. - score/mw/log: Added RegistryAwareRecorderFactory with a plugin architecture for backend selection. Added backend plugin registrants for file, remote DLT, and QNX slog. Added CreateRecorderFromLogMode. Introduced
mw/log:minimal as a stub empty backend target. Refactored composite recorder to internal detail namespace. - score/filesystem: Refactored AtomicUpdate internals. Temporary files are now cleaned up on all failure paths (destructor, Close() failure, file-stream creation failure). Added fsync on the parent directory after rename.
- score/memory/shared: Applied MeyerSingleton to initialize static singletons. Added mutex locking when opening shared memory objects. Added feature-flag visibility support.
- score/result: Switched ResultBlank from void* to void. Deprecated StringLiteral alias. Removed transitive dependency on score::cpp::optional.
- score/os: Migrated internal usage to ScopeExit utility.
- Build System / CI: Marked unneeded MODULE.bazel dependencies as dev-only. Added explicit amp_assert.h includes across filesystem, concurrency, json, libos, and platform/aas. Updated QNX build workflow to use latest
version from cicd-workflows. Increased test timeouts for AArch64 builds.
Bug Fixes
- score/filesystem: Fixed lcov coverage exclusion markers (LCOV_EXCL_START/STOP). Fixed multiple QNX8 Coverity warnings in lib/filesystem and lib/json. Removed QNX8-specific #ifdef that was no longer needed. Reverted and
re-applied fsync-parent-dir change to avoid a regression on non-regular files. - score/mw/log: Fixed missing Bazel dependency. Removed redundant recorder_config.h. Tagged QNX slog backend target as manual to prevent unintended build inclusion.
- score/result: Fixed missing and incorrect copyright headers.
- score/os: Fixed mman unit tests after ES2 integration changes.
- score/memory/shared: Fixed incorrect feature-flag visibility on lib/memory/shared targets.
Compatibility
The following platforms are supported using the bazel_cpp_toolchains:
x86_64-unknown-linux-gnuaarch64-unknown-linux-gnux86_64-unknown-nto-qnx800aarch64-unknown-nto-qnx800
Performed Verification
- Build on all supported platforms
- Unit test execution on all supported platforms (some test failures are expected on AArch64 and QNX targets).
- Address and undefined behavior sanitized unit test execution
- Leak sanitized unit test execution
Report: https://github.com/eclipse-score/baselibs/actions/runs/24682435979
Known Issues
Upgrade Instructions
Backward compatibility with the previous release is not guaranteed.
Contact Information
For any questions or support, please contact the Base Libs Feature Team (https://github.com/orgs/eclipse-score/discussions/1223) or raise an issue/discussion.
Full Changelog: v0.2.5...v0.2.6
v0.2.5
Module Name: baselibs
Release Tag: v0.2.5
Origin Release Tag: v0.2.4
Release Commit Hash: ef2a4fd
Release Date: 2026-04-10
Overview
The baselibs module provides a selection of basic C++ utility libraries for common use in the S-CORE project.
Disclaimer
This release is not intended for production use, as it does not include a safety argumentation or a completed safety assessment.
The work products compiled in the safety package are created with care according to the S-CORE process. However, as a non-profit, open-source organization, the project cannot assume any liability for its content.
For details on the features, see https://eclipse-score.github.io/score/main/features/baselibs/index.html
Improvements
- score/concurrency: Added
Synchronized<T>, a thread-safe wrapper withLockedPtrandUnlockGuardfor scoped access to shared data. - score/scope_exit: Added
ScopeExit, a scope guard that invokes a callback on destruction. - score/utils: Added
MeyerSingleton, a class that allows creating a singleton in a thread safe manner. - score/string_manipulation: Added
argumentsutility to convert argments frommainintostd::vector<zstring_view>. - score/language/safecpp/safe_math: Added
ReturnModeto configure whether safe math operations returnResult<T>or abort on error. - score/json: Split parser and writer into separate interface targets to reduce transitive dependencies.
- score/mw/log: Added JSON config schemas for logging. Updated architecture diagrams to PlantUML.
- score/os: Refactored OSAL
procmgrto follow the standard OSAL structure. Removed obsoletelibseccomp2dependency. - Build System / CI: Added clang-format and clang-tidy workflows. Added Linux AArch64 build and test via QEMU user space emulation. Added unit test execution on QNX 8 for x86_64 and AArch64. Bumped toolchain and score dependencies.
Bug Fixes
- score/language/safecpp: Fixed
zstring_viewconstructor when initialized fromchar*with explicit length. - score/analysis/tracing: Fixed lockless allocator tail being overwritten during concurrent updates. Fixed memory leak in allocator error paths.
- score/memory: Fixed allocation failure log showing incorrect start address.
- score/os: Fixed flaky inotify tests by accumulating events across reads. Reverted no-longer-needed QNX8
poll()workaround. Fixed multiple QNX8 test stability issues (timer precision,pcap_loop,ClockAdjust,mmanexpectations). - score/filesystem:
AtomicUpdatenow rejects early when a file lacks write permissions. - score/containers: Fixed ODR violation.
Compatibility
The following platforms are supported using the bazel_cpp_toolchains:
x86_64-unknown-linux-gnuaarch64-unknown-linux-gnux86_64-unknown-nto-qnx800aarch64-unknown-nto-qnx800
Performed Verification
- Build on all supported platforms
- Unit test execution on all supported platforms (some test failures are expected on AArch64 and QNX targets).
- Address and undefined behavior sanitized unit test execution
- Leak sanitized unit test execution
Report: https://github.com/eclipse-score/baselibs/actions/runs/24235551914
Known Issues
General Issues
- Safety package is incomplete due to missing documentation and verification. See the Module Safety Plan for the documents and work products not in valid state.
- Traceability between component requirements and tests is not present (#62).
GCC Toolchain on Linux (x86_64 and AArch64)
- Several unit tests fail when building with the GCC toolchain (#7).
QNX 8 Toolchain (x86_64 and AArch64)
- Some unit tests are skipped on QNX8 due to platform-specific issues.
Upgrade Instructions
Backward compatibility with the previous release is not guaranteed.
Contact Information
For any questions or support, please contact the Base Libs Feature Team (https://github.com/orgs/eclipse-score/discussions/1223) or raise an issue/discussion.
Full Changelog: v0.2.4...v0.2.5
v0.2.4
Module Name: baselibs
Release Tag: v0.2.4
Origin Release Tag: v0.2.3
Release Commit Hash: 158fe6a
Release Date: 2026-02-16
Overview
The baselibs module provides a selection of basic C++ utility libraries for common use in the S-CORE project.
Disclaimer
This release is not intended for production use, as it does not include a safety argumentation or a completed safety assessment.
The work products compiled in the safety package are created with care according to the S-CORE process. However, as a non-profit, open-source organization, the project cannot assume any liability for its content.
For details on the features, see https://eclipse-score.github.io/score/main/features/baselibs/index.html
Improvements
- Build System: Added sanitizers (ASan, UBSan, LSan) configuration.
- score/language/safecpp: Added
safe_atomicsmodule with overflow-protected atomic operations. - score/utils: Extended
ScopedOperationto support generic callables. - score/memory: Added bounds-check on
OffsetPtr. - score/mw/log: Replaced stub recorder with console-only recorder. Added WriterFactory design diagram.
Bug Fixes
- score/mw/log: Fixed
runtime_test_instance_fallbackafter config flag removal. - score/result: Changed method declaration order in
unexpected<E>::swapto workaround an issue in GCC 15.2. - score/os: Fixed
libpcaptest on QNX8.
Compatibility
x86_64-unknown-linux-gnu,x86_64-unknown-nto-qnx800andaarch64-unknown-nto-qnx800using bazel_cpp_toolchains.
Performed Verification
- Build for
x86_64-unknown-linux-gnu,x86_64-unknown-nto-qnx800, andaarch64-unknown-nto-qnx800. - Unit tests executed on
x86_64-unknown-linux-gnu.
Report: https://github.com/eclipse-score/baselibs/actions/runs/22069841861
Known Issues
General Issues
- Safety package is incomplete due to missing documentation and verification. See the Module Safety Plan for the documents and work products not in valid state.
- Traceability between component requirements and tests is not present (#62)
GCC Toolchain on Linux (x86_64 and AArch64)
- Several unit tests fail when building with the GCC toolchain (#7).
- Full AArch64 support is missing (#78)
QNX 8 Toolchain (x86_64 and AArch64)
- Unit tests are not currently executed on QNX 8.
Upgrade Instructions
Backward compatibility with the previous release is not guaranteed.
Contact Information
For any questions or support, please contact the Base Libs Feature Team (https://github.com/orgs/eclipse-score/discussions/1223) or raise an issue/discussion.
Full Changelog: v0.2.3...v0.2.4
v0.2.3
Module Name: baselibs
Release Tag: v0.2.3
Origin Release Tag: v0.2.2
Release Commit Hash: 99d4963
Release Date: 2026-01-30
Overview
The baselibs module provides a selection of basic C++ utility libraries for common use in the S-CORE project.
Disclaimer
This release is not intended for production use, as it does not include a safety argumentation or a completed safety assessment.
The work products compiled in the safety package are created with care according to the S-CORE process. However, as a non-profit, open-source organization, the project cannot assume any liability for its content.
For details on the features, see https://eclipse-score.github.io/score/main/features/baselibs/index.html
Improvements
-
Build System and CI/CD: Added GitHub Actions workflows for C++ coverage, copyright checking, code formatting, QNX builds, and automated releases. Migrated to
score_bazel_cpp_toolchains. -
score/os: Various improvement for better QNX 8 compatibility.
-
score/language/safecpp: Added complete set of comparison operators for
basic_zstring_view. Addedstd::char_traitstemplate parameter tozstring_view. Prevented instantiation ofstd::char_traitswith non-standard types. Migrated from deprecatedstd::result_of_ttostd::invoke_result_tfor C++17 compliance. -
Code Quality: Static analysis issue fixes across
score/filesystem,score/os,score/memory, andscore/network. Improved test coverage for various libraries. Added missing S-CORE compliant copyright headers throughout codebase. -
Other improvements: Replaced
score::cpp::string_viewwithstd::string_viewinscore/json. Converted legacy UML diagrams to formats used in S-CORE.
Bug Fixes
- Fixed compiler warnings in shared memory, inotify, and QCC
char_traitsdeprecation warnings - Fixed broken URLs in documentation (partially)
Compatibility
x86_64-unknown-linux-gnu,x86_64-unknown-nto-qnx800andaarch64-unknown-nto-qnx800using bazel_cpp_toolchains.
Performed Verification
- Build for
x86_64-unknown-linux-gnuandx86_64-unknown-nto-qnx800. - Unit tests executed on
x86_64-unknown-linux-gnu.
Report: https://github.com/eclipse-score/baselibs/actions/runs/21517886503
Known Issues
General Issues
- Safety package is incomplete due to missing documentation and verification. See the Module Safety Plan for the documents and work products not in valid state.
- Traceability between component requirements and tests is not present (#62)
GCC Toolchain on Linux (x86_64 and AArch64)
- Several unit tests fail when building with the GCC toolchain (#7).
- Full AArch64 support is missing (#78)
QNX 8 Toolchain (x86_64 and AArch64)
- Unit tests are not currently executed on QNX 8.
Upgrade Instructions
- Backward compatibility with the previous release is not guaranteed.
- Users of Baselibs module may require a workaround for "strict_warnings` issue if they use the bazel_cpp_toolchains. See #97 for more details.
Contact Information
For any questions or support, please contact the Base Libs Feature Team (https://github.com/orgs/eclipse-score/discussions/1223) or raise an issue/discussion.
Full Changelog: v0.2.2...v0.2.3
v0.2.2
Module Name: baselibs
Release Tag: v0.2.2
Origin Release Tag: v0.1.3
Release Commit Hash: a3557b8 (branch release_v0_2_2)
Release Date: 2025-12-22
Overview
The baselibs module provides a selection of basic C++ utility libraries for common use in the S-CORE project.
This release is meant for integration with the S-CORE 0.5 Beta Release.
The module is available as a Bazel module in the S-CORE Bazel registry: https://github.com/eclipse-score/bazel_registry/tree/main/modules/score_baselibs
Disclaimer
This release is not intended for production use, as it does not include a safety argumentation or a completed safety assessment.
The work products compiled in the safety package are created with care according to the S-CORE process. However, as a non-profit, open-source organization, the project cannot assume any liability for its content.
For details on the features, see https://eclipse-score.github.io/score/main/features/baselibs/index.html
Improvements
- Added support for AArch64 on QNX 8 SDP.
- Added
datetime_converterlibrary. - Added
networklibrary. - Added Rust logging facade integration to the
mw::loglibrary. - Cleaned up the
mw::loglibrary to make it compatible with https://github.com/eclipse-score/logging - Introduced docs-as-code support.
- Extended the
language/futurecpplibrary with additional functionality. - Added component architecture documentation for the
filesystemlibrary. - Completed requirement inspection for the
resultlibrary. - Improved code quality across multiple libraries.
Full Changelog: v0.1.3...v0.2.2
Bug Fixes
- Fixed most of the compilation issues on QNX 8 SDP.
Compatibility
x86_64-unknown-linux-gnuusing score_toolchains_gcc.x86_64-unknown-nto-qnx800andaarch64-unknown-nto-qnx800using score_toolchains_qnx.
Performed Verification
- Build for
x86_64-unknown-linux-gnuandx86_64-unknown-nto-qnx800. - Unit tests executed on
x86_64-unknown-linux-gnu.
Report: https://github.com/eclipse-score/baselibs/actions/runs/20366964550
Known Issues
General Issues
- Safety package is incomplete due to missing documentation and verification. See the Module Safety Plan for the documents and work products not in valid state.
GCC Toolchain (Linux, x86_64)
- Several unit tests fail when building with the GCC toolchain (#7).
QNX 8 Toolchain (x86_64 and AArch64)
- Multiple Bazel packages do not compile successfully:
- Unit tests are not currently executed on QNX 8 SDP.
Upgrade Instructions
Backward compatibility with the previous release is not guaranteed.
Contact Information
For any questions or support, please contact the Base Libs Feature Team (https://github.com/orgs/eclipse-score/discussions/1223) or raise an issue/discussion.
v0.2.1
Module Name: baselibs
Release Tag: v0.2.1
Origin Release Tag: v0.1.3
Release Commit Hash: dd32543
Release Date: 2025-12-12
Overview
The baselibs module provides a selection of basic C++ utility libraries for common use in the S-CORE project.
This release is meant for integration with the S-CORE 0.5 Beta Release.
The module is available as a Bazel module in the S-CORE Bazel registry: https://github.com/eclipse-score/bazel_registry/tree/main/modules/score_baselibs
Disclaimer
This release is not intended for production use, as it does not include a safety argumentation or a completed safety assessment.
The work products compiled in the safety package are created with care according to the S-CORE process. However, as a non-profit, open-source organization, the project cannot assume any liability for its content.
For details on the features, see https://eclipse-score.github.io/score/main/features/baselibs/index.html
Improvements
- Added support for AArch64 on QNX 8 SDP.
- Added
datetime_converterlibrary. - Added
networklibrary. - Added Rust logging facade integration to the
mw::loglibrary. - Cleaned up the
mw::loglibrary to make it compatible with https://github.com/eclipse-score/logging - Introduced docs-as-code support.
- Extended the
language/futurecpplibrary with additional functionality. - Added component architecture documentation for the
filesystemlibrary. - Completed requirement inspection for the
resultlibrary. - Improved code quality across multiple libraries.
Full Changelog: v0.1.3...v0.2.1
Bug Fixes
- Fixed most of the compilation issues on QNX 8 SDP.
Compatibility
x86_64-unknown-linux-gnuusing score_toolchains_gcc.x86_64-unknown-nto-qnx800andaarch64-unknown-nto-qnx800using score_toolchains_qnx.
Performed Verification
- Build for
x86_64-unknown-linux-gnuandx86_64-unknown-nto-qnx800. - Unit tests executed on
x86_64-unknown-linux-gnu.
Report: https://github.com/eclipse-score/baselibs/actions/runs/20173880587
Known Issues
General Issues
- Safety package is incomplete due to missing documentation and verification. See the Module Safety Plan for the documents and work products not in valid state.
GCC Toolchain (Linux, x86_64)
- Several unit tests fail when building with the GCC toolchain (#7).
QNX 8 Toolchain (x86_64 and AArch64)
- Multiple Bazel packages do not compile successfully:
- Unit tests are not currently executed on QNX 8 SDP.
Upgrade Instructions
Backward compatibility with the previous release is not guaranteed.
Contact Information
For any questions or support, please contact the Base Libs Feature Team (https://github.com/orgs/eclipse-score/discussions/1223) or raise an issue/discussion.
v0.2.0
Full Changelog: v0.1.3...v0.2.0
v0.1.3
Module Name: baselibs
Release Tag: v0.1.3
Origin Release Tag: first release
Release Commit Hash: 9457533
Release Date: 2025-11-04
Overview
The baselibs module provides a selection of basic C++ utility libraries for common use in the S-CORE project.
This release is built from the s_core_release_v0_5_0 branch and is meant for integration with the S-CORE 0.5 Alpha Release.
The module is available as a Bazel module in the S-CORE Bazel registry: https://github.com/eclipse-score/bazel_registry/tree/main/modules/score_baselibs
Disclaimer
This release is not intended for production use, as it does not include a safety argumentation or a completed safety assessment.
The work products compiled in the safety package are created with care according to a process that satisfies standards. However, as a non-profit, open-source organization, the project cannot assume any liability for its content.
New Features
bitmanipulation: Implemented, with component requirements and documentation.concurrency: Implemented.containers: Implemented, with component requirements and documentation.json: Implemented, with component requirements, architecture, and documentation.filesystem: Implemented, with component requirements.futurecpp: Implemented.safecpp/aborts_upon_exception: Implemented.safecpp/coverage_termination_handler: Implemented.safecpp/safe_math: Implemented.safecpp/scoped_function: Implemented.memory: Implemented, with component architecture.os: Implemented.result: Implemented, with component requirements, assumptions of use, architecture, and documentation.static_reflection_with_serialization: Implemented.mw::log: Implemented.utils: Implemented.
For details on the new features, see https://eclipse-score.github.io/score/main/features/baselibs/index.html
All libraries not in the list above are not part of this release, even if they have an implementation in https://github.com/eclipse-score/baselibs/tree/main/score.
Improvements
Not applicable for this release.
Bug Fixes
Not applicable for this release.
Compatibility
- Linux (x86_64)
- QNX 8 SDP (x86_64)
Performed Verification
- Build for Linux x86_64 and QNX 8 SDP x86_64.
- Unit tests executed on Linux x86_64
Report: https://github.com/eclipse-score/baselibs/actions/runs/19068025921
Known Issues
General Issues
- Safety package is incomplete due to missing documentation and verification.
GCC Toolchain (Linux, x86_64)
- Several unit tests fail when building with the GCC toolchain (#7).
QNX 8 Toolchain (x86_64)
- Multiple Bazel packages do not compile successfully:
- Unit tests are not currently executed on QNX 8 SDP.
Upgrade Instructions
Not applicable for this release.
Contact Information
For any questions or support, please contact the Base Libs Feature Team (https://github.com/orgs/eclipse-score/discussions/1223) or raise an issue/discussion.
v0.1.2
This pre-release is made from branch s_core_release_v0_5_0, which contains the last known baselibs repository state that works with eclipse-score/communication.
Full Changelog: v0.1.1...v0.1.2