ROS 0.5.1 has been released, which is a minor update to our ROS 0.5 release. This release includes enhancements to roscpp, such as timer callbacks, that build upon the recently releaased Node Handle API. There have also been changes to roslaunch that group together log files from the same launch as well as changes to rospy to prepare for upcoming changes to "bag" files. Release notes are below, or you can view the full list of changes.
- roslaunch: changed location of log files so that logs from the same launch are collected together in the same directory. This makes it easier to find results of a run and prevents log filename recycling.
- Timer callbacks allow you to receive a callback at a specified rate. See the "timers" tutorial in the roscpp_tutorials package.
- Transport hints let you specify TCP_NODELAY per subscription.
- All nodes now advertise "~get_loggers" and "~set_logger_level" services, which can be called through the rosservice tool.
- Publish calls should no longer take a large amount of time (spikes up to 100ms were seen).
- Subscriptions created through the NodeHandle API can no longer block the ROS thread. Queue size should now behave properly.
- Added Publisher::getNumSubscribers() call
- refactored much of the genmsg_py code to add dynamic message generators, fix handling of uint8 types, fix handling of string constants, and add more tests.
- bug fix to rospy.myargv() handling
get_time/get_rostime now throw an exception if init_node has not been called
- rxtools: New rxloggerlevel tool which lets you change the logger levels of roscpp nodes while they are running
- rostopic: rostopic hz now prints "no new messages" if no new messages have been received since last print
- rosmsg: rosmsg show now properly includes constants
- profile output marks directories that contain no manifest
- recover from bad cache location of a package
- rosbuild: recover from bad cache location of rospack
- rosrecord: rosplay now complains clearly and exits if asked to play a non-existent .bag file