A tick-tock release cycle allows easy migration to new software versions. Obsolete code is marked as deprecated for one major release. Deprecated code produces compile-time warnings. These warning serve as notification to users that their code should be upgraded. The next major release will remove the deprecated code.
- Modified:
- In the Hydrodynamics plugin, inverted the added mass contribution to make it act in the correct direction.
- If no
<namespace>
is given to theThruster
plugin, the namespace now defaults to the model name, instead of an empty string.
-
The ParticleEmitter system is deprecated. Please use the ParticleEmitter2 system.
-
Marker example has been moved to Ignition GUI.
-
Some GUI plugins have been moved to Ignition GUI. Gazebo users don't need to change their configuration files, the plugins will be loaded the same way.
- Grid Config
- Tape Measure
-
dynamic_pose/info
topic is removed fromLogRecord
andLogPlayback
since pose information is being logged in thechanged_state
topic. -
The internal management of entities and components in the
EntityComponentManager
has been updated to improve runtime performance. As a result, several methods have been deprecated, and a few types have changed.- Deprecated:
- All
EntityComponentManager
methods that useComponentKey
as an input parameter. - The
EntityComponentManager::First
method. - The
ComponentId
andComponentKey
types are now deprecated. A combination ofEntity
andComponentTypeId
should be used instead. - The
components::StorageDescriptorBase
andcomponents::StorageDescriptor<ComponentTypeT>
classes. - Methods in
components::Factory
that have deprecated input parameter types and/or deprecated return types.- The version of
components::Factory::Register
which has aStorageDescriptorBase *
input parameter. components::Factory::NewStorage
- The version of
- The
ComponentStorageBase
andComponentStorage<ComponentTypeT>
classes.
- All
- Modified:
EntityComponentManager::CreateComponent
now returns a pointer to the created component instead of aComponentKey
.ComponentKey
has been modified to be astd::pair<ComponentTypeId, Entity>
(it used to be astd::pair<ComponentTypeId, ComponentId>
) since theComponentId
type is now deprecated.ComponentKey
has also been deprecated, so usage of this type is discouraged (see the Deprecated section above for more information about how to replace usage ofComponentKey
).
- Deprecated:
-
The
GzScene3D
GUI plugin is being deprecated in favor ofMinimalScene
. In order to get the same functionality asGzScene3D
, users need to add the following plugins: +MinimalScene
: base rendering functionality +GzSceneManager
: adds / removes / moves entities in the scene +EntityContextMenuPlugin
: right-click menu +InteractiveViewControl
: orbit controls +CameraTracking
: Move to, follow, set camera pose +MarkerManager
: Enables the use of markers +SelectEntities
: Select entities clicking on the scene +Spawn
: Functionality to spawn entities into the scene via GUI +VisualizationCapabilities
: View collisions, inertial, CoM, joints, etc.Moreover, legacy mode needs to be turned off for the following plugins for them to work with
MinimalScene
(set<legacy>false</legacy>
): +TransformControl
: Translate and rotate +ViewAndle
: Move camera to preset angles -
The
gui.config
andserver.config
files are now located in a versioned folder inside$HOME/.ignition/gazebo
, i.e.$HOME/.ignition/gazebo/6/gui.config
.
- If no
<namespace>
is given to theThruster
plugin, the namespace now defaults to the model name, instead of an empty string.
-
Use
cli
component ofignition-utils1
. -
ignition::gazebo::RenderUtil::SelectedEntities()
now returns aconst std::vector<Entity> &
instead of forcing a copy. The calling code should create a copy if it needs to modify the vector in some way. -
Default generated topic name for thermal cameras now includes the
/image
suffix. Thecamera_info
topic has also been fixed to include the sensor name in the generated topic string. The naming scheme should be consistent with a normal camera sensor. Topic changes:/<prefix>/<sensor_name>
->/<prefix>/<sensor_name>/image
/<prefix>/camera_info
->/<prefix>/<sensor_name>/camera_info
-
Various
GuiEvent
s were deprecated in favor of their Ignition GUI equivalents.- Deprecated
ignition::gazebo::gui::SnapIntervals
- Replacement
ignition::gui::SnapIntervals
- Deprecated
ignition::gazebo::gui::Render
- Replacement
ignition::gui::Render
- Deprecated
ignition::gazebo::gui::SpawnPreviewModel
- Replacement
ignition::gui::SpawnFromDescription
- Deprecated
ignition::gazebo::gui::SnapPreviewPath
- Replacement
ignition::gui::SnapFromPath
- Deprecated
-
The
<direction>
tag of spot lights was previously not parsed by the scene, so all spot lights shone in the direction corresponding to the default0 0 -1
. Since 5.x, the<direction>
tag is correctly processed.
- Ignition Gazebo 4.0.0 enabled double sided material by default but this
caused shadow artifacts to appear on some meshes. Double sided material is
now disabled and made an opt-in feature. Users can configure this property
in SDF by setting the
<visual><material><double_sided>
SDF element.
-
The
RenderUtil::SetEnabledSensors
callback in gazebo rendering has a new required function argument for the Entity of the sensor.- Removed
public: void SetEnableSensors(bool, std::function< std::string(const sdf::Sensor &, const std::string &)>)
- Replacement
public: void SetEnableSensors(bool, std::function< std::string(const gazebo::Entity &, const sdf::Sensor &, const std::string &)>)
- Removed
-
Log playback using
<path>
SDF parameter is removed. Use --playback command line argument instead. -
rendering::SceneManager
- Deprecated:
Entity EntityFromNode(const rendering::NodePtr &_node) const;
- Replacement:
Entity entity = std::get<int>(visual->UserData("gazebo-entity"));
- Deprecated:
- Some sensors will only have the
SensorTopic
component after the 1st iteration.
- Use ign-rendering3, ign-sensors3 and ign-gui3.
-
Changed component data types:
Altimeter
now usessdf::Sensor
JointVelocity
now usesstd::vector<double>
-
Deprecated components:
JointVelocity2
: useJointVelocity
's vector instead.
-
The
--distributed
command line argument has been deprecated. Use--network-role
instead. -
The
-f
/--file
command line argument has been deprecated. The SDF file can now be loaded without a flag. -
The
ign-gazebo
command line tool is deprecated. The new tool isign gazebo
, which has all the same options, except for--distributed
and--file
/-f
, which have been removed. -
The
entity_name
field in the messages published by the imu system is updated to report its scoped name. -
Log files generated from Ignition Gazebo 1.X are no longer compatible with Gazebo 2+ for playback. BitBucket pull request #257 added an SDF message to the start of log files.
-
Log playback using
<path>
SDF parameter is deprecated. Use--playback
command line argument instead.
-
All headers in
gazebo/network
are no longer installed. -
The ignition-gazebo1-gui library has been changed to a
gui
component of ignition-gazebo. To use the gui component downstream, update the find package call in cmake to request for the component, e.g.ign_find_package(ignition-gazebo1 REQUIRED COMPONENTS gui)
, and link to thelibignition-gazebo1::gui
target instead oflibignition-gazebo1-gui