---
title: Drake v0.26.0
date: 2021-01-21
released: 2021-01-21
---

# Announcements

* In a future release, the DrakeVisualizer system will become templated on
  `<typename T>` to support multiple scalar types ([#14547][_#14547]).
  * To insulate your code from this change, we now offer a C++ alias
    `drake::geometry::DrakeVisualizerd` (i.e., with a "d" suffix) that
    matches the current uses of a `double` system.
  * We recommend that C++ users preemptively refactor to use this new alias, so
    the addition of the template in a future release will not be a breaking
    change.  See ([#14547][_#14547]) for examples.
  * Python users do not need to make any preemptive changes.  The new template
    argument will not disturb pydrake.

# Breaking changes since v0.25.0

* Downgrade the spdlog external to release 5.1.0 and fmt external to release 6.1.2 ([#14427][_#14427]).
* FixInputPort and DeclareAbstractState no longer allow for mutation through an alias ([#14453][_#14453]).
* Remove support for the add_package_path stanza in multibody parsing model directives  ([#14529][_#14529]).

# Changes since v0.25.0

## Dynamical Systems

New features

* Add PiecewisePoseTrajectory ([#14337][_#14337], [#14503][_#14503])
* PidControlledSystem takes in user specified plant input port ([#14490][_#14490])

Fixes

* None

## Mathematical Program

New features

* Retrieve dual solution for conic constraint in MOSEK™ ([#14383][_#14383])
* Allow for incomplete symbolic derivatives ([#14514][_#14514])

Fixes

* None

## Multibody Dynamics

New features

* Add MultibodyPlant::CalcCenterOfMassTranslationalVelocityInWorld ([#14297][_#14297])
* Add MultibodyPlant::GetUniqueBaseBody and MultibodyPlant::HasUniqueFreeBaseBody ([#14450][_#14450])
* New hydroelastic contact model in progress ([#14506][_#14506], [#14469][_#14469])

Fixes

* Give better errors when joints overlap with SDF static welds ([#14534][_#14534])

## Tutorials and examples

* Add example of monte carlo simulation using acrobot ([#14522][_#14522])

## Miscellaneous features and fixes

* Add MeshcatVisualizer option to draw collision geometry ([#14467][_#14467])
* Add DrakeVisualizerd compatibility alias ([#14547][_#14547])

## pydrake bindings

New features

* System diagrams now appear in the Sphinx documentation ([#14500][_#14500])

Fixes

* None

Newly bound

* None

## Build system and dependencies

* Downgrade fmt to release 6.1.2 ([#14427][_#14427])
* Downgrade spdlog to release 5.1.0 ([#14427][_#14427])
* Upgrade fcl to latest commit ([#14497][_#14497])
* Upgrade ghc_filesystem to latest release 1.4.0 ([#14504][_#14504])
* Upgrade MOSEK™ to latest release 9.2 ([#14484][_#14484])
* Upgrade optitrack_driver to latest commit ([#14451][_#14451])
* Allow sphinx-build to be missing during bazel fetch ([#14528][_#14528])
* Add dependency on TRI common_robotics_utilities; for now this is only used by test code, but in a future release will be used by a forthcoming new drake/planning/... library ([#14437][_#14437], [#14530][_#14530])
* Add dependency on TRI voxelized_geometry_tools ; for now this is only used by test code, but in a future release will be used by a forthcoming new drake/planning/... library ([#14437][_#14437], [#14530][_#14530])

Changes specific to macOS:

* Use fmt and spdlog from homebrew ([#14517][_#14517], [#14427][_#14427])
* Allow brew to be found in the PATH ([#14496][_#14496])
* Use the new Homebrew install shell script when necessary ([#14496][_#14496])
* Do not auto-cleanup or auto-update during Homebrew setup ([#14496][_#14496])

Changes specific to Ubuntu:

* On 20.04, use fmt and spdlog from Ubuntu's apt package ([#14427][#14427_])

## Newly-deprecated APIs

* drake::systems::ContextBase::FixInputPort with AbstractValue unique_ptr ([#14453][_#14453])
* drake::systems::LeafSystem::DeclareAbstractState with AbstractValue unique_ptr ([#14453][_#14453])
* drake::manipulation::PiecewiseCubicTrajectory ([#14337][_#14337])
* drake::manipulation::PiecewiseCartesianTrajectory ([#14337][_#14337])
* drake::systems::framework::Diagram::get_input_port_locator ([#14361][_#14361])

  * This was actually deprecated in v0.25.0, but the initial announcement for that release forgot to list it.

* The ability for MeshcatVisualizer to use a pose_bundle input port ([#14292][_#14292])

  * This was actually deprecated in v0.25.0, but the initial announcement for that release forgot to list it.

## Removal of deprecated items

* The numpy external ([#14116][_#14116], [#14486][_#14486])
* drake/multibody/math/spatial_acceleration.h include path ([#14117][_#14117], [#14486][_#14486])
* drake/multibody/math/spatial_force.h include path ([#14117][_#14117], [#14486][_#14486])
* drake/multibody/math/spatial_momentum.h include path ([#14117][_#14117], [#14486][_#14486])
* drake/multibody/math/spatial_vector.h include path ([#14117][_#14117], [#14486][_#14486])
* drake/multibody/math/spatial_velocity.h include path ([#14117][_#14117], [#14486][_#14486])
* drake/systems/analysis/simulator_flags.h include path ([#14135][_#14135], [#14486][_#14486])
* drake::math::closestExpmap ([#14099][_#14099], [#14486][_#14486])
* drake::math::expmap2quat ([#14099][_#14099], [#14486][_#14486])
* drake::math::quat2expmap ([#14099][_#14099], [#14486][_#14486])
* drake::math::quat2expmapSequence ([#14099][_#14099], [#14486][_#14486])
* drake::systems::Context::FixInputPort() ([#14093][_#14093], [#14486][_#14486])
* tools/vector_gen/vector_gen.bzl:drake_cc_vector_gen ([#14092][_#14092], [#14486][_#14486])
* tools/vector_gen/vector_gen.bzl:drake_vector_gen_lcm_sources ([#14092][_#14092], [#14486][_#14486])

# Notes

This release provides [pre-compiled binaries](https://github.com/RobotLocomotion/drake/releases/tag/v0.24.0) named
``drake-20210121-{bionic|focal|mac}.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.

[_#14092]: https://github.com/RobotLocomotion/drake/pull/14092
[_#14093]: https://github.com/RobotLocomotion/drake/pull/14093
[_#14099]: https://github.com/RobotLocomotion/drake/pull/14099
[_#14116]: https://github.com/RobotLocomotion/drake/pull/14116
[_#14117]: https://github.com/RobotLocomotion/drake/pull/14117
[_#14135]: https://github.com/RobotLocomotion/drake/pull/14135
[_#14292]: https://github.com/RobotLocomotion/drake/pull/14292
[_#14297]: https://github.com/RobotLocomotion/drake/pull/14297
[_#14337]: https://github.com/RobotLocomotion/drake/pull/14337
[_#14361]: https://github.com/RobotLocomotion/drake/pull/14361
[_#14383]: https://github.com/RobotLocomotion/drake/pull/14383
[_#14427]: https://github.com/RobotLocomotion/drake/pull/14427
[_#14437]: https://github.com/RobotLocomotion/drake/pull/14437
[_#14450]: https://github.com/RobotLocomotion/drake/pull/14450
[_#14451]: https://github.com/RobotLocomotion/drake/pull/14451
[_#14453]: https://github.com/RobotLocomotion/drake/pull/14453
[_#14467]: https://github.com/RobotLocomotion/drake/pull/14467
[_#14469]: https://github.com/RobotLocomotion/drake/pull/14469
[_#14484]: https://github.com/RobotLocomotion/drake/pull/14484
[_#14486]: https://github.com/RobotLocomotion/drake/pull/14486
[_#14490]: https://github.com/RobotLocomotion/drake/pull/14490
[_#14496]: https://github.com/RobotLocomotion/drake/pull/14496
[_#14497]: https://github.com/RobotLocomotion/drake/pull/14497
[_#14500]: https://github.com/RobotLocomotion/drake/pull/14500
[_#14503]: https://github.com/RobotLocomotion/drake/pull/14503
[_#14504]: https://github.com/RobotLocomotion/drake/pull/14504
[_#14506]: https://github.com/RobotLocomotion/drake/pull/14506
[_#14514]: https://github.com/RobotLocomotion/drake/pull/14514
[_#14517]: https://github.com/RobotLocomotion/drake/pull/14517
[_#14522]: https://github.com/RobotLocomotion/drake/pull/14522
[_#14528]: https://github.com/RobotLocomotion/drake/pull/14528
[_#14529]: https://github.com/RobotLocomotion/drake/pull/14529
[_#14530]: https://github.com/RobotLocomotion/drake/pull/14530
[_#14534]: https://github.com/RobotLocomotion/drake/pull/14534
[_#14547]: https://github.com/RobotLocomotion/drake/pull/14547

{% comment %}
  Current oldest_commit 2862d87c99ee0fa35b331ccc25f26ec3a85ceabf (exclusive).
  Current newest_commit 5b3377b92387cd149d5aa7b88f8ce5866347bbc1 (inclusive).
{% endcomment %}
