This release includes breaking changes for platform teams planning a safe upgrade.
Published 29d
Developer Productivity
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
cli
configuration
contracts
developer-tools
infrastructure
ota
+5 more
productivity
repo-readiness
rust
validation
workspace
Summary
AI summaryExpanded structured readiness with richer probe options and added interactive Studio modes.
Full changelog
- expanded structured readiness across both task runtime services and top-level managed services: repos can now declare HTTP/TCP readiness with probe
method, requestheaders, acceptedsuccess.statuscodes, a requiredbody.containssubstring, and timing controls (interval,timeout,retries,start_period); validation, doctor/runtime probing, topology/output summaries, and canonical docs/examples now follow the same richer readiness contract while legacy top-levelreadiness.runremains supported, and omittedretriesnow means ota keeps waiting by default on both surfaces instead of doing a shallow one-shot service probe - fixed
ota upservice ordering sosetup.requires_servicesnow defines the pre-setup service phase: ota starts and verifies only those declared setup prerequisites before runningsetup, then starts the remaining required services after setup before final readiness diagnosis - added
ota studio --openon top of the existing read-only snapshot flow, so Studio can now export.ota/state/studio/index.htmland open it in the default browser in one step without introducing a live server or a second Studio mode - added explicit
--setup-pathsupport to the POSIX installer soinstall.shcan persist the chosen bin directory into the detected shell startup file only when requested, while keeping default installs non-mutating; docs now show the opt-in PATH setup path and the readiness workflow pin stays on the latest published release until1.6.6is actually available - tightened
ota detect --writeblocked-write output so the existing error shell now surfaces the actual low-confidence blocker first, keeps the dry-run and retry guidance inNext:, and summarizes eligible inferred fields without dumping the full provenance ledger into the default failure path - added
ota execution topologyas the first stable Studio-facing execution inspect surface: it stays read-only, validates the selected repo or member contract first, and reports declared execution intent, shared backends, services, runtime listeners, and task target bindings in both human and JSON form for topology viewers and guided contract tooling - added a first
ota studioprototype that exports a self-contained read-only HTML snapshot under.ota/state/studio/index.html, built from the existingdoctor,detect --dry-run, andexecution topologyJSON surfaces so users can inspect readiness, draft contract data, and declared topology visually without introducing a parallel Studio model - refined the Studio snapshot to feel more intentional for adoption review: detect now summarizes inferred fields and draft changes instead of only dumping raw contract JSON, the contractless state calls users toward
ota doctor/ota detect --dry-run ., and the page states the current repo-first boundary explicitly instead of implying hidden workspace support - expanded the Studio snapshot itself to cover the full declared inspect surface more honestly: services now render alongside tasks and shared backends, and task cards now drill into runtime, readiness, listener, and target detail using the same
ota execution topology --jsondata rather than a Studio-only interpretation - turned the Studio detect panel into a real contract review surface: the snapshot now shows current contract text, inferred draft text, semantic detect comparison changes/removals, contractless first-run guidance, explanation cards for blockers/topology behavior, and reviewed apply guidance for
ota init,ota detect --merge, andota detect --rewritewithout adding a write engine to Studio itself - refined the Studio contract-review presentation so current contract and inferred draft now render side by side, semantic detect differences are grouped as changes versus potential removals, and reviewed apply paths are rendered as clearer exact commands instead of generic pills
- grouped the Studio
Whypanel by operator intent (Onboarding,Blocker,Activation,Shared backend) so explanation now reads like a guided review surface instead of one flat stack of mixed reasons - made the grouped Studio
Whysections collapsible and ordered by operator relevance, and added inlineWhycallouts inside task listener and target drill-ins so topology explanation stays close to the object being inspected instead of living only in a separate panel - expanded Studio contract review again so the snapshot now includes exact reviewed merge/rewrite contract outputs, copyable reviewed apply commands, and flatter task scan strips (
serves,targets,backend) before deeper topology drill-ins - added
ota studio --serveas the first interactive Studio mode: it still serves the same local snapshot, but now enables the first safe reviewed write actions through Ota core (ota initfor starter contracts andota detect --mergefor additive updates) while keeping rewrite terminal-first - taught served Studio to refresh its review state in place from a fresh localhost snapshot after reviewed writes, instead of forcing a full browser reload after each successful apply
- added artifact-backed recent activity to Studio: the snapshot now surfaces recent repo receipt/log evidence from archived Ota artifacts, and served Studio polls the same localhost snapshot so outside
ota runactivity can appear visually without adding a daemon or a second execution model - made Studio recent activity easier to scan by rendering compact execution-timeline strips and a receipt-truth readiness row from the same archived step data, so recent runs read like an execution trail instead of a metadata dump
- added lightweight Recent Activity focus controls in Studio so users can jump between all archived runs, failures, ready runs, or current-contract activity and see the latest failure/ready markers without changing the underlying receipt-backed history model
- added expandable receipt detail inside Studio activity cards so one archived run can now show its full step trail and archived findings without leaving the page or falling back to raw JSON
- added copyable durable log path actions inside Studio receipt details so recent activity cards now bridge directly to archived stdout/stderr artifacts instead of only listing them as passive metadata
- made Studio recent activity provenance explicit by surfacing current-contract versus older-contract receipt labels on each card, so mixed archive history is understandable without opening receipt details
- added temporal archived-age hints to Studio recent activity so cards now distinguish the most recent current-contract receipt from older current-contract or older archived runs at a glance
- added a compact recent-failure rollup above Studio activity cards so the panel now answers what broke most recently, where it failed, and which recovery command Ota last suggested before users scan the full archive list
- added the matching ready-side rollup above Studio activity cards so the focus block now summarizes both the most recent failure and the most recent ready run before users filter or expand the archive list
- promoted contract review into the top-level Studio summary cards so the page now surfaces
starter review,draft differs, ordraft alignedat a glance before users scroll into the full contract-review section - promoted recent execution state into the top-level Studio summary cards too, so the hero now surfaces
no activity yet,recent failure, orrecent readyfrom the newest archived receipt before users scroll into Recent Activity - added an
Action neededhero card in Studio that prefersdoctor.summary.primary_blocker.nextand otherwise falls back to the latest failed receipt’s recovery hint, so the page now surfaces the single most important next step at first glance - fixed persistent container service interruption cleanup so interrupted workloads are removed inside the shared backend instead of leaving stale in-container listener state behind, and kept the user-facing cleanup note concise
Full Changelog: https://github.com/ota-run/ota/compare/v1.6.6...v1.6.7
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About ota-run/ota](https:
All releases →Related context
Related tools
Earlier breaking changes
- v1.6.16 Enforce `metadata.ota.minimum_version` at contract load time across all commands.
Beta — feedback welcome: [email protected]