Skip to content

chore(release): cut amplifier-agent 0.14.0 - #137

Merged
David Koleczek (DavidKoleczek) merged 1 commit into
mainfrom
chore/release-0.14.0
Aug 19, 2026
Merged

chore(release): cut amplifier-agent 0.14.0#137
David Koleczek (DavidKoleczek) merged 1 commit into
mainfrom
chore/release-0.14.0

Conversation

@DavidKoleczek

Copy link
Copy Markdown
Collaborator

Engine-only release: amplifier-agent 0.13.0 -> 0.14.0, tagged v0.14.0.

What this releases

Artifact Tag Moves
amplifier-agent (engine) v0.14.0 0.13.0 -> 0.14.0
amplifier-agent-ts no release; wrappers/typescript/ unchanged since wrapper-v0.7.1
amplifier-agent-py no release; wrappers/python-py/ unchanged, still never published

Minor rather than patch: gemini and vllm are new valid provider.module values and new module entries in bundle.md. That is new surface, not a fix.

User-visible change

Two new providers. provider.module: "gemini" talks to Google's Gemini API as a normal key-based provider (GOOGLE_API_KEY, or GEMINI_API_KEY as the module's own fallback; default model gemini-2.5-flash). provider.module: "vllm" integrates a self-hosted or remote vLLM server for open-weight models, speaking vLLM's OpenAI-compatible Responses API rather than the Chat Completions wire. Its credential is an endpoint, not a key: VLLM_BASE_URL is required and VLLM_API_KEY is optional, since a local vLLM server commonly needs none.

serve lifecycle no longer misbehaves on Windows. Three POSIX assumptions were wrong there. Most consequentially, os.kill(pid, 0) is not a benign liveness probe on Windows: CPython maps CTRL_C_EVENT to GenerateConsoleCtrlEvent, and because CTRL_C_EVENT == 0, signal 0 delivered a real console Ctrl+C to the target's process group — serve status could interrupt the very server it was reporting on. Liveness now uses OpenProcess/WaitForSingleObject. SIGKILL escalation falls back to SIGTERM, and detached restart uses DETACHED_PROCESS | CREATE_NEW_PROCESS_GROUP. The 0600/0700 state-file permission verification is skipped on Windows, where it could never pass and previously refused to write serve.json at all; chmod is still applied and POSIX enforcement still fails closed.

Windows-authored files are read as UTF-8 with an optional BOM. A BOM-prefixed agent .md previously spawned a sub-agent with the wrong tools, or none, silently — the surviving U+FEFF made the startswith("---") frontmatter check false, so tools, hooks, model_role, and meta were dropped from the overlay with no error. A BOM-prefixed credentials.json was reported as corrupt when it was valid, and a genuinely non-UTF-8 one killed the CLI with a raw traceback out of a handler that caught only JSONDecodeError.

Windows installs need git config --global core.longpaths true first, documented in docs/INSTALL.md. Committed eval fixtures reach ~178-character paths, and uv tool install --from git+... clones into a deep temp build dir, pushing them past MAX_PATH; the checkout fails before the build starts.

Scope of impact

Engine-only. No wrapper or SDK changes, so nothing cross-component needs to land alongside this.

PROTOCOL_VERSION did not move. It stays at 0.3.0, so no wrapper pin, conformance fixture, or downstream SDK needs coordination.

Downstream: amplifier-app-opencode floor moves to 0.14.0

MIN_AGENT_VERSION goes 0.12.0 -> 0.14.0. The floor is a requirement statement, not a mirror of the latest release, and this release clears that bar on its own merits: opencode drives serve, and the Windows lifecycle fixes above are directly opencode-observable rather than engine-internal. The UTF-8/BOM credential reads and the new providers surfacing through GET /v1/models reinforce it.

That bump is not part of this PR. It is executed downstream after v0.14.0 is tagged, because AGENT_PINNED_REF resolves to f"v{MIN_AGENT_VERSION}" and pinning to a tag that does not yet exist would break launch-time self-heal. Note the cost when it lands: AGENT_HARD_FLOOR tracks the minimum, so every opencode user below it is force-reinstalled rather than self-updated.

amplifier-app-paperclip and amplifier-app-nanoclaw caret-pin amplifier-agent-ts, which this release does not touch.

Gate

make verify is green: lint, pyright src/ (0 errors), codegen staleness, cross-manifest versions, wheel contents (6/6 checks against amplifier_agent-0.14.0-py3-none-any.whl), 10/10 conformance parity fixtures, and 121 TypeScript wrapper tests.

Merging does not publish

Merging this PR publishes nothing. The release happens when v0.14.0 is pushed as a tag, which triggers the PyPI upload and the GitHub Release. Since install.sh and amplifier-agent update install from git and resolve "latest" through the GitHub Releases API, that tag is what users actually receive.

Engine-only release. Adds the gemini and vllm provider modules as valid
provider.module host-config values, and carries the Windows durability
fixes for the serve lifecycle and UTF-8/BOM file reads.

No wrapper release: wrappers/typescript and wrappers/python-py are
unchanged since wrapper-v0.7.1. PROTOCOL_VERSION stays at 0.3.0, so no
cross-component coordination is required.

🤖 Generated with [Amplifier](https://github.com/microsoft/amplifier)

Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
@DavidKoleczek
David Koleczek (DavidKoleczek) merged commit 8ab561e into main Aug 19, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant