Skip to content

Commit 45380a6

Browse files
authored
chore(release): prepare v0.47.3 (#262)
1 parent e69ea0e commit 45380a6

4 files changed

Lines changed: 30 additions & 24 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@ _Add entries here, never under a stamped version_ — a release commit renames t
88
heading, and a branch that wrote beneath it merges without conflict straight into a
99
published section (it happened to #170).
1010

11+
## [0.47.3] - 2026-10-13
12+
13+
PATCH by content: fixes VS Code JSONC configuration preservation and adds
14+
native-client validation tooling. No new CLI command, signature or protocol
15+
claim. Tagged during the 2026-09-15 → 10-15 release freeze on the maintainer's
16+
explicit "merge #261, release" instruction.
17+
1118
### Fixed
1219

1320
- VS Code user-global `mcp.json` accepts comments and trailing commas. Install,

‎CLAUDE.md‎

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,20 @@ An open-source, CLI-first MCP package manager — **"npm for MCP servers"**.
1212
A registry where developers can search, install, audit, publish, and update MCP servers
1313
across all major clients (Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Gemini CLI) from a single tool.
1414

15-
**Current release:** `@getmcpm/cli@0.47.2` (2026-10-12), tag commit `aaf358f`.
16-
PATCH: repository native-client validation tooling/docs only; production source
17-
and dependencies are unchanged from v0.47.1. PR #257 merged as `9e96bfd`,
18-
byte-identical to Astra-reviewed `89fad08`, after all nine checks passed.
19-
Documentation-only release PR #258 merged as `aaf358f` after all nine checks.
20-
Exact release-main CI/CodeQL/Scorecard passed before tagging. The maintainer
21-
explicitly requested "merge #257, release" during the recorded release freeze.
22-
23-
Publish run `38162631692` passed all five jobs, including Node 22/24/26 package
24-
gates and official registry listing. GitHub release is published/immutable;
25-
npm and MCP registry exact/latest are 0.47.2. Downloaded tarball integrity and
26-
verified npm provenance bind to release commit `aaf358f` and the exact tagged
27-
GitHub Actions workflow identity. The SBOM signature verifies; altered bytes
28-
are rejected. These verify build identity, not code safety.
29-
30-
The actual published 0.47.2 tarball passes clean-install release smoke, all
31-
97 public fixtures and 11 modern guarded-process cases, with legacy
32-
initialization and pin/event persistence. A throwaway reference-peer harness
33-
repinned to actual 0.47.2 passes 40 comparisons, with zero failures, two expected
34-
unsupported combinations and seven self-checks; its locked integrity matches
35-
the verified npm tarball. The committed harness baselines remain unchanged.
36-
37-
**Unreleased Phase 2B:** VS Code user-global configuration reads JSONC and edits
15+
**Release prepared:** `@getmcpm/cli@0.47.3` (2026-10-13).
16+
PATCH: VS Code user-global JSONC preservation from PR #260 plus the native
17+
consent suite from PR #261. Microsoft `jsonc-parser` 3.3.1 is the sole new
18+
production dependency since 0.47.2. No new CLI command, guard signature, SDK
19+
upgrade or protocol-conformance claim. PR #261 merged as `e69ea0e`, with its
20+
tree byte-identical to reviewed `3466e03` after all nine checks passed.
21+
22+
The maintainer explicitly requested "merge #261, release" during the recorded
23+
release freeze. This documentation-only preparation retains the reviewed
24+
production source, dependencies, harness and workflow. Published version is
25+
still 0.47.2 until the tag workflow completes; npm/registry publication,
26+
provenance/SBOM and actual published-binary verification remain pending.
27+
28+
**Phase 2B (included in v0.47.3):** VS Code user-global configuration reads JSONC and edits
3829
only the selected server while preserving unrelated bytes/comments and the raw
3930
backup. Invalid/duplicate server paths fail before writes; other clients remain
4031
strict JSON. Microsoft `jsonc-parser` 3.3.1 is the sole new production dependency.
@@ -49,7 +40,7 @@ User-global paths are unchanged; portable/Agent Host routes and
4940
provider/model/usage-skill behavior remain unverified. Normal tool consent is
5041
measured separately in Phase 2C below.
5142

52-
**Unreleased Phase 2C:** Native default-mode consent passes 4/4 cases in each of
43+
**Phase 2C (included in v0.47.3):** Native default-mode consent passes 4/4 cases in each of
5344
VS Code 1.141.0 and Claude Code 2.1.296: one-shot re-prompting in one session,
5445
deny/Escape before dispatch, exact echo grants surviving restart while warn
5546
still prompts, and guard blocking after client approval with echo recovery.

‎README.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,12 @@ mcpm baseline remains 0.47.1. It exercises
396396
actual global configurations and MCP calls with synthetic inputs; live models,
397397
interactive chat and other client/platform combinations require separate tests.
398398

399+
v0.47.3 fixes VS Code user-global JSONC configuration edits so unrelated
400+
comments/settings and the raw backup survive the MCP lifecycle. It also adds
401+
separate native approval/denial tests: four cases each in the pinned VS Code
402+
and Claude Code builds, with synthetic model responses. Native macOS dialogs,
403+
workspace/server trust, inline chat/Agent Host and live providers remain unverified.
404+
399405
Install-time trust scoring catches most poisoned servers before they ship. But what about **rug-pulls** — a server that changes its tool definitions after you've already approved them? Or **prompt-injection in tool responses** — adversarial text embedded in a Slack message, web page, or calendar invite that the agent reads through your trusted MCP server?
400406

401407
`mcpm guard` adds a runtime inspection layer. It wraps every installed MCP server with a stdio relay, scans tool descriptions / responses / arguments for OWASP MCP Top 10 attack patterns, pins each tool's schema at install time, and blocks calls when the live response drifts from the pin (rug-pull defense).

‎docs/NATIVE-CLIENT-VALIDATION.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
Repository tooling added in v0.47.2. Its reproducible published mcpm baseline
44
remains 0.47.1; a release does not silently repin the native measurements.
5+
The v0.47.3 additions include explicit candidate/configuration validation and
6+
separate default-consent cases; the reference-peer baseline also stays 0.47.0.
57

68
This repository harness exercises installed VS Code and Claude Code inside
79
separate disposable macOS VM clones. It uses the actual user-global configuration

0 commit comments

Comments
 (0)