From 5e37f142d1f163afeaa86f4970ba8f89dcbac3d2 Mon Sep 17 00:00:00 2001 From: Egor Merkushev Date: Fri, 20 Feb 2026 00:39:17 +0300 Subject: [PATCH 1/3] Branch for P14-T1: create release 0.4.0 readiness backlog branch From a309b93815b0149f74804bf219ea8b2f1b8e1d8f Mon Sep 17 00:00:00 2001 From: Egor Merkushev Date: Fri, 20 Feb 2026 00:39:23 +0300 Subject: [PATCH 2/3] Implement P14-T0: add release 0.4.0 readiness tasks to workplan --- SPECS/Workplan.md | 65 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/SPECS/Workplan.md b/SPECS/Workplan.md index e9bb0c20..84c33027 100644 --- a/SPECS/Workplan.md +++ b/SPECS/Workplan.md @@ -61,6 +61,9 @@ Create a Python-based protocol compatibility wrapper that intercepts MCP respons ### Phase 13: Persistent Broker & Shared Xcode Session **Intent:** Introduce a long-lived broker connection to Xcode MCP so multiple short-lived clients can reuse one upstream session and reduce repeated Xcode permission prompts. +### Phase 14: Release 0.4.0 Readiness +**Intent:** Close release-blocking findings from the 0.4.0 readiness review across broker runtime safety, package metadata, versioning, and build compliance. + --- ## 3. Tasks @@ -2306,6 +2309,68 @@ Phase 9 Follow-up Backlog --- +### Phase 14: Release 0.4.0 Readiness + +#### ⬜️ P14-T1: Bound per-session ID restore maps in broker transport +- **Description:** Prevent unbounded memory growth in long-lived broker sessions by pruning/removing alias/restore entries once responses are routed (and define safe behavior when local ID space wraps). +- **Priority:** P1 +- **Dependencies:** FU-P13-T11, FU-P13-T15 +- **Parallelizable:** no +- **Outputs/Artifacts:** + - Updated `src/mcpbridge_wrapper/broker/transport.py` map lifecycle management for `id_restore`, `string_id_map`, and `int_id_map` + - Regression tests in `tests/unit/test_broker_transport.py` for long-lived/large-ID request streams +- **Acceptance Criteria:** + - [ ] Per-session restore/alias maps do not grow unbounded for completed requests + - [ ] Existing ID round-trip fidelity guarantees remain intact for int and string IDs + - [ ] Tests cover wrap/prune behavior and pass in CI + +--- + +#### ⬜️ P14-T2: Align release metadata and changelog for 0.4.0 +- **Description:** Prepare publishable 0.4.0 release metadata by updating package/registry versions and adding a complete changelog entry matching delivered functionality. +- **Priority:** P1 +- **Dependencies:** none +- **Parallelizable:** yes +- **Outputs/Artifacts:** + - Updated version fields in `pyproject.toml` and `server.json` + - New `0.4.0` entry in `CHANGELOG.md` with release date, key changes, and release link +- **Acceptance Criteria:** + - [ ] `pyproject.toml`, `server.json`, and `CHANGELOG.md` all reference `0.4.0` consistently + - [ ] Changelog includes accurate notes for broker and Web UI work shipped since `0.3.2` + - [ ] Release metadata passes existing build/publish validation checks + +--- + +#### ⬜️ P14-T3: Reconcile declared Python support with tested matrix +- **Description:** Resolve mismatch between declared Python compatibility and CI coverage by aligning `requires-python`/classifiers/docs with supported and continuously-tested interpreter versions. +- **Priority:** P1 +- **Dependencies:** P14-T2 +- **Parallelizable:** yes +- **Outputs/Artifacts:** + - Updated compatibility declarations in `pyproject.toml` and documentation badges/text + - Updated `.github/workflows/ci.yml` matrix and/or version floor to match declared support +- **Acceptance Criteria:** + - [ ] Declared Python support exactly matches tested CI versions + - [ ] README and packaging metadata communicate the same minimum Python version + - [ ] CI passes on the finalized support matrix + +--- + +#### ⬜️ P14-T4: Replace deprecated setuptools license metadata with SPDX format +- **Description:** Remove packaging deprecation warnings by migrating license metadata to modern SPDX-based fields and dropping deprecated classifiers/structures. +- **Priority:** P2 +- **Dependencies:** P14-T2 +- **Parallelizable:** yes +- **Outputs/Artifacts:** + - Updated `pyproject.toml` license metadata (`project.license` / `license-files` / classifiers as needed) + - Validation evidence from `python -m build` showing deprecation warnings are resolved +- **Acceptance Criteria:** + - [ ] Build output no longer emits setuptools license deprecation warnings + - [ ] Package metadata remains valid for PyPI and MCP registry publication + - [ ] Existing `make check` pipeline remains green + +--- + #### ✅ FU-BUG-T7-1: Cap `pending_methods` map to guard against unbounded growth - **Status:** ✅ Completed (2026-02-18) From 2b72c13621fbfb97ff19f141bc3de611baa2fdd1 Mon Sep 17 00:00:00 2001 From: Egor Merkushev Date: Fri, 20 Feb 2026 00:42:53 +0300 Subject: [PATCH 3/3] Follow-up P14: make P14-T2 final blocked release task --- SPECS/Workplan.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/SPECS/Workplan.md b/SPECS/Workplan.md index 84c33027..87b1a443 100644 --- a/SPECS/Workplan.md +++ b/SPECS/Workplan.md @@ -2326,25 +2326,10 @@ Phase 9 Follow-up Backlog --- -#### ⬜️ P14-T2: Align release metadata and changelog for 0.4.0 -- **Description:** Prepare publishable 0.4.0 release metadata by updating package/registry versions and adding a complete changelog entry matching delivered functionality. -- **Priority:** P1 -- **Dependencies:** none -- **Parallelizable:** yes -- **Outputs/Artifacts:** - - Updated version fields in `pyproject.toml` and `server.json` - - New `0.4.0` entry in `CHANGELOG.md` with release date, key changes, and release link -- **Acceptance Criteria:** - - [ ] `pyproject.toml`, `server.json`, and `CHANGELOG.md` all reference `0.4.0` consistently - - [ ] Changelog includes accurate notes for broker and Web UI work shipped since `0.3.2` - - [ ] Release metadata passes existing build/publish validation checks - ---- - #### ⬜️ P14-T3: Reconcile declared Python support with tested matrix - **Description:** Resolve mismatch between declared Python compatibility and CI coverage by aligning `requires-python`/classifiers/docs with supported and continuously-tested interpreter versions. - **Priority:** P1 -- **Dependencies:** P14-T2 +- **Dependencies:** none - **Parallelizable:** yes - **Outputs/Artifacts:** - Updated compatibility declarations in `pyproject.toml` and documentation badges/text @@ -2359,7 +2344,7 @@ Phase 9 Follow-up Backlog #### ⬜️ P14-T4: Replace deprecated setuptools license metadata with SPDX format - **Description:** Remove packaging deprecation warnings by migrating license metadata to modern SPDX-based fields and dropping deprecated classifiers/structures. - **Priority:** P2 -- **Dependencies:** P14-T2 +- **Dependencies:** none - **Parallelizable:** yes - **Outputs/Artifacts:** - Updated `pyproject.toml` license metadata (`project.license` / `license-files` / classifiers as needed) @@ -2371,6 +2356,21 @@ Phase 9 Follow-up Backlog --- +#### ⬜️ P14-T2: Align release metadata and changelog for 0.4.0 +- **Description:** Prepare publishable 0.4.0 release metadata by updating package/registry versions and adding a complete changelog entry matching delivered functionality. +- **Priority:** P1 +- **Dependencies:** P14-T1, P14-T3, P14-T4 +- **Parallelizable:** no +- **Outputs/Artifacts:** + - Updated version fields in `pyproject.toml` and `server.json` + - New `0.4.0` entry in `CHANGELOG.md` with release date, key changes, and release link +- **Acceptance Criteria:** + - [ ] `pyproject.toml`, `server.json`, and `CHANGELOG.md` all reference `0.4.0` consistently + - [ ] Changelog includes accurate notes for broker and Web UI work shipped since `0.3.2` + - [ ] Release metadata passes existing build/publish validation checks + +--- + #### ✅ FU-BUG-T7-1: Cap `pending_methods` map to guard against unbounded growth - **Status:** ✅ Completed (2026-02-18)