Skip to content

v0.34.0

Instances restart under a configurable policy after crashes or health failures, with per-process run logs.

Released on October 15, 2026

Breaking changes

  • Failing or unresponsive instances now restart by default (on_failure); declare framework.restart: "never" on a node, launcher, or run to keep the previous no-restart behavior.
  • Run logs are now one file per process named <instance_id>_<timestamp>.log, replacing the single <instance_id>.log; update anything that reads the fixed path.

Other changes

  • Set an instance's restart policy with framework.restart in its peppy.json5 or a launcher entry, or with --restart/--max-restarts on peppy node run and peppy node add --run.
  • A restarting instance shows restarting while the daemon backs off and starts a new process under the same id, which keeps its bindings, pairings, and any clock domain it published.
  • peppy stack list adds a RESTARTS column, peppy node info reports each instance's policy, restart count, last exit and next start, and peppy stack resolve prints each instance's policy.
  • peppy node stop now clears a restarting, finished, or failed instance and cancels any pending restart.
  • The stack.list core node function returns each instance's restart status: policy, origin, restart count, attempt, last exit, and timestamps.
  • peppy node remove --stop-instances waits for each instance to exit and force-kills any that do not, warning for each; run without the flag it asks for confirmation first.
  • Re-adding a node with peppy node add names each live or restarting instance and its state before overwriting, and is refused while one is starting.

View all releases