Skip to content

feat: versioning scripts — next→latest→archive model#231

Open
evanorti wants to merge 5 commits intomainfrom
feat/versioning-scripts
Open

feat: versioning scripts — next→latest→archive model#231
evanorti wants to merge 5 commits intomainfrom
feat/versioning-scripts

Conversation

@evanorti
Copy link
Contributor

@evanorti evanorti commented Mar 4, 2026

Summary

  • Rewrites version-manager.js to use a next → latest → archive model instead of the old next → v0.x snapshot approach
  • Adds tag-archived.js — standalone utility to retroactively inject noindex/canonical into existing archived version directories
  • Nav ordering after freeze: latest (tag: Latest)next (tag: Unreleased) → stable archived (newest first)
  • latest/ nav entry shows the human-readable version number (e.g. v0.54) while page paths stay under <product>/latest/
  • Strips noindex/canonical from files promoted to latest/, re-injects into next/ after each freeze

Freeze flow

  1. Archive latest/<version>/ (inject noindex + canonical pointing to latest/)
  2. Promote next/latest/ (strip noindex from promoted files, rewrite internal links)
  3. Inject noindex + canonical into next/ pages
  4. Update docs.json nav and versions.json registry

Test plan

  • Run cd scripts/versioning && npm run freeze against a product with an existing latest/ directory
  • Verify archived dir has noindex: true + canonical in front matter
  • Verify latest/ has no noindex after promotion
  • Verify next/ has noindex: true after freeze
  • Verify nav order in docs.json: latest [Latest]next [Unreleased] → archived
  • Run node tag-archived.js --product sdk --version v0.47 --dry-run to test retroactive tagging

evanorti and others added 5 commits March 3, 2026 17:03
- version-manager.js: remove Google Sheets/EIP code; implement next → latest → archive model with URL-aware perl link rewriting and noindex/canonical injection
- tag-archived.js: new standalone script to retroactively inject noindex + canonical front matter into existing archived directories, per-product and per-version
- README.md: full runbook documenting the three-tier model, freeze process, tag-archived usage, noindex convention, and link-rewriting approach

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…→ archived)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Tag next nav entry with 'Unreleased' instead of hidden: true
- Strip noindex/canonical from files when next/ is promoted to latest/
- Inject noindex + canonical (pointing to latest/) into next/ pages
  after each freeze so new pages are protected from crawlers
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