This page lists changes that are made in the 1.2.x series of ROS (C Turtle).
For future plans, see the roadmap. See also ROS/ReleaseProcess.
Contents
1.2.7 (forthcoming)
1.2.6 (2011-04-13)
Fixed missing import in rospy.impl.tcpros_pubsub #3336
patch from timn to add retry logic to requestTopic #3337
make variable patch for test_rosbag and test_rosbagmigration from rene #3328
make variable patch for wxswig from rene #3326
patch for squeeze boost rosdep from willylambert #3329
fixed use of undeclared DEBUG in roslib.xmlrpc
1.2.5 (2011-02-12)
roslib.xmlrpc: more robust to signal shutdown issues that can cause rospy node shutdown (r12843).
- better error message on invalid package. (r11980)
bug fix for using 'if' with remap tag inside of a node tag (r12332)
bug fix for boundary conditions on message migration of moved messages #3033
fixed naming conflict with X11 #3205
relax strictness of topic name filter in Python API #3057
fix for rosbag play --loop resetting pause state when stepping past end of bag #3031
added missing Bag iterator to Python API #3058
roscreate: Bug fix for roscreate-stack --show-deps (r12666).
roswtf: don't warn about stack depends on ros or ros_comm, which are often implicit (r12695).
rosdep Patched to not crash on empty rosdep.yaml files #2762
1.2.4 (2010-10-25)
- Don't access md5 sum in header when handling a service probe
Fix valgrind errors when subscribers reconnect (r11356, #3047)
- bug fix for hang when computing dependencies of packages when they are circular
Bug fix for find_node() to find read-only files (r11736, #3085)
bug fix for subscriber-side latching #3053
bug fix for message md5sums when field name collides with Python keyword (r11725, r11727, #2990)
squelch I/O-related exceptions in topics when shutdown has occurred #2673
- teardown code now uses XML-RPC multicall for faster teardown (r11753)
cleanup of cleanup code to get rid of exceptions. (r11753, #3096)
1.2.3 (2010-09-28)
rospack: bug fix to logic for adding msg_gen and msg_srv include search paths #3018
- Only create markers for files, not for modules and systems (r11023)
- Disable compilation of asdf files when ROS_DEBBUILD is set (r11033)
- Changed the specialization of asdf:perform on cl-source-files again (r11034)
- Fedora rosdep updates from Severin Lemaignan (paramiko, ncurses, epydoc)
mk and rosbuild have been changed to make use of a custom source packager, which now preserves symlinks when creating our distribution tarballs (r10987,r11028).
wxswig now uses rospack to find swiglib #3021
1.2.2 (2010-09-27)
rosservice: bug fix to allow 'auto' and 'now' keywords with rosservice call #2996
bug fix to roslib.packages.list_pkgs_by_path() where the path is relative and points directly to a package.
- add mutex to prevent concurrent access to non-thread-safe rospack library.
roslaunch: changed pmon loop to 10hz to perform better on embedded systems (thanks Cedric Pradalier)
fixed bugs in rosbag info for compressed bags with a single message; --yaml option with multiple connections on a topic
fixed bugs in rosbag record for unnamed bags; buffer size
fixed bug in rosbag reindex for some pre-Boxturtle bags
- fixed bug with invalid file names in asd files
fixed bug in make-roslisp-exec causing an undefined package
added unsubscribe function #2898
rosmsg: fix error message for rosmsg show with period in message type
roscpp: Removed excessive debug statement accidentally left in the UDP transport (#2962, r10729)
rosmaster: got rid of DeprecationWarning for use of BaseException.message (r11176)
rospy: fixed unregister() call when there is no Subscriber callback (#3029, r11261)
rosservice: better error message for rosservice call (#3002, r11263)
1.2.1 (2010-07-30)
rospy: bug fix to __get/setstate__ when using rospy.Time and Duration objects with copy.
topic_tools/mux: fix several bugs in input topic addition and deletion #2863
rosrecord: fix missing imports in rosrebag and add deprecation warning
1.2.0 (2010-07-28)
ROS architecture and client library updates
Both client libraries now only connect to /clock if /use_sim_time is set
Removed support for deprecated /time topic
Subscribers now set topic types on the Master
roscpp: Please see the roscpp 1.2 changelist
- Python messages are now pickle-able.
- Major performance improvements to message serialization.
Master is now in a separate rosmaster package and the zenmaster process has been renamed to rosmaster
added ServiceProxy.wait_for_service()
roslisp has now been moved into the ROS stack. roslisp is a full-featured Common Lisp client library for ROS. To avoid a dependency on the sbcl compiler from the ros stack, there is a dummy package roslisp_runtime in the roslisp_support stack. Packages that use roslisp should declare a dependency on the roslisp_runtime package in their manifest. This will cause sbcl to get downloaded and built into the sbcl package. Examples of use are now in the roslisp_tutorials package in the ros_tutorials stack.
rosnode info now works for roslisp nodes.
- Message objects are now immutable.
- Debug output can be set with ros parameters, and reset during execution with a service.
- Compilation of .lisp files now happens during build.
std_msgs: std_msgs/Time and std_msgs/Duration added
Graph tools
New <arg> tag, if/unless attributes, and $(arg) features.
default cwd for nodes is now ROS_HOME. Use of ros-root option is now deprecated. This change was made to prevent issues with core files being generated by nodes.
added deprecated attribute for <launch> tags
rostopic/rosservice: improved YAML compatibility of output to support YAML-encoded storage of messages.
rosservice: --wait option for call command to wait until service is available
rxgraph: New GUI front end based on Jon Bohren's smach_viewer
xdot: new package to contain xdot.py, by Jose Fonseca, plus Jon Bohren's wx wrapper for it.
rostest: added --bare options for running bare, non-node executables with a time limit.
New C++ and Python iterator-based API's for reading and writing bag files.
A major revision to the bag format including (optional) compression.
- Appending, and simultaneous reading and writing of bag files now supported.
New commands: compress, decompress, and reindex.
rosbag info shows more detailed statistics, and uses index rather than reading entire bag.
Added -e and --exclude options for rosbag record to record topics using regular expressions #2487.
Added --loop option to rosbag play for looping playback #2706
Added --output-dir option to specify output directory for compress, decompress and reindex commands
Rendering back-end upgraded to Cairo.
Added support for viewing multiple bags #2160
Added support for playing back all messages #2532
Added publishing support #2067
Added --record option for recording bags
Added -s option to start playhead at a specified time #2736
Added support for exporting an interval of messages to a bag #2655
- Added support for selecting regions on the timeline
- Added keyboard control
- Various user interface enhancements, e.g. scroll bar, status bar, state indicators, tooltips
Build tools
A new status bar at the bottom with the current build status and build times summarized. The option --status-rate=STATUS_UPDATE_RATE can be set to 0 to suppress this in an non interactive build.
- exposed bootstrap build errors to console
- Fixed handling of rosdep return codes
lucid rosdep.yaml targets added
- improved gentoo and freebsd support
- Completely rewritten
Now searches for system-installed versions of boost and uses the highest one unless ROS_BOOST_VERSION is set
No longer assumes -lboost_<library>-mt for system installs, and will error if it can't find a specific library.
ROS_BOOST_ROOT is now just an extra search path, force a specific version with ROS_BOOST_VERSION
New commands: --version and --print_versions. The first prints the version it will use, the second prints all versions it finds.
New environment variable: ROS_BOOST_NO_L_OR_I for preventing -L, -Wl,-rpath, and -I flags from being output if the version from ROS_BOOST_ROOT is used
/opt/ros is no longer a "special" location. If you have boost installed in /opt/ros you'll need to set CPATH, LIBRARY_PATH and LD_LIBRARY_PATH like you would with any other non-default include/lib location
rospack: The ROS_BINDEPS_PATH environment variable has been removed
Filesystem tools
rosmsg: new show -b BAGFILE option to show a message as defined in a bag file. #2666
roslocate: support for stacks (thanks Steven Bellens)
Support Libraries
Added _ONCE, _THROTTLE and _FILTER versions of the macros
Added ROSCONSOLE_FORMAT environment variable. Format is in the form of [${severity}] [${time}] [${thread}] [${logger}] [${file}:${line}:${function}]: ${message}
Refactored ros/console.h header so that it does not need to include log4cxx/logger.h. If you use log4cxx directly in your code please make sure you're including log4cxx/logger.h yourself, as that include will be removed in a future release
[C++] New Chain filter, see http://www.ros.org/wiki/message_filters#Chain
[C++] New policy-based Synchronizer filter, see http://www.ros.org/wiki/message_filters#Synchronizer
[C++] TimeSynchronizer: New drop callback that gets called whenever a set of messages are dropped
- roslaunch mode
- background tracking of nodes
ros-rgrep and ros-find-dired for searching in ros packages
slime-ros for roslisp integration
- nxml support for editing launch and manifest files






