Skip to content

Releases: eclipse-score/baselibs

v0.2.7

29 Apr 13:23

Choose a tag to compare

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 ResultBlank and Blank aliases. Updated all consumers across baselibs.
  • score/memory: Removed support for custom string_view in string_comparison_adaptor; users should use std::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-gnu
  • aarch64-unknown-linux-gnu
  • x86_64-unknown-nto-qnx800
  • aarch64-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

21 Apr 05:36

Choose a tag to compare

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-gnu
  • aarch64-unknown-linux-gnu
  • x86_64-unknown-nto-qnx800
  • aarch64-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

10 Apr 12:17

Choose a tag to compare

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 with LockedPtr and UnlockGuard for 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 arguments utility to convert argments from main into std::vector<zstring_view>.
  • score/language/safecpp/safe_math: Added ReturnMode to configure whether safe math operations return Result<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 procmgr to follow the standard OSAL structure. Removed obsolete libseccomp2 dependency.
  • 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_view constructor when initialized from char* 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, mman expectations).
  • score/filesystem: AtomicUpdate now 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-gnu
  • aarch64-unknown-linux-gnu
  • x86_64-unknown-nto-qnx800
  • aarch64-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

16 Feb 17:11

Choose a tag to compare

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_atomics module with overflow-protected atomic operations.
  • score/utils: Extended ScopedOperation to 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_fallback after config flag removal.
  • score/result: Changed method declaration order in unexpected<E>::swap to workaround an issue in GCC 15.2.
  • score/os: Fixed libpcap test on QNX8.

Compatibility

  • x86_64-unknown-linux-gnu, x86_64-unknown-nto-qnx800 and aarch64-unknown-nto-qnx800 using bazel_cpp_toolchains.

Performed Verification

  • Build for x86_64-unknown-linux-gnu, x86_64-unknown-nto-qnx800, and aarch64-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

30 Jan 18:15

Choose a tag to compare

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. Added std::char_traits template parameter to zstring_view. Prevented instantiation of std::char_traits with non-standard types. Migrated from deprecated std::result_of_t to std::invoke_result_t for C++17 compliance.

  • Code Quality: Static analysis issue fixes across score/filesystem, score/os, score/memory, and score/network. Improved test coverage for various libraries. Added missing S-CORE compliant copyright headers throughout codebase.

  • Other improvements: Replaced score::cpp::string_view with std::string_view in score/json. Converted legacy UML diagrams to formats used in S-CORE.

Bug Fixes

  • Fixed compiler warnings in shared memory, inotify, and QCC char_traits deprecation warnings
  • Fixed broken URLs in documentation (partially)

Compatibility

  • x86_64-unknown-linux-gnu, x86_64-unknown-nto-qnx800 and aarch64-unknown-nto-qnx800 using bazel_cpp_toolchains.

Performed Verification

  • Build for x86_64-unknown-linux-gnu and x86_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

22 Dec 08:08

Choose a tag to compare

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_converter library.
  • Added network library.
  • Added Rust logging facade integration to the mw::log library.
  • Cleaned up the mw::log library to make it compatible with https://github.com/eclipse-score/logging
  • Introduced docs-as-code support.
  • Extended the language/futurecpp library with additional functionality.
  • Added component architecture documentation for the filesystem library.
  • Completed requirement inspection for the result library.
  • 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

Performed Verification

  • Build for x86_64-unknown-linux-gnu and x86_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

12 Dec 16:56
@4og 4og

Choose a tag to compare

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_converter library.
  • Added network library.
  • Added Rust logging facade integration to the mw::log library.
  • Cleaned up the mw::log library to make it compatible with https://github.com/eclipse-score/logging
  • Introduced docs-as-code support.
  • Extended the language/futurecpp library with additional functionality.
  • Added component architecture documentation for the filesystem library.
  • Completed requirement inspection for the result library.
  • 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

Performed Verification

  • Build for x86_64-unknown-linux-gnu and x86_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

02 Dec 10:59
@4og 4og

Choose a tag to compare

Full Changelog: v0.1.3...v0.2.0

v0.1.3

04 Nov 12:04
@4og 4og

Choose a tag to compare

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

28 Oct 15:12

Choose a tag to compare

v0.1.2 Pre-release
Pre-release

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