You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: minMillVersion is enforced — a plugin needing a newer Mill is refused, visibly (goal 0245) (#518)
* feat: minMillVersion is enforced — a plugin needing a newer Mill is refused, visibly (goal 0245)
The stability contract's teeth: the plugin surface versions against
Mill's own version (the converged app-plugin model), and the manifest's
minMillVersion — parsed but never checked until now — is enforced at
scan, so every valid-manifest-only consumer (loader, assets, ingestion
claims, guarded actions) inherits the refusal. The Extensions row names
both versions; a beta satisfies the release it is stamped against
(prerelease stripped before compare); a malformed minimum fails closed;
an unstamped source build skips enforcement. Stability promise recorded
in the Extending-the-canvas docs.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012im1JxQQV2ahnXzZDdVmZq
* fix: minMillVersion enforcement applies only to stamped builds — a source build's version const is the last release, not this build's lineage
Caught by CI: the e2e/dev server builds unstamped (version const 0.5.0)
and refused mill-bookmark's 0.9.0 pin -- the freshest possible code
failing a minimum it satisfies. Channel-aware now: source skips, beta/
stable enforce; pinned-plugin behavior proven per channel in wiring.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012im1JxQQV2ahnXzZDdVmZq
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
0 commit comments