Skip to content

fix(release): stamp plugin.json versions — extra-files glob never worked#351

Merged
JacobPEvans-personal merged 1 commit into
mainfrom
fix/plugin-version-stamping
Jun 11, 2026
Merged

fix(release): stamp plugin.json versions — extra-files glob never worked#351
JacobPEvans-personal merged 1 commit into
mainfrom
fix/plugin-version-stamping

Conversation

@JacobPEvans-personal

Copy link
Copy Markdown
Member

Problem

Installed clients never received plugin content updates unless someone manually bumped that plugin's plugin.json version. The v4.2.0 skills migration (#349) — including the three skills that replaced always-loaded agentsmd rules — was invisible to every existing install: claude plugin update reports success but re-uses the same-version cache directory without re-copying content (verified: cache dir for git-workflows 1.8.0 dated March, missing pre-commit-architecture, while the refreshed marketplace clone had it).

Root cause

release-please extra-files does not support globs. The "*/.claude-plugin/plugin.json" entry from the unified-versioning change (#142) was silently skipped on every release since: marketplace.json got stamped ($.plugins[*].version → 4.2.0) while every plugin.json kept its last manual version (1.0.0–2.3.1). Claude Code keys its plugin cache by plugin.json version, so same-version content changes never propagate.

Fix

  1. Replace the dead glob with one explicit json extra-file per plugin (jsonpath: $.version, 17 entries) — future releases stamp every manifest, so each release forces cache refreshes.
  2. One-time stamp of all 17 plugin.json versions to 4.2.0, matching what marketplace.json already claims. After merge, every installed client picks up current content on its next claude plugin update.

Verification

  • git diff on the manifests is exactly 17 version lines; all JSON validates.
  • After merging + claude plugin marketplace update + claude plugin update <plugin>, cache dirs re-key to 4.2.0 with current content.

Refs: dryvist/ai-assistant-instructions#680

🤖 Generated with Claude Code

release-please extra-files do not support globs, so the
"*/.claude-plugin/plugin.json" entry from the unified-versioning change
was silently skipped on every release: marketplace.json got stamped to
the marketplace version while every plugin.json kept its last manual
version. Claude Code keys its plugin cache by plugin.json version and
only re-copies content when that version changes, so all content shipped
since each plugin's last manual bump (including the v4.2.0 skills
migration) never reached installed clients — even after
'claude plugin update', which reports success while re-using the stale
same-version cache dir.

- Replace the dead glob with one explicit json extra-file per plugin
  (jsonpath $.version) so future releases stamp every manifest.
- One-time stamp of all 17 plugin.json versions to 4.2.0, matching what
  marketplace.json already claims — forces every installed client to
  refresh on its next plugin update.

Assisted-by: Claude:claude-fable-5
@JacobPEvans-personal JacobPEvans-personal merged commit 6f83dbf into main Jun 11, 2026
3 checks passed
@JacobPEvans-personal JacobPEvans-personal deleted the fix/plugin-version-stamping branch June 11, 2026 21:25
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.

1 participant