Announcements
-
We are pleased to announce a major update to the Drake website, with clearer and more modern design. We welcome any and all feedback and suggestions for how we can keep making it even better in the future!
-
On macOS, Drake now supports Python 3.9 (and no longer supports 3.8).
Breaking changes since v0.27.0
- A major bug fix for Systems with high-rate timed events (such as LCM publishers) (#14663)
- Such systems in the past may have skipped time steps (#12620).
- With this change they will no longer miss those time steps, which may appear to the user as a performance regression or small behaviour change.
- The upgrade to libsdformat 10.3.0 (#14705) means that malformed
<pose/>
elements will now throw an error rather than having erroneous values replaced with zero (e.g. you only specify 5 floats instead of the required 6, or you use${pi / 4}
which is not valid in raw SDFormat).- You will need to ensure that any malformed
<pose/>
elements are fixed.
- You will need to ensure that any malformed
Changes since v0.27.0
Dynamical Systems
New features
- None
Fixes
- Evaluating fixed input ports with cloned contexts no longer segfaults (#14701)
- Earlier and more explicit checks that a Context matches its System (#14738)
Mathematical Program
New features
- None
Fixes
- None
Multibody Dynamics
New features
- Add capsule mesh (#14642)
- Add capsule field (#14664)
- Allow RenderEngine implementations that require warm starting (#14677)
Fixes
- Give better error when a joint has multiple mobilizers (typically caused by a user typo when creating the joint) (#14655)
- Give better error for unconnected input ports (#14773)
- All
systems::multibody::MultibodyPlant
APIs that previously tookconst std::string&
now usestd::string_view
instead. This does not require any changes to callers, as the types convert transparently. (#14719)
Tutorials and examples
- Add missing tutorials to build file (#14722)
- Add LCM period argument to
AllegroCommandReceiver
’s constructor (#14732) - Do not use
yaml.CLoader
in acrobot example (#14750)
Miscellaneous features and fixes
pydrake bindings
New features
- None
Fixes
- Fix the jupyter
runAll
mechanism when usingprocess_ipywidget_events
(#14742)
Newly bound
- None
Build system
- Switch to Python 3.9 on macOS (#14605)
- Allow users to build object code using
-std=c++20
mode without angering libclang (#14669) - Use correct suffix for Python C extensions (#14730)
Build dependencies
- Add CLP as a direct dependency, in preparation for adding it as a MathematicalProgram solver; previously, it was was only an indirect dependency via dReal (#14729)
- Upgrade recommended Bazel version to 4.0 (#14717)
- Upgrade common_robotics_utilities to latest commit (#14728)
- Upgrade ghc_filesystem to latest release 1.5.0 (#14711)
- Upgrade intel_realsense_ros to latest release 2.2.22 (#14713)
- Upgrade meshcat latest commit (#14715)
- Upgrade meshcat_python to latest commit (#14715)
- Upgrade osqp to latest release 0.6.2 (#14714)
- Upgrade pybind11 fork to latest commit (#14225)
- Upgrade qdldl to latest release 0.1.5 (#14714)
- Upgrade ros_xacro to latest release 1.13.10 (#14712)
- Upgrade sdformat to latest release 10.3.0 (#14705)
- Upgrade tinyobjloader to new upstream repository and latest commit (#14656)
- Upgrade voxelized_geometry_tools to latest commit (#14728)
Newly-deprecated APIs
- The
@tinyxml
external is being removed from Drake on or after 2021-07-01. Downstream projects should add it to their own WORKSPACE if needed. (#14705)
Removal of deprecated items
- None
Notes
This release provides pre-compiled binaries named
drake-20210315-{bionic|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.