You're reading the documentation for a development version. For the latest released version, please have a look at Jazzy.

Jazzy Jalisco changelog

This page is a list of the complete changes in all ROS 2 core packages since the previous release.

action_tutorials_cpp

  • Update maintainer list in package.xml files (#665)

  • Fix format-security warning with clang. (#663)

  • Migrate std::bind calls to lambda expressions (#659)

  • Contributors: Chris Lalancette, Felipe Gomes de Melo, Michael Jeronimo

action_tutorials_interfaces

  • Update maintainer list in package.xml files (#665)

  • Contributors: Michael Jeronimo

action_tutorials_py

  • Update maintainer list in package.xml files (#665)

  • Add tests to action_tutorials_py. (#664)

  • Contributors: Chris Lalancette, Michael Jeronimo

actionlib_msgs

  • Clarify the license. (#241) In particular, every package in this repository is Apache 2.0 licensed except for sensor_msgs_py. So move the CONTRIBUTING.md and LICENSE files down into the individual packages, and make sure that sensor_msgs_py has the correct CONTRIBUTING.md file (it already had the correct LICENSE file).

  • Contributors: Chris Lalancette

ament_clang_format

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_clang_tidy

  • Update maintainer list in package.xml files (#474)

  • Fix a warning from newer versions of flake8. (#469)

  • remove AMENT_IGNORE check in clang-tidy when looking for compilation db (#441)

  • Contributors: Alberto Soragna, Chris Lalancette, Michael Jeronimo

ament_cmake

  • Update maintainer list in package.xml files (#503)

  • Contributors: Michael Jeronimo

ament_cmake_auto

  • Update maintainer list in package.xml files (#503)

  • Add ament_auto_add_gmock to ament_cmake_auto (#482)

  • Contributors: Jordan Palacios, Michael Jeronimo

ament_cmake_clang_format

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_cmake_clang_tidy

  • Update maintainer list in package.xml files (#474)

  • Provide –header-filter and –jobs to CMake. (#450)

  • Contributors: Michael Jeronimo, Roderick Taylor

ament_cmake_core

  • Set hints to find the python version we actually want. (#508)

  • Update maintainer list in package.xml files (#503)

  • Use CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR in ament_generate_environment (#485)

  • Fix CMake error when entire ament projects are added via add_subdirectory (#484)

  • Contributors: Chris Lalancette, Michael Jeronimo, Silvio Traversaro

ament_cmake_cppcheck

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_cmake_cpplint

  • Increased cpplint timeout by default on Windows (#486)

  • Update maintainer list in package.xml files (#474)

  • Contributors: Alejandro Hernández Cordero, Michael Jeronimo

ament_cmake_export_definitions

  • Update maintainer list in package.xml files (#503)

  • Contributors: Michael Jeronimo

ament_cmake_export_dependencies

  • Update maintainer list in package.xml files (#503)

  • Contributors: Michael Jeronimo

ament_cmake_export_include_directories

  • Update maintainer list in package.xml files (#503)

  • Contributors: Michael Jeronimo

ament_cmake_export_interfaces

  • Update maintainer list in package.xml files (#503)

  • Contributors: Michael Jeronimo

ament_cmake_export_libraries

  • Update maintainer list in package.xml files (#503)

  • Contributors: Michael Jeronimo

ament_cmake_export_targets

  • Update maintainer list in package.xml files (#503)

  • Add NAMESPACE support to ament_export_targets (#498)

  • Contributors: Michael Jeronimo, Ryan

ament_cmake_flake8

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_cmake_gen_version_h

  • Update maintainer list in package.xml files (#503)

  • Update to C++17 (#488)

  • Contributors: Chris Lalancette, Michael Jeronimo

ament_cmake_gmock

  • Update maintainer list in package.xml files (#503)

  • Split ament_add_gmock into _executable and _test. (#497)

  • Contributors: Chris Lalancette, Michael Jeronimo

ament_cmake_google_benchmark

  • Update maintainer list in package.xml files (#503)

  • Contributors: Michael Jeronimo

ament_cmake_gtest

  • Update maintainer list in package.xml files (#503)

  • Split ament_add_gmock into _executable and _test. (#497)

  • ament_add_gtest_test: add TEST_NAME parameter (#492)

  • Contributors: Chris Lalancette, Christopher Wecht, Michael Jeronimo

ament_cmake_include_directories

  • Update maintainer list in package.xml files (#503)

  • Contributors: Michael Jeronimo

ament_cmake_libraries

  • perf: faster ament_libraries_deduplicate implementation (#448) Co-authored-by: Scott K Logan <logans@cottsay.net>

  • Subtle fix for ament_libraries_deduplicate tests (#516)

  • Add some basic tests to ament_cmake_libraries (#512)

  • Update maintainer list in package.xml files (#503)

  • Contributors: Michael Jeronimo, Scott K Logan, Vincent Richard

ament_cmake_lint_cmake

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_cmake_mypy

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_cmake_pclint

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_cmake_pep257

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_cmake_pycodestyle

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_cmake_pyflakes

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_cmake_pytest

  • Update maintainer list in package.xml files (#503)

  • Contributors: Michael Jeronimo

ament_cmake_python

  • Add in a comment explaining where Python3::Interpreter comes from. (#510)

  • Update maintainer list in package.xml files (#503)

  • Contributors: Chris Lalancette, Michael Jeronimo

ament_cmake_target_dependencies

  • Update maintainer list in package.xml files (#503)

  • Fix ament_target_dependencies (#452)

  • Contributors: Michael Jeronimo, Vincent Richard

ament_cmake_test

  • Update maintainer list in package.xml files (#503)

  • Recursively check for errors/failures in produced JUnit result XMLs (#446)

  • Contributors: Michael Jeronimo, Nick Morales

ament_cmake_uncrustify

  • Added Timeout to ament_uncrustify (#485)

  • Update maintainer list in package.xml files (#474)

  • Contributors: Alejandro Hernández Cordero, Michael Jeronimo

ament_cmake_vendor_package

  • Add more CMake variables to pass to vendor projects (#519)

  • Fix patch file dependencies in ament_cmake_vendor_package (#520)

  • Update maintainer list in package.xml files (#503)

  • Always set CMAKE_C[XX]_COMPILER for vendor packages if needed (#476)

  • Switch to CMake ‘braket arguments’ (#461)

  • Replace ‘git’ dep with ‘vcstool’ (#462)

  • Add support for specifying a patch directory in ament_vendor (#449)

  • Contributors: Christophe Bedard, Michael Jeronimo, Scott K Logan

ament_cmake_version

  • Update maintainer list in package.xml files (#503)

  • Contributors: Michael Jeronimo

ament_cmake_xmllint

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_cppcheck

  • Update maintainer list in package.xml files (#474)

  • Add in checks to ament_cppcheck code. (#472)

  • Contributors: Chris Lalancette, Michael Jeronimo

ament_cpplint

  • Update maintainer list in package.xml files (#474)

  • Pass –output argument to cpplint (#453)

  • Contributors: Michael Jeronimo, Vladimir Ivan

ament_flake8

  • Update maintainer list in package.xml files (#474)

  • Changes to make ament_flake8 work with v6+ (#459)

  • Add additional dependencies to ament_flake8. (#454)

  • Fix compatibility with flake8 version 5 (#410)

  • Contributors: Chris Lalancette, Michael Carroll, Michael Jeronimo, Timo Röhling

ament_index_cpp

  • Update quality declaration documents (#94)

  • only append search paths on first PackageNotFound (#91)

  • Update to C++17 (#90)

  • Contributors: Chris Lalancette, Christophe Bedard, Lucas Walter

ament_index_python

  • Update quality declaration documents (#94)

  • Add type annotations to python files. (#93)

  • Contributors: Christophe Bedard, Michael Carlstrom

ament_lint

  • Update maintainer list in package.xml files (#474)

  • Add an ament_lint test dependency on python3-pytest. (#473)

  • Contributors: Chris Lalancette, Michael Jeronimo

ament_lint_auto

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_lint_cmake

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_lint_common

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_mypy

  • Update maintainer list in package.xml files (#474)

  • Fix a flake8 warning in ament_mypy. (#470) No need for parentheses around an assert.

  • Contributors: Chris Lalancette, Michael Jeronimo

ament_package

  • Migrate from legacy importlib-resources (#143)

  • Add setuptools dependency back in. (#141)

  • Make python dependencies exec_depend. (#140)

  • Contributors: Chris Lalancette, Isabel Paredes

ament_pclint

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_pep257

  • Update maintainer list in package.xml files (#474)

  • Convert linenumber to string when printing errors (#443)

  • Contributors: Michael Jeronimo, Robert Brothers

ament_pycodestyle

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_pyflakes

  • Update maintainer list in package.xml files (#474)

  • Contributors: Michael Jeronimo

ament_uncrustify

  • Adds uncrustify 0.78.1 config (#475)

  • Update maintainer list in package.xml files (#474)

  • Fix a flake8 warning in ament_uncrustify. (#471)

  • Contributors: Chris Lalancette, Marco A. Gutierrez, Michael Jeronimo

ament_xmllint

  • Update maintainer list in package.xml files (#474)

  • (ament_xmllint) add extensions argument (#456)

  • Contributors: Matthijs van der Burgh, Michael Jeronimo

camera_calibration_parsers

  • Update to yaml-cpp 0.8.0. (#305)

  • Switch from rcpputils::fs to std::filesystem (#300)

  • Removed C headers: camera_info_manager camera_calibration_parsers (#290)

  • Contributors: Alejandro Hernández Cordero, Chris Lalancette, Christophe Bedard

camera_info_manager

  • Switch from rcpputils::fs to std::filesystem (#300)

  • Removed C headers: camera_info_manager camera_calibration_parsers (#290)

  • Contributors: Alejandro Hernández Cordero, Christophe Bedard

class_loader

  • Remove all uses of ament_target_dependencies. (#210)

  • Update to C++17 (#209)

  • Contributors: Chris Lalancette

common_interfaces

  • Clarify the license. (#241) In particular, every package in this repository is Apache 2.0 licensed except for sensor_msgs_py. So move the CONTRIBUTING.md and LICENSE files down into the individual packages, and make sure that sensor_msgs_py has the correct CONTRIBUTING.md file (it already had the correct LICENSE file).

  • Contributors: Chris Lalancette

composition

  • [composition] add launch action console output in the verify section (#677) (#681) (cherry picked from commit 34d29db73e78a84a174ad8699a2d646b0eeb1cdf) Co-authored-by: Mikael Arguedas <mikael.arguedas@gmail.com>

  • Update maintainer list in package.xml files (#665)

  • Migrate std::bind calls to lambda expressions (#659)

  • Contributors: Felipe Gomes de Melo, Michael Jeronimo, mergify[bot]

demo_nodes_cpp

  • [demo_nodes_cpp] some readme and executable name fixups (#678) (#688) (cherry picked from commit aa8df8904b864d063e31fd5b953ffe561c7a9fe0) Co-authored-by: Mikael Arguedas <mikael.arguedas@gmail.com>

  • Fix gcc warnings when building with optimizations. (#672) (#673) * Fix gcc warnings when building with optimizations. When building the allocator_tutorial_pmr demo with -O2, gcc is throwing an error saying that new and delete are mismatched. This is something of a misnomer, however; the real problem is that the global new override we have in that demo is actually implemented incorrectly. In particular, the documentation at https://en.cppreference.com/w/cpp/memory/new/operator_new very clearly specifies that operator new either has to return a valid pointer, or throw an exception on error. Our version wasn’t throwing the exception, so change it to throw std::bad_alloc if std::malloc fails. While we are in here, also fix another small possible is where std::malloc could return nullptr on a zero-sized object, thus throwing an exception it shouldn’t. * Always inline the new and delete operators. That’s because gcc 13 has a bug where it can sometimes inline one or the other, and then it detects that they mismatch. For gcc and clang, just force them to always be inline in this demo. * Switch to NOINLINE instead. Both clang and MSVC don’t like inlining these, so instead ensure that they are not inlined. This also works because the problem is when new is inlined but not delete (or vice-versa). As long as they are both not inlined, this should fix the warning. (cherry picked from commit 957ddbb9f04f55cabd8496e8d74eb35ee4d29105) Co-authored-by: Chris Lalancette <clalancette@gmail.com>

  • A few uncrustify fixes for 0.78. (#667)

  • Allow users to configure the executor for executables in demo_nodes_cpp (#666)

  • Update maintainer list in package.xml files (#665)

  • Added extra documentation and clarifications. (#651)

  • Add in support for both the PMR and custom allocator tutorials. (#655)

  • Replacing old-style C++ allocator with a polymorphic memory resource (PMR) (#653)

  • Remove unnecessary captures in the various demos. (#647)

  • Dramatically speed up the demo_nodes_cpp tests (#641)

  • Switch to using RCLCPP logging macros in the lifecycle package. (#644)

  • failed to call introspection_client (#643)

  • Small cleanups to the demos when running through them. (#639)

  • Cleanup demo_nodes_cpp CMake and dependencies (#638)

  • Change the service introspection parameter off value to ‘disabled’ (#634)

  • Add demos for using logger service (#611)

  • Contributors: Ali Ashkani Nia, Barry Xu, Chen Lihui, Chris Lalancette, Michael Jeronimo, Yadu, jrutgeer, mergify[bot]

demo_nodes_cpp_native

  • Update maintainer list in package.xml files (#665)

  • Contributors: Michael Jeronimo

demo_nodes_py

  • Update maintainer list in package.xml files (#665)

  • Change the service introspection parameter off value to ‘disabled’ (#634) With this we can avoid the tricky bits around YAML interpretation of ‘off’ as a boolean.

  • Add demos for using logger service (#611)

  • Contributors: Barry Xu, Chris Lalancette, Michael Jeronimo

diagnostic_msgs

  • Clarify the license. (#241) In particular, every package in this repository is Apache 2.0 licensed except for sensor_msgs_py. So move the CONTRIBUTING.md and LICENSE files down into the individual packages, and make sure that sensor_msgs_py has the correct CONTRIBUTING.md file (it already had the correct LICENSE file).

  • Contributors: Chris Lalancette

dummy_map_server

  • Update maintainer list in package.xml files (#665)

  • Contributors: Michael Jeronimo

dummy_robot_bringup

  • Update maintainer list in package.xml files (#665)

  • Switch to file-content launch substitution (#627)

  • Contributors: Michael Jeronimo, Scott K Logan

dummy_sensors

  • Update dummy_sensors readme to echo the correct topic (#675) (#684) (cherry picked from commit eec5c12ea95dfaaa230f9f1a8e9cff9b09dde5d5) Co-authored-by: jmackay2 <1.732mackay@gmail.com>

  • Update maintainer list in package.xml files (#665)

  • Fix unstable LaserScan status for rviz2 (#614)

  • Contributors: Chen Lihui, Michael Jeronimo, mergify[bot]

example_interfaces

  • Update to C++17. (#18)

  • Contributors: Chris Lalancette

examples_rclcpp_minimal_subscriber

  • fix: Fixed compilation after API change of TimerBase::execute (#375) Co-authored-by: Janosch Machowinski <J.Machowinski@cellumation.com>

  • Split lambda and subscriber def in minimal example (#363)

  • Contributors: Felipe Gomes de Melo, jmachowinski

examples_rclcpp_wait_set

  • fix: Fixed compilation after API change of TimerBase::execute (#375) Co-authored-by: Janosch Machowinski <J.Machowinski@cellumation.com>

  • Contributors: jmachowinski

foonathan_memory_vendor

  • Improve mechanism to find an installation of foonathan_memory (#67)

  • Added support for QNX 7.1 build (#65)

geometry_msgs

  • Remove references to index.ros.org. (#244)

  • Create new messages with all fields needed to define a velocity and transform it (#240) Co-authored-by: Dr. Denis <denis@stoglrobotics.de> Co-authored-by: Addisu Z. Taddese <addisuzt@intrinsic.ai> Co-authored-by: Tully Foote <tullyfoote@intrinsic.ai>

  • Clarify the license. (#241) In particular, every package in this repository is Apache 2.0 licensed except for sensor_msgs_py. So move the CONTRIBUTING.md and LICENSE files down into the individual packages, and make sure that sensor_msgs_py has the correct CONTRIBUTING.md file (it already had the correct LICENSE file).

  • adding IDs to geometry_msgs/Polygon, PolygonStamped (#232)

  • Contributors: Alejandro Hernández Cordero, Chris Lalancette, Steve Macenski

google_benchmark_vendor

  • Update to 1.8.3. (#29)

  • Contributors: Marco A. Gutierrez

gz_cmake_vendor

  • Update vendored version to 3.5.3

  • Use an alias target for root library

  • Add support for the <pkg>::<pkg> and <pkg>::all targets, fix sourcing of dsv files

  • Update vendored version to 3.5.2

  • Update vendored package version

  • Patch the pkg-config directory in the gz-cmake code. (#4) * Patch the pkg-config directory in the gz-cmake code. When building on the ROS 2 buildfarm, we aren’t setting some of the CMAKE_PREFIX variables. This means that using CMAKE_INSTALL_FULL_LIBDIR actually creates a path like /opt/ros/rolling/… , which makes debuild upset. However, we actually need the FULL_LIBDIR in order to calculate the relative path between it and the INSTALL_PREFIX. Work around this by having two variables; the pkgconfig_install_dir (relative), used to install the files, and pkgconfig_abs_install_dir (absolute), used to calculate the relative path between them. This should fix the build on the buildfarm. I’ll note that we are doing it here and not in gz-cmake proper because of knock-on effects to downstream gazebo. If this is successful we may end up merging it there, at which point we can drop this patch. * Update GzPackage as well. ———

  • Require calling find_package on the underlying package (#3) This also changes the version of the vendor package to 0.0.1 and adds the version of the vendored package in the description

  • Fix linter (#2)

  • Use <depend> on upstream package so that dependency is exported

  • Update maintainer

  • Add package.xml and CMakeLists (#1)

  • Initial import

  • Contributors: Addisu Z. Taddese, Chris Lalancette

gz_math_vendor

  • Use an alias target for root library

  • Add support for the <pkg>::<pkg> and <pkg>::all targets, fix sourcing of dsv files

  • Disable SWIG to fix CMake warning

  • Disable pybind11 for now

  • Require calling find_package on the underlying package (#2)

  • Fix linter (#1)

  • Remove Nate

  • Update maintainers

  • Initial import

  • Contributors: Addisu Z. Taddese

gz_utils_vendor

  • Use an alias target for root library

  • Add support for the <pkg>::<pkg> and <pkg>::all targets, fix sourcing of dsv files

  • Require calling find_package on the underlying package (#2)

  • Fix linter (#1)

  • Initial import

  • Contributors: Addisu Z. Taddese

image_tools

  • A few uncrustify fixes for 0.78. (#667)

  • Update maintainer list in package.xml files (#665)

  • Migrate std::bind calls to lambda expressions (#659)

  • Contributors: Chris Lalancette, Felipe Gomes de Melo, Michael Jeronimo

image_transport

  • Added rclcpp component to Republish (#275)

  • Add QoS option reliability to republisher qos params (#296)

  • implement CameraSubscriber::getNumPublishers (#297)

  • Add missing definition for CameraPublisher::publish overload (#278)

  • Advertize and subscribe with custom qos (#288)

  • Removed C headers (#289)

  • Switch to using the override keyword for simple_publisher_plugin. (#285)

  • feat: enable plugin allowlist (#264)

  • Expose option to set callback groups (#274)

  • add support for lazy subscribers (#272)

  • Contributors: Aditya Pande, Alejandro Hernández Cordero, Carlos Andrés Álvarez Restrepo, Chris Lalancette, Daisuke Nishimatsu, Michael Ferguson, s-hall

interactive_markers

  • Shorten the length of a lambda. (#106)

  • Fixed C++20 warning that ‘++’ expression of ‘volatile’-qualified type is deprecated (#102)

  • Cleanup of interactive markers (#101)

  • Contributors: AiVerisimilitude, Chris Lalancette

intra_process_demo

  • Update maintainer list in package.xml files (#665)

  • Migrate std::bind calls to lambda expressions (#659)

  • Fix executable name in README (#618)

  • Contributors: Felipe Gomes de Melo, Michael Jeronimo, Yadunund

kdl_parser

  • Update to C++17. (#82)

  • Contributors: Chris Lalancette

keyboard_handler

  • Shorten lambdas so newer uncrustify is happier. (#42)

  • Fixed C++20 warning implicit capture of this in lambda (#41)

  • Update to C++17. (#37)

  • Contributors: AiVerisimilitude, Chris Lalancette

laser_geometry

  • Switch to target_link_libraries. (#92)

  • Contributors: Chris Lalancette

launch

  • (launch) fix describe of PathJoinSubstitution (#771)

  • Small fixes for modern flake8. (#772)

  • Cleanup some type annotations.

  • Rework task exceptions loop. (#755)

  • add format overriding by environment variables (#722)

  • Add exception type to error output (#753)

  • Let XML executables/nodes be “required” (like in ROS 1) (#751)

  • Add conditional substitution (#734)

  • Add maximum times for a process to respawn (#696)

  • Add in a timeout for launch pytests. (#725)

  • Fix remaining occurrences of “There is no current event loop” (#723)

  • Update the launch code for newer flake8 and mypy. (#719)

  • Remove the deprecated some_actions_type.py (#718)

  • Improve launch file parsing error messages (#626)

  • Add file-content launch substitution (#708)

  • Contributors: Chris Lalancette, David Yackzan, Marc Bestmann, Matthew Elwin, Matthijs van der Burgh, Nick Lamprianidis, Santti4go, Scott K Logan, Timon Engelke

launch_pytest

  • Switch tryfirst/trylast to hookimpl.

  • Contributors: Chris Lalancette

launch_ros

  • Fix: typing. Iterable doesn’t have __getitem__ (#393)

  • Cleanup some type annotations. (#392)

  • Create py.typed to mark this library as typed (#379)

  • Remove create_future implementation. (#372)

  • cache lookup of importlib metadata in Node action (#365)

  • Get rid of unnecessary checks in composable_node_container. (#364)

  • Contributors: Chris Lalancette, Jonas Otto, Matthijs van der Burgh, William Woodall

launch_testing

  • Fix a warning in modern unittest. (#773) Newer versions of unittest no longer store an errors list; instead, they store a result, which then stores an error list. Update the code here to be able to deal with either version.

  • Add consider_namespace_packages=False (#766)

  • to open expected outpout file with an encoding parameter (#717)

  • Contributors: Chen Lihui, Chris Lalancette, Tony Najjar

launch_testing_examples

  • Cleanup the launch_testing_examples. (#374)

  • Refactor WaitForNodes class. (#373)

  • Contributors: Chris Lalancette

launch_testing_ros

  • Make launch_testing_ros examples more robust. (#394)

  • added type hinting to launch_testing_ros/test/examples (#386)

  • Handle spin() ExternalShutdownException. (#378)

  • Increase the timeout in wait_for_topic_launch_test. (#377)

  • WaitForTopics: get content of messages for each topic (#353)

  • Contributors: Chris Lalancette, Giorgio Pintaudi, Yaswanth

launch_xml

  • launch_xml: fix xml syntax in README (#770)

  • Let XML executables/nodes be “required” (like in ROS 1) (#751) * Let XML nodes be “required” Essentially on_exit=”shutdown” is equivalent to ROS 1 required=”true”. This feature is implemented using the python launchfile on_exit mechanism. Right now “shutdown” is the only action accepted by on_exit, but theoretically more “on_exit” actions could be added later. Example: <executable cmd=”ls” on_exit=”shutdown”/> * Added tests for yaml

  • Improve launch file parsing error messages (#626)

  • Contributors: Matthew Elwin, Steve Peters, Timon Engelke

launch_yaml

  • Fix flake8 warnings in launch_yaml. (#756)

  • Let XML executables/nodes be “required” (like in ROS 1) (#751) * Let XML nodes be “required” Essentially on_exit=”shutdown” is equivalent to ROS 1 required=”true”. This feature is implemented using the python launchfile on_exit mechanism. Right now “shutdown” is the only action accepted by on_exit, but theoretically more “on_exit” actions could be added later. Example: <executable cmd=”ls” on_exit=”shutdown”/> * Added tests for yaml

  • Improve launch file parsing error messages (#626)

  • Contributors: Chris Lalancette, Matthew Elwin, Timon Engelke

libcurl_vendor

  • Add “lib” to the Windows curl search path. (#96) (#97) In CMake 3.3, a commit made it so that the find_package module in CMake had a compatibility mode where it would automatically search for packages in a <prefix>/lib subdirectory. In CMake 3.6, this compatibility mode was reverted for all platforms except Windows. That means that since CMake 3.3, we haven’t actually been using the path as specified in curl_DIR, but we have instead been inadvertently relying on that fallback behavior. In CMake 3.28, that compatibilty mode was also removed for Windows, meaning that we are now failing to find_package(curl) in downstream packages (like resource_retriever). Fix this by adding in the “lib” directory that always should have been there. I’ll note that this only affects our Windows builds, because this code is in a if(WIN32) block. (cherry picked from commit 1839d583190eb9dcf339eaaf6bebe632d94664a6) Co-authored-by: Chris Lalancette <clalancette@gmail.com>

  • Switch to ament_cmake_vendor_package (#86)

  • Contributors: Scott K Logan, mergify[bot]

liblz4_vendor

  • Make sure to build_export_depend liblz4-dev. (#1614)

  • Switch to using ament_vendor_package for lz4. (#1583)

  • Contributors: Chris Lalancette

libstatistics_collector

  • Bump pascalgn/automerge-action from 0.16.2 to 0.16.3

  • Bump codecov/codecov-action from 4.1.1 to 4.2.0

  • Fixes for newer uncrustify. (#186)

  • Bump actions/upload-artifact from 3 to 4

  • Switch to using target_link_libraries everywhere. (#174)

  • Bump rolling to 1.6.3 (#173)

  • Bump actions/checkout from 3 to 4 (#169)

  • Add API to use message_info instead unserialized message (#170)

  • Bump codecov/codecov-action from 3.1.3 to 3.1.4

  • Bump actions/checkout from 3 to 4 (#169)

  • Add API to use message_info instead unserialized message (#170)

  • Bump codecov/codecov-action from 3.1.3 to 3.1.4

  • Add in missing cstdint include. (#165)

  • Bump codecov/codecov-action from 3.1.2 to 3.1.3

  • Contributors: Chris Lalancette, Lucas Wendland, Michael Orlov, dependabot[bot]

libyaml_vendor

  • Update quality declaration documents (#62)

  • remove rcpputils and rcutils dependency (#61)

  • Set to C++17. (#59)

  • Switch to ament_cmake_vendor_package (#58)

  • Contributors: Chris Lalancette, Christophe Bedard, Kenta Yonekura, Scott K Logan

lifecycle

  • A few uncrustify fixes for 0.78. (#667)

  • Update maintainer list in package.xml files (#665)

  • Migrate std::bind calls to lambda expressions (#659)

  • Switch to using RCLCPP logging macros in the lifecycle package. (#644)

  • Contributors: Chris Lalancette, Felipe Gomes de Melo, Michael Jeronimo

lifecycle_py

  • Update maintainer list in package.xml files (#665)

  • Contributors: Michael Jeronimo

logging_demo

  • Update maintainer list in package.xml files (#665)

  • Migrate std::bind calls to lambda expressions (#659)

  • Contributors: Felipe Gomes de Melo, Michael Jeronimo

lttngpy

  • Replace all occurences of index.ros.org (#114)

  • Fixes for newer uncrustify (#101)

  • Fix Python not being found for lttngpy in Windows debug mode (#87)

  • Switch to custom lttng-ctl Python bindings (#81)

  • Contributors: Chris Lalancette, Christophe Bedard

map_msgs

  • Update maintainer list in package.xml files

  • Update to C++17

  • Contributors: Chris Lalancette, Michael Jeronimo, Steve Macenski

mcap_vendor

  • Switch to using ament_vendor_package for lz4. (#1583)

  • Switch to target_link_libraries everywhere. (#1504)

  • Update mcap to v1.1.0 (#1361)

  • Contributors: Chris Lalancette, Emerson Knapp

message_filters

  • Update TimeSynchronizer usage example. (#115)

  • Remove ‘using’ keyword in message_filters (#106)

  • Remove the use of ament_target_dependencies. (#105)

  • Fixes pointed out by clang (#104)

  • Mark subscription cb parameter const (#103)

  • Update the HasHeader check to be more specific. (#101)

  • TypeAdapters support (#95) (#96)

  • Cleanup a few minor things in the filters. (#100)

  • Fix python examples (#99)

  • feat: add signal time functions to ExactTime policy (#94)

  • Contributors: Chris Lalancette, Patrick Roncagliolo, Ricardo de Azambuja, Russ, rkeating-planted

mimick_vendor

  • Bump vendored mimick version for ros2/Mimick#32 (#35)

  • Update to the commit that fixes mmk_noreturn. (#34)

  • Update to the commit the fixes exe stack on macOS. (#33)

  • Update to the comment that fixes the executable stack. (#32)

  • Update to take advantage of TARGET_ARCH (#28)

  • Switch to ament_cmake_vendor_package (#31)

  • Contributors: Chris Lalancette, Michael Carroll, Scott K Logan

orocos_kdl_vendor

  • Ensure that orocos_kdl_vendor doesn’t accidentally find itself. (#27) (#28) When initially building the orocos_kdl_vendor package (on platforms where it actually builds), it turns out that it places a valid cmake configuration in the build directory. In turn, that means that a subsequent rebuild will find this configuration in the build directory, and throw the rest of the logic off. This only seems to be a problem with CMake 3.29 and later, though I can’t say exactly why at the moment. Workaround this problem by writing the configuration out to a temporary file, and then moving it into the final place with the final name. (cherry picked from commit 7aad6d1ad9fa54f3a48f1f194a85127e362c8ade) Co-authored-by: Chris Lalancette <clalancette@gmail.com>

  • Update to the latest orocos_kdl_kinematics commit. (#25)

  • Switch to ament_cmake_vendor_package (#20)

  • Contributors: Chris Lalancette, Scott K Logan, mergify[bot]

osrf_pycommon

  • Catch all of the spurious warnings from get_event_loop. (#94)

  • Add bookworm as a python3 target (#91)

  • Suppress warning for specifically handled behavior (#87)

  • Update supported platforms (#93)

  • Add GitHub Actions CI workflow (#88)

  • Contributors: Chris Lalancette, Scott K Logan, Tully Foote

osrf_testing_tools_cpp

  • Upgrade to Google test 1.14.0 (#84)

  • Contributors: Chris Lalancette

pendulum_control

  • Update maintainer list in package.xml files (#665)

  • [pendulum_control Install targets to project lib (#624)

  • Contributors: Michael Jeronimo, Yadu

pendulum_msgs

  • Update maintainer list in package.xml files (#665)

  • Contributors: Michael Jeronimo

pluginlib

  • Switch from rcpputils::fs to std::filesystem (#254)

  • Remove redundant throw of a std::runtime_error (#232)

  • Update to C++17 (#251)

  • Fix wShadow compile warning (#250)

  • Contributors: Chris Lalancette, Christophe Bedard, Hunter L. Allen, Steve Macenski

pybind11_vendor

  • Update to pybind11 2.11.1 (#28)

  • Add Apache 2.0 LICENSE file (#27)

  • Switch to ament_cmake_vendor_package (#24)

  • Contributors: Chris Lalancette, Michael Carroll, Scott K Logan

python_cmake_module

  • Use FindPython3 instead of FindPythonInterp (#7)

  • Contributors: Shane Loretz

python_orocos_kdl_vendor

  • Update to the latest orocos_kdl_kinematics commit. (#25)

  • Contributors: Chris Lalancette

python_qt_binding

  • Suppress warning from Shiboken2. (backport #137) (#138) Co-authored-by: Chris Lalancette <clalancette@gmail.com> Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>

  • Switch to C++17 for SIP and Shiboken (#135)

  • Set hints to find the python version we actually want. (#134)

  • Remove unnecessary parentheses around assert. (#133)

  • Switch to FindPython3 in the shiboken_helper.cmake. (#132)

  • Cleanup of the sip_configure.py file. (#131)

  • Update the SIP support so we can deal with a broken RHEL-9. (#129)

  • Contributors: Chris Lalancette, Christophe Bedard, mergify[bot]

qt_dotgraph

  • Handle empty dotcode nodes. (#290)

  • Small fix for modern flake8. (#289)

  • Contributors: Chris Lalancette

qt_gui

  • Remove unnecessary parentheses for assert. (#286)

  • (qt_gui) extended theme logic to get icons (#279)

  • Contributors: Chris Lalancette, Matthijs van der Burgh

qt_gui_cpp

  • Switch from rcpputils::fs to std::filesystem (#288)

  • Set hints to find the python version we actually want. (#287)

  • Update to C++17 (#278)

  • fix unload warning (#274)

  • Contributors: Chen Lihui, Chris Lalancette, Christophe Bedard

quality_of_service_demo_cpp

  • Update maintainer list in package.xml files (#665)

  • Explicit time conversion (#657)

  • Cleanup the interactive quality of service demos. (#637)

  • More quality of service demo cleanup (#632)

  • Fix small typos in the incompatible_qos demos. (#629)

  • Contributors: AiVerisimilitude, Chris Lalancette, Michael Jeronimo

quality_of_service_demo_py

  • Update maintainer list in package.xml files (#665)

  • More quality of service demo cleanup (#632)

  • Fix small typos in the incompatible_qos demos. (#629)

  • Fix the quality_of_service_demo_py output to look like the C++ one. (#626)

  • Use non-deprecated rclpy import. (#615)

  • Contributors: Chris Lalancette, Michael Jeronimo

rcl

  • Fix up rmw_cyclonedds timestamp testing. (#1156) (#1157) We are about to fix it so that rmw_cyclonedds has receive_timestamp support, so we also need to enable that support here in rcl. We actually rewrite the logic a bit because now the only combination that doesn’t work is rmw_connextdds on Windows. (cherry picked from commit 6d53d24a863c3e9e4a41e9fe5f550271210d9d9d) Co-authored-by: Chris Lalancette <clalancette@gmail.com>

  • Fixed warnings - strict-prototypes (#1148) (#1150)

  • chore: Minor style improvements (#1147) Co-authored-by: Janosch Machowinski <J.Machowinski@cellumation.com>

  • improved rcl_wait in the area of timeout computation and spurious wakeups (#1146) Added special handling for timers with a clock that has time override enabled. For these timer we should not compute a timeout, as the waitset is waken up by the associated guard condition. Before this change, the waitset could wait up, because of an expected ready timer, that was acutally not ready, as the time update to the ROS_TIME had not yet arrived.

  • Add tracepoint for publish_serialized_publish (#1136) * Add tracepoint for publish_serialized_publish * Add: tracepoint for rcl_take_serialized_message ———

  • Revert “improved rcl_wait in the area of timeout computation and spurious wakeups (#1135)” (#1142) This reverts commit 3c6c5dc47dac23d70722a60b2c0a387d2e71b71d.

  • improved rcl_wait in the area of timeout computation and spurious wakeups (#1135) * feat: Allow usage of rcl_timer_clock with const rcl_timer_t* * fix: Fixed purious wake-ups on ROS_TIME timers with ROS_TIME enabled Added special handling for timers with a clock that has time override enabled. For theses timer we should not compute a timeout, as the waitset is waken up by the associated guard condition. Before this change, the waitset could wait up, because of an expected ready timer, that was acutally not ready, as the time update to the ROS_TIME had not yet arrived. * feat: Added rcl_timer_get_next_call_time * fix(rcl_wait): Improved timeout computation in case of many timers This commit changes the computation of the timer timeout, to be more precise, in the case, of many registered timers. ——— Co-authored-by: Janosch Machowinski <j.machowinski@nospam.org>

  • Generate version header using ament_generate_version_header(..) (#1141)

  • Add rcl_timer_call_with_info function that retrieves the expected and the actual timer trigger times (#1113) Co-authored-by: Alexis Tsogias <a.tsogias@cellumation.com> Co-authored-by: Michael Carroll <carroll.michael@gmail.com> Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com>

  • document out parameters for rcl_get_node_names and rcl_get_node_names_with_enclaves (#1137) * document out params for rcl_get_node_names Co-authored-by: Chris Lalancette <clalancette@gmail.com>

  • Cleanups for uncrustify 0.78. (#1134) Mostly this is expanding macros, as this is just easier to read anyway. But we also mark one section as INDENT-OFF.

  • Re-order rcl_logging_interface include (#1133)

  • Remove unnecessary macros. (#1132) These really don’t add anything, and allows us to avoid some changes in macro formatting between Ubuntu 22.04 and Ubuntu 24.04.

  • Update quality declaration documents (#1131)

  • add unit tests for –log-file-name argument. (#1130)

  • support --log-file-name to ros args. (#1127)

  • Make sure to disable a test_node test on RHEL. (#1124)

  • remove static function rcl_ret_from_rcutils_ret(). (#1122)

  • Remove AMENT_DEPENDENCIES from rcl_add_custom_gtest. (#1119)

  • Remove unncecessary dependencies in tests (#1114)

  • a rosout publisher of a node might not exist (#1115)

  • Set disable loan to on by default. (#1110)

  • Return service from node_type_description_service_init (#1112)

  • next_call_time will always be greater than now after calling rcl_timer_call. (#1089)

  • Add rcl count clients, servicec & tests (#1011)

  • Improve the reliability of test_get_type_description_service. (#1107)

  • Remove most remaining uses of ament_target_dependencies. (#1102)

  • Just remove rcpputils::fs dependency (#1105)

  • Decouple rosout publisher init from node init. (#1065)

  • Cleanup the error handling in rcl_node_init. (#1099)

  • Fix a clang warning for suspicious string concatentation. (#1101)

  • add the link to the topic name rules. (#1100)

  • Cut down the amount of time for test_logging_rosout. (#1098)

  • Simplify local_namespace handling in rcl_node_init. (#1097)

  • Reduce the number of tests we run (#1096)

  • Adding duplicate node information (#1088)

  • Revamp the test_get_type_description_service. (#1095)

  • Cleanup network flow endpoints test. (#1094)

  • Reduce the failure timeout time for namespaces. (#1093)

  • Shorten wait time for a subscription not being ready. (#1092)

  • rcl_send_response returns RCL_RET_TIMEOUT. (#1048)

  • Move test_namespace into the correct directory. (#1087)

  • Reset errors in tests to reduce warnings (#1085)

  • Cleanup error reporting in the type hash code. (#1084)

  • Instrument loaned message publication code path (#1083)

  • Add ~/get_type_description service (rep2011) (#1052)

  • Modifies timers API to select autostart state (#1004)

  • test publisher/subscription with the c/cpp typesupport for test_msgs::msg::array (#1074)

  • validation result should be used to print the error message. (#1077)

  • improve error msg of rcl_expand_topic_name (#1076)

  • Use TRACETOOLS_ prefix for tracepoint-related macros (#1058)

  • fix comment (#1073)

  • localhost_only prevails auto discovery options if enabled. (#1069)

  • Avoid dynamic allocation of message before sending over rosout (#1067)

  • clarify rcl_node_init return code (#1066)

  • Fix a format-security warning when building with clang. (#1064)

  • Contributors: Chen Lihui, Chris Lalancette, Christophe Bedard, Christopher Wecht, Eloy Briceno, Eric W, Felix Penzlin, G.A. vd. Hoorn, Hans-Joachim Krauch, Kenta Yonekura, Lee, Lucas Wendland, Michael Carroll, Minju, Thiemo Kohrt, Tomoya Fujita, h-suzuki-isp, jmachowinski, mergify[bot]

rcl_action

  • Generate version header using ament_generate_version_header(..) (#1141)

  • add RCL_RET_TIMEOUT to action service response. (#1138) * add RCL_RET_TIMEOUT to action service response. * address review comment. ———

  • Update quality declaration documents (#1131)

  • Remove most remaining uses of ament_target_dependencies. (#1102)

  • Add ~/get_type_description service (rep2011) (#1052)

  • Modifies timers API to select autostart state (#1004)

  • Contributors: Chris Lalancette, Christophe Bedard, Eloy Briceno, G.A. vd. Hoorn, Hans-Joachim Krauch, Tomoya Fujita

rcl_interfaces

  • Update the Log.msg constant types. (#161)

  • Update the comments for SetParametersResult to reflect reality. (#159)

  • Contributors: Chris Lalancette

rcl_lifecycle

  • Fixed warnings - strict-prototypes (#1148) (#1150)

  • Generate version header using ament_generate_version_header(..) (#1141)

  • Update quality declaration documents (#1131)

  • Remove most remaining uses of ament_target_dependencies. (#1102)

  • Use TRACETOOLS_ prefix for tracepoint-related macros (#1058)

  • Contributors: Chris Lalancette, Christophe Bedard, G.A. vd. Hoorn, mergify[bot]

rcl_logging_interface

  • Check allocator validity in some rcl_logging functions (#116) If the allocator is zero-initialized, it may cause a segfault when it is used later in the functions.

  • Use (void) in declaration of param-less function (#114)

  • add file_name_prefix parameter to external log configuration. (#109)

  • Migrate to std::filesystem (#104)

  • Remove the last uses of ament_target_dependencies in this repo. (#102)

  • Contributors: Chris Lalancette, Christophe Bedard, Kenta Yonekura, Scott K Logan, Tomoya Fujita

rcl_logging_noop

  • add file_name_prefix parameter to external log configuration. (#109)

  • Remove the last uses of ament_target_dependencies in this repo. (#102)

  • Contributors: Chris Lalancette, Tomoya Fujita

rcl_logging_spdlog

  • Check allocator validity in some rcl_logging functions (#116) If the allocator is zero-initialized, it may cause a segfault when it is used later in the functions.

  • Cleanup the tests. (#115) * Cleanup the tests. There are a few different fixes in here: 1. Move away from using “popen” to get the list of files in a directory. Instead, switch to using the C++ std::filesystem directory iterator and doing the work ourselves, which is portable and much less error-prone. 2. Set the ROS_LOG_DIR for all of the tests in here. This should make the test resistant to being run in parallel with other tests. 3. Consistently use rcpputils::set_env_var, rather than a mix of rcpputils and rcutils.

  • Update quality declaration document (#112)

  • Re-order rcl_logging_interface include (#111)

  • add file_name_prefix parameter to external log configuration. (#109)

  • Migrate to std::filesystem (#104)

  • Remove the last uses of ament_target_dependencies in this repo. (#102)

  • Contributors: Chris Lalancette, Christophe Bedard, Kenta Yonekura, Scott K Logan, Tomoya Fujita

rcl_yaml_param_parser

  • Generate version header using ament_generate_version_header(..) (#1141)

  • Update quality declaration documents (#1131)

  • Fix for incorrect integer value conversion on Windows (#1126)

  • Just remove rcpputils::fs dependency (#1105)

  • Contributors: Christophe Bedard, G.A. vd. Hoorn, Kenta Yonekura, Michael Orlov

rclcpp

  • add impl pointer for ExecutorOptions (#2523) (#2525) * add impl pointer for ExecutorOptions (cherry picked from commit 343b29b617b163ad72b9fe3f6441dd4ed3d3af09) Co-authored-by: William Woodall <william@osrfoundation.org>

  • Fixup Executor::spin_all() regression fix (#2517) (#2521) * test(Executors): Added tests for busy waiting Checks if executors are busy waiting while they should block in spin_some or spin_all. * fix: Reworked spinAll test This test was strange. It looked like, it assumed that spin_all did not return instantly. Also it was racy, as the thread could terminate instantly. * fix(Executor): Fixed spin_all not returning instantly is no work was available * Update rclcpp/test/rclcpp/executors/test_executors.cpp * test(executors): Added test for busy waiting while calling spin * fix(executor): Reset wait_result on every call to spin_some_impl Before, the method would not recollect available work in case of spin_some, spin_all. This would lead to the method behaving differently than to what the documentation states. * restore previous test logic for now * refactor spin_some_impl’s logic and improve busy wait tests * added some more comments about the implementation ——— Co-authored-by: Janosch Machowinski <J.Machowinski@cellumation.com> Co-authored-by: jmachowinski <jmachowinski@users.noreply.github.com> Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com> Co-authored-by: William Woodall <william@osrfoundation.org>

  • Revise the description of service configure_introspection() (#2511) (#2513)

  • Remove references to index.ros.org. (#2504)

  • Reduce overhead for inheriting from rclcpp::Executor when base functionality is not reused (#2506)

  • [wjwwood] Updated “Data race fixes” (#2500) * Fix callback group logic in executor * fix: Fixed unnecessary copy of wait_set * fix(executor): Fixed race conditions with rebuild of wait_sets Before this change, the rebuild of wait set would be triggered after the wait set was waken up. With bad timing, this could lead to the rebuild not happening with multi threaded executor. * fix(Executor): Fixed lost of entities rebuild request * chore: Added assert for not set callback_group in execute_any_executable * Add test for cbg getting reset Co-authored-by: Janosch Machowinski <j.machowinski@nospam.org> * chore: renamed test cases to snake_case * style * fixup test to avoid polling and short timeouts * fix: Use correct notify_waitable_ instance * fix(StaticSingleThreadedExecutor): Added missing special case handling for current_notify_waitable_ * fix(TestCallbackGroup): Fixed test after change to timers ——— Co-authored-by: Janosch Machowinski <j.machowinski@cellumation.com> Co-authored-by: Michael Carroll <mjcarroll@intrinsic.ai> Co-authored-by: Janosch Machowinski <j.machowinski@nospam.org>

  • fixup var names to snake case (#2501)

  • Added optional TimerInfo to timer callback (#2343) Co-authored-by: Alexis Tsogias <a.tsogias@cellumation.com> Co-authored-by: Janosch Machowinski <J.Machowinski@cellumation.com>

  • Fix uninitialized memory in test (#2498) When I added in the tests for large messages, I made a mistake and reserved space in the strings, but didn’t actually expand it. Thus, we were writing into uninitialized memory. Fix this by just using the correct constructor for string, which will allocate and initialize the memory properly.

  • Ensure waitables handle guard condition retriggering (#2483) Co-authored-by: Michael Carroll <mjcarroll@intrinsic.ai>

  • fix: init concatenated_vector with begin() & end() (#2492) * this commit will fix the warning [-Wstringop-overflow=] #2461

  • Use the same context for the specified node in rclcpp::spin functions (#2433) * Use the same conext for the specified node in rclcpp::spin_xx functions * Add test for spinning with non-default-context * Format code ———

  • Disable compare-function-pointers in test_utilities (#2489)

  • address ambiguous auto variable. (#2481)

  • Increase the cppcheck timeout to 1200 seconds (#2484)

  • Removed test_timers_manager clang warning (#2479)

  • Flaky timer test fix (#2469) * fix(time_source): Fixed possible race condition * fix(test_executors_time_cancel_behaviour): Fixed multiple race conditions ——— Co-authored-by: Janosch Machowinski <j.machowinski@nospam.org>

  • Add tracepoint for generic publisher/subscriber (#2448)

  • update rclcpp::Waitable API to use references and const (#2467)

  • Utilize rclcpp::WaitSet as part of the executors (#2142) * Deprecate callback_group call taking context * Add base executor objects that can be used by implementors * Template common operations * Address reviewer feedback: * Add callback to EntitiesCollector constructor * Make function to check automatically added callback groups take a list * Lint * Address reviewer feedback and fix templates * Lint and docs * Make executor own the notify waitable * Add pending queue to collector, remove from waitable Also change node’s get_guard_condition to return shared_ptr * Change interrupt guard condition to shared_ptr Check if guard condition is valid before adding it to the waitable * Lint and docs * Utilize rclcpp::WaitSet as part of the executors * Don’t exchange atomic twice * Fix add_node and add more tests * Make get_notify_guard_condition follow API tick-tock * Improve callback group tick-tocking * Don’t lock twice * Address reviewer feedback * Add thread safety annotations and make locks consistent * @wip * Reset callback groups for multithreaded executor * Avoid many small function calls when building executables * Re-trigger guard condition if buffer has data * Address reviewer feedback * Trace points * Remove tracepoints * Reducing diff * Reduce diff * Uncrustify * Restore tests * Back to weak_ptr and reduce test time * reduce diff and lint * Restore static single threaded tests that weren’t working before * Restore more tests * Fix multithreaded test * Fix assert * Fix constructor test * Change ready_executables signature back * Don’t enforce removing callback groups before nodes * Remove the “add_valid_node” API * Only notify if the trigger condition is valid * Only trigger if valid and needed * Fix spin_some/spin_all implementation * Restore single threaded executor * Picking ABI-incompatible executor changes * Add PIMPL * Additional waitset prune * Fix bad merge * Expand test timeout * Introduce method to clear expired entities from a collection * Make sure to call remove_expired_entities(). * Prune queued work when callback group is removed * Prune subscriptions from dynamic storage * Styles fixes. * Re-trigger guard conditions * Condense to just use watiable.take_data * Lint * Address reviewer comments (nits) * Lock mutex when copying * Refactors to static single threaded based on reviewers * More small refactoring * Lint * Lint * Add ready executable accessors to WaitResult * Make use of accessors from wait_set * Fix tests * Fix more tests * Tidy up single threaded executor implementation * Don’t null out timer, rely on call * change how timers are checked from wait result in executors * peak -> peek * fix bug in next_waitable logic * fix bug in StaticSTE that broke the add callback groups to executor tests * style ——— Co-authored-by: Chris Lalancette <clalancette@gmail.com> Co-authored-by: William Woodall <william@osrfoundation.org>

  • fix flakiness in TestTimersManager unit-test (#2468) the previous version of the test was relying on the assumption that a timer with 1ms period gets called at least 6 times if the main thread waits 15ms. this is true most of the times, but it’s not guaranteed, especially when running the test on windows CI servers. the new version of the test makes no assumptions on how much time it takes for the timers manager to invoke the timers, but rather focuses on ensuring that they are called the right amount of times, which is what’s important for the purpose of the test

  • fix spin_some_max_duration unit-test for events-executor (#2465)

  • refactor and improve the parameterized spin_some tests for executors (#2460) * refactor and improve the spin_some parameterized tests for executors * disable spin_some_max_duration for the StaticSingleThreadedExecutor and EventsExecutor * fixup and clarify the docstring for Executor::spin_some() * style * review comments ———

  • enable simulation clock for timer canceling test. (#2458) * enable simulation clock for timer canceling test. * move MainExecutorTypes to test_executors_timer_cancel_behavior.cpp. ———

  • Revert “relax the test simulation rate for timer canceling tests. (#2453)” (#2456) This reverts commit 1c350d0d7fb9c7158e0a39057112486ddbd38e9a.

  • relax the test simulation rate for timer canceling tests. (#2453)

  • Fix TypeAdapted publishing with large messages. (#2443) Mostly by ensuring we aren’t attempting to store large messages on the stack. Also add in tests. I verified that before these changes, the tests failed, while after them they succeed.

  • Implement generic client (#2358) * Implement generic client * Fix the incorrect parameter declaration * Deleted copy constructor and assignment for FutureAndRequestId * Update codes after rebase * Address review comments * Address review comments from iuhilnehc-ynos * Correct an error in a description * Fix window build errors * Address review comments from William * Add doc strings to create_generic_client ———

  • Rule of five: implement move operators (#2425)

  • Various cleanups to deal with uncrustify 0.78. (#2439) These should also work with uncrustify 0.72.

  • Remove the set_deprecated signatures in any_subscription_callback. (#2431) These have been deprecated since April 2021, so it is safe to remove them now.

  • fix doxygen syntax for NodeInterfaces (#2428)

  • Set hints to find the python version we actually want. (#2426) The comment in the commit explains the reasoning behind it.

  • Update quality declaration documents (#2427)

  • feat: add/minus for msg::Time and rclcpp::Duration (#2419) * feat: add/minus for msg::Time and rclcpp::Duration

  • Split test_executors up into smaller chunks. (#2421)

  • [events executor] - Fix Behavior with Timer Cancel (#2375)

  • Removed deprecated header (#2413)

  • Make sure to mark RingBuffer methods as ‘override’. (#2410)

  • Increase the cppcheck timeout to 600 seconds. (#2409)

  • Add transient local durability support to publisher and subscriptions when using intra-process communication (#2303)

  • Stop storing the context in the guard condition. (#2400)

  • Updated GenericSubscription to AnySubscriptionCallback (#1928)

  • make type support helper supported for service (#2209)

  • Adding QoS to subscription options (#2323)

  • Switch to target_link_libraries. (#2374)

  • aligh with rcl that a rosout publisher of a node might not exist (#2357)

  • Fix data race in EventHandlerBase (#2349)

  • Support users holding onto shared pointers in the message memory pool (#2336)

  • fix (signal_handler.hpp): spelling (#2356)

  • Updates to not use std::move in some places. (#2353)

  • rclcpp::Time::max() clock type support. (#2352)

  • Serialized Messages with Topic Statistics (#2274)

  • Add a custom deleter when constructing rcl_service_t (#2351)

  • Disable the loaned messages inside the executor. (#2335)

  • Use message_info in SubscriptionTopicStatistics instead of typed message (#2337)

  • Add missing ‘enable_rosout’ comments (#2345)

  • Adjust rclcpp usage of type description service (#2344)

  • address rate related flaky tests. (#2329)

  • Fixes pointed out by the clang analyzer. (#2339)

  • Remove useless ROSRate class (#2326)

  • add clients & services count (#2072)

  • remove invalid sized allocation test for SerializedMessage. (#2330)

  • Adding API to copy all parameters from one node to another (#2304)

  • Add locking to protect the TimeSource::NodeState::node_base_ (#2320)

  • Update SignalHandler get_global_signal_handler to avoid complex types in static memory (#2316)

  • Removing Old Connext Tests (#2313)

  • Documentation for list_parameters (#2315)

  • Decouple rosout publisher init from node init. (#2174)

  • fix the depth to relative in list_parameters (#2300)

  • Fix the return type of Rate::period. (#2301)

  • Update API docs links in package READMEs (#2302)

  • Cleanup flaky timers_manager tests. (#2299)

  • Topic correct typeadapter deduction (#2294)

  • Fix C++20 allocator construct deprecation (#2292)

  • Make Rate to select the clock to work with (#2123)

  • Correct the position of a comment. (#2290)

  • Remove unnecessary lambda captures in the tests. (#2289)

  • Add rcl_logging_interface as an explicit dependency. (#2284)

  • Revamp list_parameters to be more efficient and easier to read. (#2282)

  • Do not crash Executor when send_response fails due to client failure. (#2276)

  • Adding Custom Unknown Type Error (#2272)

  • Add a pimpl inside rclcpp::Node for future distro backports (#2228)

  • Remove an unused variable from the events executor tests. (#2270)

  • Add spin_all shortcut (#2246)

  • Adding Missing Group Exceptions (#2256)

  • Change associated clocks storage to unordered_set (#2257)

  • associated clocks should be protected by mutex. (#2255)

  • Instrument loaned message publication code path (#2240)

  • Implement get_node_type_descriptions_interface for lifecyclenode and add smoke test for it (#2237)

  • Add new node interface TypeDescriptionsInterface to provide GetTypeDescription service (#2224)

  • Move always_false_v to detail namespace (#2232)

  • Revamp the test_subscription.cpp tests. (#2227)

  • warning: comparison of integer expressions of different signedness (#2219)

  • Modifies timers API to select autostart state (#2005)

  • Enable callback group tests for connextdds (#2182)

  • Fix up misspellings of “receive”. (#2208)

  • Remove flaky stressAddRemoveNode test (#2206)

  • Use TRACETOOLS_ prefix for tracepoint-related macros (#2162)

  • remove nolint since ament_cpplint updated for the c++17 header (#2198)

  • Feature/available capacity of ipm (#2173)

  • add mutex to protect events_executor current entity collection (#2187)

  • Declare rclcpp callbacks before the rcl entities (#2024)

  • Fix race condition in events-executor (#2177)

  • Add missing stdexcept include (#2186)

  • Fix a format-security warning when building with clang (#2171)

  • Fix delivered message kind (#2175)

  • Contributors: AiVerisimilitude, Alberto Soragna, Alejandro Hernández Cordero, Alexey Merzlyakov, Barry Xu, Chen Lihui, Chris Lalancette, Christophe Bedard, Christopher Wecht, DensoADAS, Eloy Briceno, Emerson Knapp, Homalozoa X, HuaTsai, Jeffery Hsu, Jiaqi Li, Jonas Otto, Kotaro Yoshimoto, Lee, Luca Della Vedova, Lucas Wendland, Matt Condino, Michael Carroll, Michael Orlov, Minju, Nathan Wiebe Neufeldt, Steve Macenski, Tim Clephas, Tomoya Fujita, Tony Najjar, Tully Foote, William Woodall, Zard-C, h-suzuki-isp, jmachowinski, mauropasse, mergify[bot], methylDragon, Øystein Sture

rclcpp_action

  • Remove references to index.ros.org. (#2504)

  • Callback after cancel (#2281) * feat(Client): Added function to stop callbacks of a goal handle This function allows us to drop the handle in a locked context. If we do not do this within a lock, there will be a race condition between the deletion of the shared_ptr of the handle and the result / feedback callbacks. * fix: make Client goal handle recursive This fixes deadlocks due to release of goal handles in callbacks etc. * fix(ActionGoalClient): Fixed memory leak for nominal case This fixes a memory leak due to a self reference in the ClientGoalHandle. Note, this fix will only work, if the ClientGoalHandle ever receives a result callback. * doc: Updated documentation of rclcpp_action::Client::async_send_goal * docs: Made the async_send_goal documentation more explicit Co-authored-by: Janosch Machowinski <J.Machowinski@cellumation.com>

  • Remake of “fix: Fixed race condition in action server between is_ready and take” (#2495) Some background information: is_ready, take_data and execute data may be called from different threads in any order. The code in the old state expected them to be called in series, without interruption. This lead to multiple race conditions, as the state of the pimpl objects was altered by the three functions in a non thread safe way. Co-authored-by: Janosch Machowinski <j.machowinski@nospam.org>

  • update rclcpp::Waitable API to use references and const (#2467)

  • Do not generate the exception when action service response timeout. (#2464) * Do not generate the exception when action service response timeout. * address review comment. ———

  • Modify rclcpp_action::GoalUUID hashing algorithm (#2441) * Add unit tests for hashing rclcpp_action::GoalUUID’s * Use the FNV-1a hash algorithm for Goal UUID

  • Various cleanups to deal with uncrustify 0.78. (#2439) These should also work with uncrustify 0.72.

  • Update quality declaration documents (#2427)

  • Switch to target_link_libraries. (#2374)

  • Update API docs links in package READMEs (#2302)

  • fix(ClientGoalHandle): Made mutex recursive to prevent deadlocks (#2267)

  • Correct the position of a comment. (#2290)

  • Fix a typo in a comment. (#2283)

  • doc fix: call canceled only after goal state is in canceling. (#2266)

  • Contributors: Chris Lalancette, Christophe Bedard, Jiaqi Li, Tomoya Fujita, William Woodall, jmachowinski, mauropasse

rclcpp_components

  • Remove references to index.ros.org. (#2504)

  • Add EXECUTOR docs (#2440)

  • Update quality declaration documents (#2427)

  • crash on no class found (#2415) * crash on no class found * error on no class found instead of no callback groups Co-authored-by: Chris Lalancette <clalancette@gmail.com>

  • Switch to target_link_libraries. (#2374)

  • feat(rclcpp_components): support events executor in node main template (#2366)

  • fix(rclcpp_components): increase the service queue sizes in component_container (#2363)

  • Add missing header required by the rclcpp::NodeOptions type (#2324)

  • Update API docs links in package READMEs (#2302)

  • Contributors: Adam Aposhian, Chris Lalancette, Christophe Bedard, Daisuke Nishimatsu, Ignacio Vizzo, M. Fatih Cırıt, Ruddick Lawrence

rclcpp_lifecycle

  • Revert “call shutdown in LifecycleNode dtor to avoid leaving the device in un… (#2450)” (#2522) (#2524) This reverts commit 04ea0bb00293387791522590b7347a2282cda290. (cherry picked from commit 42b0b5775b4e68718c5949308c9e1a059930ded7) Co-authored-by: Chris Lalancette <clalancette@gmail.com>

  • Remove references to index.ros.org. (#2504)

  • call shutdown in LifecycleNode dtor to avoid leaving the device in un… (#2450) * call shutdown in LifecycleNode dtor to avoid leaving the device in unknown state. * add test to verify LifecycleNode::shutdown is called on destructor. ———

  • Update quality declaration documents (#2427)

  • Increase timeout for rclcpp_lifecycle to 360 (#2395)

  • Fix rclcpp_lifecycle inclusion on Windows. (#2331)

  • add clients & services count (#2072)

  • Update API docs links in package READMEs (#2302)

  • add logger level service to lifecycle node. (#2277)

  • Stop using constref signature of benchmark DoNotOptimize. (#2238)

  • Implement get_node_type_descriptions_interface for lifecyclenode and add smoke test for it (#2237)

  • Switch lifecycle to use the RCLCPP macros. (#2233)

  • Add new node interface TypeDescriptionsInterface to provide GetTypeDescription service (#2224)

  • Contributors: Chris Lalancette, Christophe Bedard, Emerson Knapp, Jorge Perez, Lee, Minju, Tomoya Fujita, mergify[bot]

rclpy

  • Clock.py types. (#1244) * Start typing time.py * Testing out Enum wrapper for ClockType * convert to rcl_clock_type_t * Update create_time_point * add types to logging_service * Add types to duration.py * Add newlines for class definintions * update type alias name * Update to use Protocols * Add types to time.py * Add types * Fix import order * Started typing clock.py * Move typealias import

  • pybind11 definition doc typo fixes. (#1270)

  • Fix small flake8 error in rclpy. (#1267) Newer versions of flake8 complain that using ‘str’ as a variable shadows a builtin. Just make it ‘s’.

  • Allow specifying qos (#1225)

  • update RCL_RET_TIMEOUT error handling with action service response. (#1258)

  • Add types to time_source.py (#1259)

  • Small fixes for modern flake8. (#1264)

  • Add types to qos_overriding_options.py (#1248)

  • Add types to context.py (#1240)

  • Add back Type hash __slots__ and add test cases. (#1245)

  • Revert “Add types to TypeHash and moved away from __slots__ usage (#1232)” (#1243)

  • Time.py Types (#1237)

  • Add types to TypeHash and moved away from __slots__ usage (#1232)

  • Add Static Typing to Validate files (#1230)

  • Add types to duration.py (#1233)

  • added python3-yaml (#1242)

  • Add types to exceptions.py (#1241)

  • Add types (#1231)

  • Creates Enum wrapper for ClockType and ClockChange (#1235)

  • Add types to expand_topic_name (#1238)

  • Add types to logging_service.py (#1227)

  • Add types to logging.py (#1226)

  • forbid parameter to be declared statically without initialization. (#1216)

  • Remove parentheses from assert statements. (#1213)

  • Add doc-string warnings for destroy methods for services. (#1205)

  • Add doc-string warnings for destroy() methods (#1204)

  • Add an optional timeout_sec input to Client.call() to fix issue https://github.com/ros2/rclpy/issues/1181 (#1188)

  • aligh with rcl that a rosout publisher of a node might not exist (#1196)

  • call ok() to see if rclpy and context is initialized. (#1198)

  • Adjust python usage of the type_description service API (#1192)

  • Document that spin_once() should not be called from multiple threads (#1079)

  • making optional things Optional (#1182)

  • Use timeout object to avoid callback losing in wait_for_ready_callbacks (#1165)

  • Fix to issue https://github.com/ros2/rclpy/issues/1179 (#1180)

  • Add count services, clients & test (#1024)

  • 1105 parameter event handler (#1135)

  • unregister_sigterm_signal_handler should be called. (#1170)

  • Handle take failure in wait_for_message (#1172)

  • Decouple rosout publisher init from node init. (#1121)

  • Fix _list_parameters_callback & test (#1161)

  • add list_parameters & test (#1124)

  • Support to get remapped service name (#1156)

  • a couple of typo fixes. (#1158)

  • Fix get_type_description service bug and add a unit test (#1155)

  • Fix an inherent race in execution vs. destruction. (#1150)

  • Cleanup of test_node.py. (#1153)

  • Avoid generating the exception when rcl_send_response times out. (#1136)

  • Store time source clocks in a set (#1146)

  • Fix spin_once_until_future_complete to quit when the future finishes. (#1143)

  • get_type_description service (#1139)

  • Add in the ability to start timers paused. (#1138)

  • Modifies ros_timer_init for ros_timer_init2 (#999)

  • Fix/param namespace association 894 (#1132)

  • Include type hash in topic endpoint info (#1104)

  • Fix iteration over modified list (#1129)

  • making optional things Optional (#974)

  • Fix type signature of Client.wait_for_service (#1128)

  • Fix action server crash when the client goes away. (#1114)

  • Turn Executor into a ContextManager (#1118)

  • Turn Context into a ContextManager (#1117)

  • Fix type in Node init args (#1115)

  • Contributors: AndyZe, Anton Kesy, Barry Xu, Brian, Chen Lihui, Chris Lalancette, Eloy Briceno, Emerson Knapp, EsipovPA, Felix Divo, Hans-Joachim Krauch, KKSTB, Lee, Luca Della Vedova, M. Hofstätter, Michael Carlstrom, Michael Carroll, Minju, Russ, SnIcK, Steve Peters, Tim Clephas, Tomoya Fujita, mhidalgo-bdai

rcpputils

  • Generate version header with ament_generate_version_header function (#190)

  • Update docs for rcpputils::split functions (#188)

  • Included tl_expected (#185)

  • Switch to using target_link_libraries. (#183)

  • Add a missing header due to missing PATH_MAX variable (#181)

  • Add unique_lock implementation with clang thread safety annotations (#180)

  • Add in a missing cstdint. (#178)

  • Contributors: Alejandro Hernández Cordero, Chris Lalancette, Christophe Bedard, Emerson Knapp, Sai Kishor Kothakota, wojciechmadry

rcutils

  • Removed warnings - strict-prototypes (#461) (#465)

  • Increase timeout repl_str test (#463) (#464)

  • validate the allocator before use. (#455) * validate the allocator before use. * address review comments. - validate allocator only if the function specifically uses. - argument null check comes before validation of value. ———

  • feat: Add human readable date to logging formats (#441)

  • Updates for uncrustify 0.78. (#454)

  • Set hints to find the python version we actually want. (#451)

  • Bring ament_add_gtest/target_link_libraries back together (#452)

  • Change ‘ROS2’ to ‘ROS 2’ in quality declaration (#453)

  • Allow parsing of escape sequence in log format (#443)

  • Clean up unused references to mimick/mocking in tests (#450)

  • Fix if(TARGET …) condition for test (#447)

  • Zero-initialize rcutils_string_array_t in test_string_array (#446)

  • Use rcutils_string_array_init in rcutils_split & handle alloc fail (#445)

  • Make rcutils_split() return RCUTILS_RET_BAD_ALLOC if alloc fails (#444)

  • Remove two last uses of ament_target_dependencies. (#440)

  • time_win32: Update dead link (#438)

  • memmove for overlaping memory (#434)

  • make escape characters work (#426)

  • Remove unused ‘max’ functions from sha256.c (#429)

  • Contributors: Chen Lihui, Chris Lalancette, Christophe Bedard, Kaju-Bubanja, Marc Bestmann, Silvio Traversaro, Tomoya Fujita, Tyler Weaver, mergify[bot]

resource_retriever

  • Update resource retreiver to use rule of five (#95)

  • Use default ament_lint_auto (#92)

  • Switch to target_link_libraries. (#89)

  • Update to C++17 (#88)

  • Contributors: Chris Lalancette, Michael Carroll

rmw

  • Removed warnings - strict-prototypes (#365) (#366)

  • Switch to target_link_libraries. (#361)

  • Remove unnecessary c++14 flag. (#360)

  • definition of local means being in the same context. (#359)

  • typo fix. (#355)

  • Contributors: Chris Lalancette, Tomoya Fujita, mergify[bot]

rmw_connextdds

  • Add rmw count clients services impl (#93)

  • Cleanup context implementation (#131)

  • Update to C++17 (#125)

  • Contributors: Chris Lalancette, Lee, Minju

rmw_connextdds_common

  • Revert “Mitigate discovery race condition between clients and services (#132)” (#146) This reverts commit 7c95abbfc4559b293ebf5e94e20250bdd99d3ac6.

  • Mitigate discovery race condition between clients and services (#132) * Mitigate discovery race condition between clients and services.

  • Add: tracepoint for subscribe serialized_message (#145) * Add: tracepoint for take_serialized_message * Fix: TRACETOOLS_TRACEPOINT args * Update rmw_connextdds_common/src/common/rmw_subscription.cpp Co-authored-by: Christophe Bedard <bedard.christophe@gmail.com>

  • Support Fast CDR v2 (#141)

  • Fix the rmw_connextdds_common build with gcc 13.2. (#142) The most important fix here is to #include <cstdint>, but also make sure we #include for all used STL functions.

  • Fix basic request reply mapping for ConnextDDS Pro (#139)

  • Add ros2_tracing tracepoints (#120)

  • avoid using dds common public mutex directly (#134)

  • Fix a couple of warnings pointed out by clang. (#133)

  • Add rmw count clients services impl (#93)

  • Conditional internal API access to support Connext 7+ (#121)

  • Cleanup context implementation (#131)

  • Fix RMW_Connext_Client::is_service_available for micro (#130)

  • Update to C++17 (#125)

  • Pass parameters in the correct order to DDS_DataReader_read in rmw_connextdds_count_unread_samples for micro (#129)

  • Optimize QoS to improve responsiveness of reliable endpoints (#26)

  • Clear out errors once we have handled them. (#126)

  • Add support for listener callbacks (#76)

  • Contributors: Andrea Sorbini, Chen Lihui, Chris Lalancette, Christopher Wecht, Lee, Miguel Company, Minju, h-suzuki-isp

rmw_connextddsmicro

  • Add rmw count clients services impl (#93)

  • Cleanup context implementation (#131)

  • Update to C++17 (#125)

  • Contributors: Chris Lalancette, Lee, Minju

rmw_cyclonedds_cpp

  • Set received_timestamp to system_clock::now() in message_info (#491) (#493) * Set received_timestamp to steady_clock::now() in message_info * Use ‘system_clock’ instead of ‘steady_clock’ * Also update receive_timestamp for services. (cherry picked from commit 76c9d8f38a03d160b258902af6d1d06f6ed9391e) Co-authored-by: Michael Orlov <morlovmr@gmail.com>

  • Add tracepoint for publish/subscribe serialized message (#485) Co-authored-by: eboasson <eb@ilities.com>

  • Remove a bunch of unnecessary macros. (#482)

  • compare string contents but string pointer addresses. (#481)

  • Add timestamp to rmw_publish tracepoint (#454)

  • avoid using dds common public mutex directly (#474)

  • Add rmw count clients,services impl (#427)

  • Minor revamp of the CMakeLists.txt. (#468)

  • Clear out errors once we have handled them. (#464)

  • Instrument loaned message publication code path

  • Use TRACETOOLS_ prefix for tracepoint-related macros (#450)

  • Contributors: Chen Lihui, Chris Lalancette, Christophe Bedard, Christopher Wecht, Lee, Minju, Tomoya Fujita, h-suzuki-isp, mergify[bot]

rmw_dds_common

  • Add pkcs11 support to get_security_files (#66)

  • make a new private mutex and add updating graph methods (#73)

  • Just remove rcpputils::fs dependency (#72)

  • Contributors: Chen Lihui, Kenta Yonekura, Miguel Company

rmw_fastrtps_cpp

  • Support Fast CDR v2 (#746) * Require fastcdr version 2 * Changes to build rmw_fastrtps_shared_cpp * Changes to build rmw_fastrtps_cpp * Changes to build rmw_fastrtps_dynamic_cpp

  • Capture std::bad_alloc on deserializeROSmessage. (#665)

  • Switch to target_link_libraries for linking. (#734)

  • avoid using dds common public mutex directly (#725)

  • Add rmw_count clients,services impl (#641)

  • Improve node graph delivery by using a unique listening port (#711)

  • Use TRACETOOLS_ prefix for tracepoint-related macros (#686)

  • Contributors: Chen Lihui, Chris Lalancette, Christophe Bedard, Lee, Miguel Company, Minju

rmw_fastrtps_dynamic_cpp

  • Support Fast CDR v2 (#746) * Require fastcdr version 2 * Changes to build rmw_fastrtps_shared_cpp * Changes to build rmw_fastrtps_cpp * Changes to build rmw_fastrtps_dynamic_cpp

  • compare string contents but string pointer addresses. (#744)

  • Improve wide string (de)serialization in rwm_dynamic_fastrtps_cpp (#740) * Move type support headers to src * Fix references to moved headers * move macros.hpp to src/serialization_helpers.hpp * Move other non-api headers * Move common code into serialize_wide_string. * Move common code into deserialize_wide_string. * Move serialization into serialization_helpers.hpp * Move deserialization into serialization_helpers.hpp * Fix header guards * Linters * Do not account for extra character on serialized size calculation * Remove dependency on rosidl_typesupport_fastrtps_c(pp) ———

  • Capture std::bad_alloc on deserializeROSmessage. (#665)

  • Switch to target_link_libraries for linking. (#734)

  • avoid using dds common public mutex directly (#725)

  • Account for alignment on is_plain calculations. (#716)

  • Add rmw_count clients,services impl (#641)

  • Improve node graph delivery by using a unique listening port (#711)

  • Contributors: Chen Lihui, Chris Lalancette, Lee, Miguel Company, Minju, Tomoya Fujita

rmw_fastrtps_shared_cpp

  • Allow pkcs11 when calling rmw_dds_common::get_security_files. (#565) Co-authored-by: Miguel Company <MiguelCompany@eprosima.com>

  • Add tracepoint for publish/subscribe serialized_message (#748) * Add: tracepoint for generic pub/sub * Fix: correspond to PR 454 * Fix: change write to write_to_timestamp ———

  • Support Fast CDR v2 (#746) * Require fastcdr version 2 * Changes to build rmw_fastrtps_shared_cpp * Changes to build rmw_fastrtps_cpp * Changes to build rmw_fastrtps_dynamic_cpp

  • Remove an unnecessary constructor. (#743) We can just use brace initialization here, and this allows us to side-step an uncrustify issue with the constructor.

  • Add timestamp to rmw_publish tracepoint (#694)

  • Switch to Unix line endings. (#736)

  • Switch to target_link_libraries for linking. (#734)

  • Quiet compiler warning in Release mode. (#730)

  • avoid using dds common public mutex directly (#725)

  • Add rmw_count clients,services impl (#641)

  • Switch to using rclcpp::unique_lock. (#712)

  • Use DataWriter Qos to configure max_blocking_time on rmw_send_response (#704)

  • Clear out errors once we have handled them. (#701)

  • Instrument loaned message publication code path (#698)

  • Add in a missing data_reader check when creating subscription. (#697)

  • Use TRACETOOLS_ prefix for tracepoint-related macros (#686)

  • typo fix. (#693)

  • address clang nightly build error. (#689)

  • Check for errors while doing an rmw_discovery_options_copy. (#690)

  • Contributors: Chen Lihui, Chris Lalancette, Christophe Bedard, Christopher Wecht, IkerLuengo, Lee, Miguel Company, Minju, Tomoya Fujita, h-suzuki-isp

rmw_implementation

  • Update quality declaration document (#225) (#226)

  • Switch to using target_link_libraries everywhere. (#222)

  • Add rmw_count_clients,services & test (#208)

  • Contributors: Chris Lalancette, Lee, Minju, mergify[bot]

robot_state_publisher

  • Fix reload after a description with a mimic joint (#212)

  • Remove ament_target_dependencies. (#209)

  • Improve log messages (#206)

  • Contributors: Chris Lalancette, Guillaume Doisy, Nick Lamprianidis

ros2action

  • call get_action_interfaces() properly. (#898) (#900) (cherry picked from commit 305ef763b83e42ebddc4802ac788869d178b6e93) Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com>

  • support ros2 action type <action name>. (#894) * support ros2 action type <action name>. * add review comments. ———

  • Load a message/request/goal from standard input (#844)

  • Contributors: Tomoya Fujita, mergify[bot], ymd-stella

ros2bag

  • Add option to disable recorder keyboard controls (#1607)

  • Support service 2/2 — rosbag2 service play (#1481)

  • Added exclude-topic-types to record (#1582)

  • Overhaul in the rosbag2_transport::TopicFilter class and relevant tests (#1585)

  • Filter topic by type (#1577)

  • Implement service recording and display info about recorded services (#1480)

  • Add python3-yaml as a dependency (#1490)

  • Fix the description of paramter ‘–topics’ for play (#1426)

  • When using sim time, wait for /clock before beginning recording (#1378)

  • Revert “Don’t record sim-time messages before first /clock (#1354)” (#1377)

  • Don’t record sim-time messages before first /clock (#1354)

  • Fix wrong descritpion for ‘–ignore-leaf-topics’ (#1344)

  • Cleanup the help text for ros2 bag record. (#1329)

  • Contributors: Alejandro Hernández Cordero, Barry Xu, Bernd Pfrommer, Chris Lalancette, Emerson Knapp, Michael Orlov, Michal Sojka

ros2cli

  • ros2cli.node.daemon : try getting fdsize from /proc for open fd limit (#888)

  • Fix the SIGTERM handling in the ros2 daemon. (#887)

  • Replace unmaintained netifaces library to avoid local wheel builds (#875)

  • make handles not inheritable to prevent from blocking durning tab-completion (#852)

  • Add ros2 service info (#771)

  • catch ExternalShutdownException ros2cli main. (#854)

  • Load a message/request/goal from standard input (#844)

  • Fix tests with get_type_description service and param present (#838)

  • Add marshalling functions for rclpy.type_hash.TypeHash (rep2011) (#816)

  • [service introspection] ros2 service echo (#745)

  • Contributors: Brian, Chen Lihui, Chris Lalancette, Emerson Knapp, Hans-Joachim Krauch, Laurenz, Lee, Minju, Tomoya Fujita, akssri-sony, ymd-stella

ros2cli_test_interfaces

  • Update to C++17 (#848)

  • Contributors: Chris Lalancette

ros2component

  • Warning: get_parameter_value() is deprecated. (#866)

  • Contributors: Tomoya Fujita

ros2doctor

ros2interface

  • Add interface type filters to ros2 interface package (#765)

  • Contributors: David V. Lu!!

ros2param

  • ros2 param dump should handle empty list as exception. (#881)

  • Warning: get_parameter_value() is deprecated. (#866)

  • Fix tests with get_type_description service and param present (#838)

  • Update ros2 param dump dosctring. (#837)

  • Contributors: Emerson Knapp, Murilo M Marinho, Tomoya Fujita

ros2pkg

  • Update the package template for our new include directories. (#847)

  • Fix typo in ros2pkg warning message. (#827)

  • Contributors: Chris Lalancette, Tomoya Fujita

ros2service

  • Add ros2 service info (#771)

  • Load a message/request/goal from standard input (#844)

  • Fix tests with get_type_description service and param present (#838)

  • [service introspection] ros2 service echo (#745)

  • Contributors: Brian, Emerson Knapp, Lee, Minju, ymd-stella

ros2topic

  • Remove parentheses from assert statement. (#878)

  • Load a message/request/goal from standard input (#844)

  • Add marshalling functions for rclpy.type_hash.TypeHash (rep2011) (#816)

  • [service introspection] ros2 service echo (#745)

  • Contributors: Brian, Chris Lalancette, Hans-Joachim Krauch, ymd-stella

ros2trace

  • Replace all occurences of index.ros.org (#114)

  • Create start/pause/resume/stop sub-commands for ‘ros2 trace’ (#70)

  • Switch <depend> to <exec_depend> in pure Python packages (#67)

  • Contributors: Chris Lalancette, Christophe Bedard

rosbag2_compression

  • Use middleware send and receive timestamps from message_info during recording (#1531)

  • Use std::filesystem instead of rcpputils::fs (#1576)

  • Make some changes for newer versions of uncrustify. (#1578)

  • Add topic_id returned by storage to the TopicMetadata (#1538)

  • Add default initialization for CompressionOptions (#1539)

  • Add option to set compression threads priority (#1457)

  • Fixes pointed out by clang. (#1493)

  • Use enum values for offered_qos_profiles in code and string names in serialized metadata (#1476)

  • Add in a missing cstdint include. (#1321)

  • Fix warning from ClassLoader in sequential compression reader and writer (#1299)

  • Contributors: Arne B, Chris Lalancette, Michael Orlov, Patrick Roncagliolo, Roman Sokolkov, jmachowinski

rosbag2_compression_zstd

  • Use std::filesystem instead of rcpputils::fs (#1576)

  • Make some changes for newer versions of uncrustify. (#1578)

  • Contributors: Chris Lalancette, Roman Sokolkov

rosbag2_cpp

  • Support service 2/2 — rosbag2 service play (#1481)

  • Use middleware send and receive timestamps from message_info during recording (#1531)

  • Update to use yaml-cpp version 0.8.0. (#1605)

  • Use std::filesystem instead of rcpputils::fs (#1576)

  • Make some changes for newer versions of uncrustify. (#1578)

  • Add topic_id returned by storage to the TopicMetadata (#1538)

  • call cv.wait_until only if necessary. (#1521)

  • Implement service recording and display info about recorded services (#1480)

  • Switch to target_link_libraries everywhere. (#1504)

  • Use enum values for offered_qos_profiles in code and string names in serialized metadata (#1476)

  • ros2 bag convert now excludes messages not in [start_time;end_time] (#1455)

  • Replace TSAUniqueLock implementation with rcpputils::unique_lock (#1454)

  • Add BagSplitInfo service call on bag close (#1422)

  • Rewrite TimeControllerClockTest.unpaused_sleep_returns_true to be correct (#1384)

  • Implement storing and loading ROS_DISTRO from metadata.yaml and mcap files (#1241)

  • Don’t crash when type definition cannot be found (#1350)

  • Add recorder stop() API (#1300)

  • Contributors: Barry Xu, Chris Lalancette, Emerson Knapp, Michael Orlov, Patrick Roncagliolo, Peter Favrholdt, Roman Sokolkov, Tomoya Fujita, jmachowinski

rosbag2_examples_cpp

  • Add topic_id returned by storage to the TopicMetadata (#1538)

  • Use enum values for offered_qos_profiles in code and string names in serialized metadata (#1476)

  • Contributors: Michael Orlov, Patrick Roncagliolo

rosbag2_examples_py

  • Add topic_id returned by storage to the TopicMetadata (#1538)

  • Fix a warning from python setuptools. (#1312)

  • Contributors: Chris Lalancette, Michael Orlov

rosbag2_interfaces

  • Add node name to the Read(Write)SplitEvent message (#1609)

  • Contributors: Michael Orlov

rosbag2_performance_benchmarking

  • Use middleware send and receive timestamps from message_info during recording (#1531)

  • Update to use yaml-cpp version 0.8.0. (#1605)

  • Add option to set compression threads priority (#1457)

  • Add per group statistics for rosbag2_performance_benchmarking report (#1306)

  • Set CPU affinity for producers and recorder from benchmark parameters (#1305)

  • Add CPU usage to rosbag2_performance_benchmarking results report (#1304)

  • Add config option to use storage_id parameter in benchmark_launch.py (#1303)

  • Contributors: Chris Lalancette, Michael Orlov, jmachowinski

rosbag2_py

  • Add option to disable recorder keyboard controls (#1607)

  • Support service 2/2 — rosbag2 service play (#1481)

  • Use middleware send and receive timestamps from message_info during recording (#1531)

  • Switch rclpy to be an exec_depend here. (#1606)

  • Gracefully handle SIGINT and SIGTERM signals for play and burst CLI (#1557)

  • Added exclude-topic-types to record (#1582)

  • Fix for false negative tests in rosbag2_py (#1592)

  • Update rosbag2_py stubs (#1593)

  • Add Python stubs for rosbag2_py (#1459) (#1569)

  • Filter topic by type (#1577)

  • Add topic_id returned by storage to the TopicMetadata (#1538)

  • Install signal handlers in recorder only inside record method (#1464)

  • add missing import otherwise it doesnt compile (#1524)

  • Implement service recording and display info about recorded services (#1480)

  • Make rosbag2_transport::Player::play() run in a separate thread (#1503)

  • Switch to target_link_libraries everywhere. (#1504)

  • Use enum values for offered_qos_profiles in code and string names in serialized metadata (#1476)

  • ros2 bag convert now excludes messages not in [start_time;end_time] (#1455)

  • Add support for compression to python API (#1425)

  • Gracefully handle SIGINT and SIGTERM in rosbag2 recorder (#1301)

  • Implement storing and loading ROS_DISTRO from metadata.yaml and mcap files (#1241)

  • Add binding to close the writer (#1339)

  • Contributors: Alejandro Hernández Cordero, Andrew Symington, Barry Xu, Bernd Pfrommer, Chris Lalancette, Emerson Knapp, Michael Orlov, Mikael Arguedas, Patrick Roncagliolo, Peter Favrholdt, Roman Sokolkov, Yadu, jmachowinski

rosbag2_storage

  • Support service 2/2 — rosbag2 service play (#1481)

  • Use middleware send and receive timestamps from message_info during recording (#1531)

  • Update to use yaml-cpp version 0.8.0. (#1605)

  • Use std::filesystem instead of rcpputils::fs (#1576)

  • Make some changes for newer versions of uncrustify. (#1578)

  • Add topic_id returned by storage to the TopicMetadata (#1538)

  • Remove rcpputils::fs dependencies from rosbag2_storages (#1558)

  • Improve performance in SqliteStorage::get_bagfile_size() (#1516)

  • Make Player and Recorder Composable (#902) (#1419)

  • Use enum values for offered_qos_profiles in code and string names in serialized metadata (#1476)

  • ros2 bag convert now excludes messages not in [start_time;end_time] (#1455)

  • Fix missing cstdint include (#1383)

  • Implement storing and loading ROS_DISTRO from metadata.yaml and mcap files (#1241)

  • Contributors: Barry Xu, Chris Lalancette, Emerson Knapp, Michael Orlov, Patrick Roncagliolo, Peter Favrholdt, Roman Sokolkov, Zac Stanton, jmachowinski

rosbag2_storage_mcap

  • Support service 2/2 — rosbag2 service play (#1481)

  • Use middleware send and receive timestamps from message_info during recording (#1531)

  • Update to use yaml-cpp version 0.8.0. (#1605)

  • Check existence of a file before passing it to the mcap reader (#1594)

  • Add topic_id returned by storage to the TopicMetadata (#1538)

  • Use rw_lock to protect mcap metadata lists. (#1561)

  • Remove rcpputils::fs dependencies from rosbag2_storages (#1558)

  • remove unused headers (#1544)

  • Link and compile against rosbag2_storage_mcap: Fixed issue 1492 (#1496)

  • Use enum values for offered_qos_profiles in code and string names in serialized metadata (#1476)

  • Store serialized metadata in MCAP file (#1423)

  • Implement storing and loading ROS_DISTRO from metadata.yaml and mcap files (#1241)

  • Contributors: Alejandro Hernández Cordero, Barry Xu, Chris Lalancette, Christopher Wecht, Emerson Knapp, Michael Orlov, Patrick Roncagliolo, Roman Sokolkov, Tomoya Fujita, jmachowinski, uupks

rosbag2_storage_sqlite3

  • Support service 2/2 — rosbag2 service play (#1481)

  • Use middleware send and receive timestamps from message_info during recording (#1531)

  • Update to use yaml-cpp version 0.8.0. (#1605)

  • Make some changes for newer versions of uncrustify. (#1578)

  • Add topic_id returned by storage to the TopicMetadata (#1538)

  • Remove rcpputils::fs dependencies from rosbag2_storages (#1558)

  • Change an incorrect TSA annotation. (#1552)

  • Improve performance in SqliteStorage::get_bagfile_size() (#1516)

  • Update rosbag2_storage_sqlite3 to C++17. (#1501)

  • Use enum values for offered_qos_profiles in code and string names in serialized metadata (#1476)

  • Stop inheriting from std::iterator. (#1424)

  • Implement storing and loading ROS_DISTRO from metadata.yaml and mcap files (#1241)

  • Store metadata in db3 file (#1294)

  • Contributors: Barry Xu, Chris Lalancette, Emerson Knapp, Michael Orlov, Patrick Roncagliolo, Roman Sokolkov, jmachowinski

rosbag2_test_common

  • Support service 2/2 — rosbag2 service play (#1481)

  • Make some changes for newer versions of uncrustify. (#1578)

  • Implement service recording and display info about recorded services (#1480)

  • Add extra checks in execute_and_wait_until_completion(..) (#1346)

  • Address flakiness in rosbag2_play_end_to_end tests (#1297)

  • Contributors: Barry Xu, Chris Lalancette, Michael Orlov

rosbag2_test_msgdefs

  • Implement service recording and display info about recorded services (#1480)

  • Don’t crash when type definition cannot be found (#1350) * Don’t fail when type definition cannot be found

  • Contributors: Barry Xu, Emerson Knapp

rosbag2_tests

  • Use middleware send and receive timestamps from message_info during recording (#1531)

  • Added exclude-topic-types to record (#1582)

  • Use std::filesystem instead of rcpputils::fs (#1576)

  • Filter topic by type (#1577)

  • Make some changes for newer versions of uncrustify. (#1578)

  • Add topic_id returned by storage to the TopicMetadata (#1538)

  • Improve performance in SqliteStorage::get_bagfile_size() (#1516)

  • Implement service recording and display info about recorded services (#1480)

  • Mark play_end_to_end test as xfail in Windows (#1452)

  • Implement storing and loading ROS_DISTRO from metadata.yaml and mcap files (#1241)

  • Address flakiness in rosbag2_play_end_to_end tests (#1297)

  • Contributors: Alejandro Hernández Cordero, Barry Xu, Chris Lalancette, Cristóbal Arroyo, Emerson Knapp, Michael Orlov, Roman Sokolkov, jmachowinski

rosbag2_transport

  • Removed warnings - unqualified-std-cast-call (#1618) (#1622)

  • Add node name to the Read(Write)SplitEvent message (#1609)

  • Add option to disable recorder keyboard controls (#1607)

  • Support service 2/2 — rosbag2 service play (#1481)

  • Use middleware send and receive timestamps from message_info during recording (#1531)

  • Update to use yaml-cpp version 0.8.0. (#1605)

  • Gracefully handle SIGINT and SIGTERM signals for play and burst CLI (#1557)

  • Added exclude-topic-types to record (#1582)

  • Use std::filesystem instead of rcpputils::fs (#1576)

  • Add transactional state mutex for RecorderImpl class. (#1547)

  • Overhaul in the rosbag2_transport::TopicFilter class and relevant tests (#1585)

  • Filter topic by type (#1577)

  • fix: use size_t instead of uint64_t in play_options YAML converter (#1575)

  • Make some changes for newer versions of uncrustify. (#1578)

  • Add topic_id returned by storage to the TopicMetadata (#1538)

  • Workaround for flaky test_play_services running with fastrtps (#1556)

  • Add proper message for –start-paused (#1537)

  • Recording stopped prints only once. (#1530)

  • Cleanup the rosbag2_transport tests (#1518)

  • Implement service recording and display info about recorded services (#1480)

  • Add option to set compression threads priority (#1457)

  • Bugfix for incorrect playback rate changes when pressing buttons (#1513)

  • Make Player and Recorder Composable (#902) (#1419)

  • Clang fixes for the latest PlayerImpl code. (#1507)

  • Make rosbag2_transport::Player::play() run in a separate thread (#1503)

  • Switch to target_link_libraries everywhere. (#1504)

  • Use enum values for offered_qos_profiles in code and string names in serialized metadata (#1476)

  • Redesign Player class with PIMPL idiom (#1447)

  • Don’t warn for unknown types if topics are not selected (#1466)

  • Remove unused concurrentqueue implementation. (#1465)

  • Fix uninitialized value pointed out by clang static analysis. (#1440)

  • Fix the build with rmw_fastrtps_dynamic. (#1416)

  • Fix for rosbag2_transport::Recorder failures due to the unhandled exceptions (#1382)

  • When using sim time, wait for /clock before beginning recording (#1378)

  • Fix for possible freeze in Recorder::stop() (#1381)

  • Revert “Don’t record sim-time messages before first /clock (#1354)” (#1377)

  • Don’t record sim-time messages before first /clock (#1354)

  • Fix a clang warning about uninitialized variable. (#1370)

  • [bugfix] for parameters not passing to recorder’s node from child component (#1360)

  • Change subscriptions from GenericSubscripton to SubscriptionBase (#1337)

  • Add recorder stop() API (#1300)

  • Contributors: Alejandro Hernández Cordero, Barry Xu, Bernd Pfrommer, Chris Lalancette, Christoph Fröhlich, Daisuke Nishimatsu, Emerson Knapp, Michael Orlov, Patrick Roncagliolo, Roman Sokolkov, Tomoya Fujita, jmachowinski, mergify[bot]

rosidl_cmake

  • Improve deprecation notice of rosidl_target_interface to give a hint on how to update the code (#788)

  • Add rosidl_find_package_idl helper function (#754)

  • Remove unused splitting of .srv files in CMake (#753)

  • Contributors: Alexis Paques, Mike Purvis, Shane Loretz

rosidl_dynamic_typesupport

  • uchar: fix conditional include/typedef (#10)

  • uchar: use __has_include(..) on separate line (#8)

  • Refactor the handling of nested types. (#7)

  • Add C++ version check to char16 definition (#3)

  • Contributors: Antonio Cuadros, Chris Lalancette, G.A. vd. Hoorn

rosidl_generator_c

  • Fixed warnings - strict-prototypes (#800) (#802)

  • Set hints to find the python version we actually want. (#785)

  • Add rosidl_find_package_idl helper function (#754)

  • Fix IWYU for clangd in C and C++ (#742)

  • Contributors: Alexis Paques, Chris Lalancette, Mike Purvis, mergify[bot]

rosidl_generator_cpp

  • Set hints to find the python version we actually want. (#785)

  • Fix constant generation for C++ floats (#772)

  • Add rosidl_find_package_idl helper function (#754)

  • Fixed visibility control file added to wrong header list variable. (#755)

  • Fix deprecation warnings for message constants (#750)

  • Generate typesupport declarations for actions, messages and services (#703)

  • Fix IWYU for clangd in C and C++ (#742)

  • Contributors: Alexis Paques, Chris Lalancette, Emerson Knapp, Mike Purvis, Stefan Fabian

rosidl_generator_dds_idl

  • Remove unnecessary parentheses. (#61)

  • Contributors: Chris Lalancette

rosidl_generator_py

  • Revert install of .so files into python path (#211) There seems that some regression might have happened after #195. When removing those 2 lines, we avoid to install the .so files in lib and python path.

  • Prototype code for seeing if FindPython3 is usable for rosidl_python (#140)

  • Add in a missing space. (#203)

  • Install compiled libraries only to ‘lib’ (#195)

  • Fix: Missing dependency that causes cmake error in downstream (resolves https://github.com/ros2/rosidl_python/issues/198) (#199)

  • Contributors: Chris Lalancette, Isaac Saito, Matthias Schoepfer, Scott K Logan, Shane Loretz

rosidl_generator_tests

  • Fixed warnings - strict-prototypes (#800) (#802)

  • Increased the cpplint timeout to 300 seconds (#797)

  • Fixes for modern uncrustify. (#793)

  • Fix constant generation for C++ floats (#772)

  • Fix same named types overriding typesources (#759)

  • Contributors: Alejandro Hernández Cordero, Chris Lalancette, Emerson Knapp, mergify[bot]

rosidl_generator_type_description

  • Set hints to find the python version we actually want. (#785)

  • Remove unnecessary parentheses. (#783)

  • Contributors: Chris Lalancette

rosidl_parser

  • Adding interfaces to support @key annotation (#796) Co-authored-by: Mario Dominguez <mariodominguez@eprosima.com>

  • Small fix for newer flake8 compatibility. (#792)

  • Remove unnecessary parentheses. (#783)

  • Contributors: Chris Lalancette, Miguel Company

rosidl_pycommon

  • Remove unnecessary parentheses. (#783)

  • Fix same named types overriding typesources (#759)

  • Contributors: Chris Lalancette, Emerson Knapp

rosidl_runtime_c

  • Switch to target_link_libraries. (#776)

  • Set the C++ version to 17. (#761)

  • Mark _ in benchmark tests as unused. (#741) This helps clang static analysis.

  • Contributors: Chris Lalancette

rosidl_runtime_cpp

  • Suppress a warning around BoundedVector. (#803) (#804) The comment has more explanation, but in short GCC 13 has false positives around some warnings, so we suppress it for BoundedVector. (cherry picked from commit 858e76adb03edba00469b91d50dd5fe0dcb34236) Co-authored-by: Chris Lalancette <clalancette@gmail.com>

  • Contributors: mergify[bot]

rosidl_runtime_py

  • Some fixes for modern flake8. (#25)

  • Contributors: Chris Lalancette

rosidl_typesupport_c

  • Fixed warnings - strict-prototypes (#155) (#156)

  • compare string contents but string pointer addresses. (#153)

  • Set hints to find the python version we actually want. (#150)

  • Don’t override user provided compile definitions (#145)

  • Contributors: Chris Lalancette, Emerson Knapp, Tomoya Fujita, mergify[bot]

rosidl_typesupport_cpp

  • compare string contents but string pointer addresses. (#153)

  • Set hints to find the python version we actually want. (#150)

  • Don’t override user provided compile definitions (#145)

  • Added C interfaces to obtain service and action type support. (#143)

  • Contributors: Chris Lalancette, Emerson Knapp, Stefan Fabian, Tomoya Fujita

rosidl_typesupport_fastrtps_c

  • Adding interfaces to support @key annotation (#116) Co-authored-by: Mario Dominguez <mariodominguez@eprosima.com>

  • Support Fast CDR v2 (#114)

  • Improve wide string (de)serialization (#113)

  • Set hints to find the python version we actually want. (#112) Co-authored-by: Michael Carroll <michael@openrobotics.org>

  • Update to C++17 (#111)

  • Account for alignment on is_plain calculations (#108)

  • Contributors: Chris Lalancette, Miguel Company

rosidl_typesupport_fastrtps_cpp

  • Fix how header template works to prevent double-inclusion (#117) Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>

  • Adding interfaces to support @key annotation (#116) Co-authored-by: Mario Dominguez <mariodominguez@eprosima.com>

  • Support Fast CDR v2 (#114)

  • Improve wide string (de)serialization (#113)

  • Set hints to find the python version we actually want. (#112) Co-authored-by: Michael Carroll <michael@openrobotics.org>

  • Update to C++17 (#111)

  • Account for alignment on is_plain calculations (#108)

  • Avoid redundant declarations in generated code for services and actions (#102)

  • Contributors: Chris Lalancette, Emerson Knapp, Michael Carroll, Miguel Company

rosidl_typesupport_introspection_c

  • Fixed warnings - strict-prototypes (#800) (#802)

  • Adding interfaces to support @key annotation (#796) Co-authored-by: Mario Dominguez <mariodominguez@eprosima.com>

  • Set hints to find the python version we actually want. (#785)

  • Add rosidl_find_package_idl helper function (#754)

  • update comment (#757)

  • Contributors: Chen Lihui, Chris Lalancette, Miguel Company, Mike Purvis, mergify[bot]

rosidl_typesupport_introspection_cpp

  • Adding interfaces to support @key annotation (#796) Co-authored-by: Mario Dominguez <mariodominguez@eprosima.com>

  • Set hints to find the python version we actually want. (#785)

  • Switch to target_link_libraries. (#776)

  • Add rosidl_find_package_idl helper function (#754)

  • update comment (#757)

  • Fix deprecation warnings for message constants (#750)

  • Contributors: Chen Lihui, Chris Lalancette, Emerson Knapp, Miguel Company, Mike Purvis

rosidl_typesupport_introspection_tests

  • One last uncrustify fix for newer uncrustify. (#795)

  • Disable zero-variadic-macro-arguments warning when using clang. (#768)

  • Fixed C++20 warning implicit capture of this in lambda (#766)

  • Contributors: AiVerisimilitude, Chris Lalancette

rosidl_typesupport_tests

  • Suppress uncrustify on long lines. (#152)

  • Contributors: Chris Lalancette

rpyutils

  • correct the URL and f-strings format (#11)

  • Contributors: Chen Lihui

rqt

  • Add a test dependency on pytest. (#306)

  • Contributors: Chris Lalancette

rqt_bag

  • Add in copyright tests to rqt_bag. (#154)

  • Add a test dependency on pytest. (#153)

  • Revert “Add a dependency on pytest to rqt_bag and rqt_bag_plugins. (#… (#151)

  • Update maintainer to myself. (#150)

  • Update maintainer list in package.xml files (#149)

  • Add a dependency on pytest to rqt_bag and rqt_bag_plugins. (#148)

  • [ros2] Enable Save (#142)

  • Call close (#141)

  • Use default storage id (#139)

  • Contributors: Chris Lalancette, Michael Jeronimo, Yadu, Yadunund

rqt_bag_plugins

  • Add a test dependency on pytest. (#153)

  • Revert “Add a dependency on pytest to rqt_bag and rqt_bag_plugins. (#… (#151)

  • Update maintainer to myself. (#150)

  • Update maintainer list in package.xml files (#149)

  • Add a dependency on pytest to rqt_bag and rqt_bag_plugins. (#148)

  • Contributors: Chris Lalancette, Michael Jeronimo

rqt_console

  • Add a test dependency on pytest. (#45)

  • Contributors: Arne Hitzmann, Chris Lalancette

rqt_graph

  • Update maintainer list in package.xml files (#92)

  • Add a test dependency on python3-pytest. (#91)

  • Refresh rosgraph when params checkbox is clicked (#86)

  • Contributors: Chris Lalancette, Michael Jeronimo, Yadunund

rqt_gui_cpp

  • Switch to target_link_libraries. (#297)

  • Contributors: Chris Lalancette

rqt_gui_py

  • fix an exception raised while press ctrl+c to exit (#291)

  • Contributors: Chen Lihui

rqt_msg

  • Add in python3-pytest test dependency. (#19)

  • Small cleanups to rqt_msg (#16)

  • Contributors: Chris Lalancette

rqt_plot

  • Add in copyright tests to rqt_bag. (#95)

  • Add a test dependency on pytest. (#94)

  • Add in a pytest dependency for running tests. (#92)

  • Fix regression from #87 (#90)

  • Contributors: Chris Lalancette, Yadunund

rqt_publisher

  • Use raw strings for regular expressions. (#44)

  • Switch maintainer to me. (#43)

  • Update maintainer list in package.xml files (#42)

  • Add in a test dependency on pytest. (#41)

  • Contributors: Chris Lalancette, Michael Jeronimo

rqt_py_common

  • Allow to autocomplete namespaced topics (#299)

  • Contributors: Alejandro Hernández Cordero

rqt_py_console

  • Add in test dependency on pytest. (#16)

  • Fix a crash in the rqt_py_console dialog box. (#15)

  • Contributors: Chris Lalancette

rqt_reconfigure

  • Explicitly add a pytest test dependency. (#141)

  • Remove unnecessary parentheses around if statements. (#140)

  • Fixed executor conflict (#126)

  • Add param filtering (#128)

  • Fix handling of namespaces in the node tree (#132)

  • Contributors: Aleksander Szymański, Chris Lalancette, Devarsi Rawal, Nick Lamprianidis

rqt_service_caller

  • Add in a pytest test dependency. (#28)

  • Contributors: Chris Lalancette

rqt_shell

  • Change maintainer to clalancette. (#21)

  • Add in pytest test dependency. (#19)

  • Contributors: Chris Lalancette, Michael Jeronimo

rqt_srv

  • Add explicit dependency to python3-pytest. (#12)

  • Minor cleanups in rqt_srv for ROS 2 (#9)

  • Contributors: Chris Lalancette

rqt_topic

  • Small fix for modern flake8. (#50)

  • Add explicit python3-pytest dependency. (#48)

  • Contributors: Chris Lalancette

rti_connext_dds_cmake_module

  • Use unified approach for checking the existence of environment variables (#105)

  • Contributors: Christopher Wecht

rttest

  • Update to C++17 (#124)

  • Contributors: Chris Lalancette

rviz2

  • Add “R” key as shortcut for resetTime (#1088)

  • Switch to target_link_libraries. (#1098)

  • Contributors: Chris Lalancette, Paul Erik Frivold

rviz_assimp_vendor

  • Removed assimp warnings (#1191) (#1192) (cherry picked from commit e8dd485d19a35d3abba905020741973e613334e3) Co-authored-by: Alejandro Hernández Cordero <alejandro@openrobotics.org>

  • Update the vendored package path. (#1184) Since we just updated to assimp 5.3, we also need to update the path we look for it. This should fix the build with clang which is currently failing.

  • Update assimp vendor to 5.3.1 (#1182) This matches what is in Ubuntu 24.04.

  • Update to assimp 5.2.2 (#968)

  • Fix the vendoring flags for clang compilation. (#1003)

  • Switch to ament_cmake_vendor_package (#995)

  • Contributors: Chris Lalancette, Scott K Logan, mergify[bot]

rviz_common

  • Update to yaml-cpp 0.8.0 (#1183) yaml-cpp 0.8.0 has a proper CMake target, i.e. yaml-cpp::yaml-cpp. Use that here.

  • Remove regex_filter_property.hpp from the moc lines. (#1172) Since it has no SLOTS or SIGNALS, we don’t need to run MOC on it. That will both speed up the compilation and remove a warning when building.

  • Added regex filter field for TF display (#1032)

  • Fix camera display overlay (#1151)

  • Fixes for uncrustify 0.78. (#1155) Mostly what we do here is to disable the indentation on certain constructs that are different between 0.72 and 0.78. It isn’t my preferred solution, but since it only affects a small amount of code (and most of that in macros), this seems acceptable to me.

  • Append measured subscription frequency to topic status (#1113)

  • Implement reset time service (#1109)

  • Add “R” key as shortcut for resetTime (#1088)

  • Add fullscreen startup option (#1097)

  • Switch to target_link_libraries. (#1098)

  • Initialize more of the visualization_manager members. (#1090)

  • Explicit time conversions and comparisons (#1087)

  • Rolling namespace in title (#1074)

  • Removed unused code (#1044)

  • Remove unused LineEditWithButton::simulateReturnPressed() (#1040)

  • Remove warning in depth_cloud_mld.cpp (#1021)

  • Added DepthCloud default plugin (#996)

  • Stop inheriting from std::iterator. (#1013) In C++17, inheriting from std::iterator has been deprecated: https://www.fluentcpp.com/2018/05/08/std-iterator-deprecated/ Here, switch away from inheriting and just define the interface ourselves (which is the current recommended best practice). This removes some warnings when building with gcc 13.1.1

  • use static QCoreApplication::processEvents() function without a QApplication instance (#924)

  • Re-implemented setName for tools (#989)

  • Add a libqt5-svg dependency to rviz_common. (#992)

  • Remove onHelpWiki. (#985)

  • Clean Code (#975)

  • Contributors: AiVerisimilitude, Alejandro Hernández Cordero, Chris Lalancette, Felix Exner (fexner), Hyunseok, Markus Bader, Paul Erik Frivold, Yadu, Yannis Gerlach, mosfet80

rviz_default_plugins

  • Make sure to export all rviz_default_plugins dependencies. (#1181)

  • Increase the cpplint timeout to 180 seconds. (#1179)

  • Switch to gz_math_vendor. (#1177)

  • Fixed camera info warning (#1175)

  • Added CameraInfo display (#1166)

  • apply origin rotation to inertia box visualization (#1171)

  • Added regex filter field for TF display (#1032)

  • Added point_cloud_transport (#1008)

  • Select QoS reliability policy in DepthCloud Plugin (#1159)

  • Fixed crash on DepthCloud plugin (#1161)

  • Fixes for uncrustify 0.78. (#1155) Mostly what we do here is to disable the indentation on certain constructs that are different between 0.72 and 0.78. It isn’t my preferred solution, but since it only affects a small amount of code (and most of that in macros), this seems acceptable to me.

  • Fixed crash on DepthCloudPlugin (#1133)

  • Wrench accepth nan values fix (#1141)

  • DepthCloud plugin: Append measured subscription frequency to topic status (#1137)

  • Added Cache to camera display for TimeExact (#1138)

  • Fixed transport name in DepthCloud plugin (#1134)

  • Fix time-syncing message (#1121)

  • Switch from ROS_TIME to SYSTEM_TIME on rclcpp::Time construction (#1117)

  • Append measured subscription frequency to topic status (#1113)

  • Fix typo (#1104)

  • Fix potencial leak / seg fault (#726)

  • Fixed screw display (#1093)

  • Explicit time conversions and comparisons (#1087)

  • Handle missing effort limit in URDF (#1084)

  • (robot) fix styling of log msg (#1080)

  • Fix image display wrapping (#1038)

  • removed enableInteraction reference (#1075)

  • Fix ODR violations in interactive_marker displays. (#1068)

  • Improve error handling in LaserScanDisplay (#1035)

  • Fix implicit capture of “this” warning in C++20 (#1053)

  • Removed unused code (#1044)

  • Fixed AccelStamped, TwistStamped and Wrench icons (#1041)

  • Fix the flakey rviz_rendering tests (#1026)

  • Don’t pass screw_display.hpp to the moc generator. (#1018) Since it isn’t a Qt class, you get a warning from moc: Note: No relevant classes found. No output generated. Just skip adding it to the moc list here, which gets rid of the warning.

  • Added DepthCloud default plugin (#996)

  • Added TwistStamped and AccelStamped default plugins (#991)

  • Added Effort plugin (#990)

  • Improve the compilation time of rviz_default_plugins (#1007)

  • Switch to ament_cmake_vendor_package (#995)

  • Modify access specifier to protected or public for the scope of processMessage() member function (#984)

  • Contributors: AiVerisimilitude, Alejandro Hernández Cordero, Austin Moore, Chris Lalancette, Christoph Fröhlich, Hyunseok, Jonas Otto, Lewe Christiansen, Matthijs van der Burgh, Patrick Roncagliolo, Scott K Logan, Yadu

rviz_ogre_vendor

  • Update zlib into CMakeLists.txt (#1128) (#1195) Changes in 1.3 (18 Aug 2023) - Remove K&R function definitions and zlib2ansi - Fix bug in deflateBound() for level 0 and memLevel 9 - Fix bug when gzungetc() is used immediately after gzopen() - Fix bug when using gzflush() with a very small buffer - Fix crash when gzsetparams() attempted for transparent write - Fix test/example.c to work with FORCE_STORED - Rewrite of zran in examples (see zran.c version history) - Fix minizip to allow it to open an empty zip file - Fix reading disk number start on zip64 files in minizip - Fix logic error in minizip argument processing - Add minizip testing to Makefile - Read multiple bytes instead of byte-by-byte in minizip unzip.c - Add memory sanitizer to configure (–memory) - Various portability improvements - Various documentation improvements - Various spelling and typo corrections Co-authored-by: Chris Lalancette <clalancette@gmail.com> (cherry picked from commit 32eb8b9404927883247e868ab0c7d62b80df2ed1) Co-authored-by: mosfet80 <realeandrea@yahoo.it>

  • Change an rviz_ogre_vendor dependency to libfreetype-dev. (#1167) The situation is complicated, but in versions of Ubuntu prior to Focal and versions of Debian prior to Bookworm, the name of the library was ‘libfreetype6-dev’. Since Focal and Bookworm, the name of the library is ‘libfreetype-dev’. While ‘libfreetype-dev’ provides a “virtual package” for ‘libfreetype6-dev’, we should really use the new canonical name. Further, there is currently a bug on ros_buildfarm where it doesn’t properly deal with “virtual packages” like this. This is currently preventing this package from building on Ubuntu Noble. That bug is being worked on separately. Finally, I’ll note that we already have a libfreetype-dev key in rosdep, so we just switch to using that here which should work around the bug on the buildfarm, and also use the correct canonical name going forward.

  • fix: modify typo in cmake args for mac (#1160)

  • feat: support macos (#1156)

  • Suppress a couple more of clang warnings in rviz_ogre_vendor. (#1102)

  • Fix the vendoring flags for clang compilation. (#1003) Several of the flags are not available on clang, so don’t add them there. This fixes the clang build for me locally.

  • Switch to ament_cmake_vendor_package (#995)

  • CMake: rename FeatureSummary.cmake to avoid name clashes (#953)

  • FIX CVE in external libraries (#961)

  • Contributors: Chris Lalancette, Daisuke Nishimatsu, Gökçe Aydos, Scott K Logan, mergify[bot], mosfet80

rviz_rendering

  • Added CameraInfo display (#1166)

  • Fix camera display overlay (#1151)

  • Fixes for uncrustify 0.78. (#1155) Mostly what we do here is to disable the indentation on certain constructs that are different between 0.72 and 0.78. It isn’t my preferred solution, but since it only affects a small amount of code (and most of that in macros), this seems acceptable to me.

  • fixed MovableText::getWorldTransforms transform (#1118)

  • Switch to target_link_libraries. (#1098)

  • Update rviz_rendering and rviz_rendering_tests to C++17. (#1096)

  • Include MeshShape class (#1064)

  • Use assimp to load stl (#1063)

  • RVIZ_RENDERING_PUBLIC to export class RenderSystem (#1072)

  • Restore the maybe-uninitialized flag in covariance_visual.hpp (#1071)

  • Fix up warnings when building with clang. (#1070)

  • Use buildsystem info to get the ros_package_name (#1062)

  • make box-mode point cloud shader lighter on top than bottom (#1058)

  • Removed warning when building in release mode (#1057)

  • Fixed low FPS when sending point markers (#1049)

  • Removed unused code (#1044)

  • Fix the flakey rviz_rendering tests (#1026)

  • Added TwistStamped and AccelStamped default plugins (#991)

  • Added Effort plugin (#990)

  • load GLB meshes (#1001)

  • Fixed camera default plusin crash (#999)

  • Clean Code (#975) * Clean Code

  • Contributors: Alejandro Hernández Cordero, Chris Lalancette, Felix F Xu, Morgan Quigley, Yaswanth, mosfet80

rviz_rendering_tests

  • Remove the loading_ascii_stl_files_fail (#1125)

  • Update rviz_rendering and rviz_rendering_tests to C++17. (#1096)

  • Use assimp to load stl (#1063)

  • Contributors: Alejandro Hernández Cordero, Chris Lalancette

rviz_visual_testing_framework

  • Improve the compilation time of rviz_default_plugins (#1007)

  • Contributors: Chris Lalancette

sensor_msgs

  • Clarify the license. (#241) In particular, every package in this repository is Apache 2.0 licensed except for sensor_msgs_py. So move the CONTRIBUTING.md and LICENSE files down into the individual packages, and make sure that sensor_msgs_py has the correct CONTRIBUTING.md file (it already had the correct LICENSE file).

  • [J-Turtle] Fix uninitialized values in NavSatFix and add missing NavSatStatus UNKNOWN (#220) * Fix unitialized values in NavSatFix and add missing UNKNOWN * Fixes #196 * Fix default initialization instead of constants * Define SERVICE_UNKNOWN Co-authored-by: Tully Foote <tully.foote@gmail.com> Co-authored-by: Martin Pecka <peci1@seznam.cz>

  • Use target qualifier for checking the cpp typesupport exists (#238)

  • sensor_msgs/CompressedImage: updated description of format field (#231)

  • Return true for isColor if format is YUYV or UYUV (#229)

  • Contributors: Chris Lalancette, Kenji Brameld, Ryan

sensor_msgs_py

  • Clarify the license. (#241) In particular, every package in this repository is Apache 2.0 licensed except for sensor_msgs_py. So move the CONTRIBUTING.md and LICENSE files down into the individual packages, and make sure that sensor_msgs_py has the correct CONTRIBUTING.md file (it already had the correct LICENSE file).

  • Allow pointcloud create_cloud function to set specific point_step (#223)

  • Fix read_points_numpy field_names parameter

  • Contributors: Chris Lalancette, George Broughton

shape_msgs

  • Clarify the license. (#241) In particular, every package in this repository is Apache 2.0 licensed except for sensor_msgs_py. So move the CONTRIBUTING.md and LICENSE files down into the individual packages, and make sure that sensor_msgs_py has the correct CONTRIBUTING.md file (it already had the correct LICENSE file).

  • Contributors: Chris Lalancette

shared_queues_vendor

  • Remove unused concurrentqueue implementation. (#1465) rosbag2 only depends on the readerwriter queue.

  • Contributors: Chris Lalancette

spdlog_vendor

  • Removed spdlog_vendor warnings (#36) (#37) (cherry picked from commit 4510d9ab4389f84daac77210f3fdf8aab372b938) Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>

  • Upgrade to v1.12.0. (#35)

  • Switch to ament_cmake_vendor_package (#34)

  • Contributors: Marco A. Gutierrez, Scott K Logan, mergify[bot]

sqlite3_vendor

  • Switch to ament_cmake_vendor_package (#1400)

  • Contributors: Scott K Logan

sros2

  • Fix linux tutorial: cloning example policies and set of default policies for a node (#295) (#296) * clone policies to temporary dir as subversion hack doesnt work anymore * add get_type_description service to policies * update MacOS similarly * update all permissions with new topics * dont rule out cycloneDDS * example of enclave override Co-authored-by: Chris Lalancette <clalancette@gmail.com> (cherry picked from commit ca6bb12cc650b73e7ccfc0fa789d8b49358d44ad) Co-authored-by: Mikael Arguedas <mikael.arguedas@gmail.com>

  • Use modern PKCS7 to sign the certificate bytes. (#290)

  • Fix a number of warnings on Ubuntu 24.04. (#289)

  • Fix SSH commands in SROS2_Linux.md (#286)

  • Contributors: Boris Boutillier, Chris Lalancette, mergify[bot]

std_msgs

  • Clarify the license. (#241) In particular, every package in this repository is Apache 2.0 licensed except for sensor_msgs_py. So move the CONTRIBUTING.md and LICENSE files down into the individual packages, and make sure that sensor_msgs_py has the correct CONTRIBUTING.md file (it already had the correct LICENSE file).

  • Contributors: Chris Lalancette

std_srvs

  • Clarify the license. (#241) In particular, every package in this repository is Apache 2.0 licensed except for sensor_msgs_py. So move the CONTRIBUTING.md and LICENSE files down into the individual packages, and make sure that sensor_msgs_py has the correct CONTRIBUTING.md file (it already had the correct LICENSE file).

  • Contributors: Chris Lalancette

stereo_msgs

  • Clarify the license. (#241) In particular, every package in this repository is Apache 2.0 licensed except for sensor_msgs_py. So move the CONTRIBUTING.md and LICENSE files down into the individual packages, and make sure that sensor_msgs_py has the correct CONTRIBUTING.md file (it already had the correct LICENSE file).

  • Contributors: Chris Lalancette

test_cli

  • Switch to target_link_libraries everywhere. (#532)

  • Contributors: Chris Lalancette

test_cli_remapping

  • Switch to target_link_libraries everywhere. (#532)

  • Contributors: Chris Lalancette

test_communication

  • Small fix for modern flake8. (#539)

  • Switch to target_link_libraries everywhere. (#532)

  • Add integration test for nested messages. (#530)

  • Adjust for new rclcpp::Rate API (#516)

  • Contributors: Alexey Merzlyakov, Chris Lalancette

test_launch_ros

  • Small fixes for modern flake8. (#395)

  • add “–log-file-name” command line argument for test. (#387)

  • Fix an assert in the test_launch_ros tests. (#367)

  • Fix misspelled “receive”. (#362)

  • Contributors: Chris Lalancette, Tomoya Fujita

test_launch_testing

  • Update to C++17 (#742)

  • Contributors: Chris Lalancette

test_msgs

  • Increase the timeout for the test_msgs rosidl_generated_cpp cpplint. (#163) This should make it much more likely to succeed on Windows.

  • Fix for invalid conversion from const char8_t* to char for C++20 (#160)

  • Contributors: AiVerisimilitude, Chris Lalancette

test_quality_of_service

  • Cleanup header includes in test_quality_of_service. (#533)

  • Switch to target_link_libraries everywhere. (#532)

  • Fix test QoS on macOS by moving qos_utilities.cpp to the four tests; fixes #517 (#518)

  • Contributors: Chris Lalancette, PhDittmann

test_rclcpp

  • Addressed TODO in test_local_parameters (#545)

  • Actually skip the gtest_subscription test on Connext. (#544)

  • Increased time in test_multithreaded (#543)

  • Improve the node_name test. (#538)

  • Change up the formatting in the test_rclcpp tests. (#537)

  • Revamp test_rclcpp to compile far few files. (#535)

  • Mark gtest_subscription__rmw_connextdds xfail. (#531)

  • refactor corrected depth check for prefix in parameter_fixtures.hpp (#529)

  • Remove an unnecessary capture in test_rclcpp. (#527)

  • Cleanup of the CMakeLists.txt for test_rclcpp. (#526)

  • Add a fix for the tests given the new type description parameter (#520)

  • Changes ros_timer_init for ros_timer_init2 (#508)

  • refactor the multi_access_publisher test to avoid dead locks (#515)

  • Contributors: Alejandro Hernández Cordero, Chris Lalancette, Eloy Briceno, Emerson Knapp, Lee, Minju, William Woodall

test_rmw_implementation

  • Compile the test_rmw_implementation tests fewer times. (#224)

  • Switch to using target_link_libraries everywhere. (#222)

  • Add rmw_count_clients,services & test (#208)

  • Contributors: Chris Lalancette, Lee, Minju

test_ros2trace

  • Add explicit context fields test to test_ros2trace (#107)

  • Allow tracing tests to be run in parallel with other tests (#95)

  • Make test_ros2trace depend on test_tracetools_launch.

  • Switch to custom lttng-ctl Python bindings (#81)

  • Contributors: Chris Lalancette, Christophe Bedard

test_security

  • Update to C++17 (#528)

  • Switch to target_link_libraries everywhere. (#532)

  • Adjust for new rclcpp::Rate API (#516)

  • Extract sros_artifacts fixture into a CMake script (#525)

  • Use test fixtures to create SROS artifacts (#522)

  • Contributors: Alexey Merzlyakov, Chris Lalancette, Scott K Logan

test_tf2

  • Compile fix for upcomming changes to rclcpp::Executor (#668)

  • Adding addition BUILD_TESTING requirement (#660)

  • normalize quaternions on tf2_eigen (#644)

  • Contributors: Lucas Wendland, Paul Gesel, jmachowinski

test_tracetools

  • Improve tracetools_test and simplify test_tracetools code (#109)

  • Install test_tracetools_mark_process (#113)

  • Remove unnecessary <string> include (#111)

  • Include <string> in mark_process.cpp (#110)

  • Remove unnecessary print in test (#108)

  • Add test for GenericPublisher/Subscriber (#97)

  • Use lttng_ust_tracef instead of lttng_ust__tracef (#103)

  • Use a memcmp for the expected symbol name. (#100)

  • Fix the build on RHEL-9. (#98)

  • Allow tracing tests to be run in parallel with other tests (#95)

  • Fix interference between test_tracetools and ros2lifecycle tests (#96)

  • Make tracing test assert messages more descriptive (#93)

  • Update tests and docs after new rmw_publish timestamp field (#90)

  • Switch to target_link_libraries in test_tracetools. (#83)

  • Improve test coverage of rclcpp_callback_register in test_tracetools (#69)

  • Disable tracing on Android (#71)

  • Contributors: Chris Lalancette, Christophe Bedard, Przemysław Dąbrowski, h-suzuki-isp

test_tracetools_launch

  • Improve tracing configuration error reporting (#85)

  • Contributors: Christophe Bedard

tf2

  • Enable Twist interpolator (#646) Co-authored-by: Tully Foote <tullyfoote@intrinsic.ai>

  • Warning Message Intervals for canTransform (#663)

  • Nacho/minor fixes tf2 cache (#658)

  • Removing console_bridge (#655)

  • Fix constantly increasing memory in std::list (#636)

  • Update the tf2 documentation (#638)

  • Fix error code returned in BufferCore::walkToTopParent (#601)

  • Contributors: Alejandro Hernández Cordero, Chris Lalancette, Ignacio Vizzo, Lucas Wendland, Patrick Roncagliolo

tf2_bullet

  • Removed obsolete headers (#645)

  • Contributors: Alejandro Hernández Cordero

tf2_eigen

  • Removed obsolete headers (#645)

  • normalize quaternions on tf2_eigen (#644)

  • Fix clang build warnings. (#628)

  • Add another reference for twist transformation. Comment correction. (#620)

  • Contributors: Alejandro Hernández Cordero, AndyZe, Chris Lalancette, Paul Gesel

tf2_eigen_kdl

  • Fix installation directory of .dll files in tf2_eigen_kdl (#657)

  • Remove unnecessary use of ament_target_dependencies. (#637) We can just use target_link_libraries instead.

  • Fix clang build warnings. (#628)

  • Contributors: Chris Lalancette, Silvio Traversaro

tf2_geometry_msgs

  • Enable Twist interpolator (#646) Co-authored-by: Tully Foote <tullyfoote@intrinsic.ai>

  • Removed obsolete headers (#645)

  • Add doTransform support for Point32, Polygon and PolygonStamped (backport #616) (#619)

  • Contributors: Alejandro Hernández Cordero, mergify[bot]

tf2_kdl

  • Removed obsolete headers (#645)

  • Contributors: Alejandro Hernández Cordero

tf2_py

tf2_ros

  • Compile fix for upcomming changes to rclcpp::Executor (#668)

  • Enable Twist interpolator (#646) Co-authored-by: Tully Foote <tullyfoote@intrinsic.ai>

  • Adding NodeInterfaces to Buffer (#656)

  • Reformat some code to make uncrustify happier. (#654)

  • Enable intra-process (#649) (#642)

  • Avoid unecessary time conversions. (#635)

  • Expose TF2 listener CB (#632)

  • Fix invalid timer handle exception (#474)

  • Fix for #589 - Should be able to transform with default timeout (#593)

  • Enable StaticTransformBroadcaster in Intra-process enabled components (#607)

  • Contributors: AiVerisimilitude, Alejandro Hernández Cordero, Chris Lalancette, Cliff Wu, Lucas Wendland, Patrick Roncagliolo, Steve Macenski, jmachowinski, vineet131

tf2_ros_py

  • Transform Data Callback Python (#664)

  • Make sure to cache transforms in tf2_ros_py. (#634)

  • Remove ‘efficient copy’ prints (#625)

  • Add time jump callback (#608)

  • Contributors: Chris Lalancette, Erich L Foster, Lucas Wendland, Matthijs van der Burgh

tf2_sensor_msgs

  • Removed obsolete headers (#645)

  • Fix clang build warnings. (#628)

  • Contributors: Alejandro Hernández Cordero, Chris Lalancette

tf2_tools

  • [view_frames] log filenames after it’s been determined (#674) (#675) (cherry picked from commit 24643fce510d8cc836fe6e5277a1d3f86a21af04) Co-authored-by: Mikael Arguedas <mikael.arguedas@gmail.com>

  • Add in tests for tf2_tools. (#647)

  • Contributors: Chris Lalancette, mergify[bot]

topic_monitor

  • Update maintainer list in package.xml files (#665)

  • fix readme for topic_monitor. (#630)

  • Contributors: Michael Jeronimo, Tomoya Fujita

topic_statistics_demo

  • Update maintainer list in package.xml files (#665)

  • Contributors: Michael Jeronimo

tracetools

  • Replace all occurences of index.ros.org (#114)

  • Switch to ament_generate_version_header for tracetools (#112)

  • Fixes for newer uncrustify (#101)

  • Update tests and docs after new rmw_publish timestamp field (#90)

  • Add timestamp to rmw_publish tracepoint (#74)

  • Add TRACETOOLS_ prefix to tracepoint-related public macros (#56)

  • Disable tracing on Android (#71)

  • Add new rclcpp_subscription_init tracepoint to support new intra-process comms

  • Contributors: Chris Lalancette, Christophe Bedard, Christopher Wecht, Przemysław Dąbrowski

tracetools_launch

  • Replace all occurences of index.ros.org (#114)

  • Use single underscore for private vars in Python (#92)

  • Improve tracing configuration error reporting (#85)

  • Fix warnings when using mypy 1.8.0. (#89)

  • Remove extra single quote in LdPreload debug log (#79)

  • Contributors: Chris Lalancette, Christophe Bedard

tracetools_read

  • Replace all occurences of index.ros.org (#114)

  • Improve tracetools_test and simplify test_tracetools code (#109)

  • Allow tracing tests to be run in parallel with other tests (#95)

  • Contributors: Chris Lalancette, Christophe Bedard

tracetools_test

  • Replace all occurences of index.ros.org (#114)

  • Improve tracetools_test and simplify test_tracetools code (#109)

  • Improve assertEventOrder failure output (#106)

  • Allow tracing tests to be run in parallel with other tests (#95)

  • Fix interference between test_tracetools and ros2lifecycle tests (#96)

  • Make tracing test assert messages more descriptive (#93)

  • Fix use of mutable default arg in tracetools_test (#84)

  • Switch <depend> to <exec_depend> in pure Python packages (#67)

  • Contributors: Chris Lalancette, Christophe Bedard

tracetools_trace

  • Replace all occurences of index.ros.org (#114)

  • Improve tracing configuration error reporting (#85)

  • Add a space in between not and parentheses. (#88)

  • Switch to custom lttng-ctl Python bindings (#81)

  • Create start/pause/resume/stop sub-commands for ‘ros2 trace’ (#70)

  • Detect issue with LTTng and Docker and report error when tracing (#66)

  • Contributors: Chris Lalancette, Christophe Bedard

trajectory_msgs

  • Clarify the license. (#241) In particular, every package in this repository is Apache 2.0 licensed except for sensor_msgs_py. So move the CONTRIBUTING.md and LICENSE files down into the individual packages, and make sure that sensor_msgs_py has the correct CONTRIBUTING.md file (it already had the correct LICENSE file).

  • Contributors: Chris Lalancette

turtlesim

  • Add icon for Jazzy. (#167) (#168) (cherry picked from commit 014955e15a6ac3b1649cbf21e11c8547ebd47af7) Co-authored-by: Marco A. Gutierrez <marcogg@marcogg.com>

  • [teleop_turtle_key] update usage string to match keys captured by keyboard (#165) (#166) On windows it will stay uppercase but shouldn’t impact users compared to current situation (cherry picked from commit e2853cac87f0c62db6294e5bc351e5b52fcd1ae1) Co-authored-by: Mikael Arguedas <mikael.arguedas@gmail.com>

  • Shorten the callback definition for uncrustify. (#163)

  • Use same QoS for all topic pub/subs (#161)

  • Remove all uses of ament_target_dependencies. (#159)

  • Crop galactic.png and rolling.png to 45x45. (#158)

  • Remove the unused member variable last_state_ (#156)

  • Added common tests (#154)

  • Heavy cleanup of the draw_square tutorial. (#152) * Heavy cleanup of the draw_square tutorial. In particular: 1. Make it conform to the current ROS 2 style. 2. Add in copyright information. 3. Refactor the entire code into a class, which tidies it up quite a bit and removes a bunch of globals. 4. Make sure to wait for the reset to complete before trying to move the turtle.

  • Remove the range constraints from the holonomic parameter. (#150)

  • Add icon (#148)

  • Contributors: Alejandro Hernández Cordero, Chris Lalancette, Jason O’Kane, Yadu, mergify[bot]

uncrustify_vendor

  • Update to uncrustify 0.78.1 (#37) * Update to uncrustify 0.78.1 * Fix the uncrustify version detection logic. And make sure we are at least 0.78.

  • Switch to ament_cmake_vendor_package (#34)

  • Contributors: Chris Lalancette, Scott K Logan

unique_identifier_msgs

  • Update to C++17 (#27)

  • Contributors: Chris Lalancette

urdf

  • Switch to target_link_libraries (#36)

  • Contributors: Chris Lalancette

urdf_parser_plugin

  • Switch to target_link_libraries (#36)

  • Contributors: Chris Lalancette

visualization_msgs

  • Remove references to index.ros.org. (#244)

  • Adds ARROW_STRIP to Marker.msg (#242)

  • Clarify the license. (#241) In particular, every package in this repository is Apache 2.0 licensed except for sensor_msgs_py. So move the CONTRIBUTING.md and LICENSE files down into the individual packages, and make sure that sensor_msgs_py has the correct CONTRIBUTING.md file (it already had the correct LICENSE file).

  • Contributors: Chris Lalancette, Tom Noble

yaml_cpp_vendor

  • Removed warnigns (#49) (#50) (cherry picked from commit 4b6808fd0f9b0b5e05928c0c8e44fd976a043d33) Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>

  • Upgrade to yaml-cpp 0.8.0 (#48) Co-authored-by: Chris Lalancette <clalancette@gmail.com>

  • Support yaml-cpp >= 0.8.0 (#46)

  • Disable the -Wshadow warning when building under clang. (#45)

  • Switch to ament_cmake_vendor_package (#43)

  • Revamp the extras file to find the correct version. (#42)

  • Contributors: Chris Lalancette, Marco A. Gutierrez, Scott K Logan, Silvio Traversaro, mergify[bot]

zstd_vendor

  • Updated zstd to 1.5.5 (#1617) (#1624)

  • Switch to ament_cmake_vendor_package (#1400)

  • Contributors: Scott K Logan, mergify[bot]