Release List
A changelog as a document — each version an article with a real heading, so it can be linked to and navigated by heading. Never sorts, since "newest first" cannot be derived from semver once pre-releases exist.
src/components/ui/release-list.tsxAbout
From the component's own source, where it was written.
A changelog: versions newest first, each with its notes.
The version is an <h3> inside an article rather than a styled div, because a changelog is a document — someone lands on it from a link and navigates it by heading. Order is the caller's; this never sorts, since "newest first" cannot be derived from a semver string alone once pre-releases are involved.
Install
npx astralyx-ui add release-list
Usage
import { ReleaseList } from '@/components/ui/release-list'
<ReleaseList releases={releases} />Composer
Change the props and the source below follows.
v1.4.2
LatestAdded
- Sidebar, Timeline, Stat and Sparkline
- CodeBlock footer slot
Fixed
- Pagination numbers no longer inherit the ambient font size
- ButtonGroup responsive seams
v1.4.1
Fixed
- Switch thumb contrast in dark theme
<ReleaseList releases={releases} />Examples
Changelog
<ReleaseList releases={releases} />API
Generated from the source, so it cannot fall behind the code. One table per exported component, then hooks, functions and types.
ReleaseList
A changelog: versions newest first, each with its notes.
Extends ComponentProps<'div'>.
| Prop | Type | Default | Description |
|---|---|---|---|
| releases | Release[] | required | { version, date?, current?, tag?, notes?, sections? }. |
| locale | string | 'en-GB' | Date formatting through Intl. |
| latestLabel | ReactNode | 'Latest' | Badge on the newest release. |
Types
Release
| Field | Type | Description |
|---|---|---|
| version | string | — |
| date? | Date | — |
| current? | boolean | Highlighted as the current or newest release. |
| tag? | ReactNode | — |
| notes? | ReactNode | — |
| sections? | { label: string; items: ReactNode[] }[] | Grouped bullets — Added, Fixed, Changed. |