# What changed in @dimforge/rapier3d-compat

> 33 changes in @dimforge/rapier3d-compat 0.20 to 0.21 from its official release notes, upgrade guides and advisories: 15 breaking, 15 new APIs and options. Each one cited. Sources checked 2026-11-02. HTML: https://unstale.sh/npm/@dimforge/rapier3d-compat/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @dimforge/rapier3d-compat 0.21

### Breaking changes

- The collisions parameter is now an iterator over references. (0.21.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0210-23-june-2024)

### Fixes and other changes

- Fixes a crash in the SAP broad-phase when an object is teleported. (0.21.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0210-23-june-2024)
- Body translation and rotation no longer become NaN after a simulation step with zero delta time. (0.21.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0210-23-june-2024)

## @dimforge/rapier3d-compat 0.20

### Breaking changes

- Now takes multiple CharacterCollision values as a parameter. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Replaces the contact-constraint ERP parameter with natural frequency, making regularization timestep-length independent. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Replaces normalized_max_penetration_correction with a timestep-length-independent parameter set to a finite value to reduce aggressive popping effects. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Renames the linear X axis mask from X to LIN_X to distinguish it from angular axes. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Renames the linear Y axis mask from Y to LIN_Y to distinguish it from angular axes. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Renames the linear Z axis mask from Z to LIN_Z to distinguish it from angular axes. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Renames JointAxis::X to LinX to distinguish the linear axis from angular axes. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Renames JointAxis::Y to LinY to distinguish the linear axis from angular axes. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Renames JointAxis::Z to LinZ to distinguish the linear axis from angular axes. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- No longer automatically updates poses of associated RigidBody objects; call Multibody::update_rigid_bodies explicitly. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- No longer requires RigidBodySet as a parameter. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Renames update_with_mode and now accepts an impl QbvhDataGenerator<ColliderHandle> parameter. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Removed QueryPipelineMode. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Removed as a public collider-attachment API; attach colliders through ColliderSet::insert_with_parent or ColliderSet::set_parent. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)

### New APIs and options

- Builds a collider with a shape computed from a mesh’s index and vertex buffers. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Implements Debug for ColliderBuilder. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Implements Default, equivalent to ColliderBuilder::ball(0.5). (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Names the contact damping-ratio parameter in the revised regularization parameters. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Adds options to customize behaviors of the inverse-kinematics solver. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Builds a collider shape from mesh index and vertex buffers, with supported output shapes including TriMesh, Cuboid, convex hull, and convex decomposition. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Gets the Jacobian of a specific link. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Computes the pose and Jacobian of a single link without mutating the multibody, optionally accounting for generalized-coordinate displacement. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Runs inverse kinematics on a multibody to align one of its links to a prescribed pose. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Adds an inverse-kinematics operation for aligning a multibody link to a prescribed pose. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Updates rigid-bodies based on multibody link poses; call it explicitly after forward kinematics to update associated rigid-body poses. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- New crate for loading an STL file as a collision shape. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- New crate for loading URDF files into rapier3d, including rigid-bodies, colliders, and joints. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Computes the joint’s angle from the rotation of its attached rigid-bodies. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
- Implements Default, equivalent to RigidBodyBuilder::dynamic(). (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)

### Behavior and default changes

- Adjusts multibody degrees of freedom when the root rigid-body changes between dynamic and non-dynamic; can optionally apply the root rigid-body pose. (0.20.0) — [release notes](https://github.com/dimforge/rapier/blob/3406750a38286a0d3c7d0f4be2f9d53153e81d90/CHANGELOG.md#v0200-9-june-2024)
