ADFA-1713: Add Plugin API changelog (YY.WW capability history) - #1589
Conversation
Plugins declare plugin.min_ide_version in YY.WW form, and 26.28 (ADFA-3588)
now enforces it at install. Developers had no way to know which release first
shipped a given capability. This adds that reference.
- docs/PLUGIN_API_CHANGELOG.md: version-mapped history of plugin API
capabilities, 26.02 -> 26.30, reconstructed from git history. Symbols read
from the ABI dump (26.28+) and diff-verified from plugin-api/src for earlier
releases. Includes the one-liner to regenerate it each release.
- plugin-api.md: correct the stale "no binary-compat validator" follow-up
(BCV landed in 26.28); link the changelog from Related.
- PLUGIN_AUTHORING.md: point the min_ide_version field at the changelog.
Version mapping: git tag --contains <sha> filtered to ^\d{2}\.\d{2}$, lowest.
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
📝 Walkthrough
WalkthroughAdds a version-mapped Plugin API changelog, documents its use for minimum IDE version selection, and updates compatibility documentation to reflect ABI validation enforced since 26.28. ChangesPlugin API documentation
Estimated code review effort: 1 (Trivial) | ~5 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/PLUGIN_API_CHANGELOG.md`:
- Around line 150-164: Update the “Regenerating this doc” guidance to qualify
the ABI dump as the source of truth only for ABI symbols, then add a separate
source-history/audit step covering non-ABI contracts in docs/plugin-api.md,
including manifest keys, permission strings, and package/format requirements.
Ensure the guidance accounts for additions such as plugin.icon_day and
ide.environment.write when determining the appropriate plugin.min_ide_version.
- Around line 13-25: Define one consistent plugin-version contract across both
documentation sites: clarify in docs/PLUGIN_API_CHANGELOG.md lines 13-25 whether
versions are strict ISO YY.WW values or release tags, then align the dated
entries, 26.02 exception, and 99.0.0 example with that contract; update
docs/PLUGIN_AUTHORING.md lines 78-80 to use the same values or explicitly label
1.0.0 examples as legacy loader fallbacks.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 7b219d39-a1e6-41db-b383-6d181156ef62
📒 Files selected for processing (3)
docs/PLUGIN_API_CHANGELOG.mddocs/PLUGIN_AUTHORING.mddocs/plugin-api.md
What
Adds a Plugin API changelog — a version-mapped history of which
YY.WWrelease first shipped each plugin capability — so a plugin developer can choose a correctplugin.min_ide_version.Docs only. No code changes.
Why
Plugins declare
plugin.min_ide_versioninYY.WWform, and 26.28 (ADFA-3588) now enforces it at install. But there was no public record of when each capability appeared, so a developer had no basis for choosing the value. ADFA-1713 was blocked on exactly this document.Changes
docs/PLUGIN_API_CHANGELOG.md(new) — 14 changes across 10 releases,26.02(Sep 2025) →26.30(Jul 2026). Every change so far is additive. Ends with the one-liner to regenerate it each release.docs/plugin-api.md— corrected the stale "no binary-compat validator" follow-up (the ABI dump + validator landed in 26.28); linked the changelog from Related.docs/PLUGIN_AUTHORING.md— pointed theplugin.min_ide_versionmanifest field at the changelog.How it was built (and stays current)
The public surface is a checked-in, validator-enforced ABI dump (
plugin-api/api/plugin-api.api) as of 26.28, so each release's additions are a mechanical diff. Pre-26.28 predates the dump and was diff-verified fromplugin-api/srccommit history. Version mapping:Notes for review
[verified]/[reconstructed]markers distinguish entries read from the ABI dump (26.28+) from those diffed out of source history (earlier).plugin.min_ide_version/plugin.max_ide_versionmanifest keys have existed since genesis (26.02); ADFA-3588 (26.28) is the separate enforcement + ABI-baseline milestone.max_ide_versionis parsed but not enforced today — worth deciding before developers are told to rely on it.Refs ADFA-1713.