Skip to content

Commit 0435b67

Browse files
authored
Merge pull request #23 from SoundBlaster/feature/P9-T3-release-0-3-0
P9-t3 Release 0.3.0
2 parents 7e7e13e + 88d9ca7 commit 0435b67

9 files changed

Lines changed: 196 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,19 @@ All notable changes to the mcpbridge-wrapper project will be documented in this
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.3.0] - 2026-02-13
9+
10+
### Added
11+
12+
- Optional Web UI dashboard for real-time wrapper monitoring (`--web-ui`)
13+
- Runtime metrics panel with request counts, latency, and error visibility
14+
- Audit logging and activity inspection surfaces for wrapper operations
15+
16+
### Changed
17+
18+
- Documentation and setup guidance aligned for Web UI-enabled workflows
19+
- Release metadata bumped to `0.3.0` for PyPI and MCP Registry publication
20+
821
## [0.2.0] - 2026-02-08
922

1023
### Added
@@ -38,4 +51,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3851
- ✅ Support for all 20 Xcode MCP tools
3952
- ✅ Configuration examples for Cursor, Claude Code, and Codex CLI
4053

54+
[0.3.0]: https://github.com/SoundBlaster/XcodeMCPWrapper/releases/tag/v0.3.0
55+
[0.2.0]: https://github.com/SoundBlaster/XcodeMCPWrapper/releases/tag/v0.2.0
4156
[0.1.0]: https://github.com/SoundBlaster/XcodeMCPWrapper/releases/tag/v0.1.0

SPECS/ARCHIVE/INDEX.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# mcpbridge-wrapper Tasks Archive
22

3-
**Last Updated:** 2026-02-12
3+
**Last Updated:** 2026-02-13
44

55
## Archived Tasks
66

@@ -76,6 +76,7 @@
7676
| P7-T12 | [P7-T12_Move_Cursor_UVX_Before_Installation/](P7-T12_Move_Cursor_UVX_Before_Installation/) | 2026-02-12 | PASS |
7777
| FU-P6-T10-1 | [FU-P6-T10-1_Align_manual_install_script_with_Web_UI_configuration_expectations/](FU-P6-T10-1_Align_manual_install_script_with_Web_UI_configuration_expectations/) | 2026-02-12 | PASS |
7878
| FU-P8-T1-1 | [FU-P8-T1-1_Reconcile_P8-T1_URL_Criteria_with_Current_GitHub_Pages_Path_and_Resolve_DocC_Reference_Warnings/](FU-P8-T1-1_Reconcile_P8-T1_URL_Criteria_with_Current_GitHub_Pages_Path_and_Resolve_DocC_Reference_Warnings/) | 2026-02-12 | PASS |
79+
| P9-T3 | [P9-T3_Release_version_0.3.0_Web_UI_Feature_Release/](P9-T3_Release_version_0.3.0_Web_UI_Feature_Release/) | 2026-02-13 | PASS |
7980

8081
## Historical Artifacts
8182

@@ -117,6 +118,7 @@
117118
| [REVIEW_FU-P6-T10-1_Install_WebUI_Mismatch.md](FU-P6-T10-1_Align_manual_install_script_with_Web_UI_configuration_expectations/REVIEW_FU-P6-T10-1_Install_WebUI_Mismatch.md) | Review report for FU-P6-T10-1 |
118119
| [FOLLOWUP_FU-P6-T10-1_Install_WebUI_Mismatch.md](FU-P6-T10-1_Align_manual_install_script_with_Web_UI_configuration_expectations/FOLLOWUP_FU-P6-T10-1_Install_WebUI_Mismatch.md) | Follow-up report for FU-P6-T10-1 |
119120
| [REVIEW_FU-P8-T1-1_URL_DocC.md](FU-P8-T1-1_Reconcile_P8-T1_URL_Criteria_with_Current_GitHub_Pages_Path_and_Resolve_DocC_Reference_Warnings/REVIEW_FU-P8-T1-1_URL_DocC.md) | Review report for FU-P8-T1-1 |
121+
| [REVIEW_release-0.3.0.md](P9-T3_Release_version_0.3.0_Web_UI_Feature_Release/REVIEW_release-0.3.0.md) | Review report for P9-T3 |
120122

121123
## Archive Log
122124

@@ -188,3 +190,5 @@
188190
| 2026-02-12 | FU-P6-T10-1 | Archived FOLLOWUP_FU-P6-T10-1_Install_WebUI_Mismatch report |
189191
| 2026-02-12 | FU-P8-T1-1 | Archived Reconcile_P8-T1_URL_Criteria_with_Current_GitHub_Pages_Path_and_Resolve_DocC_Reference_Warnings (PASS) |
190192
| 2026-02-12 | FU-P8-T1-1 | Archived REVIEW_FU-P8-T1-1_URL_DocC report |
193+
| 2026-02-13 | P9-T3 | Archived Release_version_0.3.0_Web_UI_Feature_Release (PASS) |
194+
| 2026-02-13 | P9-T3 | Archived REVIEW_release-0.3.0 report |
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# PRD: P9-T3 — Release version 0.3.0 (Web UI Feature Release)
2+
3+
## 1. Objective
4+
5+
Ship `v0.3.0` as the Web UI release by updating package metadata, documenting release highlights, and preparing publish artifacts for PyPI and MCP Registry workflows.
6+
7+
## 2. Dependencies
8+
9+
- `P10-T3` (completed): main branch recovered and stable after Web UI merge
10+
- `FU-REBUILD-P10-T1-6` (completed): uninstall/docs consistency fixes included before release
11+
12+
## 3. Deliverables
13+
14+
1. Version bump from `0.2.0` to `0.3.0` in:
15+
- `pyproject.toml`
16+
- `server.json`
17+
2. Changelog entry:
18+
- `CHANGELOG.md` includes a dated `0.3.0` section with Web UI highlights
19+
- bottom reference link for `[0.3.0]`
20+
3. Release execution notes:
21+
- tag/publish checklist captured in validation report with current execution status
22+
4. Flow artifacts:
23+
- `SPECS/INPROGRESS/P9-T3_Validation_Report.md`
24+
- `SPECS/INPROGRESS/REVIEW_release-0.3.0.md`
25+
26+
## 4. Acceptance Criteria
27+
28+
- `pyproject.toml` project version is `0.3.0`
29+
- `server.json` top-level and package versions are `0.3.0`
30+
- `CHANGELOG.md` includes `[0.3.0] - 2026-02-13` with Web UI release summary
31+
- Local quality gates all pass:
32+
- `pytest`
33+
- `ruff check src/`
34+
- `mypy src/`
35+
- `pytest --cov` with coverage `>= 90%`
36+
- Validation report records release command status:
37+
- tag command prepared
38+
- push/publish verification status recorded (or explicitly marked as pending if not executed in this run)
39+
40+
## 5. Implementation Plan
41+
42+
1. Update version metadata files.
43+
2. Add `0.3.0` changelog section with:
44+
- Web UI dashboard availability
45+
- operational controls and auditing features
46+
- packaging/docs polish completed since `0.2.0`
47+
3. Run all required quality gates and capture outputs.
48+
4. Document release command readiness and any non-local actions in validation report.
49+
50+
## 6. Risks and Mitigations
51+
52+
- Risk: publish steps require remote side effects (`git push`, tags, CI workflows).
53+
- Mitigation: record exact commands and execution status in validation report; only run side-effecting commands after local checks pass.
54+
- Risk: release note drift from implemented features.
55+
- Mitigation: source highlights from merged P10/FU archive artifacts and current repository state.
56+
57+
---
58+
**Archived:** 2026-02-13
59+
**Verdict:** PASS
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Validation Report: P9-T3 — Release version 0.3.0
2+
3+
**Date:** 2026-02-13
4+
**Task:** P9-T3
5+
**Verdict:** PASS
6+
7+
## Scope
8+
9+
Validated release metadata and release-notes updates for `0.3.0`:
10+
11+
- `pyproject.toml` version bump to `0.3.0`
12+
- `server.json` version bump to `0.3.0`
13+
- `CHANGELOG.md` release entry for `0.3.0`
14+
15+
## Quality Gates
16+
17+
1. `pytest`
18+
- Initial run failed during collection because `mcpbridge_wrapper` was not on import path in this shell.
19+
2. `PYTHONPATH=src pytest`
20+
- PASS (`324 passed`, `5 skipped`)
21+
3. `ruff check src/`
22+
- PASS (`All checks passed!`)
23+
4. `PYTHONPATH=src mypy src/`
24+
- PASS (`Success: no issues found in 12 source files`)
25+
5. `PYTHONPATH=src pytest --cov`
26+
- PASS (`324 passed`, `5 skipped`)
27+
- Coverage: `96.62%` (threshold: `>= 90%`)
28+
29+
## Warnings Observed
30+
31+
- Deprecation warnings from upstream `websockets`/`uvicorn` modules.
32+
- Existing test warning where a Web UI test thread attempts binding `127.0.0.1:8080` if already in use; suite still passed.
33+
34+
## Release Checklist Status
35+
36+
- [x] Update version in `pyproject.toml`
37+
- [x] Update version in `server.json`
38+
- [x] Add `CHANGELOG.md` entry for `0.3.0`
39+
- [x] Create git tag `v0.3.0`
40+
- [x] Push tag to origin
41+
- [x] Verify GitHub Actions publish run (`Publish to MCP Registry`, run `21964401322`, success)
42+
- [x] Verify PyPI `mcpbridge-wrapper==0.3.0` (`https://pypi.org/project/mcpbridge-wrapper/0.3.0/`)
43+
- [x] Verify MCP Registry publish (workflow step `Publish server to MCP Registry` succeeded)
44+
45+
## Notes
46+
47+
- GitHub Release created: `https://github.com/SoundBlaster/XcodeMCPWrapper/releases/tag/v0.3.0`
48+
- `pytest --cov` coverage: `96.62%` (threshold `>= 90%`)
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
## REVIEW REPORT — release-0.3.0
2+
3+
**Scope:** `origin/main..HEAD`
4+
**Files:** 8
5+
6+
### Summary Verdict
7+
- [x] Approve
8+
- [ ] Approve with comments
9+
- [ ] Request changes
10+
- [ ] Block
11+
12+
### Critical Issues
13+
14+
- None.
15+
16+
### Secondary Issues
17+
18+
- None.
19+
20+
### Architectural Notes
21+
22+
- Release metadata is internally consistent across `pyproject.toml`, `server.json`, `CHANGELOG.md`, and archive/workplan bookkeeping artifacts.
23+
- Task archival sequence followed FLOW and preserved archive index table formatting.
24+
25+
### Tests
26+
27+
- Required gates executed and passing (`PYTHONPATH=src pytest`, `ruff check src/`, `PYTHONPATH=src mypy src/`, `PYTHONPATH=src pytest --cov`).
28+
- Coverage result: `96.62%` (required `>= 90%`).
29+
30+
### Next Steps
31+
32+
- No actionable issues found.
33+
- FOLLOW-UP step is skipped per FLOW rules.

SPECS/INPROGRESS/next.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@ The previously selected task has been archived.
44

55
## Recently Archived
66

7+
- 2026-02-13 — P9-T3: Release version 0.3.0 (Web UI Feature Release) (PASS)
78
- 2026-02-12 — FU-P8-T1-1: Reconcile P8-T1 URL criteria with current GitHub Pages path and resolve DocC reference warnings (PASS)
89
- 2026-02-12 — FU-P6-T10-1: Align manual install script with Web UI configuration expectations (PASS)
910
- 2026-02-12 — P7-T12: Move Cursor IDE uvx settings before installation instructions in README (PASS)
1011
- 2026-02-12 — FU-REBUILD-P10-T1-6: Fix uninstall.sh package detection/removal asymmetry and venv cleanup (PASS)
1112

1213
## Suggested Next Tasks
1314

14-
- 🎉 All tracked workplan tasks are complete (85/85).
15+
- 🎉 All tracked workplan tasks are complete (86/86).

SPECS/Workplan.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,6 +1125,37 @@ Main branch is currently unstable after an accidental merge of the Phase 10 Web
11251125

11261126
---
11271127

1128+
#### ✅ P9-T3: Release version 0.3.0 (Web UI Feature Release)
1129+
- **Description:** Prepare and publish version 0.3.0 as the Web UI release. Include final version bumps, release notes for the new dashboard feature set, and tagged publication to PyPI and MCP Registry.
1130+
- **Priority:** P1
1131+
- **Dependencies:** P10-T3, FU-REBUILD-P10-T1-6
1132+
- **Parallelizable:** no
1133+
- **Outputs/Artifacts:**
1134+
- Version updated in `pyproject.toml` (0.2.0 -> 0.3.0)
1135+
- Version updated in `server.json` (0.2.0 -> 0.3.0)
1136+
- CHANGELOG.md entry for v0.3.0 with Web UI highlights
1137+
- Git tag `v0.3.0` pushed to origin
1138+
- GitHub Release created automatically
1139+
- **Acceptance Criteria:**
1140+
- `pyproject.toml` shows version 0.3.0
1141+
- `server.json` shows version 0.3.0
1142+
- CHANGELOG has entry for [0.3.0] with release date and Web UI feature summary
1143+
- Git tag `v0.3.0` exists on GitHub
1144+
- GitHub Actions workflow publishes to PyPI successfully
1145+
- MCP Registry receives version 0.3.0
1146+
- **Release Checklist:**
1147+
- [x] Update version in `pyproject.toml`
1148+
- [x] Update version in `server.json`
1149+
- [x] Add CHANGELOG entry for 0.3.0 (Web UI release)
1150+
- [x] Commit changes: "Bump version to 0.3.0"
1151+
- [x] Create git tag: `git tag v0.3.0`
1152+
- [x] Push tag: `git push origin v0.3.0`
1153+
- [x] Verify GitHub Actions workflow completes
1154+
- [x] Verify PyPI package updated
1155+
- [x] Verify MCP Registry updated
1156+
1157+
---
1158+
11281159
## 4. Dependency Graph
11291160

11301161
```

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "mcpbridge-wrapper"
7-
version = "0.2.0"
7+
version = "0.3.0"
88
description = "Python wrapper for xcrun mcpbridge that adds structuredContent to MCP responses"
99
readme = "README.md"
1010
requires-python = ">=3.7"

server.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"name": "io.github.SoundBlaster/xcode-mcpbridge-wrapper",
44
"title": "Xcode: MCP Bridge Wrapper for Cursor",
55
"description": "Python wrapper that makes Xcode's MCP bridge compatible with strict MCP clients like Cursor",
6-
"version": "0.2.0",
6+
"version": "0.3.0",
77
"repository": {
88
"url": "https://github.com/SoundBlaster/XcodeMCPWrapper",
99
"source": "github"
@@ -13,7 +13,7 @@
1313
{
1414
"registryType": "pypi",
1515
"identifier": "mcpbridge-wrapper",
16-
"version": "0.2.0",
16+
"version": "0.3.0",
1717
"transport": {
1818
"type": "stdio"
1919
},

0 commit comments

Comments
 (0)