You're reading the documentation for a version of ROS 2 that has reached its EOL (end-of-life), and is no longer officially supported. If you want up-to-date information, please have a look at Iron.
ROS 2 Iron Irwini (codename ‘iron’; May, 2023)
Table of Contents
Iron Irwini is the ninth release of ROS 2. What follows is highlights of the important changes and features in Iron Irwini since the last release.
Iron Irwini is primarily supported on the following platforms:
Tier 1 platforms:
Tier 2 platforms:
Tier 3 platforms:
For more information about RMW implementations, compiler / interpreter versions, and system dependency versions see REP 2000.
now as keyword for
ros2 topic pub now allows to set a
builtin_interfaces.msg.Time message to the current time via the
std_msg.msg.Header message will be automatically generated when passed the keyword
This behavior matches that of ROS 1’s
Related PR: ros2/ros2cli#749
Renamed classes which used
Ros in the name to use
ROS in line with PEP8
Classes that were changed:
The old class names are still there, but will be deprecated.
This specifically applies to the default
spdlog based logging backend in ROS 2, implemented in
Log file flushing was changed to flush every time an “error” log message is used, e.g. each
RCLCPP_ERROR() call, and also periodically every five seconds.
spdlog was used without configuring anything other than creating the sink for logging to a file.
We tested the change and did not find that the CPU overhead was significant, even on machines with slow disks (e.g. sd cards).
However, if this change is causing you problems, you can get the old behavior by setting the
RCL_LOGGING_SPDLOG_EXPERIMENTAL_OLD_FLUSHING_BEHAVIOR=1 environment variable.
Later we would like to have support for a full configuration file (see: https://github.com/ros2/rcl_logging/issues/92), giving you more flexibility in how the logging is done, but that is work that is only planned right now.
Therefore, this environment variable should be considered experimental and subject to removal without deprecation in the future, when we add config file support for the
See this pull request for more details about the change: https://github.com/ros2/rcl_logging/pull/95
- November, 2022 - Platform decisions
REP 2000 is updated with the target platforms and major dependency versions.
- By January, 2023 - Rolling platform shift
Build farm is updated with the new platform versions and dependency versions for Iron Irwini (if necessary).
- Mon. April 10, 2023 - Alpha + RMW freeze
Preliminary testing and stabilization of ROS Base 1 packages, and API and feature freeze for RMW provider packages.
- Mon. April 17, 2023 - Freeze
API and feature freeze for ROS Base 1 packages in Rolling Ridley. Only bug fix releases should be made after this point. New packages can be released independently.
- Mon. April 24, 2023 - Branch
Branch from Rolling Ridley.
rosdistrois reopened for Rolling PRs for ROS Base 1 packages. Iron development shifts from
- Mon. May 1, 2023 - Beta
Updated releases of ROS Desktop 2 packages available. Call for general testing.
- Mon. May 15, 2023 - Release Candidate
Release Candidate packages are built. Updated releases of ROS Desktop 2 packages available.
- Thu. May 18, 2023 - Distro Freeze
Freeze rosdistro. No PRs for Iron on the
rosdistrorepo will be merged (reopens after the release announcement).
- Tue. May 23, 2023 - General Availability
rosdistrois reopened for Iron PRs.
For progress on the development and release of Iron Irwini, see the tracking GitHub issue.
For the broad process followed by Iron Irwini, see the process description page.