CHANGELOG

Changelog for package rosbag2_transport

0.27.0 (2024-04-30)

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

  • Contributors: Alejandro Hernández Cordero

0.26.1 (2024-04-17)

0.26.0 (2024-04-16)

  • 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)

  • Contributors: Alejandro Hernández Cordero, Barry Xu, Bernd Pfrommer, Chris Lalancette, Michael Orlov, jmachowinski

0.25.0 (2024-03-27)

  • 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)

  • Contributors: Alejandro Hernández Cordero, Barry Xu, Chris Lalancette, Christoph Fröhlich, Daisuke Nishimatsu, Michael Orlov, Patrick Roncagliolo, Roman Sokolkov, Tomoya Fujita, jmachowinski

0.24.0 (2023-07-11)

  • 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: Chris Lalancette, Emerson Knapp, Michael Orlov, Patrick Roncagliolo

0.23.0 (2023-04-28)

0.22.0 (2023-04-18)

  • Read message definitions from input files in bag_rewrite (#1295)

  • Add message definition read API (#1292)

  • Move rosbag2_transport::Recorder implementation to pimpl (#1291)

  • rosbag2_storage: add type description hash to topic metadata (#1272)

  • Contributors: Emerson Knapp, Michael Orlov, james-rms

0.21.0 (2023-04-12)

  • rosbag2_cpp: move local message definition source out of MCAP plugin (#1265)

  • Use RMW methods to initialize endpoint info instead of brace initializer to guard against upcoming struct change (#1257)

  • Update rosbag2 to C++17. (#1238)

  • Use target_link_libraries instead of ament_target_dependencies (#1202)

  • Contributors: Chris Lalancette, Daisuke Nishimatsu, Emerson Knapp, Michael Orlov, james-rms

0.20.0 (2023-02-14)

0.19.0 (2023-01-13)

  • Print “Hidden topics are not recorded” only once. (#1225)

  • rosbag2_storage: set MCAP as default plugin (#1160)

  • Add Michael Orlov as maintainer in rosbag2 packages (#1215)

  • rosbag2_transport: parametrize test_rewrite (#1206)

  • rosbag2_cpp: test more than one storage plugin (#1196)

  • Replace language for “db3”/”db”/”database” (#1194)

  • set_read_order: return success (#1177)

  • Remove explicit sqlite3 from code (#1166)

  • Contributors: Emerson Knapp, Michael Orlov, james-rms, rshanor

0.18.0 (2022-11-15)

  • Add pause and resume service calls for rosbag2 recorder (#1131)

  • Redesign record_services tests to make them more deterministic (#1122)

  • Add SplitBagfile recording service. (#1115)

  • Reverse read order API and sqlite storage implementation (#1083)

  • make recorder node composable by inheritance (#1093)

  • Mark test_play_services as xfail for FastRTPS and CycloneDDS (#1091)

  • fixed typo (#1057)

  • Fix hangout in rosbag2 player and recorder when pressing CTRL+C (#1081)

  • Added support for excluding topics via regular expressions (#1046)

  • Contributors: Bernardo Taveira, Cristóbal Arroyo, DensoADAS, Emerson Knapp, Esteve Fernandez, Michael Orlov, rshanor

0.17.0 (2022-07-30)

  • Use a single variable for evaluating the filter regex (#1053)

  • Add additional mode of publishing sim time updates triggered by replayed messages (#1050)

  • Speed optimization: Preparing copyless publish/subscribing by using const message for writing (#1010)

  • Renamed –topics-regex to –regex and -e in Player class to be consistent with Recorder (#1045)

  • Refactor play until and duration tests (#1024)

  • Added support for filtering topics via regular expressions on Playback (#1034)

  • Adds stop operation for rosbag2::Player (#1007)

  • Fix incorrect boundary check for playback_duration and play_until_timestamp (#1032)

  • Split up the include of rclcpp.hpp (#1027)

  • Notification of significant events during bag recording and playback (#908)

  • Adds play until timestamp functionality (#1005)

  • Add CLI verb for burst mode of playback (#980)

  • Add on play message callbacks to the rosbag2::Player class (#1004)

  • Add play-for specified number of seconds functionality (#960)

  • Reduce message spam when topics to be recorded do not exist (#1018)

  • Address flakiness in record_all_with_sim_time test (#1014)

  • Add debug instrumentation for test_play_services (#1013)

  • Fix for rosbag2::Player freeze when pressing ctrl+c in pause mode (#1002)

  • Contributors: Agustin Alba Chicar, Brian, Chris Lalancette, DensoADAS, Joshua Hampp, Esteve Fernandez, Geoffrey Biggs, Jorge Perez, Michael Orlov, kylemarcey, Misha Shalem, Tony Peng

0.16.0 (2022-05-11)

  • Add the /bigobj flag to Windows Debug builds. (#1009)

  • Make unpublished topics unrecorded by default (#968)

  • Make peek_next_message_from_queue return a SharedPtr. (#993)

  • Change the topic names in test_record.cpp (#988)

  • Contributors: Chris Lalancette, Michael Orlov, Sean Kelly

0.15.1 (2022-04-06)

  • support to publish as loaned message (#981)

  • Contributors: Audrow Nash, Barry Xu

0.15.0 (2022-04-05)

  • support to publish as loaned message (#981)

  • Contributors: Barry Xu

0.14.1 (2022-03-29)

  • Bump version number to avoid conflict

  • Contributors: Chris Lalancette

0.14.0 (2022-03-29)

  • Add burst-mode to Player (#977)

  • Install headers to include/${PROJECT_NAME} (#958)

  • Make sure published messages are acknowledged for play mode (#951)

  • Contributors: Barry Xu, Geoffrey Biggs, Shane Loretz

0.13.0 (2022-01-13)

0.12.0 (2021-12-17)

  • Changes for uncrustify 0.72 (#937)

  • TopicFilter use regex_search instead of regex_match (#932)

  • Add start-offset play option (#931)

  • Add parentheses suggested by Clang on OSX to fix build warning (#930)

  • Bag rewriter (C++) (#920)

  • Add “ignore leaf topics” option to recorder (#925)

  • Rewrite TopicFilter for single-call reusability (#924)

  • Add a ReaderWriterFactory utility to share logic for reuse (#923)

  • Add pause/resume options to the bag recorder (#905)

  • Add logging macros for rosbag2_transport (#917)

  • Enable YAML encoding/decoding for RecordOptions and StorageOptions (#916)

  • Expose the QoS object wrapper (#910)

  • Contributors: Abrar Rahman Protyasha, Chris Lalancette, Emerson Knapp, Geoffrey Biggs, Ivan Santiago Paunovic

0.11.0 (2021-11-08)

  • Add –start-paused option to ros2 bag play (#904)

  • Update package maintainers (#899)

  • Add a Seek service (#874)

  • Add simple keyboard control for playback rate (#893)

  • Contributors: Emerson Knapp, Ivan Santiago Paunovic, Michel Hidalgo

0.10.1 (2021-10-22)

0.10.0 (2021-10-19)

  • Fix a bug on invalid pointer address when using “MESSAGE” compressio… (#866)

  • Fix typo (#880)

  • Use Reader’s seek() method for seeking/jumping in Player (#873)

  • keyboard controls for pause/resume toggle and play-next: (#847)

  • Implement snapshot mechanism and corresponding ROS Service (#850)

  • Circular Message Cache implementation for snapshot feature (#844)

  • Add jump/seek API for Player class (#826)

  • Restructure test_play_timing to one test per case, to see which times out (#863)

  • Fix discovery silently stops after unknown msg type is found. (#848)

  • Fixing deprecated subscriber callback warnings (#852)

  • Bugfix for race condition in Player::peek_next_message_from_queue() (#849)

  • added seek interface (#836)

  • Update PlayOptions::delay to rclcpp::Duration to get nanosecond resolution (#843)

  • Move notification about ready for playback inside play_messages_from_queue() (#832)

  • Add wait for player to be ready for playback in Player::play_next() method (#814)

  • Make sure the subscription exists before publishing messages (#804)

  • Add delay option (#789)

  • Copy recorder QoS profile to local variable so that temporary value isn’t cleared (#803)

  • test_play_services: fail gracefully on future error (#798)

  • Recording with –all and –exclude fix (#765)

  • Contributors: Abrar Rahman Protyasha, Barry Xu, Bastian Jäger, Cameron Miller, Emerson Knapp, Kosuke Takeuchi, Lei Liu, Louise Poubel, Michael Orlov, Piotr Jaroszek, sonia

0.9.0 (2021-05-17)

  • Expose play_next service (#767)

  • Add play_next() API to the player class (#762)

  • Naive clock jump implementation - allows for clock reuse and simplified Player setup (#754)

  • Rename Reader/Writer ‘reset’ to ‘close’ (#760)

  • simply constructor for rosbag2_transport::Player (#757)

  • Expose GetRate/SetRate services for playback (#753)

  • Expose pause/resume related services on the Player (#729)

  • remodel publication manager (#749)

  • remove rosbag2_transport header (#742)

  • use public recorder api in tests (#741)

  • Use public player API in tests (#740)

  • public recorder and player (#739)

  • player owns the reader (#725)

  • Contributors: Emerson Knapp, Karsten Knese, Michael Orlov

0.8.0 (2021-04-19)

  • cleanup cmakelists (#726)

  • turn recorder into a node (#724)

  • turn player into a node (#723)

  • Remove -Werror from builds, enable it in Action CI (#722)

  • Split Rosbag2Transport into Player and Recorder classes - first pass to enable further progress (#721)

  • /clock publisher in Player (#695)

  • use rclcpp logging macros (#715)

  • use rclcpp::Node for generic pub/sub (#714)

  • PlayerClock initial implementation - Player functionally unchanged (#689)

  • Fix bad_function_call by replacing rclcpp::spin_some with SingleThreadedExecutor (#705)

  • rosbag2_py pybind wrapper for “record” - remove rosbag2_transport_py (#702)

  • Add rosbag2_py::Player::play to replace rosbag2_transport_python version (#693)

  • Fix and clarify logic in test_play filter test (#690)

  • Explicitly add emersonknapp as maintainer (#692)

  • Add QoS decoding translation for infinite durations to RMW_DURATION_INFINITE (#684)

  • Contributors: Emerson Knapp, Karsten Knese

0.7.0 (2021-03-18)

  • Add support for rmw_connextdds (#671)

  • Use rosbag2_py for ros2 bag info (#673)

  • Contributors: Andrea Sorbini, Karsten Knese

0.6.0 (2021-02-01)

  • Fix build issues when rosbag2_storage is binary installed (#585)

  • Regex and exclude fix for rosbag recorder (#620)

  • Recorder –regex and –exclude options (#604)

  • SQLite storage optimized by default (#568)

  • Fixed playing if unknown message types exist (#592)

  • Compress bag files in separate threads (#506)

  • Stabilize test_record by reducing copies of executors and messages (#576)

  • Contributors: Adam Dąbrowski, Chen Lihui, Emerson Knapp, P. J. Reed, Piotr Jaroszek

0.5.0 (2020-12-02)

0.4.0 (2020-11-19)

  • add storage_config_uri (#493)

  • Update the package.xml files with the latest Open Robotics maintainers (#535)

  • resolve memory leak for serialized message (#502)

  • Use shared logic for importing the rosbag2_transport_py library in Python (#482)

  • fix missing target dependencies (#479)

  • reenable cppcheck for rosbag2_transport (#461)

  • More reliable topic remapping test (#456)

  • Add split by time to recording (#409)

  • export shared_queues_vendor (#434)

  • Contributors: Dirk Thomas, Emerson Knapp, Karsten Knese, Michael Jeronimo, jhdcs

0.3.2 (2020-06-03)

0.3.1 (2020-06-01)

  • Find rosbag2_cpp (tinyxml2) before rcl (#423)

  • Shared publisher handle (#420)

  • Contributors: Chris Lalancette, Karsten Knese

0.3.0 (2020-05-26)

0.2.8 (2020-05-18)

  • Explicitly add DLL directories for Windows before importing (#411)

  • Contributors: Jacob Perron

0.2.7 (2020-05-12)

  • Remove MANUAL_BY_NODE liveliness usage (#406)

  • Contributors: Ivan Santiago Paunovic

0.2.6 (2020-05-07)

  • Correct usage of rcpputils::SharedLibrary loading. (#400)

  • Contributors: Karsten Knese

0.2.5 (2020-04-30)

  • add topic remapping option to rosbag2 play (#388)

  • add missing test dependency (#392)

  • use serialized message (#386)

  • Adaptive playback qos based on recorded metadata (#364)

  • Add loop option to rosbag play (#361)

  • Move qos utilities to their own compilation unit (#379)

  • Expose BaseReaderInterface’s BagMetadata (#377)

  • Expose topic filter to command line (addresses #342) (#363)

  • Fix Action CI tests to pass reliably (#376)

  • Update GenericSubscription’s handle_message signature (#373)

  • Bridge CLI with transport (#370)

  • Override QoS Profiles in CLI - Playback (#356)

  • QoS Profile Overrides - Player (#353)

  • Fix rosbag2_tests resource files and play_end_to_end test (#362)

  • use ament_export_targets() (#360)

  • Intelligently subscribe to topics according to their QoS profiles (#355)

  • Add QoS Profile override to CLI (#347)

  • Override Subscriber QoS - Record (#346)

  • Replace poco dependency by rcutils (#322)

  • Test all RMW implementations for rosbag2_transport (#349)

  • Add filter for reading selective topics (#302)

  • Disable adaptive qos subscription for now (#348)

  • Subscribe to topics using the common offered QoS (#343)

  • Transaction based sqlite3 inserts (#225)

  • Allow GenericPublisher / GenericSubscription to take a QoS profile (#337)

  • Query offered QoS profiles for a topic and store in metadata (#333)

  • Add QoS profiles field to metadata struct and provide serialization utilities (#330)

  • include hidden topics (#332)

  • Add playback rate command line arg (#304)

  • Removed rosidl_generator_cpp in rosbag2_transport because it’s not used (#321)

  • Fix race condition in transport recorder (#303)

  • [compression] Enable compression through ros2bag cli (#263)

  • code style only: wrap after open parenthesis if not in one line (#280)

  • Make rosbag2 a metapackage (#241)

  • make ros tooling working group maintainer (#211)

  • Contributors: Alejandro Hernández Cordero, Anas Abou Allaban, Dirk Thomas, Emerson Knapp, Karsten Knese, Mabel Zhang, Sriram Raghunathan, Zachary Michaels, carlossvg, ketatam

0.2.4 (2019-11-18)

0.2.3 (2019-11-18)

  • Add CLI option to expose bagfile splitting. (#203)

  • Delay subscriber asynchronous creation for opensplice in test_rosbag2_node. (#196)

  • Modular Reader/Writer API. (#205)

  • Contributors: Brian Marchi, Karsten Knese, Prajakta Gokhale

0.2.2 (2019-11-13)

  • (API) Generate bagfile metadata in Writer (#184)

  • Contributors: Zachary Michaels

0.2.1 (2019-10-23)

  • Disable parameter event publishers on test nodes. (#180)

  • Narrow down tests for topic discovery. (#178)

  • Fix API for new Intra-Process communication. (#143)

  • Add dependency on python_cmake_module. (#188)

  • Add bagfile splitting support to storage_options. (#182)

  • Fix the test failure of wrong messages count. (#165)

  • Support for zero-copy message transport. (#168)

  • Contributors: Alberto Soragna, ChenYing Kuo, Dan Rose, Karsten Knese, Mikael Arguedas, Zachary Michaels

0.2.0 (2019-09-26)

  • fixup after API changes to Subscription in rclcpp (#166)

  • disable some tests for connext (#145)

  • disable plugins/tests which need rmw_fastrtps_cpp if unavailable (#137)

  • Fix test failures on armhf (#135)

  • Contributors: Karsten Knese, Prajakta Gokhale, William Woodall, ivanpauno

0.1.2 (2019-05-20)

  • Fixes an init race condition (#93) * This could probably be a race condition, for ex: When we’ve create a subscriber in the API, and the subscriber has the data already available in the callback (Cause of existing publishers) the db entry for the particular topic would not be availalble, which in turn returns an SqliteException. This is cause write_->create_topic() call is where we add the db entry for a particular topic. And, this leads to crashing before any recording. Locally I solved it by adding the db entry first, and if create_subscription fails, remove the topic entry from the db and also erase the subscription. Signed-off-by: Sriram Raghunathan <rsriram7@visteon.com> * Fix comments for pull request https://github.com/ros2/rosbag2/pull/93 Signed-off-by: Sriram Raghunathan <rsriram7@visteon.com> * Added unit test case for remove_topics from db Signed-off-by: Sriram Raghunathan <rsriram7@visteon.com> * Fix unit tests failing by adding dependent test macros Signed-off-by: Sriram Raghunathan <rsriram7@visteon.com> * Fixes the linter errors

  • Update troubleshooting reference to index.ros.org (#120) Signed-off-by: Michael Carroll <michael@openrobotics.org>

  • Contributors: Michael Carroll, Sriram Raghunathan

0.1.1 (2019-05-09)

  • fix condition to only apply pragma for GCC 8+ (#117)

  • Contributors: Dirk Thomas

0.1.0 (2019-05-08)

  • ignore cast function type warning (#116)

  • changes to avoid deprecated API’s (#115)

  • Handle message type name with multiple namespace parts (#114)

  • fix compilation against master (#111)

  • fix logging signature (#107)

  • use fastrtps static instead of dynamic (#104)

  • enforce unique node names (#86)

  • disable cppcheck (#91)

  • Consistent node naming across ros2cli tools (#60)

  • Contributors: AAlon, Dirk Thomas, Jacob Perron, Karsten Knese, William Woodall

0.0.5 (2018-12-27)

0.0.4 (2018-12-19)

  • Improve queue usage (#75)

  • 0.0.3

  • Play old bagfiles (#69)

  • Release fixups (#72)

  • Contributors: Andreas Holzner, Karsten Knese, Martin Idel

0.0.2 (2018-12-12)

  • update maintainer email

  • Contributors: Karsten Knese

0.0.1 (2018-12-11)

  • Auto discovery of new topics (#63)

  • Fix master build and small renamings (#67)

  • rename topic_with_types to topic_metadata

  • use converter options

  • iterate_over_formatter

  • GH-142 replace map with unordered map where possible (#65)

  • Use converters when recording a bag file (#57)

  • use uint8 for serialized message (#61)

  • Renaming struct members for consistency (#64)

  • Use converters when playing back files (#56)

  • Implement converter plugin for CDR format and add converter plugins package (#48)

  • Display bag summary using ros2 bag info (#45)

  • GH-117 Check also for rclcpp::ok() when playing back messages (#54)

  • Extract recorder from rosbag2_transport, fix test naming (#44)

  • Introduce rosbag2_transport layer and CLI (#38)

  • Contributors: Alessandro Bottero, Andreas Greimel, Andreas Holzner, Karsten Knese, Martin Idel