-
Notifications
You must be signed in to change notification settings - Fork 155
[FEATURE] Support versioned documentation site #646
Copy link
Copy link
Labels
documentationDeprecated: use type/docs. Kept for issue history; will be removed in milestone 0.10.0.Deprecated: use type/docs. Kept for issue history; will be removed in milestone 0.10.0.enhancementDeprecated: use type/feature. Kept for issue history; will be removed in milestone 0.10.0.Deprecated: use type/feature. Kept for issue history; will be removed in milestone 0.10.0.
Metadata
Metadata
Labels
documentationDeprecated: use type/docs. Kept for issue history; will be removed in milestone 0.10.0.Deprecated: use type/docs. Kept for issue history; will be removed in milestone 0.10.0.enhancementDeprecated: use type/feature. Kept for issue history; will be removed in milestone 0.10.0.Deprecated: use type/feature. Kept for issue history; will be removed in milestone 0.10.0.
Problem
The documentation site is deployed on every merge to
main, but users install APM from published releases. This creates a window where the docs reference features that don't yet exist in the latest release binary, leading to confusion and bug reports.Real example: #641 -- a user on v0.8.11 followed the docs for
apm marketplace add --host, which was documented after PR #589 merged tomainbut before a new release was cut. The--hostoption didn't exist in their installed version, so they filed a bug.Proposed solution
Support multiple documentation versions:
latest-- built and deployed on every merge tomain(current behavior, unchanged)vX.Y.Z-- built and deployed on each GitHub release, matching the published binaryThe default landing page should point to the latest stable release version, with a version switcher allowing users to navigate to
latest(for contributors/pre-release) or any prior release.Suggested approach
Starlight (the current doc framework) supports this via plugins or build-time configuration. The general pattern is:
/v0.8.12/)main, build and deploy to/latest/Alternatives considered
latest: Add a notice like "You are viewing unreleased documentation" -- simpler but doesn't fully solve the problem since users land onlatestfrom search engines.