chore: sync plugin and MCP version fields to 0.9.3 - #173
Conversation
package.json has been the only version field that moves. The plugin manifests sat three minors behind at 0.8.0, and the version the MCP server advertises to clients was further back still at 0.6.0 — so anything reading the marketplace entry or the server handshake saw a release that shipped weeks ago. Numbers only. The recurrence is what actually needs fixing, and #110 (from @grlee) already does it properly with a sync-version script wired into the npm version lifecycle plus a --check mode for CI. This does not touch that work. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H2GXsqpMvUhxBSNabSqZdk
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
📝 WalkthroughWalkthroughVersion metadata is updated from earlier values to ChangesVersion metadata synchronization
Estimated code review effort: 1 (Trivial) | ~2 minutes Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Pull request overview
This PR synchronizes version strings across Claude plugin manifests and the MCP server handshake so that published metadata accurately reflects the package.json version (0.9.3).
Changes:
- Bumps the MCP server-advertised version in
server/index.tsto0.9.3. - Updates
.claude-plugin/plugin.jsonmanifestversionto0.9.3. - Updates
.claude-plugin/marketplace.jsonversion fields (metadata.versionandplugins[0].version) to0.9.3.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
server/index.ts |
Updates MCP server handshake version to match the current package version. |
.claude-plugin/plugin.json |
Aligns plugin manifest version with package.json (0.9.3). |
.claude-plugin/marketplace.json |
Aligns marketplace metadata and plugin entry versions with package.json (0.9.3). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
* feat(version): keep every version field in sync with package.json package.json was the only version that moved. The plugin manifests fell three minors behind and the MCP handshake fell further still, which #173 corrected by hand — this stops it recurring. - scripts/sync-version.ts rewrites drifted manifest fields, or reports them and exits 1 under --check. - CI runs --check, so drift cannot land. - The npm `version` lifecycle runs the fixer and git-adds .claude-plugin, so a bump updates the manifests in the same commit. - server/index.ts imports pkg.version instead of a literal, which is better than syncing it — a test asserts no hardcoded semver returns to that call. Design and the original implementation are from #110 by @grlee. That PR now conflicts with main and lives on a fork, so it could not be rebased; this reimplements it and #110 should be closed in its favour. Verified both directions: injecting 0.1.0 into plugin.json makes --check exit 1 with an exact report, and the fixer restores the file byte-identically. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H2GXsqpMvUhxBSNabSqZdk * fix(version): typecheck scripts, handle absent metadata, scope the source assertion Review round 1 (Copilot, Devin): - tsconfig `include` did not cover scripts/, so sync-version.ts was never typechecked despite CI now running it. Added scripts/**/*.ts, and set resolveJsonModule explicitly since server/index.ts now imports package.json. Verified with --listFilesOnly that both the script and package.json are in the program. - The marketplace metadata.version setter was guarded by `if (doc.metadata)`, so an absent metadata block would be reported as drift the fixer could never resolve. It now creates the block. Verified by deleting the field: --check reports it, the fixer restores it. - The "no hardcoded semver" assertion scanned all of server/index.ts. Scoped to the new McpServer(...) options object so an unrelated literal cannot fail it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H2GXsqpMvUhxBSNabSqZdk --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
0.9.3 was published from the release commit, before the version-field fixes merged, so its tarball still carried plugin manifests at 0.8.0 and an MCP handshake at 0.6.0. Nothing consuming the published package could see correct versions. This ships them. Contents since 0.9.3: - #173 synced the plugin manifests and the MCP handshake version. - #174 added scripts/sync-version.ts, a CI drift check, and the npm version lifecycle hook, so this bump updated all three manifests in one command. Claude-Session: https://claude.ai/code/session_01H2GXsqpMvUhxBSNabSqZdk Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
package.jsonhas been the only version field that actually moves. Everything else drifted:package.json0.9.3.claude-plugin/plugin.json::version0.8.00.9.3.claude-plugin/marketplace.json::metadata.version0.8.00.9.3.claude-plugin/marketplace.json::plugins[0].version0.8.00.9.3server/index.ts:128— MCP server handshake0.6.00.9.3The MCP one is the worst of them: that string is what the server advertises to every connecting client, and it was three minors behind.
Numbers only, deliberately. The recurrence is the real bug, and #110 from @grlee already fixes it properly — a
scripts/sync-version.tswired into the npmversionlifecycle with a--checkmode for CI, plus readingpkg.versioninserver/index.tsinstead of a literal. This PR does not touch that design or conflict with its approach; it just stops the currently-published release from lying about itself. #110 is worth merging on top.bun test→ 471 pass, 0 fail.bun run typecheckclean.🤖 Created with the help of AI (Claude Opus 5).
Note
Sync plugin and MCP server version fields to 0.9.3
Updates version strings in marketplace.json, plugin.json, and the
McpServerconstructor in server/index.ts from stale values (0.8.0 / 0.6.0) to 0.9.3.Macroscope summarized 480cede.
Summary by CodeRabbit