---
title: Drake v1.25.0
date: 2024-01-16
released: 2024-01-16
---

# Announcements

* None

# Breaking changes since v1.24.0

* None

Refer to our [Drake Stability Guidelines](/stable.html) for our policy
on API changes.

# Changes since v1.24.0

## Dynamical Systems

<!-- <relnotes for systems go here> -->


New features

* Add `lcmt_image_array_to_images` output for label images ([#20598][_#20598])

Fixes

* None

## Mathematical Program

<!-- <relnotes for solvers go here> -->


New features

* None

Fixes

* None

## Multibody Dynamics and Geometry

<!-- <relnotes for geometry,multibody go here> -->


New features

* Support eulerseq (and fix the default) in MJCF parser ([#20620][_#20620])
* Support mesh defaults and `assetdir` in MJCF parser ([#20621][_#20621])
* Support visual-only and/or collision-only geometry MJCF parser ([#20622][_#20622])
* Implement `MultibodyPlant::RemoveConstraint` ([#20720][_#20720])

Fixes

* Correct window sizing in `RenderEngineGl` ([#20695][_#20695])
* Remove false `const` on `get_mutable_joint_actuator` ([#20750][_#20750])
* Fix exception safety bug in `AddJointActuator` ([#20751][_#20751])
* Set non-zero initial guess for quaternion joints in `InverseKinematics` ([#20624][_#20624])
* Improve error handling of `AddFrame` ([#20773][_#20773])

## Planning

<!-- <relnotes for planning go here> -->


New features

* None

Fixes

* None

## Tutorials and examples

<!-- <relnotes for examples,tutorials go here> -->

* Clean up hydroelastic-contact tutorial ([#20665][_#20665])

## Miscellaneous features and fixes

<!-- <relnotes for common,math,lcm,lcmtypes,manipulation,perception,visualization go here> -->

* Avoid Diagram pollution when opted-out of LCM ([#20671][_#20671])
* Fix YAML output spelling of negative infinity ([#20719][_#20719])
* Add `yaml_dump_typed` to complement `yaml_load_typed` ([#20722][_#20722])
* Account for attached mass in `make_arm_controller_model` ([#20733][_#20733])

## pydrake bindings

<!-- <relnotes for bindings go here> -->


New features

* Add python bindings for `geometry::optimization::Hyperrectangle` ([#20690][_#20690])
* Add --geom_inertia_role_order flag to `fix_inertia` tool ([#20693][_#20693])
* Add python binding for `InversKinematics.AddMinimumDistanceUpperBoundConstraint` ([#20736][_#20736])
* Bind `MultibodyPlant::HasFrameNamed` ([#20753][_#20753])

Fixes

* Fix Python GIL deadlocks when using `parallelize=True` ([#20759][_#20759])

## Build system

<!-- <relnotes for cmake,doc,setup,third_party,tools go here> -->

* Add CMake option to enable OpenMP ([#20703][_#20703])

## Build dependencies

<!-- <relnotes for workspace go here> -->

* Switch to libclang-14 on Jammy ([#20732][_#20732])
* Upgrade abseil_cpp_internal to latest commit ([#20742][_#20742])
* Upgrade curl_internal to latest release curl-8_5_0 ([#20742][_#20742])
* Upgrade dm_control_internal to latest release 1.0.16 ([#20742][_#20742])
* Upgrade drake_models to latest commit ([#20674][_#20674])
* Upgrade mypy_internal to latest release v1.8.0 ([#20745][_#20745])
* Upgrade nanoflann_internal to latest release v1.5.3 ([#20742][_#20742])
* Upgrade rules_rust to latest release 0.36.2 ([#20742][_#20742])
* Upgrade suitesparse_internal to latest release v7.4.0 ([#20744][_#20744])
* Upgrade tinyobjloader_internal to latest commit ([#20742][_#20742])
* Upgrade tinyxml2_internal to latest release 10.0.0 ([#20742][_#20742])
* Upgrade typing_extensions_internal to latest release 4.9.0 ([#20742][_#20742])

## Newly-deprecated APIs

* `drake/multibody/tree/body.h` include path ([#20676][_#20676])
* `drake::multibody::BodyFrame` ([#20676][_#20676])
* `drake::schema::Transform::Sample()` ([#20756][_#20756], [#20775][_#20775])

## Removal of deprecated items

* `@double_conversion` ([#20715][_#20715])
* `@glew` ([#20715][_#20715])
* `@liblz4` ([#20715][_#20715])
* `@liblzma` ([#20715][_#20715])
* `@vtk` ([#20715][_#20715])
* `drake/systems/framework/system_html.h` include path ([#20714][_#20714])
* `drake::lcm::DrakeLcm::get_lcm_instance` ([#20716][_#20716])
* `drake::multibody::parsing::AddAllModelsFromFile` ([#20724][_#20724])
* `drake::multibody::parsing::AddModelFromFile` ([#20724][_#20724])
* `drake::systems::controllers::InverseDynamics::get_output_port_force` ([#20714][_#20714])
* `drake::systems::System<T>::GetGraphvizFragment` virtual method ([#20714][_#20714])
* `drake::systems::System<T>::GetGraphvizInputPortToken` ([#20714][_#20714])
* `drake::systems::System<T>::GetGraphvizOutputPortToken` ([#20714][_#20714])
* `drake::systems::System<T>::GetGraphvizOutputPortToken` ([#20714][_#20714])
* `pydrake.systems.framework.GenerateHtml` ([#20714][_#20714])

# Notes


This release provides [pre-compiled binaries](https://github.com/RobotLocomotion/drake/releases/tag/v1.25.0) named
``drake-1.25.0-{focal|jammy|mac|mac-arm64}.tar.gz``. See [Stable Releases](/from_binary.html#stable-releases) for instructions on how to use them.

Drake binary releases incorporate a pre-compiled version of [SNOPT](https://ccom.ucsd.edu/~optimizers/solvers/snopt/) as part of the
[Mathematical Program toolbox](https://drake.mit.edu/doxygen_cxx/group__solvers.html). Thanks to
Philip E. Gill and Elizabeth Wong for their kind support.

<!-- <begin issue links> -->
[_#20598]: https://github.com/RobotLocomotion/drake/pull/20598
[_#20620]: https://github.com/RobotLocomotion/drake/pull/20620
[_#20621]: https://github.com/RobotLocomotion/drake/pull/20621
[_#20622]: https://github.com/RobotLocomotion/drake/pull/20622
[_#20624]: https://github.com/RobotLocomotion/drake/pull/20624
[_#20665]: https://github.com/RobotLocomotion/drake/pull/20665
[_#20671]: https://github.com/RobotLocomotion/drake/pull/20671
[_#20674]: https://github.com/RobotLocomotion/drake/pull/20674
[_#20676]: https://github.com/RobotLocomotion/drake/pull/20676
[_#20690]: https://github.com/RobotLocomotion/drake/pull/20690
[_#20693]: https://github.com/RobotLocomotion/drake/pull/20693
[_#20695]: https://github.com/RobotLocomotion/drake/pull/20695
[_#20703]: https://github.com/RobotLocomotion/drake/pull/20703
[_#20714]: https://github.com/RobotLocomotion/drake/pull/20714
[_#20715]: https://github.com/RobotLocomotion/drake/pull/20715
[_#20716]: https://github.com/RobotLocomotion/drake/pull/20716
[_#20719]: https://github.com/RobotLocomotion/drake/pull/20719
[_#20720]: https://github.com/RobotLocomotion/drake/pull/20720
[_#20722]: https://github.com/RobotLocomotion/drake/pull/20722
[_#20724]: https://github.com/RobotLocomotion/drake/pull/20724
[_#20732]: https://github.com/RobotLocomotion/drake/pull/20732
[_#20733]: https://github.com/RobotLocomotion/drake/pull/20733
[_#20736]: https://github.com/RobotLocomotion/drake/pull/20736
[_#20742]: https://github.com/RobotLocomotion/drake/pull/20742
[_#20744]: https://github.com/RobotLocomotion/drake/pull/20744
[_#20745]: https://github.com/RobotLocomotion/drake/pull/20745
[_#20750]: https://github.com/RobotLocomotion/drake/pull/20750
[_#20751]: https://github.com/RobotLocomotion/drake/pull/20751
[_#20753]: https://github.com/RobotLocomotion/drake/pull/20753
[_#20756]: https://github.com/RobotLocomotion/drake/pull/20756
[_#20759]: https://github.com/RobotLocomotion/drake/pull/20759
[_#20773]: https://github.com/RobotLocomotion/drake/pull/20773
[_#20775]: https://github.com/RobotLocomotion/drake/pull/20775
<!-- <end issue links> -->

<!--
  Current oldest_commit 9ba8f5d8d4ee6919ec41542d47509549cfa8d919 (exclusive).
  Current newest_commit 849d537302191f0be98875da359580d341836869 (inclusive).
-->
