unstale

npm / @dimforge/rapier3d-compat

@dimforge/rapier3d-compat

What changed in @dimforge/rapier3d-compat 0.20 to 0.21, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-02.

15 breaking15 new APIs and options1 behavior and defaults2 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli on npm

@dimforge/rapier3d-compat 0.213 changes

Breaking changes 1

  • The collisions parameter is now an iterator over references.

    0.21.0release notes

Fixes and other changes 2

  • Fixes a crash in the SAP broad-phase when an object is teleported.

    0.21.0release notes

  • Body translation and rotation no longer become NaN after a simulation step with zero delta time.

    0.21.0release notes

@dimforge/rapier3d-compat 0.2030 changes

Breaking changes 14

  • Now takes multiple CharacterCollision values as a parameter.

    0.20.0release notes

  • Replaces the contact-constraint ERP parameter with natural frequency, making regularization timestep-length independent.

    0.20.0release notes

  • Replaces normalized_max_penetration_correction with a timestep-length-independent parameter set to a finite value to reduce aggressive popping effects.

    0.20.0release notes

  • Renames the linear X axis mask from X to LIN_X to distinguish it from angular axes.

    0.20.0release notes

  • Renames the linear Y axis mask from Y to LIN_Y to distinguish it from angular axes.

    0.20.0release notes

  • Renames the linear Z axis mask from Z to LIN_Z to distinguish it from angular axes.

    0.20.0release notes

  • Renames JointAxis::X to LinX to distinguish the linear axis from angular axes.

    0.20.0release notes

  • Renames JointAxis::Y to LinY to distinguish the linear axis from angular axes.

    0.20.0release notes

  • Renames JointAxis::Z to LinZ to distinguish the linear axis from angular axes.

    0.20.0release notes

  • No longer automatically updates poses of associated RigidBody objects; call Multibody::update_rigid_bodies explicitly.

    0.20.0release notes

  • No longer requires RigidBodySet as a parameter.

    0.20.0release notes

  • Renames update_with_mode and now accepts an impl QbvhDataGenerator<ColliderHandle> parameter.

    0.20.0release notes

  • Removed QueryPipelineMode.

    0.20.0release notes

  • Removed as a public collider-attachment API; attach colliders through ColliderSet::insert_with_parent or ColliderSet::set_parent.

    0.20.0release notes

New APIs and options 15

  • Builds a collider with a shape computed from a mesh’s index and vertex buffers.

    0.20.0release notes

  • Implements Debug for ColliderBuilder.

    0.20.0release notes

  • Implements Default, equivalent to ColliderBuilder::ball(0.5).

    0.20.0release notes

  • Names the contact damping-ratio parameter in the revised regularization parameters.

    0.20.0release notes

  • Adds options to customize behaviors of the inverse-kinematics solver.

    0.20.0release notes

  • Builds a collider shape from mesh index and vertex buffers, with supported output shapes including TriMesh, Cuboid, convex hull, and convex decomposition.

    0.20.0release notes

  • Gets the Jacobian of a specific link.

    0.20.0release notes

  • Computes the pose and Jacobian of a single link without mutating the multibody, optionally accounting for generalized-coordinate displacement.

    0.20.0release notes

  • Runs inverse kinematics on a multibody to align one of its links to a prescribed pose.

    0.20.0release notes

  • Adds an inverse-kinematics operation for aligning a multibody link to a prescribed pose.

    0.20.0release notes

  • Updates rigid-bodies based on multibody link poses; call it explicitly after forward kinematics to update associated rigid-body poses.

    0.20.0release notes

  • New crate for loading an STL file as a collision shape.

    0.20.0release notes

  • New crate for loading URDF files into rapier3d, including rigid-bodies, colliders, and joints.

    0.20.0release notes

  • Computes the joint’s angle from the rotation of its attached rigid-bodies.

    0.20.0release notes

  • Implements Default, equivalent to RigidBodyBuilder::dynamic().

    0.20.0release notes

Behavior and default changes 1

  • 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.0release notes