Orbit Handbook
MarkdownOpen in ClaudeOpen in ChatGPT

Orbit 0.4: Dry-Run Diffs by Default

2026-07-21

Orbit
0.4 is out. The headline: orbit deploy now shows the full diff and waits
for a yes.
What used to be --dry-run is simply how deploys start.

$ orbit deploy --env production
Release #7 -> production
  ~ service hello-api      image sha256:9f2c... -> sha256:4e11...
  ~ env DATABASE_POOL      10 -> 25
  - route /v1/legacy
Apply? [y/N]

Why we flipped it

We watched how people actually used 0.3. The teams with the fewest incidents
had all built the same habit by hand: --dry-run, read, then deploy "for
real". The default punished exactly the careful behavior we hoped for - so
the careful path is now the only path. (One of our own fat-fingered applies
helped the argument along; that story is in
the dogfooding post.)

CI keeps its ergonomics: --yes applies without prompting, and the diff
still prints into the job log, so every pipeline now keeps a record of what
each deploy changed.

Also in 0.4

Upgrading

orbit self-update

Scripts that relied on deploy applying without confirmation need --yes -
that is the whole migration. Full details live in the
CLI reference.