From c79e3a5a8665cdf4f8a2e4b224c3e2b69d72f388 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Thu, 28 Aug 2025 17:18:51 -0500 Subject: [PATCH 01/10] Add Jetty release notes draft Signed-off-by: Addisu Z. Taddese Generated-by: Ollama 0.11.6 with the gemma3:27b model. --- _static/css/gazebo.css | 4 ++ jetty/index.yaml | 3 ++ jetty/release_notes.md | 109 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+) create mode 100644 jetty/release_notes.md diff --git a/_static/css/gazebo.css b/_static/css/gazebo.css index 67e7fa3891..d84578adf4 100644 --- a/_static/css/gazebo.css +++ b/_static/css/gazebo.css @@ -148,3 +148,7 @@ button.btn.version-switcher__button { .gz-libs-cards .sd-card-text { display: inline; } + +#release-notes { + max-width: 72rem +} diff --git a/jetty/index.yaml b/jetty/index.yaml index 5f27763058..2a89798bea 100644 --- a/jetty/index.yaml +++ b/jetty/index.yaml @@ -15,6 +15,9 @@ # # c. "file:" The markdown file that contains the page's content. pages: + - name: release_notes + title: Release Notes + file: release_notes.md - name: install title: Install file: install.md diff --git a/jetty/release_notes.md b/jetty/release_notes.md new file mode 100644 index 0000000000..b2198f09a6 --- /dev/null +++ b/jetty/release_notes.md @@ -0,0 +1,109 @@ +{#release-notes} + +# Release Notes + +## Zenoh in gz-transport + +Gazebo now supports Zenoh as an alternative transport implementation, offering +improved discovery, interoperability, and performance. To enable Zenoh, set the +environment variable `export GZ_TRANSPORT_IMPLEMENTATION=zenoh`. This allows +Gazebo to leverage Zenoh's features and potentially integrate more seamlessly +with ROS 2 and other systems utilizing Zenoh. + +See the [tracking issue](https://github.com/gazebosim/gz-transport/issues/559) +and the implementation pull request + for more details. + +## Remove major version from package names + +We have refactored package naming to remove major version numbers, simplifying +dependency management and reducing maintenance overhead. This change impacts how +Gazebo packages are identified in CMake builds, package installations, and +import statements. + +See the +[tracking issue](https://github.com/gazebo-tooling/release-tools/issues/1244) +for more details. + +## Migrate from Qt5 to Qt6 + +With Qt5 reaching +[end of life](https://www.qt.io/blog/extended-security-maintenance-for-qt-5.15-begins-may-2025), +Gazebo has been migrated to Qt6. While there are no major changes to end-users +of the Gazebo GUI, `gz-gui` plugin authors will need to make changes to ensure +compatibility with Qt6. Make sure to check out the +[migration guide](https://gazebosim.org/api/gui/10/migration_qt6.html). + +See the [tracking issue](https://github.com/gazebosim/gz-gui/issues/586) and the +implementation pull requests and + for more details + +## Implement ROS standard simulation interfaces + +Gazebo now supports the standard ROS 2 +[simulation interfaces](https://github.com/ros-simulation/simulation_interfaces), +enabling seamless integration with ROS 2 ecosystems and providing access to +features for controlling and querying the simulation state. Documentation has +also been added to guide users on utilizing these new interfaces. + +See the [tracking issue](https://github.com/gazebosim/ros_gz/issues/732) and the +implementation pull requests and + for more details + +## Resolve auto inertia based on input mass + +Automatically computed inertial can now use the `mass` specified in the SDF file +and no longer requires setting the density of collision objects. When both mass +and density are set, Gazebo now correctly scales the auto-computed inertia based +on the specified mass, respecting the density ratios between collisions. + +See the [tracking issue](https://github.com/gazebosim/sdformat/issues/1482) and +the implementation pull request + for more details + +## Improve Gazebo APIs for Reinforcement Learning + +Several APIs have been improved to streamline reinforcement learning pipelines. +We have also added an example integration with StableBaselines3 for +reinforcement learning, enabling users to experiment with RL algorithms within +Gazebo. The example provides a starting point for developing and testing robotic +control policies. + +```{figure} https://github.com/user-attachments/assets/f30160a3-e04f-4ec1-aab4-111739b0d349 +:width: 400 +:alt: RL_with_gazebo_simple_example + +Example of doing Reinforcement Learning in Gazebo +``` + +See the [tracking issue](https://github.com/gazebosim/gz-sim/issues/2662) and +the implementation pull requests +and for more details + +## Standalone executables for the `gz` tool + +Previously, the `gz` tool, a Ruby-based CLI interface, offered subcommands by +loading shared libraries provided by each of the Gazebo libraries. This approach +had several downsides including difficulty with debugging with `gdb`, +portability issues when running on Windows or macOS. With the new approach each +of the libraries provide standalone executables that are spawn by the `gz` tool. +The standalone executables can be executed directly if desired, making it +significantly easier to run under `gdb`. Unlike loading shared libraries, +running executables is much more straightforward and does not have any of the +portability issues of the previous approach. + +See the [tracking issue](https://github.com/gazebosim/gz-tools/issues/7) and one +of the implementation pull requests + for more details + +## Parallel asset download + +This enhancement significantly improves Gazebo's startup time and responsiveness +when loading worlds with many assets. Assets are now downloaded in parallel, +allowing the GUI to remain interactive during the loading process and enabling +users to close the window if needed. + +See the [tracking issue](https://github.com/gazebosim/gz-sim/issues/1260) and +one of the implementation pull requests + for more details + From defe7b4e69ddfd846ae5a96115ab99cc0923703e Mon Sep 17 00:00:00 2001 From: Arjo Chakravarty Date: Sat, 30 Aug 2025 02:27:42 +0800 Subject: [PATCH 02/10] Update release notes with new features and enhancements (#612) - Adds details to the RL interfaces. - Adds new export occupancy grid system. Signed-off-by: Arjo Chakravarty --- jetty/release_notes.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/jetty/release_notes.md b/jetty/release_notes.md index b2198f09a6..7c76091476 100644 --- a/jetty/release_notes.md +++ b/jetty/release_notes.md @@ -64,8 +64,8 @@ the implementation pull request ## Improve Gazebo APIs for Reinforcement Learning Several APIs have been improved to streamline reinforcement learning pipelines. -We have also added an example integration with StableBaselines3 for -reinforcement learning, enabling users to experiment with RL algorithms within +We have also added an [example integration with StableBaselines3](https://github.com/gazebosim/gz-sim/tree/gz-sim10/examples/scripts/reinforcement_learning/simple_cart_pole) +for reinforcement learning, enabling users to experiment with RL algorithms within Gazebo. The example provides a starting point for developing and testing robotic control policies. @@ -107,3 +107,10 @@ See the [tracking issue](https://github.com/gazebosim/gz-sim/issues/1260) and one of the implementation pull requests for more details +## Occupancy Grid Export + +This enhancement adds a plugin that enables end users to directly export occupancy +grids for use with Nav2 or other mobile robotics software. + +See the pull request for more details. + From bd01c34f0b8f5e68a3353630c5dd9e8e75c12dbd Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Tue, 23 Sep 2025 16:05:31 -0500 Subject: [PATCH 03/10] Update jetty/release_notes.md Co-authored-by: Katherine Scott Signed-off-by: Addisu Z. Taddese --- jetty/release_notes.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jetty/release_notes.md b/jetty/release_notes.md index 7c76091476..62b62d3793 100644 --- a/jetty/release_notes.md +++ b/jetty/release_notes.md @@ -31,7 +31,8 @@ With Qt5 reaching [end of life](https://www.qt.io/blog/extended-security-maintenance-for-qt-5.15-begins-may-2025), Gazebo has been migrated to Qt6. While there are no major changes to end-users of the Gazebo GUI, `gz-gui` plugin authors will need to make changes to ensure -compatibility with Qt6. Make sure to check out the +compatibility with Qt6. Gazebo plugin maintainers should use our [migration guide](https://gazebosim.org/api/gui/10/migration_qt6.html) +to update their plugin to QT6. [migration guide](https://gazebosim.org/api/gui/10/migration_qt6.html). See the [tracking issue](https://github.com/gazebosim/gz-gui/issues/586) and the From 248a97ffb5eed85f17e60c8ca5efe3b2ec9bc4f6 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Tue, 23 Sep 2025 16:06:06 -0500 Subject: [PATCH 04/10] Update jetty/release_notes.md Co-authored-by: Katherine Scott Signed-off-by: Addisu Z. Taddese --- jetty/release_notes.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jetty/release_notes.md b/jetty/release_notes.md index 62b62d3793..90583b89a3 100644 --- a/jetty/release_notes.md +++ b/jetty/release_notes.md @@ -53,7 +53,8 @@ implementation pull requests and ## Resolve auto inertia based on input mass -Automatically computed inertial can now use the `mass` specified in the SDF file +Inertia parameters can now be automatically set based on an object's mass specified in an SDF file. This +eliminates the need to manually compute and set the density of collision objects. When both mass and no longer requires setting the density of collision objects. When both mass and density are set, Gazebo now correctly scales the auto-computed inertia based on the specified mass, respecting the density ratios between collisions. From 1bcb5421f119d9fe67e06282e232c926bdd15293 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Tue, 23 Sep 2025 16:06:23 -0500 Subject: [PATCH 05/10] Update jetty/release_notes.md Co-authored-by: Katherine Scott Signed-off-by: Addisu Z. Taddese --- jetty/release_notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jetty/release_notes.md b/jetty/release_notes.md index 90583b89a3..f5b09c3b12 100644 --- a/jetty/release_notes.md +++ b/jetty/release_notes.md @@ -66,7 +66,7 @@ the implementation pull request ## Improve Gazebo APIs for Reinforcement Learning Several APIs have been improved to streamline reinforcement learning pipelines. -We have also added an [example integration with StableBaselines3](https://github.com/gazebosim/gz-sim/tree/gz-sim10/examples/scripts/reinforcement_learning/simple_cart_pole) +We have also added an [example integration with the StableBaselines3 Python package](https://github.com/gazebosim/gz-sim/tree/gz-sim10/examples/scripts/reinforcement_learning/simple_cart_pole) for reinforcement learning, enabling users to experiment with RL algorithms within Gazebo. The example provides a starting point for developing and testing robotic control policies. From 73e57bc25f0eba1f23dce6dd059e13bc5ffa7f94 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Tue, 23 Sep 2025 16:52:22 -0500 Subject: [PATCH 06/10] Reorder items Signed-off-by: Addisu Z. Taddese --- jetty/release_notes.md | 69 +++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 35 deletions(-) diff --git a/jetty/release_notes.md b/jetty/release_notes.md index f5b09c3b12..28f1258d25 100644 --- a/jetty/release_notes.md +++ b/jetty/release_notes.md @@ -14,6 +14,37 @@ See the [tracking issue](https://github.com/gazebosim/gz-transport/issues/559) and the implementation pull request for more details. +## Improve Gazebo APIs for Reinforcement Learning + +Several APIs have been improved to streamline reinforcement learning pipelines. +We have also added an [example integration with the StableBaselines3 Python package](https://github.com/gazebosim/gz-sim/tree/gz-sim10/examples/scripts/reinforcement_learning/simple_cart_pole) +for reinforcement learning, enabling users to experiment with RL algorithms within +Gazebo. The example provides a starting point for developing and testing robotic +control policies. + +```{figure} https://github.com/user-attachments/assets/f30160a3-e04f-4ec1-aab4-111739b0d349 +:width: 400 +:alt: RL_with_gazebo_simple_example + +Example of doing Reinforcement Learning in Gazebo +``` + +See the [tracking issue](https://github.com/gazebosim/gz-sim/issues/2662) and +the implementation pull requests +and for more details + +## Implement ROS standard simulation interfaces + +Gazebo now supports the standard ROS 2 +[simulation interfaces](https://github.com/ros-simulation/simulation_interfaces), +enabling seamless integration with ROS 2 ecosystems and providing access to +features for controlling and querying the simulation state. Documentation has +also been added to guide users on utilizing these new interfaces. + +See the [tracking issue](https://github.com/gazebosim/ros_gz/issues/732) and the +implementation pull requests and + for more details + ## Remove major version from package names We have refactored package naming to remove major version numbers, simplifying @@ -32,28 +63,15 @@ With Qt5 reaching Gazebo has been migrated to Qt6. While there are no major changes to end-users of the Gazebo GUI, `gz-gui` plugin authors will need to make changes to ensure compatibility with Qt6. Gazebo plugin maintainers should use our [migration guide](https://gazebosim.org/api/gui/10/migration_qt6.html) -to update their plugin to QT6. -[migration guide](https://gazebosim.org/api/gui/10/migration_qt6.html). +to update their plugin to QT6. See the [tracking issue](https://github.com/gazebosim/gz-gui/issues/586) and the implementation pull requests and for more details -## Implement ROS standard simulation interfaces - -Gazebo now supports the standard ROS 2 -[simulation interfaces](https://github.com/ros-simulation/simulation_interfaces), -enabling seamless integration with ROS 2 ecosystems and providing access to -features for controlling and querying the simulation state. Documentation has -also been added to guide users on utilizing these new interfaces. - -See the [tracking issue](https://github.com/gazebosim/ros_gz/issues/732) and the -implementation pull requests and - for more details - ## Resolve auto inertia based on input mass -Inertia parameters can now be automatically set based on an object's mass specified in an SDF file. This +Inertia parameters can now be automatically set based on an object's mass specified in an SDF file. This eliminates the need to manually compute and set the density of collision objects. When both mass and no longer requires setting the density of collision objects. When both mass and density are set, Gazebo now correctly scales the auto-computed inertia based @@ -63,25 +81,6 @@ See the [tracking issue](https://github.com/gazebosim/sdformat/issues/1482) and the implementation pull request for more details -## Improve Gazebo APIs for Reinforcement Learning - -Several APIs have been improved to streamline reinforcement learning pipelines. -We have also added an [example integration with the StableBaselines3 Python package](https://github.com/gazebosim/gz-sim/tree/gz-sim10/examples/scripts/reinforcement_learning/simple_cart_pole) -for reinforcement learning, enabling users to experiment with RL algorithms within -Gazebo. The example provides a starting point for developing and testing robotic -control policies. - -```{figure} https://github.com/user-attachments/assets/f30160a3-e04f-4ec1-aab4-111739b0d349 -:width: 400 -:alt: RL_with_gazebo_simple_example - -Example of doing Reinforcement Learning in Gazebo -``` - -See the [tracking issue](https://github.com/gazebosim/gz-sim/issues/2662) and -the implementation pull requests -and for more details - ## Standalone executables for the `gz` tool Previously, the `gz` tool, a Ruby-based CLI interface, offered subcommands by @@ -112,7 +111,7 @@ one of the implementation pull requests ## Occupancy Grid Export This enhancement adds a plugin that enables end users to directly export occupancy -grids for use with Nav2 or other mobile robotics software. +grids for use with Nav2 or other mobile robotics software. See the pull request for more details. From 72602eb68d14afd0f059ed765f6c21ca7d860431 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Wed, 24 Sep 2025 10:42:42 -0700 Subject: [PATCH 07/10] add lookup wheel slip (#631) Signed-off-by: Ian Chen --- jetty/release_notes.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/jetty/release_notes.md b/jetty/release_notes.md index 28f1258d25..8cd960ed13 100644 --- a/jetty/release_notes.md +++ b/jetty/release_notes.md @@ -115,3 +115,13 @@ grids for use with Nav2 or other mobile robotics software. See the pull request for more details. +## Lookup Wheel Slip system + +Introduced a new system that works in conjunction with the existing `WheelSlip` +system to dynamically adjust wheel slip and friction parameters. Using an 8-bit +slip- and friction-encoded lookup map representing the terrain the wheeled +vehicle is on, the `LookupWheelSlip` system modifies lateral slip, longitudinal +slip, and friction parameters in real time based on the wheel's position in the +world, enabling more realistic vehicle behavior on variable surfaces. + +See the pull request for more details. From 8c2b51377c0103ef6b09d9a690b42850f1567ba1 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Wed, 24 Sep 2025 13:50:21 -0700 Subject: [PATCH 08/10] Add section on Bazel module migration in Jetty release notes (#632) * Add section on bazel module migration Signed-off-by: Ian Chen * fix merge Signed-off-by: Ian Chen --------- Signed-off-by: Ian Chen --- jetty/release_notes.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/jetty/release_notes.md b/jetty/release_notes.md index 8cd960ed13..d898f40d2e 100644 --- a/jetty/release_notes.md +++ b/jetty/release_notes.md @@ -125,3 +125,14 @@ slip, and friction parameters in real time based on the wheel's position in the world, enabling more realistic vehicle behavior on variable surfaces. See the pull request for more details. + +## Bazel Module Migration + +Migrated `gz` packages from the legacy Bazel workspace-based setup to the new +Bazel module system (Bzlmod). As part of this effort, key third-party +dependencies including DARTSim, Bullet, FreeImage, Assimp and more were +packaged and published to the Bazel Central Registry (BCR). All Jetty and Ionic +versions of the libraries have been uploaded to BCR. +Note that `gz-launch` has been excluded due to deprecation, `gz-gui` is not yet +supported, and migration of `gz-rendering` in currently in progress. + From 3b14c997c2bcd8a4910be5ba99264f43271a7663 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Mon, 29 Sep 2025 17:29:41 -0500 Subject: [PATCH 09/10] Update jetty/release_notes.md Co-authored-by: Steve Peters Signed-off-by: Addisu Z. Taddese --- jetty/release_notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jetty/release_notes.md b/jetty/release_notes.md index d898f40d2e..9e2bdf0996 100644 --- a/jetty/release_notes.md +++ b/jetty/release_notes.md @@ -53,7 +53,7 @@ Gazebo packages are identified in CMake builds, package installations, and import statements. See the -[tracking issue](https://github.com/gazebo-tooling/release-tools/issues/1244) +[announcement](https://discourse.openrobotics.org/t/version-numbers-removed-from-package-names-in-gazebo-jetty/48391) for more details. ## Migrate from Qt5 to Qt6 From 7f7a0b0248974e8dcebd6a33b9f4e90ccb9ae929 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Mon, 29 Sep 2025 18:32:14 -0500 Subject: [PATCH 10/10] Update jetty/release_notes.md Co-authored-by: Steve Peters Signed-off-by: Addisu Z. Taddese --- jetty/release_notes.md | 1 - 1 file changed, 1 deletion(-) diff --git a/jetty/release_notes.md b/jetty/release_notes.md index 9e2bdf0996..21d802dedd 100644 --- a/jetty/release_notes.md +++ b/jetty/release_notes.md @@ -73,7 +73,6 @@ implementation pull requests and Inertia parameters can now be automatically set based on an object's mass specified in an SDF file. This eliminates the need to manually compute and set the density of collision objects. When both mass -and no longer requires setting the density of collision objects. When both mass and density are set, Gazebo now correctly scales the auto-computed inertia based on the specified mass, respecting the density ratios between collisions.