Skip to content

Copper 1.2.5

Choose a tag to compare

@gbin gbin released this 23 Oct 12:13
· 229 commits to master since this release

v1.2.5 - 2026-10-20

This patch backports fixes to Copper 1.2 while preserving its public APIs, configuration, and v1 log encapsulation.

Fixes

  • The flight controller simulator keeps cu-zed and cu-vitfly on their compatible 1.1 release line, preventing their registry dependencies from selecting Copper 1.3 alongside the local 1.2 runtime.
  • Failed or panicking iterations release their unfinished CopperList before shutdown. Completed output still drains, partial output stays unpublished, and the application can restart. (#1531, #1533)
  • Shared-memory images implement Clone and Default without requiring the underlying storage to implement those traits; cloning retains the buffer handle. (#1525)
  • Bevy's demo keeps the runtime on the main thread, including when asynchronous CopperList I/O is enabled. Bevy's derive dependency and Kornia's 0.1 image/tensor dependencies are pinned to compatible releases. (#1528, #1411, #1427)
  • ROS 2 publishers advertise their actual best-effort sensor-data QoS. Reliable subscribers can now detect incompatible publishers during discovery. (#1399)
  • fsck computes recording timing from all message slots and reports unavailable rates when no positive duration was recorded. (#1467)
  • Live diagnostics stay in the monitor's LOG pane; formatting CuError avoids an intermediate allocation; live twin archives accept explicit archive and receiver sizing. These previously merged backports now receive published patch versions. (#1494, #1480, #1479)
  • Transform, monitor, and RRT* loops satisfy newer Clippy checks. (#1499, #1506)

Packages

The following packages advance to 1.2.5: cu29, cu29-runtime, cu29-derive, cu29-traits, cu29-log-runtime, cu29-logstream, cu29-export, cu-tuimon, cu-transform, cu-sensor-payloads, cu-bevymon, cu-ros2-bridge, and cu-rrt-star. Other package versions remain unchanged, including cargo-cunew 1.2.4. cu29 signals this maintenance release without republishing every crate.

Upgrading

Use cu29 = "~1.2.5", then run cargo update. Update directly selected affected components to ~1.2.5 as needed. The generated runtime requires cu29-runtime and cu29-derive 1.2.5 or newer within the 1.2 line. Existing log encodings and the Kornia 0.1 conversion API are preserved; use the producing application's matching decoder for replay.