Skip to content

Update dependency score_baselibs to v0.2.10 - #380

Open
eclipse-score-bot wants to merge 1 commit into
mainfrom
renovate/score_baselibs-0.x
Open

Update dependency score_baselibs to v0.2.10#380
eclipse-score-bot wants to merge 1 commit into
mainfrom
renovate/score_baselibs-0.x

Conversation

@eclipse-score-bot

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
score_baselibs bazel_dep patch 0.2.90.2.10

Release Notes

eclipse-score/baselibs (score_baselibs)

v0.2.10

Module Name: baselibs
Release Tag: v0.2.10
Origin Release Tag: v0.2.9
Release Commit Hash: 174bcba
Release Date: 2026-07-28

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

Notable Changes

Upcoming migration: score/memory moving to the communication repository

score/memory (in particular the shared-memory implementation under score/memory/shared) will be relocated into the communication module. This release contains only preparatory work. The actual code move is planned for the next release and will be a breaking change. Prepare to update your Bazel labels, include paths, and namespaces.

Already done in this release to enable the move:

  • AtomicIndirector moved from score/memory/shared to score/concurrency. A shim remains at //score/memory/shared:atomic_indirector (re-exporting into score::memory::shared) so unmigrated code keeps working.
    Migration: depend on //score/concurrency:atomic_indirector and use the score::concurrency namespace.
  • string_manipulation moved from score/memory to score/string_manipulation (StringLiteral, StringComparisonAdaptor, LazySplitStringView/split_string_view). Shims remain at the old //score/memory:* labels.
    Migration: depend on //score/string_manipulation and use the score::string_manipulation namespace (the deprecated StringLiteral stays in the top-level score namespace).
Breaking changes & deprecations
  • Static reflection / serialization macros renamed with a SCORE_ prefix. The old macros now emit deprecation warnings and forward to the new names:
    • STRUCT_VISITABLESCORE_STRUCT_VISITABLE
    • STRUCT_TRACEABLESCORE_STRUCT_TRACEABLE
    • MEMCPY_SERIALIZABLESCORE_MEMCPY_SERIALIZABLE
    • MEMCPY_SERIALIZABLE_IFSCORE_MEMCPY_SERIALIZABLE_IF
  • result: Blank and ResultBlank are deprecated. Use void instead of score::result::Blank, and Result<void> instead of ResultBlank.
  • score::Result is now fully [[nodiscard]]. Ignoring a returned Result now produces a warning and can break -Werror builds. Consume/handle the returned value.
  • hash: public API switched from ResultBlank to Result<void>. IHashAlgorithm::Update / UpdateFromStream (and their mocks/impls) now return Result<void>. Update your overrides and MOCK_METHOD signatures.
  • analysis/tracing: generic_trace_api now uses std::variant instead of score::cpp::variant in its interface, stub, and mock signatures. Adapt call sites accordingly. More breaking changes are planned in the next release.
  • Rust components moved from //src/... to //score/.... The elementary component was renamed to allocator, plus renames on name clashes. Old //src/... labels remain as aliases with deprecation warnings; update to the new //score/... labels.
  • containers_rust: removed &'alloc from the allocator API (the lifetime was propagating unnecessarily). It is a breaking Rust API change.
New features
  • allocator: bounded lock-free allocation using an atomic bump pointer (CAS-based, capped retries for deterministic execution, graceful failure on exhaustion).
  • score::cpp::span: new size_bytes() method.
  • concurrency LockedPtr: added const overloads and [[nodiscard]] on member accessors.
  • os: new sem_timedwait_monotonic() (Linux uses sem_clockwait(), requires glibc ≥ 2.30); new QNX I/O and OCB wrappers (io_close_dup_default, io_lock_ocb_default, io_unlock_ocb_default) with mocks.
  • flatbuffers: buffer version identification and verification, plus Starlark rules that inject major/minor version into FlatBuffer binaries at build time; VersionReader gained a file_identifier sanity check; added a versioned-config example.
  • memory/shared: now rejects inter-VM shared-memory paths (the /intervm-shared-shmem/ prefix), returning nullptr and logging an error, since no portable inter-VM implementation exists yet.
Bug fixes
  • DateTimeConverter: fixed epoch-time calculation (off-by-one in date calculation, removed incorrect leap-year adjustment, improved conversion accuracy).
  • os: glibc < 2.30 warning changed to a #pragma message.
  • flatbuffers: mitigation for the transitive grpc-java dependency.
  • libacl not compiled with -fPIC causes linker failure on AArch64 PIE target #​172

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/30361163145

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://redirect.github.com/orgs/eclipse-score/discussions/1223) or raise an issue/discussion.

All changes

Full Changelog: eclipse-score/baselibs@v0.2.9...v0.2.10


  • If you want to rebase/retry this PR, check this box

This PR was generated by #infrastructure automation. Contact us if you have any questions or feedback.

@github-actions

Copy link
Copy Markdown

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run --lockfile_mode=error //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.6.0) and connecting to it...
INFO: Invocation ID: a183654b-ce6a-4c76-bec3-037ded5fc418
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)

Analyzing: target //:license-check (33 packages loaded, 10 targets configured)

Analyzing: target //:license-check (83 packages loaded, 10 targets configured)

Analyzing: target //:license-check (86 packages loaded, 10 targets configured)

Analyzing: target //:license-check (140 packages loaded, 2522 targets configured)

Analyzing: target //:license-check (151 packages loaded, 2796 targets configured)

Analyzing: target //:license-check (157 packages loaded, 4583 targets configured)

Analyzing: target //:license-check (163 packages loaded, 8257 targets configured)

Analyzing: target //:license-check (164 packages loaded, 8271 targets configured)

Analyzing: target //:license-check (164 packages loaded, 8271 targets configured)

Analyzing: target //:license-check (164 packages loaded, 8271 targets configured)

Analyzing: target //:license-check (165 packages loaded, 8395 targets configured)

Analyzing: target //:license-check (168 packages loaded, 10283 targets configured)

Analyzing: target //:license-check (169 packages loaded, 10407 targets configured)

INFO: Analyzed target //:license-check (169 packages loaded, 10409 targets configured).
[12 / 16] JavaToolchainCompileClasses external/rules_java+/toolchains/platformclasspath_classes; 0s disk-cache, processwrapper-sandbox ... (2 actions running)
[14 / 16] JavaToolchainCompileBootClasspath external/rules_java+/toolchains/platformclasspath.jar; 0s disk-cache, processwrapper-sandbox
[15 / 16] Building license.check.license_check.jar (); 0s disk-cache, multiplex-worker
INFO: Found 1 target...
Target //:license.check.license_check up-to-date:
  bazel-bin/license.check.license_check
  bazel-bin/license.check.license_check.jar
INFO: Elapsed time: 26.743s, Critical Path: 2.63s
INFO: 16 processes: 12 internal, 3 processwrapper-sandbox, 1 worker.
INFO: Build completed successfully, 16 total actions
INFO: Running command line: bazel-bin/license.check.license_check ./formatted.txt <args omitted>
usage: org.eclipse.dash.licenses.cli.Main [-batch <int>] [-cd <url>]
       [-confidence <int>] [-ef <url>] [-excludeSources <sources>] [-help] [-lic
       <url>] [-project <shortname>] [-repo <url>] [-review] [-summary <file>]
       [-timeout <seconds>] [-token <token>]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

1 participant