---
title: Drake v0.27.0
date: 2021-02-16
released: 2021-02-16
---

# Announcements

* macOS Big Sur 11.x is now supported on Intel Macs ([#14632][_#14632])

# Breaking changes since v0.26.0

* DrakeVisualizer class is now templatized ([#14569][_#14569])
    * We offer a C++ alias ``drake::geometry::DrakeVisualizerd`` (i.e., with a
      ``d`` suffix) that matches the current uses of the ``double`` system.
    * Python users do not need to make any changes. The new template
      argument will not disturb pydrake.
    * Certain compilers may not be able to infer the template argument (e.g.,
      when referring to static methods).
* ``end_effector_teleop_sliders`` is no longer supported on macOS ([#14632][_#14632])

# Changes since v0.26.0

## Dynamical Systems

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

New features

* None

Fixes

* Promote some ASSERT to DEMAND in ``systems/primitives`` ([#14615][_#14615])

## Mathematical Program

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

New features

* Allow passing time limit to OSQP via SolverOptions ([#14625][_#14625])

Fixes

* None

## Multibody Dynamics

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


New features

* Implement discrete hydroelastic model approximation with TAMSI ([#14630][_#14630])
* DrakeVisualizer class is now templatized ([#14569][_#14569])

Fixes

* Speed up hydroelastic visualization for Drake Visualizer ([#14622][_#14622])
* Explicitly disable HalfSpace-HalfSpace point-pair penetration queries for all scalar types ([#14639][_#14639])

## Tutorials and examples

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


* Provide a complete end-to-end demonstration, using the stochastic schema mechanisms, of how Monte Carlo scenarios can be used to optimize the parameters for a controller ([#14541][_#14541])
* Fix ``acrobot`` Spong controller LCM communication to actually work ([#14525][_#14525])
* ``end_effector_teleop_sliders`` is no longer supported on macOS ([#14632][_#14632])
* Fix output port index for ``kuka_simulation`` example ([#14631][_#14631])


## Miscellaneous features and fixes

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

* Expose PiecewiseQuaternionSlerp's orientation getters ([#14585][_#14585])
* Allow ``yaml`` to operate on non-default MaxRows or MaxCols storage ([#14618][_#14618])

<!---
Not installed:
    * Add RenderEngineGL to the render engine benchmark ([#14540][_#14540])
    * Fix ``render_benchmark`` build error under mac ([#14558][_#14558])
    * Increase ProximityEngine introspection for unit tests ([#14640][_#14640])
--->

## pydrake bindings

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

New features

* None

Fixes

* None

Newly bound

* ``pydrake.solvers.mathematicalprogram.MathematicalProgram.NewNonnegativePolynomial`` ([#14627][_#14627])

## Build system and dependencies

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

* Add support for macOS Big Sur 11.x ([#14632][_#14632], [#14608][_#14608], [#14608][_#14608], [#14608][_#14608])
* Upgrade fcl to latest commit ([#14620][_#14620])
* Upgrade voxelized_geometry_tools to latest commit ([#14600][_#14600])
* Fix ``pathutils.bzl`` globbing vs double-star matching ([#14564][_#14564])
* Add retry to apt-get/brew update calls and add flag to skip update altogether ([#14492][_#14492])
* Add lint check for unguarded OpenMP uses ([#14472][_#14472])
* Distinguish test_rule_tags vs tags ([#14581][_#14581])
* Add xmlrunner and use it for Python unittests ([#14560][_#14560])

<!--
Not installed:
    * Start gathering shareable performance benchmarking infrastructure ([#14505][_#14505])
    * Prepare for Jekyll website conversion ([#14531][_#14531], [#14612][_#14612])
    * Minor cleanup ([#14582][_#14582], [#14572][_#14572], [#14563][_#14563], [#14554][_#14554], [#14580][_#14580])
    * Define groupings in ``//doc`` to smooth our CI integration ([#14583][_#14583])
    * Add consolidated ``//doc`` deployment tool ([#14587][_#14587])
    * Remove `attic` from release notes template ([#14647][_#14647])
-->

## Un-deprecated APIs

LCM messages

* ``lcmtypes/lcmt_robot_state.lcm`` is no longer deprecated ([#14539][_#14539])

## Newly-deprecated APIs

C++

* ``drake::multibody::MultibodyPlant::CalcCenterOfMassPosition -> CalcCenterOfMassPositionInWorld`` ([#14538][_#14538])

Python

* ``pydrake.multibody.plant.MultibodyPlant.CalcCenterOfMassPosition -> CalcCenterOfMassPositionInWorld`` ([#14538][_#14538])
* ``pydrake.common.ToleranceType.absolute -> kAbsolute`` ([#14592][_#14592])
* ``pydrake.common.ToleranceType.relative -> kRelative`` ([#14592][_#14592])


## Removal of deprecated items

C++

* ``systems/sensors/accelerometer_sensor.h`` ([#14607][_#14607])
* ``systems/sensors/gyroscope_sensor.h`` ([#14607][_#14607])
* ``drake::multibody::SpatialVector::ScalarType`` ([#14607][_#14607])

# Notes

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

<!--- begin issue links --->
[_#14472]: https://github.com/RobotLocomotion/drake/pull/14472
[_#14492]: https://github.com/RobotLocomotion/drake/pull/14492
[_#14505]: https://github.com/RobotLocomotion/drake/pull/14505
[_#14525]: https://github.com/RobotLocomotion/drake/pull/14525
[_#14531]: https://github.com/RobotLocomotion/drake/pull/14531
[_#14538]: https://github.com/RobotLocomotion/drake/pull/14538
[_#14539]: https://github.com/RobotLocomotion/drake/pull/14539
[_#14540]: https://github.com/RobotLocomotion/drake/pull/14540
[_#14541]: https://github.com/RobotLocomotion/drake/pull/14541
[_#14554]: https://github.com/RobotLocomotion/drake/pull/14554
[_#14558]: https://github.com/RobotLocomotion/drake/pull/14558
[_#14560]: https://github.com/RobotLocomotion/drake/pull/14560
[_#14563]: https://github.com/RobotLocomotion/drake/pull/14563
[_#14564]: https://github.com/RobotLocomotion/drake/pull/14564
[_#14569]: https://github.com/RobotLocomotion/drake/pull/14569
[_#14572]: https://github.com/RobotLocomotion/drake/pull/14572
[_#14580]: https://github.com/RobotLocomotion/drake/pull/14580
[_#14581]: https://github.com/RobotLocomotion/drake/pull/14581
[_#14582]: https://github.com/RobotLocomotion/drake/pull/14582
[_#14583]: https://github.com/RobotLocomotion/drake/pull/14583
[_#14585]: https://github.com/RobotLocomotion/drake/pull/14585
[_#14587]: https://github.com/RobotLocomotion/drake/pull/14587
[_#14592]: https://github.com/RobotLocomotion/drake/pull/14592
[_#14600]: https://github.com/RobotLocomotion/drake/pull/14600
[_#14607]: https://github.com/RobotLocomotion/drake/pull/14607
[_#14608]: https://github.com/RobotLocomotion/drake/pull/14608
[_#14612]: https://github.com/RobotLocomotion/drake/pull/14612
[_#14615]: https://github.com/RobotLocomotion/drake/pull/14615
[_#14618]: https://github.com/RobotLocomotion/drake/pull/14618
[_#14620]: https://github.com/RobotLocomotion/drake/pull/14620
[_#14622]: https://github.com/RobotLocomotion/drake/pull/14622
[_#14625]: https://github.com/RobotLocomotion/drake/pull/14625
[_#14627]: https://github.com/RobotLocomotion/drake/pull/14627
[_#14630]: https://github.com/RobotLocomotion/drake/pull/14630
[_#14631]: https://github.com/RobotLocomotion/drake/pull/14631
[_#14632]: https://github.com/RobotLocomotion/drake/pull/14632
[_#14639]: https://github.com/RobotLocomotion/drake/pull/14639
[_#14640]: https://github.com/RobotLocomotion/drake/pull/14640
[_#14647]: https://github.com/RobotLocomotion/drake/pull/14647
<!--- end issue links --->

<!--
  Current oldest_commit 5b3377b92387cd149d5aa7b88f8ce5866347bbc1 (exclusive).
  Current newest_commit fc1e0e5e7eb8cef3b9a38de650bd8ccdff04a4e4 (inclusive).
-->
