From 0111ad2411ca42b7a8c20a78592d74ee071185cc Mon Sep 17 00:00:00 2001 From: Mother Seara Date: Fri, 28 Aug 2026 09:07:49 +0900 Subject: [PATCH] =?UTF-8?q?release:=20v0.2.12=20=E2=80=94=20serverInfo=20?= =?UTF-8?q?=EC=88=98=EB=A6=AC=EC=97=90=20=ED=8C=90=20=EB=B2=88=ED=98=B8?= =?UTF-8?q?=EB=A5=BC=20=EB=B6=99=EC=9D=B4=EA=B3=A0,=20=ED=95=80=EC=9D=84?= =?UTF-8?q?=20=EC=83=88=20=ED=8C=90=EC=9C=BC=EB=A1=9C=20=EC=98=AE=EA=B8=B4?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 태그 v0.2.11 위에 여덟 커밋이 CHANGELOG 없이 쌓여 있었다. `#45`(serverInfo 가 자기 대신 SDK 버전을 말하던 것)를 항목으로 적고, 나머지 일곱(핀 bump 4 · 도감 계수 참조 3)은 기계적 후속이라 묶어서 밝혔다 — **빼는 것보다 묶어서 적는 게 낫다.** 핀을 옮겼다: · measure-mirror v0.40.0 → **v0.41.0**(없는 원장을 조용히 안 만든다 · 꼬리읽기 · 원장 신원) · provenance-mirror v0.2.0 → **v0.3.0**(꼬리읽기 · append 도중 죽던 자리) 둘 다 이 서버가 올라타 있는 원장 동작을 바꾸는 판이라 같이 올린다. pytest 59 통과. `test_pins_are_releases` 가 **skip 없이** 통과했다 — 방금 민 태그를 GitHub API 로 실제 대조했다는 뜻이다(공허참 아님). Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 31 +++++++++++++++++++++++++++++++ mirror_stack_mcp/__init__.py | 2 +- pyproject.toml | 6 +++--- 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ce8829..a1dc3f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,37 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). --- +## [0.2.12] — 2026-08-28 + +### Fixed +- **The server told clients the SDK's version instead of its own.** FastMCP (1.27.2) takes + no `version`, so `Server.version` stayed `None` and the lowlevel server answered + `initialize` with `pkg_version("mcp")` — every FastMCP server on earth reports the SDK's + version as its own. A client asking this server what it was got `1.27.2`; an outside bug + report on 2026-08-24 read a different number on Windows and took it for a platform + difference. It was the SDK version there too. (`#45`) + + 🔴 Deliberately **not** fixed with `importlib.metadata.version()`: an editable install + has `0.1.0` frozen in its dist-info while the source says otherwise, so that route swaps + one wrong number for another and looks fixed. Seven tests check the value a client + actually receives (`create_initialization_options()`), not the attribute we set — and + one of them is a positive control that fails if a bare FastMCP server ever stops + exhibiting the original fault, so this patch cannot outlive its reason in silence. + +### Changed +- Pins moved to `measure-mirror v0.41.0` and `provenance-mirror v0.3.0`. Both releases + change ledger behaviour this server sits on top of: measure-mirror no longer creates a + missing ledger without `--new-ledger` (CLI only — `mm_preregister` is unaffected), and + both mirrors now read the chain head from the end of the file instead of parsing it whole. + +### Note on this entry +Eight commits sat on `main` above the `v0.2.11` tag with nothing written here — `#37`, +`#38`, `#42`, `#44` (dependency pin bumps) and `#39`, `#40`, `#41` (catalog count +references following measure-mirror merges). They are mechanical follow-ups rather than +behaviour changes, and are recorded as a group here rather than omitted. + +--- + ## [0.2.11] — 2026-08-19 ### Fixed diff --git a/mirror_stack_mcp/__init__.py b/mirror_stack_mcp/__init__.py index 8866c9a..7bb327b 100644 --- a/mirror_stack_mcp/__init__.py +++ b/mirror_stack_mcp/__init__.py @@ -1,2 +1,2 @@ """🪞🔎🪪 Mirror Stack unified MCP server.""" -__version__ = "0.2.11" +__version__ = "0.2.12" diff --git a/pyproject.toml b/pyproject.toml index 5db1058..18332da 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "mirror-stack-mcp" -version = "0.2.11" +version = "0.2.12" description = "Unified MCP server for the Mirror Stack — claims, actions, provenance + verify-all in one server" readme = "README.md" requires-python = ">=3.10" @@ -23,9 +23,9 @@ dependencies = [ # action-mirror and provenance-mirror pins were labelled "v0.2.0" while # sitting TWO commits before that tag, so an install got the pre-org-migration # docs (stale `bhyi4/` self-references, SPEC v1.0) under a v0.2.0 label. - "measure-mirror @ git+https://github.com/mirror-stack/measure-mirror@3d9b007eb776d7f6736fa98343fee7a4762acb87", # v0.40.0 — (auto-pin: was v0.39.0 9784bce4; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.38.1 aa850516; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.38.0 815e6184; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.37.0 989da84e; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.36.0 bce68bbd; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.35.0 183c7259; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.34.0 c6965151; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.33.0 895ad803; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.32.0 21ca2893; verify via CI test_pins_are_releases + fixtures) — ㉘ vacuous both-directions on real runs (computed matched-null certificate); catalog count sync 72 + KO count guards + "measure-mirror @ git+https://github.com/mirror-stack/measure-mirror@11f1d768e9c9ddfca71ec1dadeba7a7e1124fe55", # v0.41.0 — (auto-pin: was v0.40.0 3d9b007e; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.39.0 9784bce4; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.38.1 aa850516; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.38.0 815e6184; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.37.0 989da84e; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.36.0 bce68bbd; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.35.0 183c7259; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.34.0 c6965151; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.33.0 895ad803; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.32.0 21ca2893; verify via CI test_pins_are_releases + fixtures) — ㉘ vacuous both-directions on real runs (computed matched-null certificate); catalog count sync 72 + KO count guards "action-mirror @ git+https://github.com/mirror-stack/action-mirror@22eb4c5b09578f443b59d12a8455c5493b6064ed", # v0.4.0 — (auto-pin: was v0.3.0 d59ea1df; verify via CI test_pins_are_releases + fixtures) — (auto-pin: was v0.2.0 15b0c5b7; verify via CI test_pins_are_releases + fixtures) — full 64-hex SHA-256 seals (security; legacy 16-hex verify via prefix match); org migration + SPEC v1.1 references - "provenance-mirror @ git+https://github.com/mirror-stack/provenance-mirror@2d1d52d280352567410d140270f7714571bf784f", # v0.2.0 — full 64-hex SHA-256 seals (security; legacy 16-hex verify via prefix match); org migration + SPEC v1.1 references + "provenance-mirror @ git+https://github.com/mirror-stack/provenance-mirror@92b8e6ebf948bbb671d20282de99ea9886b8607c", # v0.3.0 — (auto-pin: was v0.2.0 2d1d52d2; verify via CI test_pins_are_releases + fixtures) — full 64-hex SHA-256 seals (security; legacy 16-hex verify via prefix match); org migration + SPEC v1.1 references ] [project.optional-dependencies]