Skip to content

docs: plugin CLAUDE.md files claim "the plugin manager uses version to detect updates" — no such consumer exists #70

Description

@carochacs

Verified against code: static/js/plugin-loader.js and plugins/__init__.py never read a plugin's manifest version for update-detection. The loader only uses version as a cache-busting query param (?v=<version>) on script/style URLs and as a dedup key in loadedScripts/loadedStyles maps (plugin-loader.js:251-336,644-668). There is no other "plugin manager" component in this codebase.

This directly contradicts core's own CLAUDE.md, which correctly states:

version and private are advisory metadata — the plugin loader does not currently consume them, but plugins commonly include them for publishing/tooling purposes.

Yet every plugin-repo CLAUDE.md (difficulty-ladder, feedpakr, splitscreen, sectionmap, etc.) repeats a Versioning section that says:

Bump version in plugin.json whenever a change is user-visible … (best-practices rule 4: bump on every release; the plugin manager uses this to detect updates)

The bump discipline may still be good practice (cache-busting alone justifies it — an unbumped version means users' browsers keep serving cached JS/CSS after an update), but the stated rationale is false and should be corrected across the per-plugin CLAUDE.md templates. Suggest fixing the canonical plugin CLAUDE.md template/docs this text is copied from, since it's duplicated verbatim across ~15 plugin repos.

Correct rationale: version is used for cache-busting (?v= URL) so an unbumped version means users keep getting stale cached JS/CSS after an update — not "the plugin manager detects updates" (no such detection exists).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions