Drake v1.45.0

Back to Release Notes

Announcements

  • As announced in v1.37.0, for Bazel users Drake has been ported to Bazel modules instead of repository rules. Drake’s legacy support for WORKSPACE has been removed in this release (#22660, #23248). Work is underway now to port relevant dependencies to use the Bazel Central Registry. Refer to the comments in drake/tools/flags/BUILD.bazel to see new flags you can use to govern the dependencies. Follow #20731 for updates.

Breaking changes since v1.44.0

  • None

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

Changes since v1.44.0

Dynamical Systems

New features

  • None

Fixes

  • None

Mathematical Program

New features

  • None

Fixes

  • Rename IrisInConfigurationSpace to IrisNp (#23282)

Multibody Dynamics and Geometry

New features

  • None

Fixes

  • Fix geometry::QueryObject<T>::HasCollisions() bug - anchored geometry is no longer confusing (#23409)
  • Fix model instance coordinate counts when child frame and body are in different instances (#23380)

Planning

New features

  • IrisParameterizationFunction supports AutoDiff when constructed from RationalForwardKinematics (#23340)

Fixes

  • Fix bug where all but the last hyperplane was being used when there are additional constraints (#23408)
  • Fix bug where IrisNp2 with additional constraints couldn’t be used at the same time as a parameterization (#23337)
  • Add a trivial hyperplane in IrisNp2 at the initial guess if a solve fails (#23410)

Tutorials and examples

  • None

Miscellaneous features and fixes

  • None

pydrake bindings

New features

  • Bind constructors for PyFunctionCost and PyFunctionConstraint (#23291)

Fixes

  • None

Build system

  • The options previously known as CMAKE_INSTALL_NAME_TOOL and CMAKE_STRIP have been renamed to INSTALL_NAME_TOOL and INSTALL_STRIP_TOOL (#23339)
  • Fix macOS wheel checksum warnings (#23294)
  • Fix prefer_pic_for_opt_binaries in CMake builds (#23433)

Build dependencies

  • The supported CMake version on macOS is now 4.1 (#23286)
  • Use buildifier_prebuilt from Bazel Central Registry (#23383)
  • Use gflags from Bazel Central Registry (#23383)
  • Use googletest from Bazel Central Registry (#23383)
  • Use rules_jvm_external from Bazel Central Registry and use it for LCM’s Maven deps (#23404)
  • Optionally use glib from Bazel Central Registry (#23398)
  • Add cpplint_internal (#22689)
  • Upgrade abseil_cpp_internal to latest commit (#23373)
  • Upgrade apple_support to 1.23.1 (#23356)
  • Upgrade bazel to 8.4.0 (#23391)
  • Upgrade bazel_features to 1.35.0 (#23357)
  • Upgrade bazel_skylib to 1.8.1 (#23353)
  • Upgrade common_robotics_utilities_internal to latest commit (#23373)
  • Upgrade drake_models to latest commit (#23400)
  • Upgrade fmt to 11.2.0 (#23358)
  • Upgrade highway_internal to 1.3.0 (#23377)
  • Upgrade ipopt_internal to 3.14.19 (#23375)
  • Upgrade mujoco_menagerie_internal to latest commit (#23373)
  • Upgrade mypy_internal to 1.17.1 (#23373)
  • Upgrade osqp_internal to 1.0.0 (#22870)
  • Upgrade platforms to 1.0.0 (#23363)
  • Upgrade qdldl_internal to 0.1.8 (#22870)
  • Upgrade rules_cc to 0.2.3 (#23359, #23369)
  • Upgrade rules_java to 8.15.2 (#23360)
  • Upgrade rules_python to 1.6.0 (#23364, #23381)
  • Upgrade rules_rust to 0.64.0 (#23361, #23370)
  • Upgrade rules_shell to 0.6.0 (#23362)
  • Upgrade scs_internal to 3.2.8 (#23420)
  • Upgrade spdlog to 1.15.3 (#23354)
  • Upgrade styleguide to latest commit (#23338, #23419, #23424)
  • Upgrade typing_extensions_internal to 4.15.0 (#23373)
  • Upgrade zlib to 1.3.1.bcr.6 (#23355)
  • Upgrade python venv (macOS only) to latest (#23296)
  • Add complex16 support to lapack_internal (#23422)
  • Remove JRE and JDK from install_prereqs on Ubuntu (#23417)

Newly-deprecated APIs

  • drake::geometry::optimization::IrisInConfigurationSpace (#23282)
  • buildifier module extension (#23383)
  • gflags module extension (#23383)
  • googletest module extension (#23383)
  • pycodestyle module extension (#23383)
  • styleguide module extension (#23393)

Removal of deprecated items

  • Using Drake as a WORKSPACE external (#22660, #23248)
  • drake::manipulation::kuka_iiwa::BuildIiwaControl() 8 argument overload (#23352)
  • drake::manipulation::kuka_iiwa::BuildSimplifiedIiwaControl() 7 argument overload (#23352)
  • drake::solvers::MathematicalProgram::GetSolverOptionsDouble (#23352)
  • drake::solvers::MathematicalProgram::GetSolverOptionsInt (#23352)
  • drake::solvers::MathematicalProgram::GetSolverOptionsStr (#23352)
  • drake::solvers::SolverOptions::CheckOptionKeysForSolver (#23352)
  • drake::solvers::SolverOptions::GetOptionsDouble (#23352)
  • drake::solvers::SolverOptions::GetOptionsInt (#23352)
  • drake::solvers::SolverOptions::GetOptionsStr (#23352)
  • drake::solvers::SolverOptions::GetOptions (#23352)
  • drake::solvers::SolverOptions::GetSolverIds (#23352)
  • drake::solvers::SolverOptions::common_solver_options (#23352)
  • drake::solvers::SolverOptions::get_max_threads (#23352)
  • drake::solvers::SolverOptions::get_print_file_name (#23352)
  • drake::solvers::SolverOptions::get_print_to_console (#23352)
  • drake::solvers::SolverOptions::get_standalone_reproduction_file_name (#23352)
  • drake::solvers::SolverOptions::operator<< (#23352)
  • drake::solvers::to_string(const &SolverOptions) (#23352)

Notes

This release provides pre-compiled binaries named drake-1.45.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.