Releases: ros2-rust/ros2_rust
Releases · ros2-rust/ros2_rust
v0.5.1
v0.5.0
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 intorclrs
. - 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
0.4.0
Highlights for this release:
- Preliminary support for parameters (#332)
- Support for Iron Irwini (#319)
- Serde big array support (#328)
- Basic functionality for loading introspection type support libraries (#279)
- Extend string types (#293)
- Add time source and clock API to nodes (#325)
- Removed Galactic support (#306)
- Removed Foxy support (#318)
Thanks to all the contributors that made this release possible:
Fawdlstty @fawdlstty
Uwe Arzt @uwearzt
Luca Della Vedova @luca-della-vedova
Michael Grey @mxgrey
Sam Privett @maspe36
Carter Schultz @Carter12s
0.3.1
0.3.0
Highlights for this release:
- Support for the loaned message API, which allows zero-copy transport for certain message types
- Graph queries for listing other nodes/publishers/etc. and their properties
- Guard conditions, a mechanism for manually interrupting wait sets
- Subscription callbacks can now optionally take a
MessageInfo
struct to e.g. see who published a message rosidl_generator_rs
now supports constants
0.2.0
Highlights for this 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