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.

1.2.2 (forthcoming)

  • rosservice: bug fix to allow 'auto' and 'now' keywords with rosservice call #2996

  • roslib:

    • 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 #2942

  • rosbag:

    • fixed bug in rosbag info --yaml 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

  • roslisp:

    • 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)

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 #2812

  • 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

  • rospy:

    • 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:

    • 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

  • roslaunch:

    • 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.

  • rostopic:

    • new --filter option for rostopic hz #694

    • new -n option for rostopic echo to echo a specific number of messages and quit #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

  • rostest: added --bare options for running bare, non-node executables with a time limit.

  • rosbag:

    • 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

  • rxbag:

    • 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

  • rosmake

    • 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
  • rosdep

    • lucid rosdep.yaml targets added

    • improved gentoo and freebsd support
  • rosboost_cfg

    • 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

  • rosdoc:

    • added support for INCLUDE_PATH (thanks snorri) #2748

    • added exclude_patterns for Doxygen config #2747

  • roslocate: support for stacks (thanks Steven Bellens)

Support Libraries

  • rosconsole

    • 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

  • message_filters

  • rosemacs

    • 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

Bug fixes since last 1.1 release

  • rosmake: Aesthetic cleanup #2870

  • rxgraph: logging verbosity lowered to INFO

  • rospy: Default log level is now rospy.INFO for logging to file, and log_level param in init_node constructor now controls this log file verbosity in addition to /rosout.

Wiki: ROS/ChangeList/1.2 (last edited 2010-09-07 21:26:24 by KenConley)