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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 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) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

6.1.2 (2026-09-17)

  • fix(core): improve concurrency safety and Python interoperability
    • Implement [PythonCallbackHolder]{.title-ref} to manage Python function lifecycles safely across C++ threads by ensuring the GIL is held during destruction.
    • Add exception safety and resource cleanup in [Concurrence]{.title-ref} and [OrthogonalState]{.title-ref} using try-catch blocks and thread joining.
    • Improve [StateMachine]{.title-ref} callback execution by copying callback lists under lock to prevent deadlocks or iterator invalidation during execution.
    • Enhance [Blackboard]{.title-ref} Python wrapper to support direct [py::object]{.title-ref} round-tripping.
    • Add input validation to prevent null states in [StateMachine]{.title-ref} and [Concurrence]{.title-ref}.
    • Optimize [State]{.title-ref} parameter handling using [std::move]{.title-ref} to reduce unnecessary copies.
    • Fix [SIGINT]{.title-ref} handler registration to restore previous signal actions.
    • Update [JoinState]{.title-ref} type stubs and [OrthogonalState]{.title-ref} configuration logic.
  • Fix Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130) (#131)
    • fix: Concurrence GIL deadlock with factory-loaded Python states + clean node shutdown (#130)
    • Compability for pybind11<2.6 and c++ formatting
  • Contributors: Marco Wong, Miguel Ángel González Santamarta

6.1.1 (2026-08-08)

6.1.0 (2026-07-26)

  • style(pybind): fix indentation in add_state lambda Adjust the indentation of the [add_state]{.title-ref} lambda function in the pybind11 module definition to ensure consistent alignment of parameters and function body.
  • feat(blackboard): add raw entry retrieval and batch processing methods
  • refactor(state-machine): modernize concurrency primitives and signal handling Refactor the [StateMachine]{.title-ref} implementation to improve thread safety and simplify resource management. - Replace [std::unique_ptr<std::mutex>]{.title-ref} with a direct [mutable std::mutex]{.title-ref} to allow thread-safe access within [const]{.title-ref} methods and avoid heap allocation. - Implement a robust SIGINT callback registry using a mutex-protected [std::unordered_map]{.title-ref} to support multiple signal handlers. - Replace the global [sig_atomic_t]{.title-ref} flag with a structured registry system ([register_sigint_callback]{.title-ref}, [unregister_sigint_callback]{.title-ref}). - Simplify [wait_for_current_state]{.title-ref} by removing the timeout and using the predicate-based [wait]{.title-ref} overload.
    • Improve error message formatting in [add_state]{.title-ref} using [yasmin::join]{.title-ref}.
  • fix: enhance thread safety with mutexes and shared pointers in callback and orthogonal state management
  • fix: replace log_level and log_message with atomic types for thread safety
  • fix: clean up code formatting and improve comments in various files
  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • feat: add validation methods for Concurrence and OrthogonalState with strict mode support
  • feat: add JoinState support with dialog and factory integration
  • refactor: add get_inner_state method to State and its overrides for JoinState detection
  • refactor: update minimum CMake version to 3.10 across multiple CMakeLists.txt files
  • refactor: removing duplicate code
  • Enhance documentation and improve code clarity across multiple modules
    • Added detailed comments and descriptions for constructors, methods, and parameters in various classes, including [Concurrence]{.title-ref}, [StateMachine]{.title-ref}, and filter states in [yasmin_pcl]{.title-ref}.
    • Improved logging initialization comments in [logs.cpp]{.title-ref} for better understanding of log level settings.
    • Updated [blackboard_pybind11.cpp]{.title-ref} to clarify the registration of [BlackboardPyWrapper]{.title-ref}.
    • Enhanced the [yasmin_demos]{.title-ref} states with additional private member documentation for clarity on their purpose.
    • Improved the [yasmin_factory]{.title-ref} class documentation, particularly around blackboard key and parameter mappings.
    • Added utility functions in [test_utils.hpp]{.title-ref} for creating point clouds and temporary file paths with clear descriptions.
    • Enhanced the [ros_clients_cache]{.title-ref} and [supported_interface_serialization]{.title-ref} classes with detailed comments on cache management and serialization

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 at Robotics Stack Exchange