Announcements
- Drake now provides a
drake/version.hheader that offers the macrosDRAKE_VERSION_STRINGandDRAKE_VERSION_AT_LEAST(#24758). - Drake has started porting our Python bindings from
pybind11tonanobind(#21572).- We ask that users of our binary releases (
*.whl,*.tar.gz,*.deb) start testing beta versions of our nanobind-based binary releases. Refer to the beta testing section of the issue for instructions. If you experience a problem, please file a Drake bug report. - In the future, Drake will eventually drop support for
pybind11. Users who build Drake from source and add additional bindings for their own project’s Drake-adjacent code will eventually need to make the same transition. Please subscribe to the issue for updates and check the porting guide section of the issue for tips.
- We ask that users of our binary releases (
- For users who compile Drake as a dependency using Bazel, we no longer aspire
to provide custom Bazel flags to configure private dependencies
(#24791).
- The
--@drake//tools/flags:private_runtime_repo_defaultflag now has a more limited scope. Only libraries that are closely associated with the operating system or hardware environment obey this flag, e.g., BLAS / LAPACK / OpenCL. - To replace dependencies beyond what that flag can offer, you should use the
standard Bazel mechanism, either
--override_moduleon the command line orlocal_path_overrideinMODULE.bazel.
- The
Previously announced
- Support for Eigen legacy autodiff has been removed. Drake now uses its own
implementation of the AutoDiffXd scalar type (#24670,
#24298, #23870).
- The settings for
--@drake//tools/flags:use_eigen_legacy_autodiffandDRAKE_USE_EIGEN_LEGACY_AUTODIFFhave been removed.
- The settings for
- Tutorials are no longer hosted on Deepnote (#24557). Instead, the tutorials are now hosted on Drake’s webpage.
- Releases are no longer accompanied by a Docker image, which has been deprecated (#24048). See Installation via Docker and End of Support for more information.
- The drake-apt site at
https://drake-apt.csail.mit.eduis deprecated (#24282).- The site will continue to be updated with stable releases for Ubuntu 24.04 (“Noble”) until March 2028, but will not add support for newer versions of Ubuntu.
- Instead of using the
drake-aptsite, users should switch to directly installing the*.debpackage attached to Drake releases. See drake_cmake_installed_apt for an example.
- For binary releases,
install_prereqsshould no longer be run under sudo (#24458).
Breaking changes since v1.55.0
- None
Refer to our Drake Stability Guidelines for our policy on API changes.
Changes since v1.55.0
Dynamical Systems
- None
Mathematical Program
New features
- None
Fixes
- Allow floats for the
kPrintToConsolesolver option (#24750)
Multibody Dynamics and Geometry
New features
- Add CenicIntegrator support for distance constraints (#24776)
- Add CenicIntegrator support for ball constraints (#24730)
- Add parsing support for SAP distance constraints in SDFormat and URDF files (#24737)
- RenderEngineGl and RenderEngineVtk
show_imagepreview of label images displays a colorized image (#24838) - Optionally relax constraints in TOPPRA to handle numerically-challenging trajectories (#24798)
Fixes
- Speed up RenderEngineGl label images (#24726, #24838)
- Fix RenderEngineGl “upside down”
show_imagepreview (#24823) - Fix RenderEngineGl occluding transparency (#24869)
- Fix RenderEngineGl diffuse color modulates diffuse map (#24870)
AddMultibodyPlantConstraintsno longer adds distance constraints when stiffness is finite (#24752)AddMultibodyPlantConstraintsrejects null plant_context (#24756)- Remove
RenderEngine::SetDefaultLightPosition(#24762)
Planning
- None
Tutorials and examples
- None
Miscellaneous features and fixes
- Add drake/version.h header (#24758)
- Fix dropped derivatives in Eigen Cholesky solves of AutoDiff matrices (#24796)
- Remove destructors on function-local statics (#24784)
pydrake bindings
Newly bound
pydrake.multibody.plant.MultibodyPlant.AddTendonConstraint(#22813)
Features
ModelVisualizerallows choosing aRenderEngineto use forshow_rgbd_sensor(#24823)- This changes the
--show_rgbd_sensorcommand line parameter. It is now string-valued instead of a bool.
- This changes the
ModelVisualizerallows showing the label image instead of the color image forshow_rgbd_sensor(#24838)
Fixes
- Fix ForceDensityField virtual method overrides (#24764)
- Remove erroneous binding of DoCalcTimeDerivatives (#24774)
- Remove bindings that always throw at runtime (#24738)
- Fix vector output callback lifetime (#24852)
Build system
- None
Build dependencies
- Update minimum bazel version to 8.6.0 (#24867)
- Update supported CMake on macOS to 4.4 (#24813)
- Update policy for private runtime dependencies (#24791)
- Remove
--@drake//tools/flags:libjpeg_repo(#24791) - Add nanobind as a dependency (#24744, #24868)
- Add build flag option to use nanobind (#24744)
- Add rules_rs as a dependency (#24810)
- Update Python venv to latest (#24817)
- Update crate_universe to latest (#24818)
- Update dependency apple_support to 2.8.0 (#24804)
- Update dependency bazel_features to 1.51.0 (#24805)
- Update dependency bazel_skylib to 1.9.2 (#24799)
- Update dependency buildifier_prebuilt to 8.5.1.3 (#24800)
- Update dependency drake_models to latest commit (#24815)
- Update dependency eigen to 5.0.1.bcr.2 (#24801)
- Update dependency gflags to 2.3.1 (#24806)
- Update dependency glib to 2.82.2.bcr.9 (#24802)
- Update dependency googletest to 1.18.0 (#24867)
- Update dependency gz_math_internal to 9.2.0 (#24815)
- Update dependency libtiff_internal to 4.7.2 (#24821)
- Update dependency mujoco_menagerie_internal to latest commit (#24815)
- Update dependency ruff_prebuilt to 0.16.0.1 (#24786)
- Update dependency rules_cc to 0.2.22 (#24803)
- Update dependency rules_java to 9.7.0 (#24807)
- Update dependency rules_jvm_external to 7.1 (#24808)
- Update dependency sdformat_internal to 16.1.0 (#24815)
- Update dependency suitesparse to 7.12.3 (#24815)
- Update dependency tinygltf_internal to 3.0.1 (#24862)
- Update dependency uwebsockets_internal to 20.79.0 (#24815)
- Update dependency vtk_internal to latest commit (#24816)
- Update dependency with_cfg.bzl to 1.0.0 (#24789)
- Switch nlohmann_json dependency from Drake module extension to Bazel Central Registry module (#24853)
- Switch suitesparse dependency from Drake module extension to Bazel Central Registry module (#24824)
- Remove dependency on
python-is-python3(#24859)
Newly-deprecated APIs
--@drake//tools/flags:zlib_repo(#24814)- The zlib_repo flag is deprecated for removal; the future default will be
"source". If you want to build zlib from source as a Bazel module, no action is necessary (that will be the future default). If you want to keep using"hardcoded", you must either use--override_moduleon the command line orlocal_path_overrideinMODULE.bazel.
- The zlib_repo flag is deprecated for removal; the future default will be
Removal of deprecated items
- None
Notes
This release provides pre-compiled binaries. See Installation for instructions on how to use them.
Drake binary releases incorporate a pre-compiled version of SNOPT as part of the Mathematical Program toolbox. Thanks to Philip E. Gill and Elizabeth Wong for their kind support.