diff --git a/.github/workflows/build-release.yaml b/.github/workflows/build-release.yaml index 5f340d02..b4a0d804 100644 --- a/.github/workflows/build-release.yaml +++ b/.github/workflows/build-release.yaml @@ -3,24 +3,12 @@ name: Build and release on: push: branches: - - main + - patch/v5.4.2 jobs: - check-version: - name: Check if the version has been updated - outputs: - has_changed: ${{ steps.check.outputs.has_changed }} - version: ${{ steps.check.outputs.version }} - runs-on: ubuntu-latest - steps: - - uses: aica-technology/.github/.github/actions/check-version-toml@v1.0.2 - id: check - with: - package_path: . metadata: name: Get metadata - needs: check-version runs-on: ubuntu-latest outputs: image_name: ${{ steps.ensure-image.outputs.image_name }} @@ -34,19 +22,9 @@ jobs: image_name: aica-technology/modulo - run: | - CREATE_TAG=false - GIT_TAG="" - if [ ${{ needs.check-version.outputs.has_changed }} = 'true' ]; then - CREATE_TAG=true - GIT_TAG="v${{ needs.check-version.outputs.version }}" - if [[ "${GIT_TAG}" == *"-"* ]]; then - IMAGE_TAGS="${GIT_TAG}",rolling - else - IMAGE_TAGS=latest,"${GIT_TAG}",rolling - fi - else - IMAGE_TAGS=rolling - fi + IMAGE_TAGS=latest,"${GIT_TAG}" + CREATE_TAG=true + GIT_TAG="v5.4.2" echo "Image tags: ${IMAGE_TAGS}" echo "Create tag: ${CREATE_TAG}" echo "Git tag: ${GIT_TAG}" diff --git a/CHANGELOG.md b/CHANGELOG.md index b3a84561..77369bb1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ Release Versions: +- [5.2.2](#542) - [5.4.1](#541) - [5.4.0](#540) - [5.3.0](#530) @@ -26,6 +27,13 @@ Release Versions: - [2.1.1](#211) - [2.1.0](#210) +## 5.4.2 + +### May 28th, 2026 + +Version 5.4.2 is a patch release that fixes a bug in the controller base class where the joint commands would not be +written back to the hardware after deactivation. + ## 5.4.1 ### April 8th, 2026 diff --git a/aica-package.toml b/aica-package.toml index 788bdc93..0baae5b9 100644 --- a/aica-package.toml +++ b/aica-package.toml @@ -1,7 +1,7 @@ #syntax=ghcr.io/aica-technology/package-builder:v1.4.0 [metadata] -version = "5.4.1" +version = "5.4.2" description = "Modular ROS 2 extension library for dynamic composition of components and controllers with the AICA robotics framework" [metadata.collection] diff --git a/source/modulo_components/package.xml b/source/modulo_components/package.xml index 49515b1f..09edeec9 100644 --- a/source/modulo_components/package.xml +++ b/source/modulo_components/package.xml @@ -2,7 +2,7 @@ modulo_components - 5.4.1 + 5.4.2 Modulo base classes that wrap ROS 2 Nodes as modular components for the AICA application framework Baptiste Busch Enrico Eberhard diff --git a/source/modulo_controllers/package.xml b/source/modulo_controllers/package.xml index fc77d99c..75b191b0 100644 --- a/source/modulo_controllers/package.xml +++ b/source/modulo_controllers/package.xml @@ -1,7 +1,7 @@ modulo_controllers - 5.4.1 + 5.4.2 Interface class for modulo controllers Enrico Eberhard Dominic Reber diff --git a/source/modulo_controllers/src/ControllerInterface.cpp b/source/modulo_controllers/src/ControllerInterface.cpp index 569ae91f..e465c876 100644 --- a/source/modulo_controllers/src/ControllerInterface.cpp +++ b/source/modulo_controllers/src/ControllerInterface.cpp @@ -195,7 +195,14 @@ rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn Contro rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn ControllerInterface::on_deactivate(const rclcpp_lifecycle::State&) { try { - return on_deactivate(); + if (auto ret = on_deactivate(); ret != CallbackReturn::SUCCESS) { + return ret; + } + if (write_command_interfaces(rclcpp::Duration(0s)) != controller_interface::return_type::OK) { + RCLCPP_ERROR(get_node()->get_logger(), "Failed to write command interfaces on deactivation."); + return CallbackReturn::ERROR; + } + return CallbackReturn::SUCCESS; } catch (const std::exception& ex) { RCLCPP_ERROR_STREAM(get_node()->get_logger(), ex.what()); } diff --git a/source/modulo_core/package.xml b/source/modulo_core/package.xml index 9ea4af09..9b8f7a3c 100644 --- a/source/modulo_core/package.xml +++ b/source/modulo_core/package.xml @@ -2,7 +2,7 @@ modulo_core - 5.4.1 + 5.4.2 Modulo Core communication and translation utilities for interoperability with AICA Control Libraries Baptiste Busch Enrico Eberhard diff --git a/source/modulo_utils/package.xml b/source/modulo_utils/package.xml index 015a7cb4..c5d552be 100644 --- a/source/modulo_utils/package.xml +++ b/source/modulo_utils/package.xml @@ -2,7 +2,7 @@ modulo_utils - 5.4.1 + 5.4.2 Modulo utils package for shared test fixtures Dominic Reber GPLv3