This release includes 3 breaking changes for platform teams planning a safe upgrade.
Published 1mo
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
Affected surfaces
auth
rbac
breaking_upgrade
Summary
AI summaryRedesigned env resolution around env.vars, env.sources, and typed policy values; removed redundant Suggestions title from zsh completion menus.
Full changelog
- removed the redundant
Suggestionstitle from zsh completion menus while keeping commands and tasks ahead of global--flags - redesigned env resolution end to end around
env.vars,env.sources, and typed policy values atpolicies.env.values, making dotenv loading explicit, org policy values explicit, and the precedence surface honest across repo, workspace, and execution output. - added declared dotenv source resolution to
ota doctor,ota env,ota run, and execution summaries, including ordered source precedence,must_existreadiness checks, and winning-source provenance such asdotenv:.env. - updated the contract/env docs, JSON env schema reference, and shipped examples so the public contract, command output, and repo fixtures all use the new env-source model consistently.
- added
php-composeras a workflow-shaped starter pack for explicit Composer-managed PHP repos, including pack-catalog discovery, Composer-backed advisory matching, and a review-firstdoes_not_inferboundary instead of a vague language-level PHP pack. - expanded the explicit starter-pack catalog with
dotnet, seeding a conventionaldotnet restore/dotnet build/dotnet testfirst draft plus dotnet-aware advisory matching fromglobal.json, solution, and project signals. - extended
ota init --packsso each catalog entry now exposes explicitdoes_not_inferboundaries in both text and JSON, making the starter-pack scope visible without inventing fake pack knobs. - enriched
ota init --pack ... --jsonadvisories with explicit selected-versus-suggested signal scores plus structured weighted signal details, and mirrored the same strength summary in text output. - clarified human
ota init --pack ...advisories so text output now explains why the mismatch exists, shows weighted signal markers directly, and keeps the explicit review step obvious without weakening pack authority. - removed the remaining native fallback branches from explicit
ota up --mode containerprovisioning resolution, so container mode now fails in preconditions instead of ever escaping into host provisioning or hostsetup. - added explicit
ota init --packknobs for the first conventional starter variants:--package-manager npm|pnpm|yarn|bunon the Node pack and--test-runner pytest|unitteston the Python pack, including catalog metadata, JSONpack_optionsfor explicit overrides only, and variant-specific provenance. - tightened background update-notice delivery so successful interactive commands keep the short non-blocking wait budget instead of riding the full release-check timeout on slow or offline networks.
- made explicit
ota init --pack ...advisories compare distinct repo-signal strength instead of suppressing warnings as soon as the selected pack has any incidental match. - replaced runtime/tool OS scoping via
platforms.<os>.requiredwith a cleaneronly_oncontract surface, while keeping rootrequiredas the blocking-vs-warning control andplatformsfor per-OS value overrides only. - upgraded the advanced full-contract example and its
.ota/org-policy.yamlto dogfoodonly_on, Java runtime distributions, explicitversion_policy, policy-backed provisioning, and adapter bootstrap, and added example validation coverage for shipped org policy examples and policy-doc YAML.
Breaking Changes
- Removed the redundant `Suggestions` title from zsh completion menus while keeping commands and tasks ahead of global `--flags`.
- Redesigned env resolution end‑to‑end around `env.vars`, `env.sources`, and typed policy values at `policies.env.values`, changing precedence surface and making dotenv loading explicit.
- Replaced runtime/tool OS scoping via `platforms.required` with a cleaner `only_on` contract surface, while keeping root `required` as the blocking‑vs‑warning control.
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]