---
title: Drake v1.17.0
date: 2023-05-23
released: 2023-05-23
---

# Announcements

* This release follows quickly on the heels of v1.16.0 in order to remain
  compatible with macOS Homebrew's recent C++ upgrade to fmt 10.
  * On macOS (except for pip), Drake now uses and requires fmt 10.
  * To use fmt 9, stick with Drake version v1.16.0 or prior.
* Drake now has CI coverage of macOS 13 ("Ventura"), so that OS version is an
  officially supported target for source builds.
  * Drake's precompiled binary releases are still targeted for macOS 12
    ("Monterey"). These binaries continue to run correctly on Ventura.

# Breaking changes since v1.16.0

* None

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

# Changes since v1.16.0

## Dynamical Systems

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

New features

* Add depth image conversion helper functions ConvertDepth32FTo16U and ConvertDepth16UTo32F ([#19436][_#19436])

Fixes

* Check IsStabilizable and IsDetectable in ContinuousAlgebraicRiccatiEquation ([#19300][_#19300])
* Simplify the creation of empty images ([#19443][_#19443])

## Mathematical Program

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

New features

* None

Fixes

* Overload Trajectory::vector_values to accept Eigen::VectorXd ([#19422][_#19422])

## Multibody Dynamics and Geometry

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

New features

* Include joint locking in forward dynamics computations ([#19420][_#19420])

Fixes

* RenderEngineGl supports multi-threaded operation (under certain conditions) ([#19323][_#19323])

## Planning

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

New features

* Add velocity bounds to edges between subgraphs ([#19357][_#19357])

Fixes

* None

## Tutorials and examples

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

* Add missing table of contents entry for "Taking derivatives of MultibodyPlant with respect to mass" ([#19439][_#19439])

## Miscellaneous features and fixes

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

* Provide ``fmt_floating_point`` helper for consistent floating point output ([#19454][_#19454])

## pydrake bindings

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

New features

* Add binding for LinearComplementarityConstraint M and q ([#19445][_#19445])
* Add binding for UnrevisedLemkeSolver ([#19453][_#19453])
* Add binding for MobyLCPSolver ([#19460][_#19460])
* Add codec configuration to VideoWriter ([#19447][_#19447])

Fixes

* Fix default arguments for GetStateNames() and related to match C++ ([#19455][_#19455])
* Switch the default VideoWriter codec to the more portable mp4v instead of avc1 ([#19447][_#19447])

## Build system

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

* Offically support macOS Ventura ([#19458][_#19458])

## Build dependencies

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

* Fix build and test errors vs fmt 10 ([#19451][_#19451], [#19454][_#19454], [#19459][_#19459])
* Remove unused NLopt install on the host OS ([#19427][_#19427], [#19428][_#19428])

## Newly-deprecated APIs

* None

## Removal of deprecated items

* None

# Notes

This release provides [pre-compiled binaries](https://github.com/RobotLocomotion/drake/releases/tag/v1.17.0) named
``drake-20230523-{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> -->
[_#19300]: https://github.com/RobotLocomotion/drake/pull/19300
[_#19323]: https://github.com/RobotLocomotion/drake/pull/19323
[_#19357]: https://github.com/RobotLocomotion/drake/pull/19357
[_#19420]: https://github.com/RobotLocomotion/drake/pull/19420
[_#19422]: https://github.com/RobotLocomotion/drake/pull/19422
[_#19427]: https://github.com/RobotLocomotion/drake/pull/19427
[_#19428]: https://github.com/RobotLocomotion/drake/pull/19428
[_#19436]: https://github.com/RobotLocomotion/drake/pull/19436
[_#19439]: https://github.com/RobotLocomotion/drake/pull/19439
[_#19443]: https://github.com/RobotLocomotion/drake/pull/19443
[_#19445]: https://github.com/RobotLocomotion/drake/pull/19445
[_#19447]: https://github.com/RobotLocomotion/drake/pull/19447
[_#19451]: https://github.com/RobotLocomotion/drake/pull/19451
[_#19453]: https://github.com/RobotLocomotion/drake/pull/19453
[_#19454]: https://github.com/RobotLocomotion/drake/pull/19454
[_#19455]: https://github.com/RobotLocomotion/drake/pull/19455
[_#19458]: https://github.com/RobotLocomotion/drake/pull/19458
[_#19459]: https://github.com/RobotLocomotion/drake/pull/19459
[_#19460]: https://github.com/RobotLocomotion/drake/pull/19460
<!-- <end issue links> -->

<!--
  Current oldest_commit 02aec896f19870276b9b1a9f2f95638ef766e370 (exclusive).
  Current newest_commit 1ee1e1aac46d783fcd8504ee88c8b28944884d05 (inclusive).
-->
