Happy World Turtle Day! Today the ROS 2 Release Team is happy to announce the tenth release of ROS 2: Jazzy Jalisco (codenamed jazzy).
In addition to the official logo shared previously, we also have a new Jazzy Jalisco turtlesim icon.
Jazzy Jalisco is a long term support (LTS) release that will be supported until May 2029. The distribution is primarily supported on the following platforms:
Tier 1 platforms:
- Ubuntu 24.04 (Noble): amd64 and arm64
- Windows 10 (Visual Studio 2019): amd64
Tier 2 platforms:
- RHEL 9: amd64
Tier 3 platforms:
- macOS: amd64
- Debian Bookworm: amd64
For more information about RMW implementations, compiler/interpreter versions, and system dependency versions see REP 2000.
If you are new to ROS, we recommend trying Jazzy Jalisco on a Tier 1 supported platform. Check the installation instructions and tutorials on docs.ros.org, and give Jazzy a spin! Should you run into any difficulties, please ask a question on ROS Stack Exchange. Also, a quick reminder, our Jazzy T-shirt and swag campaign is still live! You can still grab all the cool merch if you want to support the release. All proceeds help support the Open Source Robotics Foundation (OSRF).
New Features and Enhancements
Jazzy Jalisco is feature packed and full of improvements! If you want the gritty details feel free to peruse the release notes and changelog for core ROS 2 packages. Weâve summarized a few new features weâll think youâll love below:
Easier Gazebo Integration
Even though the OSRF maintains the Gazebo simulator, weâve always strived to keep ROS simulator agnostic. No simulator is perfect, and we want ROS users to choose the simulator that works best for their particular application. However, usability, education, and âbatteries includedâ also matter! Many of the newer members of our community, particularly students, struggled with getting ROS and Gazebo to work well together. Starting with Jazzy weâre trying to improve the usability of Gazebo with ROS while still giving users the option to use their favorite simulator. To do this weâve started recommending a particular Gazebo release for each ROS release. For Jazzy Jalisco, the recommended Gazebo release is Gazebo Harmonic. From now on, for each recommended Gazebo release, weâll distribute Gazebo vendor packages that users can easily install so they can get started quickly! You can find a full list of our Gazebo vendor packages, and instructions on how to use them here.
ROS Command Line Interface Improvements
The ROS 2 command line sports a handful of new features that should make your life easier! Here are a couple of highlights:
- Pick your own log file names! Just add
--log-file-name
to set a custom log file for aros2 run
command. - Set your own Quality of Service when calculating topic statistics.
- Calls to
ros2 service info
now report the number of connected clients. - Actions now report their type information â i.e.
ros2 action type \action_name
returns the action type.
ROSBag Improvements
ROS services play a critical role in any ROS system, as most developers use services as the building blocks for more complex behaviors or as the user-facing API for a robot. Making a robot perform a behavior is often as simple as calling a quick service request. On the other hand ROSBags on the are often used by ROS developers much like an airplaneâs âblack box,â with ROSBag data often being used to analyze and debug failure modes. Unfortunately, in all previous ROS 2 releases, ROSBag files could not log service calls, making it difficult to understand the series of service calls that led to a particular failure mode. Jazzy fixes this oversight by adding the ability to log and replay service calls directly to a ROSBag file!
Another useful feature weâve added to ROSBags in Jazzy is the ability to selectively record topics by type. Letâs say you wanted to record all of the image topics for every one of the five cameras on your autonomous car. Prior to Jazzy you would need to enumerate every image topic on your robot to make that happen. Now you can simply tell ROSBag to log all messages of type sensor_msgs/msg/Image
and ROSBag will take care of the rest! But wait, there is more! You can also exclude particular message types too! This is particularly useful if you want to keep your ROSBags lean so you can quickly share them with colleagues.
RViz2
RViz2, the built-in ROS 2 visualization tool, comes with a suite of new features that improve RVizâs overall usability and help filter out unnecessary information. Briefly weâve added the following features:
- Regex-based filters for TF â you can now show and hide transforms based on their name.
- Topic frequency in status bar â all topics now automatically report their frequency in Hz!
- Reset time via keyboard â You can now reset your simulation time by pressing âR.â
- Visualize point_cloud_transport â You can now subscribe to point_cloud_transport topics
- ROS 1 Feature Parity for DepthCloud, AccelStamped, TwistStamped, WrenchStamped and Effort message types.
- Display Camera Info in RVIZ â want exposure info? Youâve got it.
Miscellaneous Improvements of Note
Across the project there were a bunch of small improvements that should make life easier for ROS developers. Many of these improvements came from community members trying to make everyoneâs lives just a little bit easier!
- ROS Perception â a whole host of improvements are now available for image transport including: lazy subscribers, QoS settings, parameter to disable plugins at run-time, and much more!
- We added QoS settings introspection to Python.
- We added human readable dates to logging output.
- We added names to polygon messages so they are easier to identify.
- We added a twist message interpolator for more precise twist lookups from TF.
- ROS Timers can now return actual and expected times for callbacks.
A Community Effort
ROS 2 is truly a community effort, and this could not have been better exemplified by our public beta testing 3 of Jazzy Jalisco over the past few weeks. Almost 400 test cases were put through the ringer with several improvements identified along the way. It really helped âhardenâ the Jazzy distribution. The release team would like to extend a heartfelt thank you to all testers. For our top twenty testers you should get an e-mail in your inbox with a swag coupon code sometime later next week. A full list of our testers and the number of issues they tested:
See list of testers
pradyum: 115
mikaelarguedas: 52
fujitatomoya: 51
ganatrask: 32
jasmeet0915: 21
knmcguire: 20
samuel-ongzx: 18
slowrunner: 17
jmackay2: 15
clalancette: 9
Trushant-Adeshara-UM: 9
Kartik9250: 9
ottojo: 6
Benjamin-Tan: 6
hwoithe: 5
wep21: 4
clemefr: 4
Nikhil-Singhal-06: 4
Barry-Xu-2018: 4
iam-shanmukha: 3
Tacha-S: 3
Ayush1285: 3
MGupta28: 2
srsaito: 1
prototriangle: 1
msadowski: 1
mdxtinkernick: 1
jaspreet491: 1
ahcorde: 1
Thanks to the 211 contributors who contributed to this release through code changes, documentation, and testing.
See full list of contributors
Adam Aposhian
Addisu Z. Taddese
Aditya Pande
AiVerisimilitude
Alberto Soragna
Alejandro HernĂĄndez Cordero
Aleksander SzymaĆski
Alex Moriarty
Alexey Merzlyakov
Alexis Paques
Ali Ashkani Nia
Andrea Sorbini
Andrew Symington
AndyZe
Anton Kesy
Antonio Cuadros
Arne B
Arne Hitzmann
AsawareeBhide
Austin Moore
Barry Xu
Bence Magyar
Benjamin-Tan
Bernd Pfrommer
Boris Boutillier
Breno Cabral
Brian
Carlos AndrĂ©s Ălvarez Restrepo
Chen Lihui
Chris Lalancette
Christian Henkel
Christian Ruf
Christoph Fröhlich
Christophe Bedard
Christopher Wecht
Cliff Wu
Corey Quinn
Cristian Chitiva
CristĂłbal Arroyo
Daisuke Nishimatsu
David Dorf
David V. Lu!!
David Yackzan
DensoADAS
Devarsi Rawal
Eetu Silvennoinen
Eloy Briceno
Emerson Knapp
Enrico Sutera
Eric W
Erich L Foster
EsipovPA
Fangjun Kuang
Felipe Gomes de Melo
Felix Divo
Felix Exner (fexner)
Felix F Xu
Felix Penzlin
Francesco Fallica
Francisco MartĂn Rico
G.A. vd. Hoorn
GauravKumar9920
George Broughton
Giorgio Pintaudi
Guillaume Doisy
Guiseppe Rizzi
Gökçe Aydos
Hans-Joachim Krauch
Henning Kayser
Homalozoa X
HuaTsai
Hunter L. Allen
Hyunseok
Ignacio Vizzo
IkerLuengo
Isaac Saito
Isabel Paredes
Ivan Perez
Jasmeet Singh
Jason OâKane
Jeffery Hsu
JesĂșs Poderoso
Jiaqi Li
Jonas Otto
Jordan Palacios
Jorge Perez
KKSTB
Katherine Scott
Kaju-Bubanja
Kenji Brameld
Kenta Yonekura
Kimberly McGuire
Kotaro Yoshimoto
Laurenz
Lee
Lewe Christiansen
Lloyd Pearson
Lou Amadio
Luca Della Vedova
Lucas Walter
Lucas Wendland
M. Fatih Cırıt
M. HofstÀtter
Manuel Roglan
Marc Bestmann
Marco A. Gutierrez
Markus Bader
Matt Condino
Matthew Elwin
Matthew Foran
Matthias Schoepfer
Matthijs van der Burgh
Michael Carlstrom
Michael Carroll
Michael Ferguson
Michael Jeronimo
Michael Orlov
Michael Razum
Michal Sojka
Miguel Company
Mikael Arguedas
Mike Purvis
Minju
Morgan Quigley
Muhammad Ashfaq
Murilo M Marinho
Nathan Wiebe Neufeldt
Nick Lamprianidis
Nick Morales
Oren Bell
OTL
Patrick Roncagliolo
Paul Erik Frivold
Paul Gesel
Peter Favrholdt
PhDittmann
Pradyum Aadith
PrzemysĆaw DÄ
browski
Pururva Lakkad
Quentin Quadrat
Quinn1876
RDxR10
Ricardo de Azambuja
Robert Brothers
RobertoRoos
Roderick Taylor
Romain Lebbadi-Breteau
Roman Sokolkov
Ruddick Lawrence
Russ
Ryan
Sai Kishor Kothakota
Santti4go
Scott K Logan
Shane Loretz
Silvio Traversaro
Simon Jones
SnIcK
Stefan Fabian
Steve Macenski
Steve Peters
Thiemo Kohrt
Tim Clephas
Timo Röhling
Timon Engelke
Tom Noble
Tomoya Fujita
Tony Najjar
Tully Foote
Tyler Weaver
Victor Lee
Vincent Richard
Vladimir Fokow
Vladimir Ivan
William Woodall
Yadunund
Yannis Gerlach
Yasushi SHOJI
Yaswanth
Zac Stanton
Zard-C
akssri-sony
brettpac
carlossvg
contradict
dcconner
florcabral
followthwhiterabbit
hu-po
jhdcs
h-suzuki-isp
jmachowinski
jmackay2
jrutgeer
matl-hsk
mauropasse
mawo0030
methylDragon
mhidalgo-bdai
mosfet80
rkeating-planted
s-hall
songyuc
tixel
uupks
vineet131
wojciechmadry
ygoumaz
ymd-stella
Ăystein Sture
ROS wouldnât exist if it werenât for all of our wonderful package maintainers. Weâve asked all of the package maintainers who plan to have their code ready for release today, or soon, to prepare âJazzy jivesâ. In the comments below theyâll be posting brief updates about all of the new features they are bringing to Jazzy for their packages.
Preview: Zenoh RMW!
While it is not technically a part of this release, we also want to say a few words about Zenoh. Back in September, we said that we would be working on a new ROS middleware (RMW) that integrates Zenoh with ROS 2 (please see that post for lots of details on why we made this choice). Weâve made steady progress on it, and rmw_zenoh is now feature complete. However, it is still a preview because there are some known bugs in it, and we arenât quite ready to commit to it for the long term. Rest assured that weâll be continuing to work on and improve it in the coming year.
To use this new RMW you will need to compile it from source. Since this is a preview feature we want to hear about your experiences, particularly for larger ROS deployments with heavy networking needs. For more information on how to use it, please see the README in GitHub - ros2/rmw_zenoh: RMW for ROS 2 using Zenoh as the middleware.
Finally, weâd like to announce the name of the next ROS 2 release for May 2025: