This page lists changes that are made in the 1.2.x series of ROS (C Turtle).
See also ROS/ReleaseProcess.
Contents
1.2.7 (forthcoming)
rospack: fix uninitialized variable <<Ticket(ros 3488)>>
1.2.6 (2011-04-13)
Fixed missing import in rospy.impl.tcpros_pubsub <<Ticket(ros 3336)>>
patch from timn to add retry logic to requestTopic <<Ticket(ros 3337)>>
make variable patch for test_rosbag and test_rosbagmigration from rene <<Ticket(ros 3328)>>
make variable patch for wxswig from rene <<Ticket(ros 3326)>>
patch for squeeze boost rosdep from willylambert <<Ticket(ros 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).
bug fix for resolving ~/name properly. <<Ticket(ros 3044)>>
bug fix for race condition with sleep when simulated time is active. <<Ticket(ros 3123)>>
- 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 <<Ticket(ros 3033)>>
fixed naming conflict with X11 <<Ticket(ros 3205)>>
relax strictness of topic name filter in Python API <<Ticket(ros 3057)>>
fix for rosbag play --loop resetting pause state when stepping past end of bag <<Ticket(ros 3031)>>
added missing Bag iterator to Python API <<Ticket(ros 3058)>>
rxtools: bug fix for rxplot use in roslaunch <<Ticket(ros 3163)>>
rosmsg: FreeBSD support for rosmsg users <<Ticket(ros 3172)>>
fixed bug in which a package containing a rospack_nosubdirs file wasn't found <<Ticket(ros 3191)>>.
fixed bug in which a package containing a rospack_nosubdirs file wasn't found <<Ticket(ros 3191)>>.
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).
Patch for load average control <<Ticket(ros 2920)>>
Remove errant tab character <<Ticket(ros 3295)>>
rosdep Patched to not crash on empty rosdep.yaml files <<Ticket(ros 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, <<Ticket(ros,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, <<Ticket(ros 3085)>>)
bug fix for subscriber-side latching <<Ticket(ros 3053)>>
bug fix for message md5sums when field name collides with Python keyword (r11725, r11727, <<Ticket(ros 2990)>>)
squelch I/O-related exceptions in topics when shutdown has occurred <<Ticket(ros 2673)>>
- teardown code now uses XML-RPC multicall for faster teardown (r11753)
cleanup of cleanup code to get rid of exceptions. (r11753, <<Ticket(ros 3096)>>)
enabled PyDev project suppport for Eclipse <<Ticket(ros 3049)>>
fixed bug that was affecting builds in heavily symlinked environments <<Ticket(ros 3064)>>
don't check log usage on remote machines (r11675, <<Ticket(ros 3088)>>)
better cleanup when server startup fails (r11711, <<Ticket(ros 2914)>>)
1.2.3 (2010-09-28)
rospack: bug fix to logic for adding msg_gen and msg_srv include search paths <<Ticket(ros 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 <<Ticket(ros 3021)>>
1.2.2 (2010-09-27)
rosservice: bug fix to allow 'auto' and 'now' keywords with rosservice call <<Ticket(ros 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)
rosmake: Suppress stack trace on --help option <<Ticket(ros 2942)>>
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 <<Ticket(ros 2898)>>
rosmsg: fix error message for rosmsg show with period in message type
roscpp: Removed excessive debug statement accidentally left in the UDP transport (<<Ticket(ros,2962)>>, r10729)
rosmaster: got rid of DeprecationWarning for use of BaseException.message (r11176)
rospy: fixed unregister() call when there is no Subscriber callback (<<Ticket(ros 3029)>>, r11261)
rosservice: better error message for rosservice call (<<Ticket(ros 3002)>>, r11263)
1.2.1 (2010-07-30)
rospy: bug fix to __get/setstate__ when using rospy.Time and Duration objects with copy.
rospack: auto-create parent directory for cache file <<Ticket(ros 2812)>>
topic_tools/mux: fix several bugs in input topic addition and deletion <<Ticket(ros 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.
new --filter option for rostopic hz <<Ticket(ros 694)>>
new -n option for rostopic echo to echo a specific number of messages and quit <<Ticket(ros 2263)>>
- internal reorganization to support rxgraph changes.
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 <<Ticket(ros 2487)>>.
Added --loop option to rosbag play for looping playback <<Ticket(ros 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 <<Ticket(ros 2160)>>
Added support for playing back all messages <<Ticket(ros 2532)>>
Added publishing support <<Ticket(ros 2067)>>
Added --record option for recording bags
Added -s option to start playhead at a specified time <<Ticket(ros 2736)>>
Added support for exporting an interval of messages to a bag <<Ticket(ros 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. <<Ticket(ros 2666)>>
added support for INCLUDE_PATH (thanks snorri) <<Ticket(ros 2748)>>
added exclude_patterns for Doxygen config <<Ticket(ros 2747)>>
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://wiki/message_filters#Chain
[C++] New policy-based Synchronizer filter, see http://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