GitPedia
Home/dartsim/dart/Changelog
dartsim

dartsim/dart

Research-focused C++23 physics engine for robotics, animation, and machine learning, with Python bindings

30 Releases
Latest: 1w ago
DART 6.18.0v6.18.0Latest
jslee02jslee02·1w ago·June 6, 2026
GitHub

📦 Collision

  • Stabilize ODE capsule and cylinder resting contacts with a per-pair contact-history manifold (invalidated on sliding and on kinematic pose changes) so they no longer sink through the supporting surface: #2902, gazebosim/gz-physics#692

📦 Constraint

  • Regularize rank-deficient closed-loop constraints with an additive Constraint Force Mixing floor on the `BallJointConstraint`/`WeldJointConstraint` loop-closure constraints, so non-axis-aligned closed kinematic chains stay enforced instead of drifting open: #2903, gazebosim/gz-physics#719
  • Full changelog: https://github.com/dartsim/dart/blob/release-6.18/CHANGELOG.md
DART 6.17.1v6.17.1
jslee02jslee02·1w ago·June 5, 2026
GitHub

📋 Changes

  • Collision
  • Clamp the ODE heightfield extents, vertical scale, and bounds so an extreme `HeightmapShape` scale no longer aborts `dCollideHeightfield`: [#2894](https://github.com/dartsim/dart/pull/2894), [gazebosim/gz-physics#847](https://github.com/gazebosim/gz-physics/issues/847)
  • Dynamics
  • Validate `HeightmapShape` scale and height-field values, rejecting non-finite and non-positive inputs: [#2884](https://github.com/dartsim/dart/pull/2884), [gazebosim/gz-physics#847](https://github.com/gazebosim/gz-physics/issues/847)
  • Reject non-finite mass and moment of inertia at the `Inertia` ingest boundary: [#2885](https://github.com/dartsim/dart/pull/2885), [gazebosim/gz-physics#854](https://github.com/gazebosim/gz-physics/issues/854)
  • Initialize `Inertia` to a valid state before applying a rejected moment, and check only the consumed inertia entries: [#2898](https://github.com/dartsim/dart/pull/2898)
  • Common
  • Demote the duplicate-name auto-rename message to debug verbosity: [#2895](https://github.com/dartsim/dart/pull/2895), [gazebosim/gz-physics#725](https://github.com/gazebosim/gz-physics/issues/725)
  • + 2 more
DART 6.17.0v6.17.0
jslee02jslee02·1w ago·June 4, 2026
GitHub

📋 Changes

  • GUI
  • Fix `RealTimeWorldNode` stalling when the viewer lags behind real time: [#2088](https://github.com/dartsim/dart/pull/2088)
  • Collision
  • Preserve the minimum pair distance in FCL distance queries: [#2243](https://github.com/dartsim/dart/pull/2243), [#1539](https://github.com/dartsim/dart/issues/1539)
  • Fix plane collision handling for the Bullet and FCL backends: [#2246](https://github.com/dartsim/dart/pull/2246)
  • Fix an FCL mesh contact regression: [#2258](https://github.com/dartsim/dart/pull/2258)
  • Fix Bullet ellipsoid rolling by using primitive sphere/ellipsoid shapes: [#2274](https://github.com/dartsim/dart/pull/2274)
  • Handle non-`Skeleton` `MetaSkeleton` subscriptions in `CollisionGroup` without crashing: [#2277](https://github.com/dartsim/dart/pull/2277)
  • + 33 more
DART 6.16.8v6.16.8
jslee02jslee02·2w ago·May 31, 2026
GitHub

📋 Changes

  • GUI
  • Fix SEGV in ImFontAtlas::AddFontFromMemoryCompressedTTF when null pointer is passed as compressed font data: [#2516](https://github.com/dartsim/dart/issues/2516)
  • Fix `ImGui::ColorPicker3`/`ColorPicker4` crashes when called without an active ImGui context or window: [#2668](https://github.com/dartsim/dart/issues/2668)
  • Use modern ImGui modifier key names in the OSG ImGui handler for newer ImGui builds. ([#2526](https://github.com/dartsim/dart/pull/2526))
  • Constraint
  • Ignore malformed contacts with null collision objects instead of dereferencing them while creating `ContactConstraint`: [#2669](https://github.com/dartsim/dart/issues/2669)
  • Hide bundled ImGui internal formatting helpers from shared library exports: [#2671](https://github.com/dartsim/dart/issues/2671)
  • Parsers
  • + 13 more
DART 6.16.7v6.16.7
jslee02jslee02·4mo ago·February 10, 2026
GitHub

📋 Changes

  • Build
  • Added support for assimp 6.x while maintaining backward compatibility with assimp 5.x: [#2510](https://github.com/dartsim/dart/pull/2510)
  • Dynamics
  • Reject non-finite transforms at Joint public API entry points and guard inertia propagation in kinematic joint variants: [#2497](https://github.com/dartsim/dart/pull/2497)
  • Math
  • Enhance verifyTransform to also reject infinity values (previously only checked NaN): [#2497](https://github.com/dartsim/dart/pull/2497)
  • Optimizer
  • Validate Problem and MultiObjectiveProblem dimension to prevent excessive allocation from huge inputs: [#2503](https://github.com/dartsim/dart/pull/2503)
  • + 2 more
DART 6.16.6v6.16.6
jslee02jslee02·4mo ago·January 29, 2026
GitHub

📋 Changes

  • Constraint
  • Fix slip compliance validation to silently handle the -1.0 sentinel value (meaning "use default") instead of logging spurious warnings: [gz-sim#3289](https://github.com/gazebosim/gz-sim/issues/3289)
  • Dynamics
  • Guard against non-finite articulated body computations from zero/epsilon mass or extreme spring values: [gz-physics#849](https://github.com/gazebosim/gz-physics/issues/849), [gz-physics#850](https://github.com/gazebosim/gz-physics/issues/850), [gz-physics#851](https://github.com/gazebosim/gz-physics/issues/851), [gz-physics#854](https://github.com/gazebosim/gz-physics/issues/854), [gz-physics#856](https://github.com/gazebosim/gz-physics/issues/856)
DART 6.16.5v6.16.5
jslee02jslee02·4mo ago·January 22, 2026
GitHub

📋 Changes

  • Constraint
  • Fix crash when joint limits are invalid (lower > upper) by emitting a warning and skipping limit enforcement: [gz-physics#846](https://github.com/gazebosim/gz-physics/issues/846)
  • Validate contact surface parameters to prevent LCP solver crashes: [#2435](https://github.com/dartsim/dart/pull/2435)
  • Dynamics
  • Validate SphereShape radius to prevent assertion failures with NaN/Inf/non-positive values: [#2441](https://github.com/dartsim/dart/pull/2441)
  • Parsers
  • Fix null pointer dereference in XmlHelpers getValue* functions: [#2429](https://github.com/dartsim/dart/pull/2429)
DART 6.16.4v6.16.4
jslee02jslee02·5mo ago·January 7, 2026
GitHub

📋 Changes

  • Physics
  • Fix ODE box-cylinder contact stability with libccd: [#2389](https://github.com/dartsim/dart/pull/2389)
  • Fix ODE cylinder mesh fallback on FreeBSD: [#2388](https://github.com/dartsim/dart/pull/2388)
  • Parsers
  • Fix URDF shape parsing on FreeBSD: [#2379](https://github.com/dartsim/dart/pull/2379)
  • Tooling and Docs
  • Add Alt Linux repro tasks: [#2381](https://github.com/dartsim/dart/pull/2381)
  • Add FreeBSD VM repro patches: [#2374](https://github.com/dartsim/dart/pull/2374)
  • + 2 more
DART 6.16.3v6.16.3
jslee02jslee02·5mo ago·January 1, 2026
GitHub

📋 Changes

  • Collision
  • Fix Bullet double-precision includes on release-6.16: [#2334](https://github.com/dartsim/dart/pull/2334)
  • Tooling and Docs
  • Fix pixi ex example selection: [f716548](https://github.com/dartsim/dart/commit/f7165480d66)
DART 6.16.2v6.16.2
jslee02jslee02·5mo ago·December 21, 2025
GitHub

📋 Changes

  • Build
  • Remove DART_BUILD_MODE_DEBUG guards to fix NDEBUG compilation: [#2326](https://github.com/dartsim/dart/pull/2326)
  • Use package.xml version for dartpy packaging: [#2327](https://github.com/dartsim/dart/pull/2327)
  • Tests
  • Stabilize World::Cloning in asserts-enabled CI: [#2331](https://github.com/dartsim/dart/pull/2331)
  • Tooling and Docs
  • Cover asserts-enabled build and fix API docs PR ref: [#2330](https://github.com/dartsim/dart/pull/2330)
  • Fix publish_dartpy workflow YAML: [#2329](https://github.com/dartsim/dart/pull/2329)
  • + 4 more
DART 6.16.1v6.16.1
jslee02jslee02·6mo ago·December 13, 2025
GitHub

🐛 Fixed

  • Fix FreeListAllocator assertions when building without NDEBUG (e.g., Ubuntu 24.04 / GCC 13): [#2295](https://github.com/dartsim/dart/pull/2295)
DART 6.16.0v6.16.0
jslee02jslee02·7mo ago·November 10, 2025
GitHub

📦 Highlights

  • Servo joints now recover gracefully from hitting position limits, preventing the lock-ups reported in Gazebo/gz-sim (#2086).
  • All remaining raw `assert` calls were replaced with `DART_ASSERT` to keep diagnostics consistent in release builds (#2117).
  • Build fixes:
  • pybind11 detection and assert include handling were hardened for pixi builds (#2118).
  • Eigen guard backported so 3.4+ builds keep working on the release branch (#2108).
  • New toggles let you opt into system Tracy, pybind11, and GoogleBenchmark as needed (#1911, #1907, #1904).
  • Absolute install dir handling corrected for CMake exports (#2006).
  • Tooling & docs:
  • + 3 more

🧪 Tested Platforms

  • Linux
  • Ubuntu 22.04 LTS / GCC 11.4 / x86_64
  • Ubuntu 24.04 LTS / GCC 13.2 / x86_64
  • macOS 14 / Clang 15 / arm64
  • Windows / MSVC 19.40 / x86_64

📦 Installation / Build

  • See the README for package availability and build instructions. To build from source with pixi:
  • ```bash
  • pixi run build
  • pixi run build-dartpy # optional: Python bindings
  • pixi run test # C++ tests
  • pixi run test-py # python/dartpy tests
  • pixi run -e gazebo test-gz # gazebo compatibility test suite
  • ```

📦 Thanks

  • Thanks to everyone who reported issues, reviewed PRs, and helped chase down the joint-limit and pixi regressions. Enjoy 6.16.0!
DART 6.15.0v6.15.0
jslee02jslee02·1y ago·November 15, 2024
GitHub

📦 [DART 6.15.0 (2024-11-15)](https://github.com/dartsim/dart/milestone/77?closed=1)

  • This is a simple maintenance release with updates to support newer dependency versions.
  • Tested Platforms
  • Linux
  • Ubuntu 22.04 LTS / GCC 11.4 / x86_64
  • Ubuntu 24.04 LTS / GCC 13.2 / x86_64
  • macOS 14 / Clang 15 / arm64
  • Windows / MSVC 19.40 / x86_64
  • Build
  • + 3 more
DART v6.14.5v6.14.5
jslee02jslee02·1y ago·September 8, 2024
GitHub

📦 [DART 6.14.5 (2024-09-08)](https://github.com/dartsim/dart/milestone/82?closed=1)

  • Tested Platforms
  • Linux
  • Ubuntu 22.04 LTS / GCC 11.4 / x86_64
  • Ubuntu 24.04 LTS / GCC 13.2 / x86_64
  • macOS 14 / Clang 15 / arm64
  • Windows / MSVC 19.40 / x86_64
  • Fixed missing parentheses in config.hpp: [#1838](https://github.com/dartsim/dart/pull/1838)
  • Allowed negative scale for MeshShape: [#1841](https://github.com/dartsim/dart/pull/1841)
v6.14.4
jslee02jslee02·1y ago·July 6, 2024
GitHub

📦 [DART 6.14.4 (2024-07-06)](https://github.com/dartsim/dart/milestone/81?closed=1)

  • Tested Platforms
  • Linux
  • Ubuntu 22.04 LTS / GCC 11.4 / x86_64
  • Ubuntu 24.04 LTS / GCC 13.2 / x86_64
  • macOS 14 / Clang 15 / arm64
  • Windows / MSVC 19.40 / x86_64
  • Fixed GLUT dependency handling on Windows: [#1827](https://github.com/dartsim/dart/pull/1827)
DART 6.14.3v6.14.3
jslee02jslee02·1y ago·July 5, 2024
GitHub

📦 [DART 6.14.3 (2024-07-05)](https://github.com/dartsim/dart/milestone/80?closed=1)

  • Tested Platforms
  • Linux
  • Ubuntu 22.04 LTS / GCC 11.4 / x86_64
  • Ubuntu 24.04 LTS / GCC 13.2 / x86_64
  • macOS 14 / Clang 15 / arm64
  • Windows / MSVC 19.40 / x86_64
  • Changed the default CMake option to DART_ENABLE_SIMD=OFF: [#1825](https://github.com/dartsim/dart/pull/1825)
DART 6.14.2v6.14.2
jslee02jslee02·1y ago·June 29, 2024
GitHub

📦 [DART 6.14.2 (2024-06-28)](https://github.com/dartsim/dart/milestone/79?closed=1)

  • Tested Platforms
  • Linux
  • Ubuntu 22.04 LTS / GCC 11.4 / x86_64
  • Ubuntu 24.04 LTS / GCC 13.2 / x86_64
  • macOS 14 / Clang 15 / arm64
  • Windows / MSVC 19.40 / x86_64
  • Fixed version definitions: [#1820](https://github.com/dartsim/dart/pull/1820)
DART v6.14.1v6.14.1
jslee02jslee02·1y ago·June 26, 2024
GitHub

📦 [DART 6.14.1 (2024-06-26)](https://github.com/dartsim/dart/milestone/78?closed=1)

  • Tested Platforms
  • Linux
  • Ubuntu 22.04 LTS / GCC 11.4 / x86_64
  • Ubuntu 24.04 LTS / GCC 13.2 / x86_64
  • macOS 14 / Clang 15 / arm64
  • Windows / MSVC 19.40 / x86_64
  • Included CTest for BUILD_TESTING option: [#1819](https://github.com/dartsim/dart/pull/1819)
DART v6.14.0v6.14.0
jslee02jslee02·1y ago·June 25, 2024
GitHub

📦 [DART 6.14.0 (2024-06-24)](https://github.com/dartsim/dart/milestone/73?closed=1)

  • This release is mostly a maintenance update, including various CI updates and build fixes for recent development environment toolsets and dependencies.
  • Tested Platforms
  • Linux
  • Ubuntu 22.04 LTS / GCC 11.4 / x86_64
  • Ubuntu 24.04 LTS / GCC 13.2 / x86_64
  • macOS 14 / Clang 15 / arm64
  • Windows / MSVC 19.40 / x86_64
  • Breaking Changes
  • + 10 more
DART v6.13.2v6.13.2
jslee02jslee02·2y ago·March 17, 2024
GitHub

📋 Changes

  • Tested Platforms
  • Linux
  • Ubuntu 22.04 LTS on amd64 / GCC 11.2 / amd64
  • Ubuntu 24.04 LTS on amd64 / GCC 13.2 / amd64
  • macOS 12 (Monterey) / AppleClang 14 / amd64
  • Windows / MSVC 19.38 / amd64
  • Build
  • Fixed build with GCC >= 13: [#1793](https://github.com/dartsim/dart/pull/1793)
DART 6.13.1v6.13.1
jslee02jslee02·2y ago·January 5, 2024
GitHub

📦 [DART 6.13.1 (2024-01-04)](https://github.com/dartsim/dart/milestone/74?closed=1)

  • Tested Platforms
  • Ubuntu Focal on amd64 / GCC 9.4 / amd64
  • Ubuntu Jammy on amd64 / GCC 11.3 / amd64
  • macOS 12 (Monterey) / Clang 14 / amd64
  • Windows / MSVC 19.37 / amd64
  • Build
  • Fixed build with urdfdom 4.0.0: [#1779](https://github.com/dartsim/dart/pull/1779)
  • Fixed invalid array access in moving skeleton subtree: [#1778](https://github.com/dartsim/dart/pull/1778)
  • + 2 more
DART 6.13.0v6.13.0
jslee02jslee02·3y ago·January 17, 2023
GitHub

📦 [DART 6.13.0 (2022-12-31)](https://github.com/dartsim/dart/milestone/69?closed=1)

  • Supported Platforms
  • Ubuntu Focal on amd64 / GCC 9.3 / amd64
  • Ubuntu Jammy on amd64 / GCC 11.2 / amd64
  • macOS 12 (Monterey) / Clang 13 / amd64
  • Windows / Microsoft Visual Studio 2019 / amd64
  • Dependency
  • Added required dependencies: fmt
  • Added optional dependencies: spdlog
  • + 22 more
DART 6.12.2v6.12.2
jslee02jslee02·3y ago·July 31, 2022
GitHub

📋 Changes

  • Build
  • Fixed build with urdfdom 3.1.0 on Windows: [#1675](https://github.com/dartsim/dart/pull/1675)
DART 6.12.1v6.12.1
jslee02jslee02·4y ago·January 20, 2022
GitHub

📋 Changes

  • Build
  • Fixed bullet header include: [#1620](https://github.com/dartsim/dart/pull/1620)
  • dartpy
  • Added Python bindings for Joint::getWrenchTo{Child|Parent}BodyNode: [#1621](https://github.com/dartsim/dart/pull/1621)
DART 6.12.0v6.12.0
jslee02jslee02·4y ago·January 20, 2022
GitHub

📋 Changes

  • API Breaking Changes
  • DART 6.12.0 and later require compilers that support C++17: [#1600](https://github.com/dartsim/dart/pull/1600)
  • Increased minimum CMake version to 3.10.2
  • Increased minimum compiler versions to GCC 7.3.0, Clang 6.0, MSVC 16.0
  • Dropped Ubuntu Xenial (16.04 LTS) support
  • Build
  • Remove DART_BUILD_DARTPY option: [#1600](https://github.com/dartsim/dart/pull/1600)
  • Dynamics
  • + 8 more
DART 6.11.1v6.11.1
jslee02jslee02·4y ago·August 25, 2021
GitHub

📋 Changes

  • Dynamics
  • Fixed incorrect LCP construction in JointConstraint for multi-DOFs joints : [#1597](https://github.com/dartsim/dart/pull/1597)
DART 6.11.0v6.11.0
jslee02jslee02·4y ago·July 15, 2021
GitHub

📋 Changes

  • Math
  • Added `Mesh`, `TriMesh`, and `Icosphere` classes: [#1579](https://github.com/dartsim/dart/pull/1579)
  • Collision
  • Fixed incorrect group-group collision checking for BulletCollisionDetector: [#1585](https://github.com/dartsim/dart/pull/1585), [#717](https://github.com/dartsim/dart/issues/717)
  • Dynamics
  • Fixed servo motor doesn't respect joint position limits: [#1587](https://github.com/dartsim/dart/pull/1587)
  • GUI
  • Fixed incorrect MultiSphereConvexHull rendering: [#1579](https://github.com/dartsim/dart/pull/1579)
  • + 3 more
DART 6.10.1v6.10.1
jslee02jslee02·5y ago·April 19, 2021
GitHub

📋 Changes

  • Dynamics
  • Fixed inertia calculation of CapsuleShape: [#1561](https://github.com/dartsim/dart/pull/1561)
  • GUI
  • Changed to protect OpenGL attributes shared by ImGui and OSG: [#1558](https://github.com/dartsim/dart/pull/1558)
  • Changed to set backface culling by default: [#1559](https://github.com/dartsim/dart/pull/1559)
  • dartpy
  • Added Python binding for BodyNode::getBodyForce(): [#1563](https://github.com/dartsim/dart/pull/1563)
DART 6.10.0v6.10.0
jslee02jslee02·5y ago·April 10, 2021
GitHub

📋 Changes

  • Common
  • Removed use of boost::filesystem in public APIs: [#1417](https://github.com/dartsim/dart/pull/1417)
  • Changed Signal to remove connection when they're being disconnected: [#1462](https://github.com/dartsim/dart/pull/1462)
  • Collision
  • Added ConeShape support for FCLCollisionDetector: [#1447](https://github.com/dartsim/dart/pull/1447)
  • Fixed segfault from raycast when no ray hit: [#1461](https://github.com/dartsim/dart/pull/1461)
  • Added PyramidShape class: [#1466](https://github.com/dartsim/dart/pull/1466)
  • Kinematics
  • + 73 more
DART 6.9.5v6.9.5
jslee02jslee02·5y ago·October 17, 2020
GitHub

📋 Changes

  • Added Ipopt >= 3.13 support: [#1506](https://github.com/dartsim/dart/pull/1506)