Changelog

Release notes list with a version and date rail, New/Improved/Fixed badges, entries that expand to reveal their staggered change lines, a tag filter with counts that reflows the list with layout animation, and an email subscribe field driven by a StatefulButton promise.

Preview

Changelog preview width

Install

Add it with the shadcn CLI, or copy the source manually.

$ bunx --bun shadcn add @karaui/changelog
@karaui not found? Add it to components.json
{
  "registries": {
    "@karaui": "https://karaui.kamisama-v0.my.id/r/{name}.json"
  }
}

@karaui is in shadcn's public registry directory, so the latest CLI needs no setup. On an older CLI, merge this into the existing file once and every @karaui/… install resolves.

API Reference

entries
ChangelogEntry[]
—
filter?
"all" | "fixed" | "new" | "improved"
—
defaultFilter?
"all" | "fixed" | "new" | "improved"
all
onFilterChange?
((filter: ChangelogFilter) => void)
—
expanded?
string[]

Ids of expanded entries. Default: the newest entry.

—
defaultExpanded?
string[]
—
onExpandedChange?
((expanded: string[]) => void)
—
onSubscribe?
((email: string) => unknown)

Shows the subscribe field. Reject (or throw) to show an error state.

—
subscribeLabel?
string
Get release notes by email
locale?
string
en-US
className?
string
—

Keep in mind

Some components on this site are inspired by or recreated from existing work across the web. I'm not here to take credit; just to learn, experiment, and sometimes push things a bit further. If something looks familiar and I forgot to mention you, reach out and I'll fix that right away.

Updated