Stacked Release Cards
A simple, dense changelog: each release is its own bordered card with a heading, description, and bulleted list of tone-coded changes, ending in a hairline-separated footer row that repeats the version and date once the reader has scanned the content above it.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its badge dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/stacked-release-cards.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/changelog/changelog15.tsx instead.
Usage
The file also exports changelog15Demo, 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 { Changelog15, changelog15Demo } from "@/components/blocks/changelog/changelog15"; export default function Page() { return <Changelog15 {...changelog15Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| heading | string | "Changelog" | Section heading above the card stack. |
| description | string | undefined | Short intro paragraph under the heading. |
| releases | Release[] | none | Releases rendered top to bottom, most recent first. |
| className | string | none | Extra classes for the outer section element. |
Types
type ChangeType = "added" | "changed" | "fixed" | "removed"; interface Change { type: ChangeType; label: string; text: string; } interface Release { version: string; date: string; heading: string; description: string; changes: Change[]; }
Behavior notes
- The change tags follow this category's tone convention: added uses Badge variant default, changed uses secondary, fixed uses outline, removed uses destructive; each entry supplies its own display label so text like "Breaking" or "Security" can appear while still mapping to a consistent color.
- The version/date footer row sits below a `border-t` hairline inside each card, visually separated from the change list above it rather than mixed in with the bullets.
- Fully static server component: no photos, no client state, no pagination.
More Changelog Blocks
View all →Split Milestone Changelog
Two-column release entries pairing milestone context with highlights and metrics.
Changelog Release Feed
Release feed cards with aligned change-type labels and an optional CTA per card.
Grouped Changelog Board
Releases grouped under bold month headings with aligned version and description columns.
Milestone Changelog Timeline
Vertical timeline of releases with a connecting line, version badges, and tone-coded change types.
Minimal Text Changelog
Ultra-plain, text-only changelog with no badges, cards, or borders.
Categorized Release Notes
Per-release changes grouped into Added, Changed, and Fixed sub-sections.