
Changelog Timeline
Timelines
Search by name, tag, category or type
Source and install need .
pnpm dlx shadcn@latest add @assembli/public-roadmapNow / Next / Later product roadmap with upvotes. Area chips with counts and a search filter the board with layout transitions; cards expand in place to show details and status history. Votes are optimistic, roll their count, persist per item in localStorage and call onVote. Has a Recently shipped strip linked to the changelog, plus an inline Suggest a feature form. Columns become tabs on phones.
Other props pass through to the root element.
eyebrow
React.ReactNode
Default "Roadmap"
title
React.ReactNode
Default "What we’re building"
intro
React.ReactNode
Default "Everything on the Tessera roadmap, from what ships this mo…
items
RoadmapItem[]
Default DEFAULT_ITEMS
areas
string[]
Filter chips, in order. Defaults to every area used by items.
onVote
(id: string, voted: boolean) => void | Promise<unknown>
Called after the optimistic toggle. Return a rejecting promise to roll the vote back.
onSuggest
(suggestion: RoadmapSuggestion) => void | Promise<unknown>
Called when the suggestion form is sent. Return a promise to show a sending state; reject to show an error.
changelogHref
string
Default "#"
shippedLimit
number
Default 4
How many shipped items the "Recently shipped" strip shows. 0 hides it.
storageKey
string
Default "roadmap-votes"
localStorage key for the viewer's votes. Use one per roadmap.
| Prop | Type | Default | Description |
|---|---|---|---|
| eyebrow | React.ReactNode | "Roadmap" | |
| title | React.ReactNode | "What we’re building" | |
| intro | React.ReactNode | "Everything on the Tessera roadmap, from what ships this mo… | |
| items | RoadmapItem[] | DEFAULT_ITEMS | |
| areas | string[] | – | Filter chips, in order. Defaults to every area used by items. |
| onVote | (id: string, voted: boolean) => void | Promise<unknown> | – | Called after the optimistic toggle. Return a rejecting promise to roll the vote back. |
| onSuggest | (suggestion: RoadmapSuggestion) => void | Promise<unknown> | – | Called when the suggestion form is sent. Return a promise to show a sending state; reject to show an error. |
| changelogHref | string | "#" | |
| shippedLimit | number | 4 | How many shipped items the "Recently shipped" strip shows. 0 hides it. |
| storageKey | string | "roadmap-votes" | localStorage key for the viewer's votes. Use one per roadmap. |

Timelines