CHANGELOG
Changelog for package ros2topic
0.32.6 (2025-09-11)
0.32.5 (2025-08-05)
0.32.4 (2025-04-24)
- Custom Completion Finder for fetching topic prototype. (backport #995) (#1012) * Custom Completion Finder for fetching topic prototype. (#995) * Double yaml encoding for fetching topic prototype. * Use a custom completer for yaml strings. ——— (cherry picked from commit 526401b42107014f56f9d77dcf3df005f360bc91) # Conflicts: # ros2topic/ros2topic/verb/pub.py * resolve conflicts for backport. * Remove whitespace on blank lines ——— Co-authored-by: Leander Stephen D’Souza <leanderdsouza1234@gmail.com> Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com> Co-authored-by: Shane Loretz <shane.loretz@gmail.com> 
- ros2topic: Documented now and auto keywords (#1008) (#1011) (cherry picked from commit 1a0dcf22b61534c9a391a7d60fbc95a972d23d06) Co-authored-by: Martin Pecka <peci1@seznam.cz> 
- Conditional deserialization of message for ros2 topic hz (backport #1005) (#1006) (cherry picked from commit bfc52454d07a1554226b56b64dfdbf5bcb6b3f6b) Co-authored-by: Kostubh Khandelwal <123073764+exMachina316@users.noreply.github.com> Co-authored-by: Christophe Bedard <bedard.christophe@gmail.com> 
- Revert “jazzy: Backport Patch CVE-2024-42002 (#998)” (#1004) This reverts commit f037c1961f2b108be734d20c8f770c5e9d523856. 
- jazzy: Backport Patch CVE-2024-42002 (#998) 
- Contributors: Christophe Bedard, Michael Carroll, mergify[bot] 
0.32.3 (2025-04-02)
- Adapt tests to Zenoh (backport #988) (#991) * Adapt tests to Zenoh (#988) (cherry picked from commit 31d814d1c9e7cbe1bab9180ffb5f101707e02df4) 
- Adjust topic hz and bw command description. (#987) (#990) (cherry picked from commit 9a0c044ff08c89795fdfc66feb6cfe5fd3842f3a) Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com> 
- start the simulation from 1 second for the test. (#975) (#976) (cherry picked from commit 2c9c1933af37ae8a502a1c3abf2acf4ea810dc9e) Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com> 
- Contributors: mergify[bot] 
0.32.2 (2024-12-18)
0.32.1 (2024-05-13)
0.32.0 (2024-04-16)
0.31.2 (2024-03-27)
0.31.1 (2024-02-07)
- Remove parentheses from assert statement. (#878) 
- Contributors: Chris Lalancette 
0.31.0 (2024-01-24)
0.30.1 (2023-12-26)
0.30.0 (2023-11-06)
0.29.1 (2023-10-04)
0.29.0 (2023-08-21)
- Load a message/request/goal from standard input (#844) 
- Contributors: ymd-stella 
0.28.0 (2023-07-11)
- Add marshalling functions for rclpy.type_hash.TypeHash (rep2011) (#816) 
- Contributors: Hans-Joachim Krauch 
0.27.0 (2023-06-07)
- [service introspection] ros2 service echo (#745) 
- Contributors: Brian 
0.26.1 (2023-05-11)
0.26.0 (2023-04-28)
0.25.0 (2023-04-18)
0.24.1 (2023-04-12)
- Expect type hash cli output in test (#822) 
- Contributors: Emerson Knapp 
0.24.0 (2023-04-11)
0.23.0 (2023-03-02)
0.22.0 (2023-02-14)
- Fix some flake8 warnings related to style. (#805) 
- Adds a timeout feature to rostopic echo (#792) 
- Refactor common types (#791) 
- Allow configuring liveliness in ros2 topic echo and pub (#788) 
- Extend timeout to shutdown the command line process. (#783) 
- [rolling] Update maintainers - 2022-11-07 (#776) 
- a couple of typo fixes. (#774) 
- Contributors: Arjo Chakravarty, Audrow Nash, Chris Lalancette, Ivan Santiago Paunovic, Tomoya Fujita 
0.21.0 (2022-11-02)
0.20.0 (2022-09-13)
0.19.0 (2022-04-29)
0.18.3 (2022-04-08)
0.18.2 (2022-03-30)
- Add timeout to kill hanging tests (#701) 
- Contributors: Audrow Nash 
0.18.1 (2022-03-28)
- Add yaml dump flow style. (#698) 
- Contributors: Tomoya Fujita 
0.18.0 (2022-03-01)
0.17.1 (2022-01-25)
0.17.0 (2022-01-25)
0.16.1 (2022-01-14)
0.16.0 (2022-01-14)
0.15.0 (2021-11-18)
- Update maintainers to Aditya Pande, Audrow Nash, and Michael Jeronimo (#673) 
- Updated maintainers (#670) 
- Update lost messages test case (#669) 
- Implementation of message filtering for ros2 (#654) 
- Change default QoSProfile for pub (#653) 
- Add option in ros2 topic pub to wait for N matching subscriptions, use N=1 by default when combined with –times (#642) 
- ros2 topic pub starts publishing right away. (#626) 
- Fix Topic Info Test with “Infinite” printing (#616) 
- Add changelogs (#635) 
- QoS autodetection (#613) 
- Make Lost Messages option ON by default (#633) 
- Contributors: Aditya Pande, Audrow Nash, Emerson Knapp, Gonzo, Ivan Santiago Paunovic, Jorge Perez, Tomoya Fujita, matthews-jca 
0.14.0 (2021-04-26)
0.13.0 (2021-04-06)
- Add verbose info for topic list. (#351) 
- Contributors: ChenYing Kuo 
0.12.0 (2021-03-02)
0.11.0 (2021-01-25)
0.10.1 (2020-12-08)
- Add filter option to ros2topic . (#575) 
- Contributors: Jacob Perron 
0.10.0 (2020-11-02)
- Update deprecated qos policy value names. (#571) 
- Update maintainers. (#568) 
- Fix the test to use the topic name. (#566) 
- Improve the error message for invalid message types. (#558) 
- Use reliable QoS for ros2topic tests. (#555) 
- Add option to echo serialized messages. (#470) 
- Enable –no-daemon flag for some cli tools. (#514) 
- Use transient_local and longer keep-alive for pub tests. (#546) 
- Add –keep-alive option to ‘topic pub’. (#544) 
- Add option to ros2 topic echo to report lost messages. (#542) 
- Support QoS Depth and History via ros2 topic pub/echo. (#528) 
- Contributors: Chris Lalancette, Claire Wang, Dereck Wonnacott, Dirk Thomas, Ivan Santiago Paunovic, Jacob Perron, Scott K Logan, tomoya 
0.9.5 (2020-06-01)
0.9.4 (2020-05-26)
0.9.3 (2020-05-13)
- Make CLI more robust to discovery latency. (#494) 
- Contributors: Michel Hidalgo 
0.9.2 (2020-05-08)
0.9.1 (2020-05-06)
- Fix expectation of “Incompatible QoS” messages in unit test. (#496) 
- Contributors: Miaofei Mei 
0.9.0 (2020-04-29)
- Implement times for ros2 topic pub. (#491) * Implement times for ros2 topic pub 
- Stop using ‘node_name’ and ‘node_namespace’ in tests. (#498) They are both deprecated, and print warnings in CI like: Warning: The parameter ‘node_name’ is deprecated, use ‘name’ instead 
- [ros2topic bw] Monotonic clock, units, fstring. (#455) * Use monotonic clock to avoid system time jumps * Fix units on message sizes * Make bw message easier to understand * Use f strings * Add back [] * Update BW test regex 
- Replace deprecated launch_ros usage. (#487) The Node parameter ‘node_executable’ has been deprecated and replaced with the parameter ‘executable’. 
- Skip CLI tests on Windows until we resolve the blocking/hanging isuse. (#489) 
- Fix formatting of “ros2 topic info -v” output. (#473) * Fix formatting of “ros2 topic info -v” output * Improve test strictness vertical spacing of “ros2 topic info -v” output 
- Added incompatible event support to ros2 topic echo and ros2 topic pub. (#410) Co-authored-by: Miaofei <miaofei@amazon.com> 
- More verbose test_flake8 error messages (same as ros2/launch_ros#135) 
- Remove ready_fn from test descriptions. (#376) 
- Used get_available_rmw_implementations from rclpy. (#461) 
- Add delay when retrying tests involving the CLI daemon. (#459) This is to give time for discovery to happen between the daemon node and the test fixture nodes. 
- Enhanced ros2 topic info to display node name, node namespace, topic type and qos profile of the publishers and subscribers. (#385) Co-authored-by: Miaofei Mei <ameision@hotmail.com> 
- Use f-string. (#448) * Use f-string * Remove unused variable 
- Only load required entry points which improves the performance. (#436) * Extend API to exclude extensions from loading * Add add_subparsers_on_demand() function * Update all extensions to use the new API * Deprecate old API, add deprecation warnings 
- Add support for showing info of hidden topic. (#423) 
- [ros2topic] Use import message logic provided by rosidl_runtime_py. (#415) Connects to #218. Note that the action feedback logic in the echo verb was incorrect, resulting in a ModuleImportError. The new logic added in https://github.com/ros2/rosidl_runtime_py/pull/9 should fix the error. 
- Use imperative mood in constructor docstring. (#422) 
- Add timestamp to ros2topic test where needed. (#416) 
- Contributors: Alejandro Hernández Cordero, ChenYing Kuo, Chris Lalancette, Dirk Thomas, Ivan Santiago Paunovic, Jacob Perron, Jaison Titus, Miaofei Mei, Peter Baughman, Shane Loretz, Steven! Ragnarök 
0.8.6 (2019-11-19)
0.8.5 (2019-11-14)
- 0.8.5 
- Fix ros2 topic pub –node-name. (#398) * Fix ros2 topic pub –node-name * Give DirectNode node_name kwarg * Not node_name -> node_name is None 
- Contributors: Shane Loretz 
0.8.4 (2019-11-13)
- 0.8.4 
- Merge pull request #396 from ros2/BMarchi/assert_from_output_tests [ros2topic] Assert on listener node output for ros2topic cli test 
- Assert on listener node output for ros2topic cli test 
- Fix ros2topic test_echo_pub.py test suite. (#384) 
- [ros2topic] make info verb display the type of the topic. (#379) 
- Contributors: Brian Ezequiel Marchi, Brian Marchi, Michael Carroll, Michel Hidalgo, Mikael Arguedas 
0.8.3 (2019-10-23)
- 0.8.3 
- Refactor test_echo_pub.py pytest into a launch test. (#377) 
- End-to-end test coverage for CLI commands output. (#304) * Add end-to-end CLI output tests for ros2: - ros2action - ros2service - ros2topic - ros2msg - ros2srv - ros2interface - ros2node - ros2pkg 
- [ros2topic] Add test timeout for tests using subprocess. (#374) In case a subprocess hangs, then we are not waiting forever. 
- Move rosidl implementation details to rosidl_runtime_py. (#371) * Move rosidl implementation details to rosidl_runtime_py This resolves several TODOs. Here is the PR moving the related functions to their new home: https://github.com/ros2/rosidl_runtime_py/pull/3 * Remove dependencies on deprecated packages * Remove obsolete test * Make linters happy :) 
- Expose qos durability and reliability to ros2topic echo. (#283) * Expose durability, reliability, and preset profile QoS options to ‘topic echo’. Also add pytests for ‘topic echo’ and ‘topic pub’ to prevent future regressions against these new features * Simplify echo and pub tests to not use a timer, explicitly specify timeout parameter for subprocess calls * Patch stdin for windows test, and increase echo timeout for arm build * Disable tests for now on Windows until we figure out a proper workaround 
- Contributors: Emerson Knapp, Jacob Perron, Michel Hidalgo, Shane Loretz 
0.8.2 (2019-10-08)
- 0.8.2 
- Contributors: Dirk Thomas 
0.8.1 (2019-10-04)
- 0.8.1 
- Contributors: Michael Carroll 
0.8.0 (2019-09-26)
- Install resource marker file for packages. (#339) 
- Update setup.py version. (#331) Versions now match latest tag and package.xml. 
- Install package manifest. (#330) 
- Pass keyword arguments by name. (#317) 
- Add topic pub prototype completer. (#299) 
- Fix ros2 topic bw output units. (#306) 
- Add no_str and no_arr options for ros2 topic echo. (#216) * Add no_str and no_arr options for ros2 topic echo * Modify argument help 
- Print all types. (#275) 
- Add ‘topic find’ verb. (#271) * Add ‘topic find’ verb * Alphabetical order * Use TopicTypeCompleter * Replace TopicTypeCompleter with message_type_completer 
- Add ‘topic type’ verb. (#272) * Add ‘topic type’ verb * Fix doc * Add func return code 
- Contributors: Dirk Thomas, Jacob Perron, Jeremie Deray, Michel Hidalgo, Vinnam Kim 
0.7.4 (2019-05-29)
0.7.3 (2019-05-20)
- Use rclpy qos name translations instead of defining here. (#240) * Use rclpy qos name translations instead of defining here * Use revised name mapping APIs 
- [ros2topic] Update pub to use qos command line settings. (#238) * Update pub to use qos command line settings. * Clean up logic, remove type=str, add comment. * Address deprecation warnings. 
- [ros2topic] Handle multiple namespace parts in message type. (#237) Fixes #235. Now the ‘bw’, ‘hz’, and ‘delay’ verbs work again. 
- Fix deprecation warnings. (#234) 
- Contributors: Emerson Knapp, Jacob Perron, Michael Carroll 
0.7.2 (2019-05-08)
0.7.1 (2019-04-17)
- Port rostopic bw. (#190) * Copy original file for ros2topic bw porting This file is originally copied from: https://github.com/ros/ros_comm/blob/6e5016f4b2266d8a60c9a1e163c4928b8fc7115e/tools/rostopic/src/rostopic/__init__.py * Add rostopic bw original file link * Port rostopic bw to ros2topic enable ros2topic bw to display bandwidth used by topic. 
- Contributors: Chris Ye 
0.7.0 (2019-04-14)
- Use migrated message utility functions These functions are more generally useful outside of ros2topic and so they have been moved to rosidl_runtime_py. 
- Use safe_load instead of deprecated load. (#212) 
- Support array.array and numpy.ndarray field types. (#211) 
- Duplicate –include-hidden-topics in list verb. (#196) 
- Contributors: Dirk Thomas, Jacob Perron, Mikael Arguedas 
0.6.3 (2019-02-08)
- Fix overindentation flake8 error. (#192) 
- Consistent node naming. (#158) * Support for easy integration with ros2 security features by starting CLI nodes with a consistent prefix. * Removing unneeded comment * Making DirectNode visible (removing hidden node prefix) to have consistent node naming for ros2cli. * Start all CLI nodes as hidden. * Shortening the default CLI node name prefix from ‘_ros2cli_node’ to ‘_ros2cli’ * Importing HIDDEN_NODE_PREFIX from rclpy, renaming CLI_NODE_NAME_PREFIX -> NODE_NAME_PREFIX. * Ros2node - Importing HIDDEN_NODE_PREFIX from rclpy * Linter fixes. 
- Contributors: AAlon, Shane Loretz 
0.6.2 (2018-12-12)
0.6.1 (2018-12-06)
- 0.6.1 bump package.xml, setup.py and setup.cfg versions 
- Delay/hz/pub/echo work with action feedback topic 
- Fix delay/echo/hz with hidden topics hz, delay, echo always check hidden topics 
- Contributors: Shane Loretz 
0.6.0 (2018-11-19)
- Move get_msg_class to API module The two methods get_msg_class and _get_msg_class are both used in delay and hz module, avoid cop-n-paste the code but move it into the api module and reuse it in both locations. 
- Small changes to optimize code * Remove confused “string to” on help * Move import to the top of the file * Use local variable instead of multiple funcion call. 
- Major function changes for hz cmd porting * Remove irrelevant code and reserve hz related code * Port rostopic hz to ros2topic based on ROS2 API format 
- Add ros2topic hz original file link 
- Copy original code for ros2topic hz porting Copy file from ROS1 and port to ros2. This file is originally from: https://github.com/ros/ros_comm/blob/6e5016f4b2266d8a60c9a1e163c4928b8fc7115e/tools/rostopic/src/rostopic/__init__.py 
- Port rostopic delay to ros2topic * Remove irrelevant code and reserve hz code (ros has only one __init__.py file include all topic commands, ros2 has splitted commands to isolated file) * Major functional changes of delay cmd with ROS2 API * Update license format to pass test_copyright * Use Time duration to compute the delay * Check window_size as non-negative integer, fix no print when set window as 1 
- Add rostopic delay original file link 
- Copy original file for ros2topic delay porting This file is originally copied from: https://github.com/ros/ros_comm/blob/6e5016f4b2266d8a60c9a1e163c4928b8fc7115e/tools/rostopic/src/rostopic/__init__.py 
- [ros2topic] use a timer instead of time.sleep. (#141) time.sleep will add the time the publish call takes to each cycle. Use a timer to avoid pub rate loss. 
- Contributors: Chris Ye 
0.5.4 (2018-08-20)
- Don’t truncate dictionary keys. (#137) 
- Fix echo sometimes printing ….. (#135) 
- [ros2topic] add missing rclpy dependency. (#134) 
- Fix echo for big array messages. (#126) Issue1: ros2 topic echo pointcould2(big arrays), has no response, updated the logical to make more sensible. a. (by default) full_length=false, truncate_length=128, then print max 128 (fix big arrays issue) b. pass truncate_length=X, then print max X. c. pass full_length=true (whatever truncate_length), then set truncate_length=None and print full_length. Issue2: missed truncate_length to _convert_value(). Since truncate_length is a key argument, pass it explicitly to _convert_value() 
- Contributors: Chris Ye, Mikael Arguedas, Shane Loretz 
0.5.3 (2018-07-17)
- Merge pull request #123 from ros2/limit_printing [topic pub] add option to limit printing published msgs 
- Remove default node name 
- [topic pub] add option to limit printing published msgs 
- Contributors: Dirk Thomas 
0.5.2 (2018-06-28)
- Fix echo for nested messages. (#119) * Fix echo for nested messages * Use string representation for bytes 
- Contributors: Dirk Thomas 
0.5.1 (2018-06-27 12:27)
0.5.0 (2018-06-27 12:17)
- Pass actual node object to subscriber function. (#116) 
- Add pytest markers to linter tests 
- Ignore F841 from latest Pyflakes release. (#93) 
- Info verb for ros2topic. (#88) * Info verb for ros2 topic * Fix flake8 issues with the existing code in info.py * Add unit test for test_info() * Count publishers and subscribers in topic into * Add test for topic info * Fix flake8 issues. * Address PR feedback: - Update the output text - Rename the test topic name - Delete obsolete code * Use contextlib.redirect_stdout instead of a custom decorator * Remove single use vars 
- Set zip_safe to avoid warning during installation. (#83) 
- Allow to pass a node name to ros2 topic pub. (#82) 
- Print full help when no command is passed. (#81) 
- Contributors: Dirk Thomas, Mikael Arguedas, Nick Medveditskov 
0.4.0 (2017-12-08)
- [ros2topic] pub: add –repeat. (#66) * First shot at passing -r argument * [ros2topic] add once and rate parameters * [ros2service] add once and rate parameters * Simplify logic, add sleepd for once publisher and remove argparse * Fix spelling * Format default the same as argparse does * Format default the same as argparse does * Move logic to the right function * Mimic ros2topic and remove extra logic * Consistent with services 
- Merge pull request #64 from ros2/add_type_completer add type completer for ‘topic pub’ and ‘service call’ 
- Add type completer for ‘topic pub’ and ‘service call’ 
- Remove test_suite, add pytest as test_requires 
- Make sure to check errors when expanding the topic name. (#58) * Make sure to check errors when expanding the topic name. We need to catch ValueErrors when actually doing the expansion, then InvalidTopicNameException when doing the validation. * Switch to using the string from the original exception. 
- Support non-absolute topic names. (#57) * Support non-absolute topic names. If the user passes “/topic_name” to the ros2 echo command, it works properly. If they pass “topic_name” to the ros2 echo command, it fails to match. This change just allows us to deal with non-absolute topic names. 
- 0.0.3 
- Fix request message population. (#56) * Use set_msg_fields * Remove unused comment * Move function and error definition to api module * Use message filling method from ros2topic * Alphabetical order 
- Merge pull request #48 from ros2/improve_error_message better error message when passing an invalid value to ros2 topic pub 
- Better error message when passing an invalid value to ros2 topic pub 
- Use test_msgs. (#47) * Use test_msgs instead of test_communication * Remove unused message * Test all messages with fixtures 
- Merge pull request #46 from ros2/flake8_plugins update style to satisfy new flake8 plugins 
- Update style to satisfy new flake8 plugins 
- Implicitly inherit from object. (#45) 
- 0.0.2 
- Merge pull request #36 from ros2/improve_error_message better error message 
- Better error message 
- Update test 
- Truncate arrays, bytes, and strings by default, add option to show in full or use custom threshold. (#31) * Truncate arrays, bytes, and strings by default, add option to show in full or use custom threshold * Add short options 
- Merge pull request #27 from ros2/also_catch_value_errors also handle ValueError nicely 
- Also handle ValueError nicely 
- Merge pull request #24 from ros2/recursive_msg_population fix population of recursive message fields 
- Fix population of recursive message fields 
- Use yaml for parsing msg and srv values. (#19) 
- Merge pull request #15 from ros2/various_fixes various fixes and improvements 
- Add missing dependency on yaml 
- Various fixes and improvements 
- Revert no_demangle option until it can be fixed. (#9) 
- Refactor get topic names and types. (#4) * Ros2topic: use rclpy utility * Ros2topic: fixup * Ros2topic: support multiple types * Ros2service: initial commit * Ros2topic: support no_demangle * Fix include order * Missed a commit * Ros2service: add pep257 tests * Fix echo to support multiple types * Improve shutdown behavior of call, add loop option * Address comments 
- Merge pull request #5 from ros2/pep257 add pep257 tests 
- Add pep257 tests 
- Merge pull request #1 from ros2/initial_features Entry point, plugin system, daemon, existing tools 
- Add ros2topic echo, list, pub including previous tests for yaml/csv output 
- Contributors: Chris Lalancette, Dirk Thomas, Mikael Arguedas, William Woodall