Skip to content

v0.30.0

A pairing slot can hold several peers through a declared cardinality, and `--nv` now renders through the GPU on Jetson boards.

Released on September 17, 2026

Breaking changes

  • A pairing slot states that it may run empty with cardinality: "zero_or_one" instead of optional: true; replace optional: true on every depends_on.pairings entry (the default one still requires a pair).
  • peppy repo show and its --json output report each pairing slot's cardinality in place of the former optional flag; update any parser reading that field.

Pairing

  • A pairing slot can hold several pairs: declaring cardinality: "one_or_more" or "zero_or_more" pairs one instance with many peers, read through the generated peers() and published to with publish_to.
  • peppy stack list prints one row per pair tagged with each peer's copy, and stack join / stack remove add and dissolve pairs on a running multi slot.
  • An observer link can watch a single pair by naming its other end (watch: "peer_instance/link") instead of the whole source slot.
  • The generated test harness gives a multi pairing slot <link>_instances and <link>_members knobs that start one mock peer per member.

Containers

  • Passing apptainer_run_extra_args: ["--nv"] now binds the Tegra driver libraries, so a node renders or computes through the GPU on Jetson boards as it does on desktop NVIDIA hardware.

Other changes

  • While a build is quiet, each build-progress line names the last line the build printed and how long ago.
  • A daemon's derived core-node name now takes the form cn-{adjective}-{animal}.

View all releases