Skip to content

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 27 Aug 12:45
4ff5d77

Module Release Notes

Module Name: lifecycle
Release Tag: v0.4.0
Origin Release Tag: v0.3.0
Release Commit Hash: 4ff5d77
Release Date: 2026-08-27

Overview

This document provides an overview of the changes, improvements, and bug fixes included in the software module release version v0.4.0
as compared to the module's origin release (which is usually the previous release).

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


Changes to the Module

New Features

  • Working directory support: Support the deployment_config/working_dir value to set a process working directory. #356

Improvements

  • Lifecycle mock for OSS consumers: Add MwLifeCycleManagerMock to allow unit tests to set expectations on report_running() and report_shutdown() without real IPC. #391
  • CPU affinity up to 64 cores: Extend the default CPU affinity mask from 32 to 64 cores. #286
  • Internal refactoring:
    • Config simplification: Removes the legacy flattbuffer Launch Manager config. #409
    • Remove the internal config adapter: #455
    • Watchdog integration: Refactor existing watchdog code into ProcessGroupManager and replace the custom watchdog OSAL with the baselibs OSAL. #403
    • Various refactorings to improve code quality and maintainability.
  • Testing and documentation updates, including QNX integration tests via QEMU. #328

Bug Fixes

  • Bug fix: Avoid deadlocks after fork(). #303
  • Bug fix: Fix missed restart. #416
  • Bug fix: Lock IdentifierHash mutex before every get_registry call. #384
  • Bug fix: Add missing read protection. #501

Other Changes by Label

  • 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

Known Issues

  • None

Known Vulnerabilities

  • None

Upgrade Instructions

  • Update include paths and BUILD labels for public mocks. These changes introduce a consistent naming convention for the test doubles in the lifecycle repository. More information in #422

    • Rename all usage of //score/launch_manager:applicationcontext_mock_c to //score/launch_manager:mock_application_context_cc.
    • Rename all usage of //score/launch_manager:lifecycle_mock_cc to //score/launch_manager:mock_lifecycle_cc.
    • Rename all usage of //score/launch_manager:report_running_mock_cc to //score/launch_manager:mock_report_running_cc.
    • Rename all usage of applicationcontextmock.h to mock_application_context.h.
    • Rename all usage of lifecyclemanagermock.h to mock_lifecycle_manager.h.
    • Rename all usage of report_running_mock.h to mock_report_running.h.
  • **C and Rust report_running`` APIs renamed** to match the C++ API. Update callers of the C/Rust APIs. #318

  • Backward compatibility with the previous release is not guaranteed.