Drake v1.2.0

Back to Release Notes


  • Drake’s binary release now incorporate the MOSEK solver (#16927).
    • Users must supply their own MOSEKLM_LICENSE_FILE license environment in order to use the solver, but no longer need to build Drake from source to do so.
  • Drake no longer supports Ubuntu 18.04 “Bionic”, Python 3.6, or Python 3.7 (#13391).
  • Drake no longer supports drake-visualizer on macOS (#16945).
    • Instead, Drake now offers a meshcat display server named meldis that speaks the same protocol as drake_visualizer (#16263).

Breaking changes since v1.1.0

  • None

Note that drake::trajectories::PiecewiseQuaternionSlerp::value() now returns a quaternion, instead of a rotation matrix (#16914). This is not a breaking change (because the documentation promised a quaternion), but we note it here in case anyone was depending on the prior behavior.

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

Changes since v1.1.0

Dynamical Systems

  • None

Mathematical Program

New features

  • Add support for convex quadratic constraints (#16921)
  • Add the smooth formulation of augmented Lagrangian (#16845)
  • Expose the costs and constraints of an Edge in GraphOfConvexSets (#16892)
  • NewSosPolynomial takes degree=0 (#16983)
  • Add Monomial::Evaluate() for a batch of data (#16984)


  • Fix PiecewiseQuaternionSlerp to actually return quaternion values (#16914)
  • Speed up LinearConstraint and BoundingBoxConstraint via sparse matrices (#16894)
  • Speed up parsing of linear constraints (#16896)
  • Speed up symbolic polynomials via is_expanded (#16980)

Multibody Dynamics and Geometry

New features

  • Automatically filter out collisions within welded subgraphs (#16920)
  • Add Frame::EvalAngularVelocityInWorld and Frame::CalcAngularVelocity (#16893)
  • Add a new frame Abar to specify the PositionConstraint bound (#16873)


  • Fix joint locking to use correct velocity indices (#16818)

Tutorials and examples

  • Add xvfb support in Deepnote (#16948)
  • Improve rimless_wheel meshcat animation (#16906)
  • Remove simple_four_bar (#16951)

Miscellaneous features and fixes

  • Split the position and velocity ports in the Jaco LCM interface (#16863)

pydrake bindings

New features

  • None


  • Re-spell SpatialForce keyword arguments (#16851)
  • Re-spell SpatialMomentum keyword arguments (#16844)

Newly bound

  • None

Build system

Build dependencies

  • Add clang-12 (#16943)
  • Upgrade bazel recommended version to 5.1 (#16878, #16926)
  • Upgrade abseil_cpp_internal to latest commit (#16885)
  • Upgrade bazel_skylib to latest release 1.2.1 (#16885)
  • Upgrade common_robotics_utilities to latest commit (#16885)
  • Upgrade dm_control to latest commit (#16885)
  • Upgrade github3_py to latest release 3.2.0 (#16885)
  • Upgrade meshcat to latest commit (#16925)
  • Upgrade meshcat_python to latest commit (#16925)
  • Upgrade petsc to latest release 3.16.5 (#16885)
  • Upgrade ros_xacro to latest release 1.14.13 (#16967)
  • Upgrade rules_python to latest release 0.8.0 (#16885)

Newly-deprecated APIs

  • drake::manipulation::kinova_jaco::JacoCommandReceiver:get_output_port (#16863)
  • drake::manipulation::kinova_jaco::JacoCommandSender::get_input_port (#16863)
  • drake::manipulation::kinova_jaco::JacoStatusReceiver::get_state_output_port (#16863)
  • drake::manipulation::kinova_jaco::JacoStatusReceiver::get_torque_output_port (#16863)
  • drake::manipulation::kinova_jaco::JacoStatusSender::get_state_input_port (#16863)
  • drake::solvers::LinearConstraint::A() (#16976)
  • pydrake.multibody.math.SpatialForce.Shift named kwarg p_BqBq_E is now named offset (#16851)
  • pydrake.multibody.math.SpatialMomentum.Shift named kwarg p_BqBq_E is now named offset (#16844)
  • The superfluous install_prereqs option –with-kcov (#16938)
  • The @pygame_py repository (#16959)

Removal of deprecated items


This release provides pre-compiled binaries named drake-20220420-{focal|mac}.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.