This release adds 3 notable features for engineering teams evaluating rollout.
Published 19d
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
Summary
AI summaryAdded first-class prepare.task workflow phase and hardened Windows provisioning.
Full changelog
- added first-class workflow
prepare.taskfor host file-prep before setup: workflows can now
declare one nativeactiontask thatota upruns before pre-setup services or setup, so
container-backed repos can keepsetupon the selected backend while deterministic host file
actions such ascopy_if_missingstay explicit; workflow summaries, JSON schemas, docs, and
public site guidance were updated to surface the new phase - made task-scoped
requirements.envexecution-complete:ota doctor,ota env --task,
ota run, workflow-drivenota up, and execution/receipt env reporting now all treat
tasks.<name>.requirements.envas selected-path required env truth without forcing the same
env.vars.<name>entry to become repo-globalrequired: true; docs, JSON reference, and
public site env guidance were updated to match the shipped behavior - added workflow
notessupport (contract, CLI text, and JSON output): contracts can now declare
workflows.<name>.notes, surfaced inota workflowsand workflow-scopedota tasks --workflow
output to provide operator guidance and setup context without overloadingdescription - refreshed
ota workflowstext output to use the same flat scan-friendly layout asota tasks,
including workflow-nativeUse/Proofcommand hints, per-entryDefaultstatus, and inline
workflow notes where declared - expanded docs for workflow notes and workflow output contracts:
docs/spec/contract-reference.md,
docs/spec/command-reference.md, anddocs/spec/json-output-reference.mdnow mention workflow notes
in the correct operator/API surfaces - added
ota validatesemantic guardrails for Node/Corepack modeling: contracts now fail
validation whentools.nodeusesacquisition.provider: corepackor when any Corepack
acquisition declarespackage: node; diagnostics now direct authors to declare Node under
runtimes.nodeand reserve Corepack acquisition for package managers such aspnpm/yarn - hardened Windows
mise-bootstrapfollow-through for native provisioning: afterwinget install jdx.mise, Ota now probes additional real install locations (including WinGet package
directories/links), validatesmise --versionfrom those paths, and activates the resolved
mise.exedirectory on the current processPATHso same-run host provisioning can continue
instead of failing withmise executable not found after bootstrap - hardened native
ota uppre-provisioning sequencing for policy-backedmiseflows: when
adapter bootstrap installsmiseinto standard user-local locations (for example
~/.local/bin), Ota now activates that path in-process before retrying provisioning, so
selected workflow setup paths no longer short-circuit to immediateMissing tool/
Version mismatchprecondition blocks in the same run - fixed unmanaged native
ota upbackend fulfillment blocking: when a selected setup/run path
is missing required runtimes/tools and no org policy pack is active, Ota now surfaces a
canonical blocker finding (for exampleTool probe failed: <tool>) and returns a normal
blocked provisioning result with standardUP SUMMARYoutput (Cause: missing runtime/tool)
instead of aborting with a raw backend-fulfillment policy-pack error - corrected unmanaged native
ota upruntime fallback classification: when no org policy pack
is active and a required runtime is missing, fallback findings now use canonical
Runtime probe failed: <runtime>wording (instead of version-mismatch wording) and still
classifyUP SUMMARYcause asmissing runtime/tool - fixed Windows native runtime/tool version probing shell semantics: Ota now emits a
Windows-native probe command shape (where ...) for native Windows backends instead of
POSIXcommand -v ..., so host runtime checks (for examplenode) no longer fail
immediately under Windows nativeota up/ backend fulfillment paths due to shell mismatch - fixed
misetool activation follow-through after native policy provisioning: after
mise install <tool@version>, Ota now resolves the installed binary withmise which,
runsmise use -g <tool@version>when the tool is not yet active, and prepends the resolved
tool directory to the current processPATHso same-runota upprecondition checks can
observe the provisioned version instead of remaining blocked - hardened command startup activation for mise-managed tools:
ota doctor,ota up, and
ota runnow activate detected mise bin/shims directories on process startup so subsequent
command invocations can resolve policy-provisioned tools without requiring manual shell
activation between steps - fixed Windows cross-command native tool visibility for policy-provisioned mise runtimes:
command startup activation now adds detected Windows mise shim directories (for example
%LOCALAPPDATA%\\mise\\shims) alongsidemise.exeso follow-up commands likeota doctor
can resolve provisioned tools (such asbun) after a successfulota up - fixed mixed-mode dependency orchestration for
ota up/ota run: when a requested task
runs in one backend but a dependency declares its own default mode (for example native
copy_if_missingsetup actions before a container workflow), Ota now resolves that dependency
against its declared/default execution mode instead of force-applying the requested task mode - fixed container backend trust on Windows and other mixed-host setups:
ota doctornow treats
a declared/preferred container path as blocked when the selected engine CLI exists butdocker info/ equivalent cannot reach a usable backend,ota upnow preflights that backend before
provisioning so Docker connectivity failures are surfaced as backend availability problems
instead of misleadingmise/ tool-install diagnosis, and multi-engine contracts now prefer a
healthy engine when one candidate is down but another is usable - bounded service readiness retries when omitted to prevent
ota doctorhangs:
services.<name>.readinesschecks now default to a finite probe budget (120 attempts) instead
of waiting indefinitely whenretriesis not explicitly set - hardened container task execution for mounted-repo git operations: Ota now injects a
container-localsafe.directory=/workspacegit config surface for container command runs
(unless the task already provides explicitGIT_CONFIG_*overrides), preventing
detected dubious ownershipfailures when repo tasks invokegitinside the mounted
workspace path
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]