diff --git a/Changelog.md b/Changelog.md
index 45fa6ca3..48092eb6 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,6 +1,54 @@
## Gazebo Launch 8.x
-### Gazebo Launch 8.0.0 (2024-XX-XX)
+### Gazebo Launch 8.0.0 (2024-09-25)
+
+1. **Baseline:** this includes all changes from 7.1.0 and earlier.
+
+1. Fix crash and update launch file
+ * [Pull request #277](https://github.com/gazebosim/gz-launch/pull/277)
+
+1. Miscellaneous documentation fixes
+ * [Pull request #276](https://github.com/gazebosim/gz-launch/pull/276)
+ * [Pull request #275](https://github.com/gazebosim/gz-launch/pull/275)
+ * [Pull request #274](https://github.com/gazebosim/gz-launch/pull/274)
+
+1. Enable ubuntu noble on github actions, require cmake 3.22.1
+ * [Pull request #272](https://github.com/gazebosim/gz-launch/pull/272)
+
+1. Remove deprecations
+ * [Pull request #271](https://github.com/gazebosim/gz-launch/pull/271)
+
+1. Fix libwebsocket shutdown behavior
+ * [Pull request #267](https://github.com/gazebosim/gz-launch/pull/267)
+
+1. Fix msvc loss of data warning
+ * [Pull request #266](https://github.com/gazebosim/gz-launch/pull/266)
+
+1. Remove indirect dependencies
+ * [Pull request #265](https://github.com/gazebosim/gz-launch/pull/265)
+
+1. Supress msvc dll exported interface warning
+ * [Pull request #263](https://github.com/gazebosim/gz-launch/pull/263)
+
+1. Fix windows warnings
+ * [Pull request #199](https://github.com/gazebosim/gz-launch/pull/199)
+ * [Pull request #250](https://github.com/gazebosim/gz-launch/pull/250)
+
+1. Disable failing Manager_Test on windows
+ * [Pull request #264](https://github.com/gazebosim/gz-launch/pull/264)
+
+1. Disable failing windows tests
+ * [Pull request #255](https://github.com/gazebosim/gz-launch/pull/255)
+
+1. Add package.xml, remove dependency on python3-yaml, and disable failing windows tests
+ * [Pull request #249](https://github.com/gazebosim/gz-launch/pull/249)
+
+1. Define GZ_LAUNCH_VERSION_NAMESPACE in config.hh
+ * [Pull request #247](https://github.com/gazebosim/gz-launch/pull/247)
+
+1. Bumps in Ionic: gz-launch8
+ * [Pull request #236](https://github.com/gazebosim/gz-launch/pull/236)
+ * [Pull request #237](https://github.com/gazebosim/gz-launch/pull/237)
## Gazebo Launch 7.x
diff --git a/README.md b/README.md
index a8d593d2..485468b7 100644
--- a/README.md
+++ b/README.md
@@ -9,13 +9,13 @@
Build | Status
-- | --
-Test coverage | [![codecov](https://codecov.io/gh/gazebosim/gz-launch/branch/main/graph/badge.svg)](https://codecov.io/gh/gazebosim/gz-launch/branch/main)
+Test coverage | [![codecov](https://codecov.io/gh/gazebosim/gz-launch/tree/main/graph/badge.svg)](https://codecov.io/gh/gazebosim/gz-launch/branch/main)
Ubuntu Noble | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_launch-ci-main-noble-amd64)](https://build.osrfoundation.org/job/gz_launch-ci-main-noble-amd64)
Homebrew | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_launch-ci-main-homebrew-amd64)](https://build.osrfoundation.org/job/gz_launch-ci-main-homebrew-amd64)
Windows | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_launch-main-win)](https://build.osrfoundation.org/job/gz_launch-main-win)
Gazebo Launch, a component of [Gazebo](https://gazebosim.org), provides a command line interface
-to run and manager application and plugins.
+to run and manage application and plugins.
# Table of Contents
@@ -27,8 +27,6 @@ to run and manager application and plugins.
[Documentation](#documentation)
-[Testing](#testing)
-
[Folder Structure](#folder-structure)
[Contributing](#contributing)
@@ -54,7 +52,7 @@ directory.
# Install
-See the [installation tutorial](https://gazebosim.org/api/launch/7/install.html).
+See the [installation tutorial](https://gazebosim.org/api/launch/8/install.html).
# Usage
@@ -62,7 +60,7 @@ Sample launch configuration files are in the [examples directory](https://github
**Example**
-1. Run a configuration that launches [Gazebo](https://gazebosim.org/libs/gazebo).
+1. Run a configuration that launches [Gazebo](https://gazebosim.org/libs/sim/).
```
gz launch sim.gzlaunch
@@ -73,33 +71,18 @@ Sample launch configuration files are in the [examples directory](https://github
In the event that the installation is a mix of Debian and from source, command
line tools from `gz-tools` may not work correctly.
-A workaround for a single package is to define the environment variable
-`GZ_CONFIG_PATH` to point to the location of the Gazebo library installation,
-where the YAML file for the package is found, such as
-```
-export GZ_CONFIG_PATH=/usr/local/share/gz
-```
-
-However, that environment variable only takes a single path, which means if the
-installations from source are in different locations, only one can be specified.
-
-Another workaround for working with multiple Gazebo libraries on the command
-line is using symbolic links to each library's YAML file.
+A workaround is to define the environment variable
+`GZ_CONFIG_PATH` to point to the different locations of the Gazebo libraries installations,
+where the YAML files for the packages are found, such as
```
-mkdir ~/.gz/tools/configs -p
-cd ~/.gz/tools/configs/
-ln -s /usr/local/share/gz/fuel4.yaml .
-ln -s /usr/local/share/gz/transport7.yaml .
-ln -s /usr/local/share/gz/transportlog7.yaml .
-...
-export GZ_CONFIG_PATH=$HOME/.gz/tools/configs
+export GZ_CONFIG_PATH=/usr/local/share/gz:$HOME/ws/install/share/gz
```
-This issue is tracked [here](https://github.com/gazebosim/gz-tools/issues/8).
+where `$HOME/ws` is an example colcon workspace used to build Gazebo
# Documentation
-See the [installation tutorial](https://gazebosim.org/api/launch/7/install.html).
+See the [installation tutorial](https://gazebosim.org/api/launch/8/install.html).
# Folder Structure
diff --git a/examples/sim_plugins.gzlaunch b/examples/sim_plugins.gzlaunch
index aae71c0b..13cd40ef 100644
--- a/examples/sim_plugins.gzlaunch
+++ b/examples/sim_plugins.gzlaunch
@@ -109,7 +109,6 @@
-->
-
@@ -120,77 +119,228 @@
:/qml/images/drawer.png
-
-
- 3D View
- false
- docked
-
-
- ogre2
- scene
- 0.4 0.4 0.4
- 0.8 0.8 0.8
- -6 0 6 0 0.5 0
+
+
+
+ 3D View
+ false
+ docked
+
+ ogre2
+ scene
+ 0.4 0.4 0.4
+ 0.8 0.8 0.8
+ -6 0 6 0 0.5 0
+
+
+
+
+
+ floating
+ 5
+ 5
+ false
+
+
+
+
+
+ false
+ 5
+ 5
+ floating
+ false
+
+
+
+
+
+ false
+ 5
+ 5
+ floating
+ false
+
+
+
+
+
+ false
+ 5
+ 5
+ floating
+ false
+
+
+
+
+
+ false
+ 5
+ 5
+ floating
+ false
+
+
+
+
+
+ false
+ 5
+ 5
+ floating
+ false
+
-
-
- World control
- false
- false
- 72
- 121
- 1
- floating
-
-
-
-
-
+
+
+ false
+ 5
+ 5
+ floating
+ false
+
+
- true
- true
- true
- /world/<%= worldName %>/control
- /world/<%= worldName %>/stats
+
+
+ false
+ 5
+ 5
+ floating
+ false
+
+
+
+
+
+ World control
+ false
+ false
+ 72
+ 1
+ floating
+
+
+
+
+
+ true
+ true
+ true
+ true
+
-
- World stats
- false
- false
- 110
- 290
- 1
-
- floating
-
-
-
-
-
-
- true
- true
- true
- true
- /world/<%= worldName %>/stats
+
+ World stats
+ false
+ false
+ 110
+ 290
+ 1
+ floating
+
+
+
+
+
+ true
+ true
+ true
+ true
+
+
+
+
+
+ false
+ 0
+ 0
+ 250
+ 50
+ floating
+ false
+ #666666
+
+
+
+
+
+
+ false
+ 250
+ 0
+ 150
+ 50
+ floating
+ false
+ #666666
+
+
+
+
+
+
+ false
+ 0
+ 50
+ 250
+ 50
+ floating
+ false
+ #777777
+
+
+
+
+
+
+ false
+ 250
+ 50
+ 50
+ 50
+ floating
+ false
+ #777777
+
+
+
+
+
+
+ false
+ 300
+ 50
+ 100
+ 50
+ floating
+ false
+ #777777
+
+
+
+
+
+
+ false
+ docked
+
-
- Entity tree
-
+
+ false
+ docked
+
-
-
- /world/<%= worldName %>/gui/transform_mode
-
+
diff --git a/src/Manager.cc b/src/Manager.cc
index 5ff73c00..764adf87 100644
--- a/src/Manager.cc
+++ b/src/Manager.cc
@@ -1140,8 +1140,9 @@ void ManagerPrivate::LoadPlugin(const tinyxml2::XMLElement *_elem)
<< "] File[" << file << "]" << std::endl;
PluginPtr plugin = loader.Instantiate(name);
- if (plugin->QueryInterface()->Load(_elem))
- this->plugins.insert(plugin);
+ if (!plugin->QueryInterface()->Load(_elem))
+ gzerr << "Unable to load " << name << std::endl;
+ this->plugins.insert(plugin);
}
//////////////////////////////////////////////////
diff --git a/tutorials/tutorial.md b/tutorials/tutorial.md
index 74dce4cb..7824eb12 100644
--- a/tutorials/tutorial.md
+++ b/tutorials/tutorial.md
@@ -26,7 +26,7 @@ Every script starts with these two tags, which specify the `xml` version and `gz
We can run multiple commands from one file.
-Take a look at the [sim.gzlaunch](../examples/sim.gzlaunch) launch file. This script runs the Gazebo `server` and Gazebo `client`. We need to just write the command in the `command` tag.
+Take a look at the [sim.gzlaunch](https://github.com/gazebosim/gz-launch/blob/gz-launch8/examples/sim.gzlaunch) launch file. This script runs the Gazebo `server` and Gazebo `client`. We need to just write the command in the `command` tag.
```xml
@@ -36,11 +36,11 @@ Take a look at the [sim.gzlaunch](../examples/sim.gzlaunch) launch file. This sc
## Spawn a robot into simulation with plugins
-Now take a look at the [factory.gzlaunch](../examples/factory.gzlaunch) launch file. We defined a `SimFactory` plugin under which we included an `X2 UGV` robot and added the `DiffDrive` plugin to control the robot. We also added the `StatePublisher` plugin which publishes the the robot state information.
+Now take a look at the [factory.gzlaunch](https://github.com/gazebosim/gz-launch/blob/gz-launch8/examples/factory.gzlaunch) launch file. We defined a `SimFactory` plugin under which we included an `X2 UGV` robot and added the `DiffDrive` plugin to control the robot. We also added the `StatePublisher` plugin which publishes the robot state information.
## Launch simulation with plugins in separate processes
-The [sim_plugins.gzlaunch](../examples/sim_plugins.gzlaunch) launch file loads some plugins
+The [sim_plugins.gzlaunch](https://github.com/gazebosim/gz-launch/blob/gz-launch8/examples/sim_plugins.gzlaunch) launch file loads some plugins
and also starts simulation. The `joystick` plugin will be launched in its own process
and will read from a joystick device and output data onto a topic. The `JoyToTwist`
plugin also launches into a separate process and transforms a `joystick` message to a