Skip to content

Latest commit

 

History

History
177 lines (142 loc) · 10.2 KB

File metadata and controls

177 lines (142 loc) · 10.2 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

0.8.0 - 2026-06-22

Added

  • re-export rosidl_runtime_rs from rclrs (#649)
  • [breaking] Re-Export Generated Messages in rclrs (#556)
  • add server_is_available to ActionClientState (#622)
  • [breaking] add parameter callbacks (#611)
  • add logging_rosout.h to the list of headers to generate bindings for (#594)

Fixed

  • handle rolling introspection member layout (#641)
  • correct pointer dereference in resize_unchecked function (#630)
  • gate deprecated liveliness variant by distro (ros2/rmw#414) (#624)
  • replace try_next with try_recv (#609)
  • initialize rosout publisher on distros newer than Humble (#593)

Other

  • update ros-env dependency to 0.2 (#648)
  • (bindings) regenerate bindings for rolling (#633)
  • (bindings) regenerate bindings for humble (#639)
  • (bindings) regenerate bindings for rolling (#621)
  • Add service introspection (#560)
  • (bindings) regenerate bindings for humble (#596)
  • (bindings) regenerate bindings for kilted (#597)
  • (bindings) regenerate bindings for rolling (#598)
  • (bindings) regenerate bindings for jazzy (#599)

0.7.0 - 2026-01-18

Added

  • dynamic message publishers and subscribers (#492)

Fixed

  • add explicit lifetimes to fix mismatched_lifetime_syntaxes warnings (#564)
  • blocklist duplicate typesupport extern declarations (#565)

Other

  • Regenerate bindings for rolling (#580)
  • Regenerate bindings for kilted (#579)
  • Regenerate bindings for humble (#577)
  • Regenerate bindings for jazzy (#578)
  • [breaking] bump rosidl_runtime_rs version (#571)
  • [breaking] require rustc 1.85 (#566)
  • Add support for best available QoS (#555)
  • Regenerate bindings for kilted (#542)
  • Regenerate bindings for rolling (#543)
  • Regenerate bindings for jazzy (#529)
  • Regenerate bindings for humble (#534)

0.6.0 - 2025-10-27

Added

  • [breaking] async actions (#503)
  • timers API (#480)

Other

  • re-add generate_bindings.py script
  • Minimal changes for new Action trait (#539)
  • Re-export traits from rosidl_runtime_rs (#537)
  • Fix use of serde (#538)
  • Put use rustflags next to its usage to prevent a build warning. (#526)

0.5.1 - 2025-08-23

Other

  • Fix executor timeout (#519)

0.5.0 - 2025-08-15

Added

  • vendorize messages so that cargo update works (#509)

Other

  • Moved examples to its own repo (#504)
  • Wake up wait set when adding a new waitable (#505)
  • rename generate_docs feature to use_ros_shim (#501)
  • Async Workers (#446)
  • Shared state pattern (spin-off of #427) (#430)
  • Options pattern (spin-off of #427) (#429)
  • Fix RAII for subscription, client, and service (#463)
  • Execution structure (spin-off of #427) (#428)
  • Remove Iron support (#443)
  • Add Publisher::get_subscription_count (#457)
  • Bumb bindgen dependency to 0.70 (#452)
  • Update for clippy 1.83 (#441)
  • Add Publisher::can_loan_msgs (#434)
  • Add rosout logging to rclrs (#422)
  • Update vendored interface packages (#423)
  • Use latest stable Rust CI + Fix Test Errors (#420)
  • Add std::error::Error impls to Error enums of parameter module (#413)
  • Wrap slice::from_raw_parts to be compatible with rcl (#419)
  • Compile on targets where c_char ≠ i8 (#403)
  • Add parameter services (#342)
  • Fixup of #388 (#389)
  • Fix link formatting
  • Get rid of doc links to private structs
  • Update documentation on ENTITY_LIFECYCLE_MUTEX
  • Improve the documentation for the domain ID situation of test_graph_empty
  • Rename to avoid confusion with Handle pattern
  • Update documentation and safety info on rcl entity lifecycles
  • Remove the need for lazy_static
  • Satisfy clippy
  • Use usize instead of u8 for domain id
  • Ensure that test_graph_empty works even if the system has ROS_DOMAIN_ID set to 99
  • Run clippy
  • Run rustfmt
  • Apply lifecycle lock to all middleware entities
  • Ensure that mutex guards are not being dropped prematurely
  • Introduce InitOptions to allow manually setting domain ID
  • Keep context alive for guard conditions
  • Manage all rcl bindings with Handle structs
  • Reworking the lifecycle management of rcl bindings
  • Import the builtin_interfaces directly from the internal vendor module.
  • Added test_msgs as a test dependency
  • Move the tests in the rclrs_tests crate into rclrs.
  • Move rcl structs to end of Node declaration
  • Allow ros2_rust to be built within a distro workspace
  • Add default implementation and builder pattern for QoS (#361)
  • Adding a simple helper function for converting rclrs::Time to a ros message (#359)
  • Remove leading underscore from private fields (#354)

0.4.1 - 2023-11-28

  • Added minor changes to enable documentation generation on docs.rs for the ros2-rust projects.

0.4.0 - 2023-11-07

  • Service clients now support service_is_ready to check if a service server is present ahead of calling (#399)
  • Added preliminary support for parameters
  • Added support for Iron Irwini
  • Added Serde big array support
  • Added basic functionality for loading introspection type support libraries
  • Added extended string types
  • Added time source and clock API to nodes
  • Removed support for Galactic
  • Removed support for Foxy

0.3.1 - 2022-10-17

  • Fixed segfault when re-using WaitSet
  • Fixed Node::get_{publishers,subscriptions}_info_by_topic()

0.3.0 - 2022-10-03

  • Loaned messages (zero-copy) (#212)
  • Graph queries (#234)
  • Guard conditions (#249)

[0.2.0] (2022-07-21)

  • First release
  • colcon-cargo and colcon-ros-cargo can now build any pure Cargo and ament-aware Cargo projects
  • rclrs and rclrs_examples are now ament_cargo projects, no more CMake involved
  • rosidl_generator_rs has been updated to support all ROS message types
  • rclrs now supports clients and services
  • Better API documentation
  • Foxy, Galactic, Humble and Rolling are now supported ROS distros
  • Preliminary support for Windows
  • Build based on colcon-ros-cargo
  • Message generation packages rosidl_generator_rs and rosidl_runtime_rs
  • Publisher, Subscription, Client and Service
  • Tunable QoS settings