Skip to content

v0.27.4

A launch can name one instance its simulated-time source, fed to every machine, with one clock source enforced across the fleet.

Released on September 2, 2026

Breaking changes

  • In Rust, read a clock tick's instant with tick.time() instead of the tick.time field; Python keeps the .time attribute.

  • Reading simulated time now requires a daemon that serves it, so an instance with use_sim_time: true is refused on a wall-mode daemon instead of running; start it with --clock-source=sim.

  • Declare one launch instance its simulated-time source with framework: { publishes_sim_time: true }; peppy hands its SimTimePublisher every machine of the launch so one clock reaches the whole fleet.

  • Federated launches require every machine to serve the same clock source; a sim/wall disagreement is refused at preflight, naming the machine and the flag that fixes it.

  • A launch may declare only one simulated-time source; a second is refused when the launcher is checked, including by peppy stack resolve.

  • Launch feedback names the simulated-time source, and warns when a declared source runs on a wall launch or when a simulated launch declares none.

View all releases