Repository navigation
v0.2.15
Module Name: baselibs
Release Tag: v0.2.15
Origin Release Tag: v0.2.14
Release Commit Hash: 6918a42
Release Date: 2026-10-14
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 (https://eclipse-score.github.io/process_description/main/index.html). 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
Notable Changes
Breaking changes & deprecations
score/jsonnow uses vaJson as its only parser backend; the nlohmann parser has been removed.--//score/json:base_libraryremains accepted as a deprecated no-op, including itsnlohmannvalue. Remove it from build configurations before its future removal. The publicJsonParserandIJsonParserAPIs are unchanged. #660
New features
- The optional vaJson serialization backend introduced in v0.2.14 now supports pretty printing and uses it by default instead of compact output. Pass
Formatting::kCompacttoJsonWriterto retain compact output. The customjson_serializebackend remains the default serialization backend. #636 #653 - QNX x86_64 C++ tests now support on-target coverage collection in QEMU through the gcov backend of
score_coverage, with HTML and LCOV reports and platform-specific coverage scope. Rust coverage remains measured by the Linux pipeline. #626
Bug fixes
- The vaJson serializer now preserves the stored floating-point type instead of converting doubles to single precision, preventing precision loss in serialized JSON numbers. #657
- FlatBuffers JSON-schema generation now accepts optional-scalar
= nulldefaults in root and included schemas by stripping those defaults from temporary copies. The original schemas used for C++ and binary generation are unchanged. #621 InterruptibleStatenow destroys its current result before reconstructing it with placement new, fixing a latent skipped-destructor defect while retaining support for non-assignable value types. #444- Upgraded
score_docs_as_codeto 8.4.0 to avoid build failures caused by its previous dependency onscore_devcontainer1.11.1. That version was yanked after its release archive no longer matched the checksum recorded in the Bazel registry. #679 eclipse-score/bazel_registry#528
Compatibility
The following platforms are supported using the bazel_cpp_toolchains (https://github.com/eclipse-score/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/38531698876
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.
What's Changed
- concurrency: fix placement new over the live value_ member by @kutsibalci in #444
- bazel: adopt module_template layout and policy-owned features by @fbaeuerle in #625
- Use ignore to be compatible with ref_int by @antonkri in #643
- Align comp arch documentation in baselibs by @aschemmel-tech in #647
- docs: migrate shared-layout component documentation by @4og in #637
- scope_exit: author component requirement/architecture, move Scoped Guards out of safecpp by @Nikhil2206 in #591
- Add pretty printing for vajson serializer by @JuriSchroeder in #636
- feat(toolchain): upgrade score_bazel_cpp_toolchains to 1.0.4 by @srinivasugithub in #503
- Add code target metadata to component docs by @AlexanderLanin in #641
- json: Set pretty printing as a default format in vajson serializer by @mihajlo-k in #653
- json: serialize numbers using their stored type by @mihajlo-k in #646
- Revert "json: serialize numbers using their stored type" by @4og in #656
- chore(docs): update score_docs_as_code gitignore configuration by @eclipse-score-bot in #655
- json: serialize numbers using their stored type by @mihajlo-k in #657
- string_manipulation: add requirements and test links by @Nikhil2206 in #580
- futurecpp: avoid overlapping ranges in zip_iterator mutation tests by @4og in #658
- Strips optional-scalar "= null;" defaults from a .fbs schema for --jsonschema by @Thomas-Mikhael in #621
- Upgrade flatbuffer to a version that fixes the dep issues by @limdor in #662
- Update dependency score_crates to v0.0.13 by @eclipse-score-bot in #532
- Update dependency score_platform to v0.7.3 by @eclipse-score-bot in #668
- chore(devcontainer): sync standard SCORE tool launcher by @eclipse-score-bot in #673
- remove json lib switch and nlohman backend by @Nikhil2206 in #660
- coverage: QNX on-target coverage through the score_coverage gcov backend
by @dcalavrezo-qorix in #626 - Update dependency score_docs_as_code to v8.4.0 by @eclipse-score-bot in #679
Full Changelog: v0.2.14...v0.2.15