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.
Added
Changed
Fixed
Deprecated
Removed
Added
- Added ROS 2 action client support.
- Added
wait_goalmethod toActionClientto block until a goal reaches a terminal state. - Moved
actionlibmodule toroslibpy.ros1namespace.
Changed
Fixed
- Fixed KeyError in ROS 2 ActionClient when receiving action results with different message formats from rosbridge.
Deprecated
Removed
Added
Changed
Fixed
- Fixed ROS connection issue on IronPython.
Deprecated
Removed
Added
- Added websocket header support to the ROS-client.
Changed
Fixed
Deprecated
Removed
Added
- Added a ROS 2 compatible header class in
roslibpy.ros2.Header.
Changed
Fixed
Deprecated
Removed
Added
- Added authentication functionality described in [rosauth](http://wiki.ros.org/rosauth).
Changed
Fixed
Deprecated
Removed
Added
- Added a wait event to close on IronPython to ensure the close request is sent before returning.
Changed
Fixed
- Fixed reconnection behavior on IronPython which would trigger reconnects even after a manual disconnect.
Deprecated
Removed
Added
Changed
- Added
tlsto the twisted requirement (#111).
Fixed
Deprecated
Removed
Added
Changed
Fixed
- Fixed bug with action client/server and now they work as expected.
- Fixed Python 2.7 incompatibilities introduced in 1.4.0.
Deprecated
Removed
Added
Changed
- Switched to
blackfor python code formatting. - Fix incompatible settings between
blackandflake8. - Updated Github Actions workflows to remove python 3.6 builds.
- Replaced occurrences of
raise Exceptionwith more specificExceptionsubclasses.
Fixed
Deprecated
Removed
Added
- Added function to set the default timeout value.
- Added ROS host and port parameters to the command-line interface.
Fixed
- Fixed #87 where a goal could be marked as terminal on result alone rather than both result and status.
- Ensure input of
Timeis always two integers.
Added
Changed
Fixed
- Fixed blocking issues on the Twisted/Autobahn-based implementation of websockets.
Deprecated
Removed
Changed
- Changed behavior: Advertising services automatically reconnect when websockets is reconnected.
- References to ROS master change to ROS.
Added
- Added
HeaderandTimedata types. - Added ROS API method to retrieve current ROS time:
ros.get_time.
Added
- Added
set_initial_delay,set_max_delayandset_max_retriestoRosBridgeClientFactoryto control reconnection parameters. - Added
closingevent toRosclass that gets triggered right before closing the connection.
Changed
- Changed behavior: Topics automatically reconnect when websockets is reconnected.
Added
- Added blocking behavior to more ROS API methods:
ros.get_nodesandros.get_node_details. - Added reconnection support to IronPython implementation of websockets.
- Added automatic topic reconnection support for both subscribers and publishers.
Fixed
- Fixed reconnection issues on the Twisted/Autobahn-based implementation of websockets.
Fixed
- Fixed blocking service calls for Mac OS.
Changed
- The non-blocking event loop runner
run()now defaults to 10 seconds timeout before raising an exception.
Added
- Added blocking behavior to ROS API methods, e.g.
ros.get_topics. - Added command-line mode to ROS API, e.g.
roslibpy topic list. - Added blocking behavior to the
Paramclass. - Added parameter manipulation methods to
Rosclass:get_param,set_param,delete_param.
Changed
- For consistency,
timeoutparameter ofGoal.send()is now expressed in seconds, instead of milliseconds.
Deprecated
- The
timeoutparameter ofActionClient()is ignored in favor of blocking until the connection is established.
Fixed
- Raise exceptions when timeouts expire on ROS connection or service calls.
Added
- Support for calling a function in a thread from the Ros client.
- Added implementation of a Simple Action Server.
Changed
- The non-blocking event loop runner now waits for the connection to be established in order to minimize the need for
on_readyhandlers.
Added
- Support blocking and non-blocking service calls.
Fixed
- Fixed an internal unsubscribing issue.
Fixed
- Resolve reconnection issues.
Added
- Add a non-blocking event loop runner.
Changed
- Unsubscribing from a listener no longer requires the original callback to be passed.
Fixed
- Fix JSON serialization error on TF Client (on Python 3.x).
Added
- Add support for IronPython 2.7.
Changed
- Handler
on_readynow defaults to run the callback in thread.
Deprecated
- Rename
run_event_loopto the more fittingrun_forever.
Fixed
- Minimal documentation fixes.
Added
- Initial version.