Skip to content

chore: sync plugin and MCP version fields to 0.9.3 - #173

Merged
ramarivera merged 1 commit into
mainfrom
chore/sync-version-fields-0.9.3
Jul 28, 2026
Merged

chore: sync plugin and MCP version fields to 0.9.3#173
ramarivera merged 1 commit into
mainfrom
chore/sync-version-fields-0.9.3

Conversation

@ramarivera

@ramarivera ramarivera commented Jul 28, 2026

Copy link
Copy Markdown
Owner

package.json has been the only version field that actually moves. Everything else drifted:

Surface Was Now
package.json 0.9.3 — (source of truth)
.claude-plugin/plugin.json :: version 0.8.0 0.9.3
.claude-plugin/marketplace.json :: metadata.version 0.8.0 0.9.3
.claude-plugin/marketplace.json :: plugins[0].version 0.8.0 0.9.3
server/index.ts:128 — MCP server handshake 0.6.0 0.9.3

The 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.ts wired into the npm version lifecycle with a --check mode for CI, plus reading pkg.version in server/index.ts instead 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 typecheck clean.

🤖 Created with the help of AI (Claude Opus 5).


Open in Devin Review

Note

Sync plugin and MCP server version fields to 0.9.3

Updates version strings in marketplace.json, plugin.json, and the McpServer constructor in server/index.ts from stale values (0.8.0 / 0.6.0) to 0.9.3.

Macroscope summarized 480cede.

Summary by CodeRabbit

  • Chores
    • Updated the marketplace, plugin, and server versions to 0.9.3.
    • Ensured version information is consistent across the product.

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
Copilot AI review requested due to automatic review settings July 28, 2026 03:37
@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@github-project-automation github-project-automation Bot moved this to Todo in Kanban Jul 28, 2026
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Version metadata is updated from earlier values to 0.9.3 across the Claude marketplace manifest, plugin manifest, and MCP server initialization.

Changes

Version metadata synchronization

Layer / File(s) Summary
Update release version metadata
.claude-plugin/marketplace.json, .claude-plugin/plugin.json, server/index.ts
Marketplace, plugin manifest, and MCP server version values are set to 0.9.3.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Possibly related PRs

Suggested reviewers: copilot

Poem

A rabbit hops through fields of green,
Version numbers shine pristine.
Manifests thump, the server sings,
0.9.3 grows bright wings.
Hop, hop—release time! 🐇

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the version sync across plugin and MCP fields to 0.9.3.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/sync-version-fields-0.9.3

Comment @coderabbitai help to get the list of available commands.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.ts to 0.9.3.
  • Updates .claude-plugin/plugin.json manifest version to 0.9.3.
  • Updates .claude-plugin/marketplace.json version fields (metadata.version and plugins[0].version) to 0.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.

@ramarivera
ramarivera merged commit 27bf369 into main Jul 28, 2026
6 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in Kanban Jul 28, 2026
@ramarivera
ramarivera deleted the chore/sync-version-fields-0.9.3 branch July 28, 2026 03:40
ramarivera added a commit that referenced this pull request Jul 28, 2026
* 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>
ramarivera added a commit that referenced this pull request Jul 28, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants