Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Compact Timeline Changelog Block for React

The last three weeks of a time-tracking app on one thin rail: six releases of two small lines each, with the dot's shape (circle, diamond, square, ring) telling the kind and a one-line key.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

A compact release rail for React with Base UI, written for Slimline, a fictional time-tracking app. A start-aligned header and a one-line key sit over a thin rail with no bands and no cards: six releases of two small lines each, the version and the day in mono and then what changed, grouped under quiet week labels that tick against the rail. The shape of each dot is the kind of change (a circle for New, a diamond for Improved, a square for Fixed, a ring for Deprecated), the key names the four shapes, and every row also says its kind in text for assistive technology. The rail fades out at its foot and "View all releases" follows. The page's rails and top rule come from the Guides spine; the thin rail is the only other line. It's built from Guides and Button, with CSS transitions for the entrance and your theme's tokens for every colour. For changelogs that need the most releases in the least height. The releases are example data.

FAQ

How do I change the releases and the weeks?

Edit WEEKS at the top of the file: each week has a title ("Week of Mar 23") and its releases, each with a version, a date as an ISO day, a kind and a text. The week labels are plain text you write, so check them against the dates. Dates are fixed and spelled out by a small helper, so they read the same on the server and in every browser.

How are the kinds told apart?

By the dot's shape, never by colour: the constants NEW, IMPROVED, FIXED and DEPRECATED each carry a shape (the classes that draw it), and the key above the list is built from the same constants. Each row also puts its kind in text a screen reader reads first ("Fixed: Timers started offline sync once you reconnect"), so the shape is never the only signal.

How is the rail built?

One CSS variable, --rail, sets its distance from the column's start edge; the line, the dots and the week ticks all read it, so moving the rail is one number. The line is a pseudo-element on the list and fades out over its last 3rem.

How does it fit on a phone and in a right-to-left layout?

The layout is the same at every width: the rail stays at the start edge and the text wraps beside it, so nothing scrolls sideways at 320 pixels. In a right-to-left layout the rail, the dots and the week ticks move to the start edge, the arrow turns, and the mono versions stay in reading order.

What moves, and what happens with reduced motion?

The header, the key and the list fade up once on load. With reduced motion they are off and the block simply appears. The block has no state.

  • Pro

    Release Timeline Changelog

    Lists and timelines

    A release timeline for an API client: a compact header with a Subscribe link, then the latest four releases on a hairline rail with dots, each with its version, date, type tags, a linked title and its notes, and View all releases at the foot.

  • Pro

    Condensed Feed Changelog

    Lists and timelines

    Twelve releases of a news reader as a single-line ledger: the day, a type word, the headline and the version on one row, month rows between, and the older rows opening in place.

  • Pro

    Release Scrubber Timeline

    Lists and timelines

    A stepped slider across five releases with a dot and a version under each stop; moving it changes the framed panel below to that release's date, tags, title and three changes.

  • Pro

    Quiet Mono Release Log

    Lists and timelines

    A quiet release log of five single mono lines: an inverted version chip, a plain date, a sigil and a word for the kind of change, and the change itself, between hairlines.

  • Pro

    Compact Badges Changelog

    Lists and timelines

    The eight latest releases of a ticketing tool as one dense framed table: a mono version badge, a type tag with an icon and a word, what changed and the day it shipped.

  • Pro

    Minimal Changelog

    Lists and timelines

    The barest release list for a solo developer's app: six rows between hairlines, each a mono version, one sentence and the day it shipped, with a single outline word on the rows that need one.