You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+56-20Lines changed: 56 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,13 +23,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
23
23
24
24
### Added
25
25
26
+
### Fixed
27
+
28
+
- Keeping a ros1::ServiceServer alive no longer keeps the underlying node alive past the last ros1::NodeHandle being dropped.
29
+
- Dropping the last ros1::NodeHandle results in the node cleaning up any advertises, subscriptions, and services with the ROS master.
30
+
- Generated code now includes various lint attributes to suppress warnings.
31
+
- TCPROS header parsing now ignores (the undocumented fields) response_type and request_type and doesn't produce warnings on them.
32
+
33
+
### Changed
34
+
35
+
- Internal integral type Time changed from u32 to i32 representation to better align with ROS1
36
+
- Conversions between ROS Time and Duration to std::time::Time and std::time::Duration switched to TryFrom as they can be fallible.
37
+
38
+
## 0.11.1
39
+
40
+
### Added
41
+
42
+
### Fixed
43
+
44
+
- ROS1 Native Publishers no longer occasionally truncate very large messages when configured with latching
45
+
46
+
### Changed
47
+
48
+
- Passing of large messages containing uint8[] arrays is now substantially faster
49
+
- Generated code now relies on serde_bytes to enable faster handling of uint8[] arrays
50
+
- Switched to a fork of serde_rosmsg to enable faster handling of uint8[] arrays
51
+
52
+
## 0.11.0
53
+
54
+
### Added
55
+
26
56
- ROS1 Native Publishers now support latching behavior
27
57
- The XML RPC client for interacting directly with the rosmaster server has been exposed as a public API
28
58
- Experimental: Initial support for writing generic clients that can be compile time specialized for rosbridge or ros1
59
+
- Can subscribe to any topic and get raw bytes instead of a deserialized message of known type
60
+
- Can publish to any topic and send raw bytes instead of a deserialized message
29
61
30
62
### Fixed
31
63
32
64
- ROS1 Native Publishers correctly call unadvertise when dropped
65
+
- ROS1 Native Publishers no longer occasionally truncate very large messages (>5MB)
33
66
34
67
### Changed
35
68
@@ -45,6 +78,7 @@ This is to bring it in line with the ROS1 API.
45
78
### Added
46
79
47
80
### Fixed
81
+
48
82
- Bug with message_definitions provided by Publisher in the connection header not being the fully expanded definition.
49
83
- Bug with ROS1 native subscribers not being able to receive messages larger than 4096 bytes.
50
84
@@ -55,13 +89,15 @@ This is to bring it in line with the ROS1 API.
55
89
### Added
56
90
57
91
### Fixed
92
+
58
93
- Bug with ros1 native publishers not parsing connection headers correctly
59
94
60
95
### Changed
61
96
62
97
## 0.10.0 - July 5th, 2024
63
98
64
99
### Added
100
+
65
101
- ROS1 native service servers and service clients are now supported (experimental feature)
66
102
67
103
### Fixed
@@ -89,45 +125,45 @@ crates that were previously adding dependencies on serde, serde-big-array, and s
89
125
90
126
### Changed
91
127
92
-
- The function interface for top level generation functions in `roslibrust_codegen` have been changed to include the list of dependent
128
+
- The function interface for top level generation functions in `roslibrust_codegen` have been changed to include the list of dependent
93
129
filesystem paths that should trigger re-running code generation. Note: new files added to the search paths will not be automatically detected.
94
130
-[Breaking Change] Codegen now generates fixed sized arrays as arrays [T; N] instead of Vec<T>
95
-
- Removed `find_and_generate_ros_messages_relative_to_manifest_dir!` this proc_macro was changing the current working directory of the compilation job resulting in a variety of strange compilation behaviors. Build.rs scripts are recommended for use cases requiring fine grained control of message generation.
96
-
- The function interface for top level generation functions in `roslibrust_codegen` have been changed to include the list of dependent filesystem paths that should trigger re-running code generation. Note: new files added to the search paths will not be automatically detected.
97
-
- Refactor the `ros1::node` module into separate smaller pieces. This should be invisible externally (and no changes to examples were required).
131
+
- Removed `find_and_generate_ros_messages_relative_to_manifest_dir!` this proc_macro was changing the current working directory of the compilation job resulting in a variety of strange compilation behaviors. Build.rs scripts are recommended for use cases requiring fine grained control of message generation.
132
+
- The function interface for top level generation functions in `roslibrust_codegen` have been changed to include the list of dependent filesystem paths that should trigger re-running code generation. Note: new files added to the search paths will not be automatically detected.
133
+
- Refactor the `ros1::node` module into separate smaller pieces. This should be invisible externally (and no changes to examples were required).
98
134
99
135
## 0.8.0 - October 4th, 2023
100
136
101
137
### Added
102
138
103
-
- Experimental support for ROS1 native communication behind the `ros1` feature flag
104
-
- Generation of C++ source added via `roslibrust_genmsg` along with arbitrary languages via passed in templates
105
-
- Generation of Rust source for actions
106
-
- Example for custom generic message usage with rosbridge
107
-
- Example for async native ROS1 listener
108
-
- Example for async native ROS1 publisher
139
+
- Experimental support for ROS1 native communication behind the `ros1` feature flag
140
+
- Generation of C++ source added via `roslibrust_genmsg` along with arbitrary languages via passed in templates
141
+
- Generation of Rust source for actions
142
+
- Example for custom generic message usage with rosbridge
143
+
- Example for async native ROS1 listener
144
+
- Example for async native ROS1 publisher
109
145
110
146
111
147
### Fixed
112
148
113
-
- Incorrect handling of ROS1 message string constants
149
+
- Incorrect handling of ROS1 message string constants
114
150
115
151
### Changed
116
152
117
-
-`crawl` function in `roslibrust_codegen` updated to a more flexible API
118
-
- Overhaul of error handling in roslibrust_codegen to bubble errors up, and remove use of panic! and unwrap(). Significantly better error messages should be produced from proc_macros and build.rs files. Direct usages of the API will need to be updated to handle the returned error type.
119
-
- RosMessageType trait now has associated constants for MD5SUM and DEFINITION to enable ROS1 native support. These constants are optional at this time with a default value of "" provided.
153
+
-`crawl` function in `roslibrust_codegen` updated to a more flexible API
154
+
- Overhaul of error handling in roslibrust_codegen to bubble errors up, and remove use of panic! and unwrap(). Significantly better error messages should be produced from proc_macros and build.rs files. Direct usages of the API will need to be updated to handle the returned error type.
155
+
- RosMessageType trait now has associated constants for MD5SUM and DEFINITION to enable ROS1 native support. These constants are optional at this time with a default value of "" provided.
120
156
121
157
## 0.7.0 - March 13, 2022
122
158
123
159
### Added
124
160
125
-
- Support for default field values in ROS2 messages
126
-
- Added public APIs for getting message data from search and for generating Rust code given message data in roslibrust_codegen
127
-
- More useful logs available when running codegen
128
-
- Refactor some of the public APIs and types in roslibrust_codegen (concept of `ParsedMessageFile` vs `MessageFile`)
129
-
- Added a method `get_md5sum` to `MessageFile`
130
-
- Additional code generation API and macro which excludes `ROS_PACKAGE_PATH`
161
+
- Support for default field values in ROS2 messages
162
+
- Added public APIs for getting message data from search and for generating Rust code given message data in roslibrust_codegen
163
+
- More useful logs available when running codegen
164
+
- Refactor some of the public APIs and types in roslibrust_codegen (concept of `ParsedMessageFile` vs `MessageFile`)
165
+
- Added a method `get_md5sum` to `MessageFile`
166
+
- Additional code generation API and macro which excludes `ROS_PACKAGE_PATH`
0 commit comments