|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [Unreleased] |
| 9 | + |
| 10 | +## [0.5.0](https://github.com/ros2-rust/ros2_rust/compare/v0.4.1...v0.5.0) - 2025-08-15 |
| 11 | + |
| 12 | +### Added |
| 13 | + |
| 14 | +- vendorize messages so that cargo update works ([#509](https://github.com/ros2-rust/ros2_rust/pull/509)) |
| 15 | + |
| 16 | +### Other |
| 17 | + |
| 18 | +- Moved examples to its own repo ([#504](https://github.com/ros2-rust/ros2_rust/pull/504)) |
| 19 | +- Wake up wait set when adding a new waitable ([#505](https://github.com/ros2-rust/ros2_rust/pull/505)) |
| 20 | +- rename generate_docs feature to use_ros_shim ([#501](https://github.com/ros2-rust/ros2_rust/pull/501)) |
| 21 | +- Async Workers ([#446](https://github.com/ros2-rust/ros2_rust/pull/446)) |
| 22 | +- Shared state pattern (spin-off of #427) ([#430](https://github.com/ros2-rust/ros2_rust/pull/430)) |
| 23 | +- Options pattern (spin-off of #427) ([#429](https://github.com/ros2-rust/ros2_rust/pull/429)) |
| 24 | +- Fix RAII for subscription, client, and service ([#463](https://github.com/ros2-rust/ros2_rust/pull/463)) |
| 25 | +- Execution structure (spin-off of #427) ([#428](https://github.com/ros2-rust/ros2_rust/pull/428)) |
| 26 | +- Remove Iron support ([#443](https://github.com/ros2-rust/ros2_rust/pull/443)) |
| 27 | +- Add Publisher::get_subscription_count ([#457](https://github.com/ros2-rust/ros2_rust/pull/457)) |
| 28 | +- Bumb bindgen dependency to 0.70 ([#452](https://github.com/ros2-rust/ros2_rust/pull/452)) |
| 29 | +- Update for clippy 1.83 ([#441](https://github.com/ros2-rust/ros2_rust/pull/441)) |
| 30 | +- Add Publisher::can_loan_msgs ([#434](https://github.com/ros2-rust/ros2_rust/pull/434)) |
| 31 | +- Add rosout logging to rclrs ([#422](https://github.com/ros2-rust/ros2_rust/pull/422)) |
| 32 | +- Update vendored interface packages ([#423](https://github.com/ros2-rust/ros2_rust/pull/423)) |
| 33 | +- Use latest stable Rust CI + Fix Test Errors ([#420](https://github.com/ros2-rust/ros2_rust/pull/420)) |
| 34 | +- Add std::error::Error impls to Error enums of `parameter` module ([#413](https://github.com/ros2-rust/ros2_rust/pull/413)) |
| 35 | +- Wrap slice::from_raw_parts to be compatible with rcl ([#419](https://github.com/ros2-rust/ros2_rust/pull/419)) |
| 36 | +- Compile on targets where c_char ≠ i8 ([#403](https://github.com/ros2-rust/ros2_rust/pull/403)) |
| 37 | +- Add parameter services ([#342](https://github.com/ros2-rust/ros2_rust/pull/342)) |
| 38 | +- Fixup of #388 ([#389](https://github.com/ros2-rust/ros2_rust/pull/389)) |
| 39 | +- Fix link formatting |
| 40 | +- Get rid of doc links to private structs |
| 41 | +- Update documentation on ENTITY_LIFECYCLE_MUTEX |
| 42 | +- Improve the documentation for the domain ID situation of test_graph_empty |
| 43 | +- Rename to avoid confusion with Handle pattern |
| 44 | +- Update documentation and safety info on rcl entity lifecycles |
| 45 | +- Remove the need for lazy_static |
| 46 | +- Satisfy clippy |
| 47 | +- Use usize instead of u8 for domain id |
| 48 | +- Ensure that test_graph_empty works even if the system has ROS_DOMAIN_ID set to 99 |
| 49 | +- Run clippy |
| 50 | +- Run rustfmt |
| 51 | +- Apply lifecycle lock to all middleware entities |
| 52 | +- Ensure that mutex guards are not being dropped prematurely |
| 53 | +- Introduce InitOptions to allow manually setting domain ID |
| 54 | +- Keep context alive for guard conditions |
| 55 | +- Manage all rcl bindings with Handle structs |
| 56 | +- Reworking the lifecycle management of rcl bindings |
| 57 | +- Import the builtin_interfaces directly from the internal vendor module. |
| 58 | +- Added `test_msgs` as a test dependency |
| 59 | +- Move the tests in the `rclrs_tests` crate into `rclrs`. |
| 60 | +- Move rcl structs to end of Node declaration |
| 61 | +- Allow ros2_rust to be built within a distro workspace |
| 62 | +- Add default implementation and builder pattern for QoS ([#361](https://github.com/ros2-rust/ros2_rust/pull/361)) |
| 63 | +- Adding a simple helper function for converting `rclrs::Time` to a ros message ([#359](https://github.com/ros2-rust/ros2_rust/pull/359)) |
| 64 | +- Remove leading underscore from private fields ([#354](https://github.com/ros2-rust/ros2_rust/pull/354)) |
| 65 | + |
| 66 | +## [0.4.1](https://github.com/ros2-rust/ros2_rust/compare/v0.4.0...v0.4.1) - 2023-11-28 |
| 67 | +- Added minor changes to enable documentation generation on docs.rs for the `ros2-rust` projects. |
| 68 | + |
| 69 | +## [0.4.0](https://github.com/ros2-rust/ros2_rust/compare/v0.3.1...v0.4.0) - 2023-11-07 |
| 70 | +- Service clients now support service_is_ready to check if a service server is present ahead of calling ([#399](https://github.com/ros2-rust/ros2_rust/pull/339)) |
| 71 | +- Added preliminary support for parameters |
| 72 | +- Added support for Iron Irwini |
| 73 | +- Added Serde big array support |
| 74 | +- Added basic functionality for loading introspection type support libraries |
| 75 | +- Added extended string types |
| 76 | +- Added time source and clock API to nodes |
| 77 | +- Removed support for Galactic |
| 78 | +- Removed support for Foxy |
| 79 | + |
| 80 | +## [0.3.1](https://github.com/ros2-rust/ros2_rust/compare/v0.3.0...v0.3.1) - 2022-10-17 |
| 81 | +- Fixed segfault when re-using `WaitSet` |
| 82 | +- Fixed `Node::get_{publishers,subscriptions}_info_by_topic()` |
| 83 | + |
| 84 | +## [0.3.0](https://github.com/ros2-rust/ros2_rust/compare/v0.2.0...v0.3.0) - 2022-10-03 |
| 85 | +- Loaned messages (zero-copy) ([#212](https://github.com/ros2-rust/ros2_rust/pull/212)) |
| 86 | +- Graph queries ([#234](https://github.com/ros2-rust/ros2_rust/pull/234)) |
| 87 | +- Guard conditions ([#249](https://github.com/ros2-rust/ros2_rust/pull/249)) |
| 88 | + |
| 89 | +## [0.2.0] (2022-07-21) |
| 90 | +- First release |
| 91 | +- `colcon-cargo` and `colcon-ros-cargo` can now build any pure Cargo and ament-aware Cargo projects |
| 92 | +- `rclrs` and `rclrs_examples` are now `ament_cargo` projects, no more CMake involved |
| 93 | +- `rosidl_generator_rs` has been updated to support all ROS message types |
| 94 | +- `rclrs` now supports clients and services |
| 95 | +- Better API documentation |
| 96 | +- Foxy, Galactic, Humble and Rolling are now supported ROS distros |
| 97 | +- Preliminary support for Windows |
| 98 | +- Build based on `colcon-ros-cargo` |
| 99 | +- Message generation packages `rosidl_generator_rs` and `rosidl_runtime_rs` |
| 100 | +- Publisher, Subscription, Client and Service |
| 101 | +- Tunable QoS settings |
0 commit comments