Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 6.1.2
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/uleroboticsgroup/yasmin.git
VCS Type git
VCS Version main
Last Updated 2026-09-21
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.2 (2026-09-17)

  • refactor(ros): introduce GoalResponseArg alias for action callbacks Introduce a [GoalResponseArg]{.title-ref} type alias within [ActionState]{.title-ref} to abstract the argument type used in goal response callbacks. This simplifies the callback signatures and improves code readability across different ROS 2 versions by handling the variation between direct shared pointers and shared futures.
  • fix(ros): use node name instead of fully qualified name for cache keys Update [ROSClientsCache]{.title-ref} to use [node.get_name()]{.title-ref} instead of [node.get_fully_qualified_name()]{.title-ref} when generating cache keys for action clients, service clients, and publishers. This ensures consistent client retrieval regardless of the node's namespace context.
  • refactor(ros): enhance state robustness and resource management
    • Improve lifecycle safety in [ActionState]{.title-ref} and [ServiceState]{.title-ref} by implementing callback guards to prevent access to destroyed objects.
    • Enhance [ROSClientsCache]{.title-ref} by including [callback_group_name]{.title-ref} in cache keys and using fully qualified node names.
    • Optimize [TfBufferState]{.title-ref} to reuse [tf2]{.title-ref} buffer and listener instances unless configuration changes.
    • Add better error handling and input validation in [GetParametersState]{.title-ref}, [RosDeserializeCppState]{.title-ref}, and [RosSerializeCppState]{.title-ref}.
    • Refactor [YasminNode]{.title-ref} singleton initialization to use thread-safe locking and explicit executor management.
    • Improve [MonitorState]{.title-ref} by implementing safer message queue processing and cancellation logic.
    • Update Python test suites to ensure proper cleanup of executors and nodes during teardown.
  • Contributors: Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange