feat: idea - host celestia-node/core/app release notes each in a single page so they are queryable from the docs
✨ Feature Proposal: Host release notes as individual pages in docs
Summary
Create one Markdown page per release for both celestia-node and celestia-app, and host them under the VitePress docs site so they’re fully searchable and linkable.
⸻
🧭 Goals
• Import every celestia-node GitHub release into a dedicated docs/releases/node/
⸻
🧱 Content structure
docs/
└─ releases/
├─ node/
│ ├─ v0.26.4.md
│ └─ ...
└─ app/
├─ v6.0.2.md
└─ ...
Each page:
---
title: "celestia-node v0.26.4"
description: "Release notes for celestia-node v0.26.4"
product: "celestia-node"
version: "v0.26.4"
released: "2025-02-18"
source:
type: "github-release"
url: "https://github.com/celestiaorg/celestia-node/releases/tag/v0.26.4"
---
Followed by the release body in Markdown.
⸻
⚙️ Implementation
-
Script: scripts/generate-release-pages.ts • Fetch celestia-node releases via GitHub API (/repos/celestiaorg/celestia-node/releases). • Read and split celestia-app/docs/release-notes/release-notes.md by headings (## vX.Y.Z). • Emit per-version .md files with frontmatter. • Optionally generate index pages + manifest JSON.
-
CI (GitHub Actions)
on:
release:
types: [published]
workflow_dispatch:
schedule:
- cron: '0 6 * * *'
jobs:
generate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: 18 }
- run: npm ci
- run: node scripts/generate-release-pages.ts --node --app
- run: npm run build # sanity check
- name: Commit changes
run: |
git config user.name "release-bot"
git config user.email "[email protected]"
git add docs/releases
git commit -m "chore: update release pages"
git push
- VitePress Config (.vitepress/config.ts)
export default defineConfig({
themeConfig: {
search: { provider: 'local' }, // or Algolia
sidebar: {
'/releases/': [
{ text: 'celestia-node', link: '/releases/node/' },
{ text: 'celestia-app', link: '/releases/app/' }
]
}
}
})
Add simple index pages listing all versions.
⸻
🚀 Benefits • Searchable, linkable release notes inside the docs. • Easier navigation per version. • Automatic updates via CI.
⸻
🧩 Nice-to-haves • “Latest release” badge on docs home. • Changelog diff links (compare/vX...vY). • Manifest JSON for embedding release data in other pages.
⸻
🧪 Next Steps • Approve content model & directory structure • Implement generate-release-pages.ts • Add CI workflow • Wire sidebar + search • Backfill existing releases