Skip to content

Orbit v0.15.3 (Preview)

Choose a tag to compare

@github-actions github-actions released this 14 Aug 05:30
79dc38c

What changed

instance list no longer shows instances that instance clean refuses to remove. The two commands disagreed about what exists: list walked the directories under ~/.orbit/instances and tolerated a missing manifest, while clean read the manifest first and reported instance "<name>" does not exist. A home left behind by an interrupted clean therefore appeared in the list with blank fields and could not be removed through orbit at all.

Both halves are fixed, because either alone leaves the problem standing: list now skips homes with no manifest, and clean finishes a half-done removal instead of refusing it. Existing residue disappears from the list on upgrade with nothing to run.

Three standard-library advisories. GO-2026-6218 (net/url), GO-2026-6091 (html/template) and GO-2026-6090 (crypto/tls) are all reachable from code Orbit runs — the HTTP health probe, the daemon's server, and the SQL Server connection and log-streaming paths. Fixed by building on Go 1.25.13; no source changes.

Why it matters

The instance defect compounded silently. Every interrupted clean added one entry, and nothing removed it — a user reported 42 accumulated names, of which two were real. Telling them apart meant inspecting ~/.orbit/instances/*/ for non-empty directories, which is an implementation detail no one should need. rmdir was the only thing that worked.

That is the same failure shape as two defects fixed in v0.15.2: several surfaces answering the same question differently, with the authoritative one the least visible. Here list and clean now share one definition — an instance exists if it has a manifest.

Upgrade notes

No configuration changes. If orbit instance list has been showing names you could not clean, they will be gone after upgrading.