Drake v1.49.0

Back to Release Notes

Announcements

  • The Drake v1.51 release (in March) will be the last version that supports Ubuntu 22.04 (“Jammy”).
    • As a result, we will have some new lower bounds on supported tool versions:
      • C++ standard >= 23
      • GCC >= 13
      • Clang >= 19
      • Python >= 3.12
    • End of life timelines are documented as part of the Supported Configurations.
  • With the MOSEK version update in this release, users of Python 3.14 can now use MOSEK.

Breaking changes since v1.48.0

  • None

Refer to our Drake Stability Guidelines for our policy on API changes.

Changes since v1.48.0

Dynamical Systems

New features

  • None

Fixes

  • None

Mathematical Program

New features

  • None

Fixes

  • Add descriptive error when parsing quadratic constraints (#23936)
  • Update intersection pad implementation in geometry::optimization::HPolyhedron (#23859)

Multibody Dynamics and Geometry

New features

  • Add Meshcat::StaticZip (#23958)
  • Make geometry::Plane part of the public API (#23982)
  • Parse linear spring damper elements from SDFormat and URDF (#23943)

Fixes

  • None

Planning

New features

  • None

Fixes

  • None

Tutorials and examples

  • None

Miscellaneous features and fixes

  • None

pydrake bindings

New features

  • None

Fixes

  • Fix leak in simulator with default context (#23968)

Build system

  • Update supported Xcode to 26.2 (#23952)
  • Patch rules_cc to recognize cc as gcc, to avoid some compiler warnings in CMake builds (#23738)
  • Use PEP508 environment markers for platform-specific requirements of wheels (#23934)

Build dependencies

  • Add new dependency on libzip_internal 1.11.4 (#23958)
  • Update dependency apple_support to 2.1.0 (#23960), #23965)
  • Update dependency bazel_features to 1.39.0 (#23966)
  • Update dependency bazel_skylib to 1.9.0 (#23956)
  • Update dependency buildifier_prebuilt to 8.2.1.1 (#23947)
  • Update dependency drake_models to latest commit (#23970)
  • Update dependency glib to 2.82.2.bcr.7 (#23948)
  • Update dependency gymnasium_py_internal to 1.2.3 (#23970)
  • Update dependency libpng_internal to 1.6.53 (#23970)
  • Update dependency MOSEK to 11.1.2 (#23983)
  • Update dependency nanoflann_internal to 1.9.0 (#23970)
  • Update dependency ruff_prebuilt to 0.14.10.1 (#23949)
  • Update dependency rules_cc to 0.2.16 (#23950)
  • Update dependency rules_rust to 0.68.1 (#23957)
  • Update dependency scs_internal to 3.2.10 (#23970)
  • Update dependency stable_baselines3_internal to 2.7.1 (#23970)
  • Update dependency tinyobjloader_internal to latest commit (#23970)
  • Update dependency vtk_internal to latest commit (#23879, #23962)
  • Update dependency zlib to 1.3.1.bcr.8 (#23953)

Newly-deprecated APIs

  • drake::Identifier::operator<< (#23964)
  • drake::symbolic::Monomial::operator<< (#23981)
  • drake::symbolic::Variable::operator<< (#23973)
  • drake/common/ssize.h (#23977)

Removal of deprecated items

  • buildifier module extension (#23897)
  • gflags module extension (#23897)
  • gtest module extension (#23897)
  • pycodestyle module extension (#23897)
  • styleguide module extension (#23897)
  • Bazel target //lcmtypes:acrobot (#23897)
  • Bazel target //lcmtypes:allegro (#23897)
  • Bazel target //lcmtypes:call_python (#23897)
  • Bazel target //lcmtypes:contact_results_for_viz (#23897)
  • Bazel target //lcmtypes:drake_signal (#23897)
  • Bazel target //lcmtypes:iiwa (#23897)
  • Bazel target //lcmtypes:jaco (#23897)
  • Bazel target //lcmtypes:planar_gripper (#23897)
  • Bazel target //lcmtypes:planar_manipuland_status (#23897)
  • Bazel target //lcmtypes:viewer (#23897)
  • CMake target drake::drake_marker (#23897)

Notes

This release provides pre-compiled binaries named drake-1.49.0-{jammy|noble|mac-arm64}.tar.gz. See Stable Releases 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.