diff --git a/CHANGELOG.md b/CHANGELOG.md index 2fb6221b..73fc757e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,18 @@ All notable changes to the mcpbridge-wrapper project will be documented in this The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.2.0] - 2026-02-08 + +### Added + +- MCP Registry publishing support with automated CI/CD workflow +- `server.json` manifest for MCP Registry compatibility +- GitHub Actions workflow for publishing to PyPI and MCP Registry + +### Changed + +- Version bump for initial PyPI and MCP Registry release + ## [0.1.0] - 2026-02-08 ### Added diff --git a/SPECS/Workplan.md b/SPECS/Workplan.md index 4a2a2489..df7da3d5 100644 --- a/SPECS/Workplan.md +++ b/SPECS/Workplan.md @@ -904,6 +904,41 @@ Use alternative MCP clients that work correctly: --- +### Phase 9: Release Management + +**Intent:** Manage version releases, including version bumps, changelog updates, and automated publishing. + +#### 📝 P9-T1: Release version 0.2.0 +- **Description:** Bump version to 0.2.0, update CHANGELOG, create git tag, and trigger automated publishing to PyPI and MCP Registry +- **Priority:** P1 +- **Dependencies:** P8-T2 +- **Parallelizable:** no +- **Outputs/Artifacts:** + - Version updated in `pyproject.toml` (0.1.7 → 0.2.0) + - Version updated in `server.json` (0.1.7 → 0.2.0) + - CHANGELOG.md entry for v0.2.0 + - Git tag `v0.2.0` pushed to origin + - GitHub Release created automatically +- **Acceptance Criteria:** + - `pyproject.toml` shows version 0.2.0 + - `server.json` shows version 0.2.0 + - CHANGELOG has entry for [0.2.0] with release date + - Git tag `v0.2.0` exists on GitHub + - GitHub Actions workflow publishes to PyPI successfully + - MCP Registry receives the new version +- **Release Checklist:** + - [ ] Update version in `pyproject.toml` + - [ ] Update version in `server.json` + - [ ] Add CHANGELOG entry for 0.2.0 + - [ ] Commit changes: "Bump version to 0.2.0" + - [ ] Create git tag: `git tag v0.2.0` + - [ ] Push tag: `git push origin v0.2.0` + - [ ] Verify GitHub Actions workflow completes + - [ ] Verify PyPI package updated + - [ ] Verify MCP Registry updated + +--- + ## 4. Dependency Graph ``` diff --git a/Sources/XcodeMCPWrapper/Documentation.docc/XcodeMCPWrapper.md b/Sources/XcodeMCPWrapper/Documentation.docc/XcodeMCPWrapper.md index b5197d4a..1a0ce996 100644 --- a/Sources/XcodeMCPWrapper/Documentation.docc/XcodeMCPWrapper.md +++ b/Sources/XcodeMCPWrapper/Documentation.docc/XcodeMCPWrapper.md @@ -2,6 +2,10 @@ A Python wrapper that enables external AI agents to connect to Xcode via the Model Context Protocol (MCP). +## Source Code + +[https://github.com/SoundBlaster/XcodeMCPWrapper](https://github.com/SoundBlaster/XcodeMCPWrapper) + ## Overview Xcode 26.3+ includes an MCP bridge (`xcrun mcpbridge`) that exposes Xcode's internal capabilities to MCP clients. However, it has a protocol compatibility issue that prevents it from working with strict MCP spec followers like Cursor. diff --git a/pyproject.toml b/pyproject.toml index 879613ac..b9e2defc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "mcpbridge-wrapper" -version = "0.1.7" +version = "0.2.0" description = "Python wrapper for xcrun mcpbridge that adds structuredContent to MCP responses" readme = "README.md" requires-python = ">=3.7" diff --git a/server.json b/server.json index 923deeb4..b255c351 100644 --- a/server.json +++ b/server.json @@ -3,7 +3,7 @@ "name": "io.github.SoundBlaster/xcode-mcpbridge-wrapper", "title": "Xcode: MCP Bridge Wrapper for Cursor", "description": "Python wrapper that makes Xcode's MCP bridge compatible with strict MCP clients like Cursor", - "version": "0.1.7", + "version": "0.2.0", "repository": { "url": "https://github.com/SoundBlaster/XcodeMCPWrapper", "source": "github" @@ -13,7 +13,7 @@ { "registryType": "pypi", "identifier": "mcpbridge-wrapper", - "version": "0.1.7", + "version": "0.2.0", "transport": { "type": "stdio" },