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..21d802dedd --- /dev/null +++ b/jetty/release_notes.md @@ -0,0 +1,137 @@ +{#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. + +## 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 +dependency management and reducing maintenance overhead. This change impacts how +Gazebo packages are identified in CMake builds, package installations, and +import statements. + +See the +[announcement](https://discourse.openrobotics.org/t/version-numbers-removed-from-package-names-in-gazebo-jetty/48391) +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. Gazebo plugin maintainers should use our [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 + +## 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 +eliminates the need to manually compute and set 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 + +## 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 + +## 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. + +## 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. + +## 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. +