# Changelog (Moonarc)

Lists dated releases in a hairline list. Each entry reveals as it is reached, and the newest version catches a shine. Every entry carries its date, so readers can check how often you ship.

- Pro block. Install: `npx shadcn@latest add @moonarc-pro/changelog-section` (license key required)
- Tier B · category section · trigger scroll
- Readout: `<ChangelogSection releases={[…]}>`
- Browser support: widely (Chrome 120 · Firefox 49 · Safari 14)
- Measured cost: 0 B JS of its own · uses Reveal + runtime (with dependencies 3.0 kB raw; CSS 10.4 kB raw)
- Page: https://moonarc.dev/components/changelog-section/

## Props

| Prop | Type | Default | Description |
|---|---|---|---|
| `releases` | `{ date, version, items, href? }[]` | none | Newest first. |
| `headline` | `string` | none | Section heading. |
| `tone` | `'surface' | 'muted' | 'ink' | 'brand'` | `unset (paints nothing)` | The ground: the page surface, a muted band, an always-dark ink panel, or a deep brand panel. Each paints --background, --ma-tone-muted (over --muted, with a --border hairline), --ma-tone-ink or --ma-tone-brand (over --primary) with the matching text. With theme.css, a painted tone also re-declares --card, --border, --input and --ring inside the section, so cards and fields follow the ground. Decoration is strongest on brand. |
| `density` | `'compact' | 'cozy' | 'roomy'` | `'cozy'` | Block padding and the release rows ×0.8 / ×1 / ×1.25 through --ma-density. |
| `align` | `'start' | 'center'` | `'start'` | Heading alignment. |
| `linkLabel` | `string` | `'Release notes'` | Text of a release's link, shown when the release has an href; screen readers hear the version after it. |

## Usage

```astro
---
import ChangelogSection from '@/components/moonarc/pro/ChangelogSection.astro';
---
<ChangelogSection headline="What shipped" releases={[
  { date: '2026-03-02', version: '1.4.0', items: ['Dark mode for every chart', 'CSV export', 'Search that ignores accents'] },
  { date: '2026-02-09', version: '1.3.0', items: ['Team workspaces'] },
]} />
```

## Reduced motion

Entries fade in; no shine.

## With ClientRouter

Inherits Reveal; nothing to rebind.

## Craft

- Only the newest version shines, every 5 s, which marks the current release.
- A 12 rem date column keeps every entry's prose starting on the same line.
- Entries reveal one at a time as they are reached, because a changelog is read from the top down.

## Replaces

- Changelog sections (Tailwind Plus)

## Source

Pro block. The source is served by the license-gated registry: `npx shadcn@latest add @moonarc-pro/changelog-section` with a key in components.json (https://moonarc.dev/account/). Everything it composes is free: reveal, shiny-text.
