Skip to content

Release v1.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Jul 15:57
0597c71

Newton v1.4.0

Newton v1.4.0 is a feature release centered on composing solvers, making captured and deterministic workflows more portable, expanding articulated dynamics tooling, improving deformable simulation and USD import, and delivering targeted performance gains in graph-captured and large-scale workloads.

For the complete list of changes, see the changelog.

Highlights

  • Experimental coupled solver composition. SolverCoupled, proxy coupling, and ADMM contacts make it possible to compose MuJoCo, Kamino, VBD, XPBD, and MPM within a single workflow. (#2848)

  • Experimental deformable USD workflows. Based on our AOUSD schema proposals, ModelBuilder.add_usd() can import curves, meshes, tetrahedral meshes, attachments, and element filters as Newton cables, cloth, soft bodies, joints, and collision filters. Tiled-camera rendering now treats cloth and volume topology as meshes without also rendering their vertices as particle spheres. (#3192, #3518)

  • Deterministic and portable execution. XPBD, SemiImplicit, Featherstone, VBD, and MuJoCo can opt into deterministic kernel paths for bit-exact repeated rollouts. Supported examples can also capture and replay Warp graphs on CPU. Default solver execution remains unchanged. (#3300, #3387)

  • VBD deformable simulation improvements. VBD gains opt-in full-surface rigid-soft contact that detects soft-triangle edge and face crossings against rigid SDFs, closing gaps that per-particle detection can miss. It also adds per-shape soft-contact margins and more consistent damping behavior across deformable materials, springs, cables, joints, and contacts. (#3262, #2994, #2877)

  • Articulated inverse dynamics. The experimental eval_inverse_dynamics_passive() and eval_inverse_dynamics_force() APIs populate caller-owned arrays with joint-space mass matrices, gravity and Coriolis forces, and manipulator-equation joint forces for full models or selected articulations. (#2753, #3530)

  • Detailed simulation tuning guides. Responding to strong user feedback, Newton 1.4 adds practical, diagnose-first tuning guides for building stable and efficient simulations. The new documentation provides a recommended tuning order, symptom-driven troubleshooting, solver-specific parameter guidance, contact and drive sanity checks, performance tradeoffs, and dedicated MuJoCo guidance. The guidance will expand in future releases.

Performance improvements

  • Much faster launch-heavy CPU workflows. Warp 1.15 CPU graph capture can greatly reduce launch overhead for graphable Newton workloads. A representative XPBD quadruped workload runs about 16 times faster with graph replay. (#3387)

  • Higher-throughput batched MuJoCo simulation. Large GPU workloads for G1, KitchenG1, and Humanoid run about 15% to 26% faster, while challenging Allegro workloads improve by about 11% with MuJoCo Warp 3.10.0.2. (#2980, #3502)

  • Faster simulation and visualization paths. Representative cloth and contact-heavy scenes run about 10% to 13% faster, and ViewerGL rendering is around 10% faster for large multi-world scenes.

Announcements

Breaking changes and removals

  • MuJoCo gap propagation and import semantics changed. SolverMuJoCo now propagates authored shape_gap into MuJoCo geom_gap and pair_gap, while MJCF and USD imports no longer subtract gap from margin by default. Shapes without an explicit gap inherit ModelBuilder.rigid_gap = 0.1 m, which now reaches MuJoCo and may increase detection-only contacts, broad-phase work, and contact-buffer pressure. Use legacy_margin_gap=True for assets authored against MuJoCo 3.8 or earlier. For other scenes, retune builder.rigid_gap before adding shapes or set ShapeConfig.gap per shape; 0.0 preserves the previous MuJoCo detection envelope. (#2980)

  • USD material resolution now follows canonical bindings only. Newton no longer falls back to non-canonical material relationships. Assets that rely only on bare purpose-specific bindings such as material:binding:preview, or bind to prims that are not Material prims, may stop resolving materials. Validate and repair affected assets with usdchecker or usd-validation-nvidia. (#3350)

  • Several simulation defaults and semantics changed. The CoACD threshold now defaults to 0.05; standalone SolverSemiImplicit enables particle-particle contact forces; SolverFeatherstone solves floating bases about the root center of mass; and inactive MPM particles no longer participate in grid transfers. Review the changelog for opt-outs and migration guidance before reusing tuned scenes.

  • Implicit MPM collider setup is keyword-only. All arguments to SolverImplicitMPM.setup_collider() must now be passed by name. Migrate positional calls to keywords such as collider_meshes=, collider_body_ids=, and collider_particle_ids=. (#3524)

  • APIs deprecated in earlier releases were removed. Notable removals include SensorRaycast, the SensorTiledCamera 1.1 compatibility surface, the external newton-actuators dependency and legacy actuator signature, top-level equality-constraint compatibility fields, and body armature. Migration paths are listed in the changelog. (#3169, #3168, #3170, #3296, #3153)

New deprecations and upcoming removals

  • Option-heavy solver, builder, shape, joint, and FEM APIs now warn when options are passed positionally. Keep stable identifiers positional and migrate configuration arguments to explicit keywords. (#2993)

  • Migrate from SensorTiledCamera.config and render_config to default_render_config, set texture and shadow behavior explicitly, and use the renamed camera-ray helpers. Other newly deprecated surfaces include State.body_q_prev, legacy neural-network checkpoint formats, implicit rod body-frame selection, and the legacy contact-match constants. See the changelog for the complete migration list. (#3408, #3372, #3356, #3498)

Dependency updates

  • Newton now requires warp-lang>=1.15.0.
  • The simulation extra moves to MuJoCo 3.10 and mujoco-warp>=3.10.0.2,<3.11.
  • USD import workflows require newton-usd-schemas>=0.4.0.
  • The new onnx extra adds ONNX policy inference through warp-nn[onnx]==0.3.0.
  • The deprecated newton-actuators dependency is removed; use newton.actuators.

For complete dependency details, see the pyproject.toml comparison.

Acknowledgments

Thanks to the Newton Project Members and to the following contributors from outside the Newton maintainer, TSC, and project-member groups: