Skip to content

Update dependency score_baselibs to v0.2.11 - #140

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

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

Conversation

@eclipse-score-bot

@eclipse-score-bot eclipse-score-bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
score_baselibs bazel_dep patch 0.2.90.2.11

Release Notes

eclipse-score/baselibs (score_baselibs)

v0.2.11

Module Name: baselibs
Release Tag: v0.2.11
Origin Release Tag: v0.2.10
Release Commit Hash: d6f4b39
Release Date: 2026-08-18

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

Completed migration: score/memory/shared moved to the https://github.com/eclipse-score/communication

Following the preparatory work announced in v0.2.10, the shared-memory implementation has now been moved out of this repository. score/memory/shared is fully migrated to score_communication; only thin migration shims remain at the previous //score/memory/shared:* labels for compatibility. Update your Bazel dependencies to score_communication and adjust include paths/namespaces accordingly. #​424 #​421

Breaking changes & deprecations
  • datetime_converter is now deprecated and will be removed in a future release. The implementation has had multiple correctness issues (most recently incorrect handling of leap seconds) and limited adoption; if you need this functionality, prefer relying directly on POSIX/libc time APIs. #​483
  • analysis/tracing: ServiceInstanceElement::element_id switched from score::cpp::variant to std::variant, continuing the interface migration started in v0.2.10. Update call sites and any code that pattern-matches on the old variant type. #​415
  • containers_rust ABI types (InlineVec, InlineQueue, InlineOption, InlineResult) dropped their T: Copy bound to support nested/movable payloads (e.g. InlineVec<InlineString<..>>). Since Rust forbids Copy + Drop, these types are no longer Copy; they implement Clone when their payload does. Memory layout (#[repr(C)]/#[repr(transparent)]) is unchanged. #​432
New features
  • result: new Rust FFI bindings (result_rs crate) let Rust code interoperate with score::Result<T>/score::result::Error across the language boundary and convert them into Rust's own Result. Companion libcpp/libcpp_derive crates model ABI-dependent C++ standard-library types (currently std::string_view and std::variant) with layout tests. #​403
  • New score/language/rust/memres Rust crate plus a C++ FFI layer let Rust code create and own score::cpp::pmr::memory_resource instances and pass them to C++, so allocations can be controlled across the language boundary, including a hermetic (no heap-fallback) mode. #​406
  • language/futurecpp was synced with the latest upstream release: score::cpp::jthread and the internal thread pool/cpu_context gained a priority_hint thread attribute. The score::cpp::variant was reimplemented as a thin wrapper around std::variant and now implicitly converts to and from std::variant; score::cpp::optional (already std::optional-backed) gained a matching implicit conversion to std::optional. Both ease migration to the std:: equivalents. #​466
  • examples/integration: added a score::Result usage demo and score_bazel_cpp_toolchains support. #​411 (closes #​363)
Bug fixes
  • memory: DataTypeSizeInfo now enforces alignof(std::max_align_t) as the maximum supported alignment; constructing it with a larger alignment now triggers a contract violation instead of silently accepting an unsupported over-aligned type. #​470
  • Rust: fixed a memory leak in score::thread's JoinInner::join(), where the result Arc was dropped via mem::forget without being read back first. Address/Undefined-Behavior/Leak sanitizer coverage (--config=asan_ubsan_lsan) was also extended to Rust builds, which had previously only covered C++. #​429
  • json/vajson: FromFile no longer parses directly off the file stream buffer, whose seek-based backtracking triggered an lseek/read syscall per seek (especially costly on QNX); it now buffers the file into memory first, like FromBuffer does, for about a 25% runtime improvement. #​431

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

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.

What's Changed

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

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

github-actions Bot commented Jul 28, 2026

Copy link
Copy Markdown

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run //: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: 7e4e2b49-c507-45b8-b3c3-165691a4b181
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
WARNING: For repository 'score_bazel_platforms', the root module requires module version score_bazel_platforms@0.1.2, but got score_bazel_platforms@1.0.0 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
Computing main repo mapping: 
Computing main repo mapping: 
WARNING: Target pattern parsing failed.
ERROR: Skipping '@score_baselibs//score/memory/shared/flags:use_typedshmd': no such package '@@score_baselibs+//score/memory/shared/flags': BUILD file not found in directory 'score/memory/shared/flags' of external repository @@score_baselibs+. Add a BUILD file to a directory to mark it as a package.
ERROR: @score_baselibs//score/memory/shared/flags:use_typedshmd :: Error loading option @score_baselibs//score/memory/shared/flags:use_typedshmd: no such package '@@score_baselibs+//score/memory/shared/flags': BUILD file not found in directory 'score/memory/shared/flags' of external repository @@score_baselibs+. Add a BUILD file to a directory to mark it as a package.

@github-actions

Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

@eclipse-score-bot
eclipse-score-bot force-pushed the renovate/score_baselibs-0.x branch 3 times, most recently from 1732a7a to 7fa3bff Compare August 11, 2026 14:29
@eclipse-score-bot
eclipse-score-bot force-pushed the renovate/score_baselibs-0.x branch 3 times, most recently from 6448650 to dd5caae Compare August 18, 2026 13:20
@eclipse-score-bot eclipse-score-bot changed the title Update dependency score_baselibs to v0.2.10 Update dependency score_baselibs to v0.2.11 Aug 18, 2026
@eclipse-score-bot
eclipse-score-bot force-pushed the renovate/score_baselibs-0.x branch from dd5caae to 7a5543b Compare August 18, 2026 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

2 participants