Copper-rs v0.15: New Multithreaded Core, Subsystems, and Swarm Support. Still 100% Deterministic. 🤯

This will likely be the last release before 1.0. We set out with a clear roadmap, and with 0.15 we have checked every box, and then some.

Until now, Copper demonstrated strict determinism within a single process or a single embedded system. With 0.15, this extends to distributed systems.

Imagine a robot composed of multiple subsystems: two computers and several MCUs, each running their own Copper process. With 0.15, you can deterministically replay logs across all of what we call “subsystems” (processes or embedded devices) as a single unified execution. Your entire robot can now be replayed locally as one process with 100% fidelity.

And it does not stop at a single robot.

Swarm of drones for a drone show in Ontario, CA

The same model applies to fleets. You can now deterministically replay a swarm of robots as one coherent system. Distributed autonomy becomes reproducible, testable, and debuggable end to end.

Traditionally, robot swarms have lived mostly in research environments, where reproducibility and safety constraints are relaxed. Copper brings this paradigm into real-world systems, where reliability, traceability, and safety are paramount. What was previously experimental can now be engineered, validated, and deployed with confidence.

Distributed deterministic demo config (generated from Copper-rs tooling in examples/cu_distributed_resim_demo)

To support this, we introduced a new configuration model for both subsystems and fleet of identical robots. A master config defines the full system, and composable instance files allow per-robot overrides such as IDs, calibration, or deployment-specific parameters. This provides a clean path from one robot to many.

On the runtime side, 0.15 introduces a multithreaded execution core. The new parallel-rt mode allows multiple CopperLists to run in parallel, increasing system bandwidth (higher Hz) with minimal latency impact, while preserving deterministic ordering and logging guarantees.

We also improved timing precision. Some applications require extremely tight cycle control, even on standard host systems. The rate limiter has been upgraded into a high-precision synchronization mechanism, enabling much tighter control over tick generation and execution cadence.

And there is much more in this release. We cannot wait to see what the ecosystem will create with those new capabilities.

Check out the full release notes for all the details.

And as usual, join us on discord if you have any question!

Next
Next

copper-rs v0.14: a smoother path from prototyping to production