Skip to content

Update dependency score_communication to v0.5.0 - #236

Merged
NEOatNHNG merged 2 commits into
mainfrom
renovate/score_communication-0.x
Oct 9, 2026
Merged

NEOatNHNG merged 2 commits into
mainfrom
renovate/score_communication-0.x

Conversation

@eclipse-score-bot

@eclipse-score-bot eclipse-score-bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
score_communication bazel_dep minor 0.4.0 → 0.5.0

Release Notes

eclipse-score/communication (score_communication)

v0.5.0

Module Name: communication
Release Tag: v0.5.0
Origin Release Tag: v0.4.0
Release Commit Hash: b80a980
Release Date: 2026-10-01

Overview

The communication module provides a generic communication frontend with an IPC binding for use in the S-CORE project.

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_communication

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/communication/index.html

Improvements

Runtime / API
  • Skeleton-side and proxy-side bindings are now type-erased. EventDataStorage is type-erased, and SkeletonEventBinding and GenericSkeletonEventBinding (and the proxy-side equivalents) are separated and unified at binding level. Generic and typed proxies/skeletons now share one binding implementation. (#​897, #​1079, #​1161)
  • tracing::TypeErasedSamplePtr was removed and replaced by impl::SamplePtr<void>. (#​1229)
  • Event data type alignment is exposed through a new API based on memory::DataTypeSizeInfo. GatewayApplication now uses the real alignment instead of a hardcoded 0. (#​931)
  • Add-on mw::com configurations can be loaded after the application configuration. Only service definitions are merged, and only if they do not conflict. Internal configuration structures were restructured to minimise locking. (#​930, integration test: #​1030)
  • Subscription state in LoLa no longer uses a lock. It uses std::atomic access instead. (#​1230)
  • Added OffsetRef<T> next to OffsetPtr<T> for reference semantics in shared memory. The bounds check for pointed-to objects was extracted into a shared function. (#​1073, #​1103)
  • TransactionLogId is now an alias of GlobalConfiguration::ApplicationId, which removes platform-specific uid_t issues. (#​1146)
  • Several APIs that propagated exceptions despite noexcept were corrected (MISRA RULE-18-5-1). This also changes test expectations: std::bad_alloc is now thrown instead of terminating. (#​1202)
Gateway
  • New QEMU hypervisor transport layer for the LoLa gateway (transport-layer.id: "qemu_hypervisor"). It uses an ivshmem-plain shared-memory BAR for a zero-copy data plane, with the TCP-based bidirectional transport as control plane. (#​921, #​1108)
  • Gateway transport-layer messages now own their data, via a new GatewayEventInfo type. (#​1039)
Configuration
  • Flatbuffers schema as single source of truth for the configuration. Includes a JSON-schema generator, a JSON→fbs converter and a schema drift/roundtrip test. Enabled via --config=flatbuffers, off by default. (#​738)
Build, toolchains and warnings
Quality, static analysis and CI
Testing
  • Large expansion of integration tests: skeleton/proxy method move semantics, an all-service-elements test (events, fields, methods), disabling field set/get, mixed-criticality fields, a bigdata core-dump extraction, and a QEMU PCI fix for flaky ITF tests. (#​659, #​820, #​1018, #​857, #​858, #​739, #​1108, #​1034, #​1052)
  • Tests were split into public-API tests and impl tests (45 files). (#​1010)
Documentation, requirements and safety artifacts
  • mw/com dependability requirements were split along the high-level architecture and per unit. Generic proxy/skeleton service element requirements were split and moved. (#​1007, #​1008, #​1033, #​1027, #​1040)
  • Assumed system requirements were reworked. score_tooling was updated to 2.2.2. (#​1101, #​1075)
  • Safety Sentinel: unit/component Bazel targets were added, architectural design fixed, and generic skeleton/proxy removed from the binding level. The static design now uses a coarser component architecture, and SOME/IP was removed from it. FTA for stop_offer was reworked. (#​1068, #​1193, #​1069, #​1173, #​1145)
  • Docs: tutorial uses Sphinx tag-referencing markers, message_passing public_api.puml was fixed, the documentation project was renamed, and the release template verification steps were updated. (#​1131, #​1056, #​1133, #​1005, #​1009, #​969)

Bug Fixes

  • Fixed static destruction order fiasco in MemoryResourceRegistry and SharedMemoryFactoryImpl (nifty-counter idiom). (#​884)
  • Fixed the proxy method rvalue-extraction test helper. (#​1052)
  • Removed duplicated and error-prone OnProxyMethodUnsubscribe logic. (#​1058)
  • Gateway: fixed a dangling-buffer risk for ProvideServiceRequest (messages own their data) and the hardcoded event alignment. (#​1039, #​931)
  • Fixed the platform-specific uid_t transaction-log ID handling (partial fix for #​1105). (#​1146)
  • Fixed missing build dependencies and the QNX QEMU PCI module lookup. (#​1089, #​1183, #​1108)
  • Fixed missing-break switch terminators (MISRA RULE-9-4-2) and return-value handling in sample apps. (#​982, #​1213, #​1200)
  • Fixed the coverage reporter, SARIF generation and the review-checklist bot. (#​1157, #​1217, #​978)

Compatibility

Performed Verification

  • Unit test execution on host with all supported toolchains
  • Build and test on QNX8 x86_64
  • Thread sanitized unit test execution
  • Address, undefined-behavior, and leak sanitized unit test execution
  • Static analysis / linting (clang-tidy, clippy, ruff) via the Aspect CLI, with findings uploaded to GitHub Code Scanning
  • CodeQL MISRA C++ compliance analysis on both Linux and QNX (--config=qnx), merged into a single compliance report
  • Code coverage report generation (llvm-cov) across the C++ test suite
  • Documentation build and packaging (Sphinx) for the release version

Known Issues

Build / ecosystem compatibility
  • Bazel 9+ is not supported. The supported range is 8.6 ≤ Bazel < 9 (.bazelversion: 8.7.0). (#​694)
  • rules_python 2.x is not supported. The module pins 1.8.5. (#​695)
  • Build can fail with toolchain resolution errors or dependency mismatches against latest main. (#​336)
  • Active downstream patch: score_baselibs is patched with a QNX8 poll workaround (third_party/score_baselibs/restore_qnx8_poll_workaround.patch), pending a fix in the QNX SDP (see eclipse-score/bazel_cpp_toolchains#68). It is applied via single_version_override in the root MODULE.bazel. Consumers using this module as a non-root module must apply an equivalent override themselves.
  • Dev-only workarounds: score_itf and hedron_compile_commands are pinned via git_override, and rules_doxygen is patched. These affect local development and CI only, not consumers.
Runtime / API
  • Unsubscribe failures in EventSubscriptionControl::Unsubscribe() are treated as fatal and call std::terminate(). (#​722)
  • Calling a method from within another method's callback handler is not possible. (#​767)
  • File descriptors opened when offering a service are not created with CLOEXEC and leak into forked/exec'd children. (#​1064)
  • The deprecated GetSampleSize() has not yet been removed. (#​975)
  • Lola transaction-log invalid-ID sentinel can differ between QNX and Android domains (only partially addressed by #​1146). (#​1105)
Gateway
  • GatewayApplication terminates unexpectedly when a skeleton/proxy pair is stopped and the skeleton restarted. (#​1116)
  • Multi-VM topology and VM restart/gateway recovery are not yet supported. (#​1141, #​1140)
Rust API
Quality / tooling
  • Many integration tests are tracked as flaky (label flaky-test, e.g. #​1168, #​1107, #​1097, #​1096).
  • CodeQL loses location information for some findings and ignores some production sources. (#​1104, #​751)
  • api_surface --check-docs crashes with KeyError: 'file' when undocumented symbols exist. (#​1053)
  • The communication documentation is not included in the Reference Integration. (#​805)
  • Buildifier CI setup misses some issues. (#​1236)

Upgrade Instructions

Backward compatibility with the previous release is not guaranteed.

Public API changes (score/mw/com/api_surface.lock.json) compared to v0.4.0:

  • Added: runtime::AddConfiguration(const RuntimeConfiguration&) and runtime::AddConfiguration(score::json::Any), both returning Result<void>, for loading add-on configurations (#​930). GenericProxyEvent::GetDataTypeSizeInfo() returns memory::DataTypeSizeInfo (#​931). Converting constructors and Swap overloads between SamplePtr<T> / SampleAllocateePtr<T> of different sample types were added.
  • Deprecated: GenericProxyEvent::GetSampleSize() is now [[deprecated]]. Use GetDataTypeSizeInfo().Size() instead.
  • Signature changes:
    • runtime::ResolveInstanceIDs now takes const InstanceSpecifier& instead of by value (#​1003).
    • GenericProxyEvent::SetReceiveHandler, UnsetReceiveHandler and Unsubscribe are no longer noexcept (#​1202). They may now propagate exceptions, so callers that relied on noexcept must adapt.
    • Binding-related constructors of GenericProxyEvent and GenericSkeletonEvent now take the unified ProxyEventBinding / SkeletonEventBinding types, and SkeletonEventBase's constructor takes an additional std::optional<InitializeSampleCallback>. These are relevant only to code constructing events directly (#​897, #​1079, #​1161).

Contact Information

For any questions or support, please raise an issue/discussion.


  • 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 Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

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: 1a0faaac-a96e-4681-91f5-ddde32be4789
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
WARNING: For repository 'platforms', the root module requires module version platforms@1.0.0, but got platforms@1.1.0 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'score_tooling', the root module requires module version score_tooling@2.2.1, but got score_tooling@2.2.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'rules_oci', the root module requires module version rules_oci@2.2.7, but got rules_oci@2.3.0 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'score_devcontainer', the root module requires module version score_devcontainer@1.8.0, but got score_devcontainer@1.11.1 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: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 3 packages loaded
WARNING: Target pattern parsing failed.
ERROR: Skipping '//:license-check': no such target '//:license-check': target 'license-check' not declared in package '' defined by /home/runner/work/time/time/BUILD
ERROR: no such target '//:license-check': target 'license-check' not declared in package '' defined by /home/runner/work/time/time/BUILD
INFO: Elapsed time: 18.234s
INFO: 0 processes.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

@github-actions

github-actions Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Quality pack traceability report for this pull request:

Status: PASS (workflow run)

Traceability gate input: /home/runner/work/time/time/_build/metrics.json
------------------------------------------------------------------------
[comp_req]
  Requirements with source links: 8/58 (13.79%)
  Requirements with test links:   5/58 (8.62%)
  Requirements fully linked:      5/58 (8.62%)
  Tests linked to requirements:   8/393 (2.04%)
  Broken test references:         0
------------------------------------------------------------------------
Threshold check passed.

@eclipse-score-bot
eclipse-score-bot force-pushed the renovate/score_communication-0.x branch 3 times, most recently from 30a6909 to f594c84 Compare October 7, 2026 13:16
@eclipse-score-bot eclipse-score-bot changed the title chore(deps): update dependency score_communication to v0.5.0 Update dependency score_communication to v0.5.0 Oct 8, 2026
@eclipse-score-bot
eclipse-score-bot force-pushed the renovate/score_communication-0.x branch 2 times, most recently from 5f716a3 to f7bcbe5 Compare October 8, 2026 12:16
@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Documentation preview for this pull request is available at:
pr-236: https://eclipse-score.github.io/time/pr-236/

@eclipse-score-bot
eclipse-score-bot force-pushed the renovate/score_communication-0.x branch from f7bcbe5 to 58cfdcf Compare October 9, 2026 09:16
NEOatNHNG
NEOatNHNG previously approved these changes Oct 9, 2026
@eclipse-score-bot
eclipse-score-bot force-pushed the renovate/score_communication-0.x branch from 5b585da to 98654e6 Compare October 9, 2026 15:11
@eclipse-score-bot

Copy link
Copy Markdown
Contributor Author

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@NEOatNHNG
NEOatNHNG merged commit fa93042 into main Oct 9, 2026
24 checks passed
@NEOatNHNG
NEOatNHNG deleted the renovate/score_communication-0.x branch October 9, 2026 20:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants