Version Rail Release Timeline
A two-column release feed: a sticky monospace rail lists every version, clicking one filters the main list down to just that release (clicking it again, or the All pill, resets the filter). Each release shows its tone-coded changes, an accent-bulleted highlight list, and an optional release-notes link.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its badge, button dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/version-rail-release-timeline.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/changelog/changelog26.tsx instead.
Usage
The file also exports changelog26Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.
import { Changelog26, changelog26Demo } from "@/components/blocks/changelog/changelog26"; export default function Page() { return <Changelog26 {...changelog26Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| heading | string | "Release history" | Section heading. |
| description | string | "Every release, filterable by version." | Section subheading. |
| releases | Changelog26Release[] | none | List of releases shown in the rail and the main feed. |
| className | string | none | Extra classes for the outer section element. |
Types
type Changelog26ChangeType = "added" | "changed" | "fixed" | "removed"; interface Changelog26Change { id: string; type: Changelog26ChangeType; text: string; } interface Changelog26Release { id: string; version: string; date: string; changes: Changelog26Change[]; highlights: string[]; noteHref?: string; }
Behavior notes
- `"use client"` block with real interactivity: a real `useState<string | null>` selected-version filter drives which releases render in the main list; clicking the active version or the All pill clears it.
- Demo props live in a sibling `changelog26.demo.tsx` (no directive) per the client-component demo-file-split rule, since this component itself is `"use client"`.
- The release-notes link is a real `<Link>` to a placeholder anchor href, not a live page; no backend action is implied anywhere in this block.
More Changelog Blocks
View all →split-milestone-changelog
Split Milestone Changelog
Two-column release entries pairing milestone context with highlights and metrics.
changelog-release-feed
Changelog Release Feed
Release feed cards with aligned change-type labels and an optional CTA per card.
grouped-changelog-board
Grouped Changelog Board
Releases grouped under bold month headings with aligned version and description columns.
milestone-changelog-timeline
Milestone Changelog Timeline
Vertical timeline of releases with a connecting line, version badges, and tone-coded change types.
minimal-text-changelog
Minimal Text Changelog
Ultra-plain, text-only changelog with no badges, cards, or borders.
categorized-release-notes
Categorized Release Notes
Per-release changes grouped into Added, Changed, and Fixed sub-sections.