From 7bf4ede46ac2a6ff7c5021e4233fe8c009f8ff4d Mon Sep 17 00:00:00 2001 From: DavidKoleczek <45405824+DavidKoleczek@users.noreply.github.com> Date: Wed, 26 Aug 2026 18:04:24 -0400 Subject: [PATCH 1/2] docs: align the README architecture diagram's closing corner MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The vertical rail in the "Architecture at a glance" diagram runs at column 49, but the corner closing it sat at column 47, so the box did not meet its own edge. Cosmetic, but it is the first diagram a visitor sees. 🤖 Generated with [Amplifier](https://github.com/microsoft/amplifier) Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e80f304..897d54e 100644 --- a/README.md +++ b/README.md @@ -136,7 +136,7 @@ Host Application ← your code amplifier-agent CLI / HTTP face │ ← this repo (argv in, JSON envelope out) │ ↓ │ - ┌──────────────────────────────────────────┘ + ┌────────────────────────────────────────────┘ ↓ amplifier_agent_lib (the engine) ← this repo ``` From c64bb4acec762a433982cde19d5eec21420b81c7 Mon Sep 17 00:00:00 2001 From: DavidKoleczek <45405824+DavidKoleczek@users.noreply.github.com> Date: Wed, 26 Aug 2026 18:04:32 -0400 Subject: [PATCH 2/2] chore(release): cut amplifier-agent 0.17.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Coordinated engine + TypeScript SDK release. amplifier-agent moves to 0.17.0 and amplifier-agent-ts to 0.8.0; both must be upgraded together, because PROTOCOL_VERSION moved 0.3.0 -> 0.4.0 and a wrapper pinned to the old value refuses the new engine with protocol_version_mismatch. The protocol bump is purely additive: no existing field changed shape or meaning. The minor moves so a host can gate on the new usage fields being present. amplifier-agent-py is not part of this release. It has never been published, so its 0.3.0 manifest is not yet behind any tag; its source already carries the 0.4.0 protocol pin and ships with that package's first release. Restructures the changelog block this release publishes: the two duplicate ### Fixed headings under [Unreleased] are merged, and --prompt-file moves to ### Added, where a new CLI flag belongs. 🤖 Generated with [Amplifier](https://github.com/microsoft/amplifier) Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com> --- CHANGELOG.md | 31 ++++++++++++++++++++++--------- pyproject.toml | 2 +- uv.lock | 2 +- wrappers/typescript/package.json | 2 +- 4 files changed, 25 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc93738..0c1a25e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.17.0] — 2026-08-26 + ### Added - **Real per-turn token and cost usage, on the envelope and on both wrapper SDKs.** @@ -59,15 +61,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 engine on `0.4.0` fail the handshake loudly (`protocol_version_mismatch`) rather than silently misbehaving, so **upgrading the engine and both wrapper packages together is required.** -### Fixed - -- **The wrapper's `stderr_tail` cap now measures real UTF-8 bytes, not characters.** It previously - sliced a plain string, so on non-ASCII stderr the cap was wrong by roughly the size of the - encoding (a Japanese reply could overshoot a byte budget several times over). The cap is now - byte-accurate and never splits a codepoint, which means it may return a handful of bytes fewer - than the requested cap when trimming lands mid-character. The exported `STDERR_TAIL_BYTES` - constant keeps its name and its value (4096); it simply counts the right unit now. - - **`amplifier-agent run --prompt-file `,** a second transport for the prompt. The positional `PROMPT` argument remains valid and unchanged; the two are mutually exclusive. File contents are decoded as UTF-8 and delivered verbatim, with no stripping and no newline @@ -82,6 +75,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- **The wrapper's `stderr_tail` cap now measures real UTF-8 bytes, not characters.** It previously + sliced a plain string, so on non-ASCII stderr the cap was wrong by roughly the size of the + encoding (a Japanese reply could overshoot a byte budget several times over). The cap is now + byte-accurate and never splits a codepoint, which means it may return a handful of bytes fewer + than the requested cap when trimming lands mid-character. The exported `STDERR_TAIL_BYTES` + constant keeps its name and its value (4096); it simply counts the right unit now. + - **Wrappers now emit `--` before the positional prompt.** A prompt beginning with `-` was parsed as an option, so the turn died with exit 2 and `No such option` before the engine booted. The separator is emitted unconditionally rather than only for `-`-leading prompts. @@ -97,6 +97,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 fail to decode, and the reader turns a decode failure into a warning and reports no configured servers. The TypeScript wrapper was already correct. +### Notes + +- **This is a coordinated release. Upgrade the engine and the TypeScript SDK together.** + `amplifier-agent` moves to `0.17.0` and `amplifier-agent-ts` to `0.8.0`. Because + `PROTOCOL_VERSION` moved `0.3.0` -> `0.4.0`, an `amplifier-agent-ts` still on `0.7.1` will + refuse an engine on `0.17.0` with `protocol_version_mismatch`, and the reverse holds too. The + refusal is deliberate and loud; there is no silent-degradation path to fall back on. + +- **The Python SDK changes described above are on `main` but are not yet published.** + `amplifier-agent-py` has never had a release, so it is not part of this one. Its source already + carries the `0.4.0` protocol pin and the prompt-spill and MCP-encoding fixes; they reach + consumers with that package's first release. + ## [0.16.0] — 2026-08-25 ### Changed diff --git a/pyproject.toml b/pyproject.toml index 5a385e4..f7cf372 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = 'amplifier-agent' -version = '0.16.0' +version = '0.17.0' requires-python = '>=3.12' license = 'MIT' dependencies = [ diff --git a/uv.lock b/uv.lock index 3edf683..d91b063 100644 --- a/uv.lock +++ b/uv.lock @@ -16,7 +16,7 @@ members = [ [[package]] name = "amplifier-agent" -version = "0.16.0" +version = "0.17.0" source = { editable = "." } dependencies = [ { name = "amplifier-foundation" }, diff --git a/wrappers/typescript/package.json b/wrappers/typescript/package.json index 40503e2..a0a341c 100644 --- a/wrappers/typescript/package.json +++ b/wrappers/typescript/package.json @@ -1,6 +1,6 @@ { "name": "amplifier-agent-ts", - "version": "0.7.1", + "version": "0.8.0", "description": "TypeScript SDK for the Amplifier agent. Spawns and drives the amplifier-agent Python CLI over a stdio protocol.", "type": "module", "exports": {