Skip to content
Website Sections

ChangelogWall

Every release is a poster pasted over the last one on a brick wall. The newest has one corner come loose; pull it, or press the button, and it rips away along a rough edge to show the release under it, leaving a scrap behind.

Download
  • React
  • Tailwind CSS v4
  • motion

Props

NameTypeDefaultWhat it does
releases{ version: string; date: string; title: string; notes: { kind: "new" | "fix" | "up"; text: string }[] }[]5 releasesNewest first. Keep to 3 short notes each.
onChange(release: Release, index: number) => void-Called with the release now on top.
classNamestring"w-full max-w-2xl"Set the width here. Everything scales with it.