Changelog & upgrading
Every release, newest first. The part to read before you bump the version is Behavior changes: what will look or act differently on a page that worked yesterday, and what to do about it. The same facts, in more formal words, are in CHANGELOG.md.
@v0.3.0 → @v0.4.0), and the
adapters' too if you use them. Then read the behavior changes for every release you're skipping. The
kit is 0.x, but nothing has been removed or renamed yet: old classes and options keep
working.
0.4.0 2026-10-06
The pieces dashboards kept building by hand — meta and status lines, quiet notes, stat-card controls and key : value lines, a span-aware grid, a table toolbar — plus aurora text and the “On this page” rail. All of it is new classes; nothing was removed or renamed.
Behavior changes
| What's different | What to do |
|---|---|
Cards in a _78-card-grid, a _78-kpi-grid or a _78-flex row
no longer carry the stacked-card top margin, so a row of cards lines up at the top. Before, every card
after the first sat 16px low. |
Delete any margin-top: 0 you added to fix it. In a grid of your own, keep it — the
kit can't see your grid. Cards |
| Two paragraphs in a row inside an alert body are spaced 8px apart; inside a card or a disclosure body, 12px. They used to run together. | Nothing, usually. If you spaced them with a class of your own it still wins — you can delete it. Notifications |
_78-kpi-grid and _78-card-grid are now presets of _78-grid.
They render exactly as before at every width they used to fit; in a container narrower than one column
they now give one full-width column instead of overflowing. |
Nothing. Layout |
Added
_78-grid, with_78-col-span-2(two columns when there's room, the whole row when there isn't) and_78-col-full. Layout_78-toc/_78.toc, the “On this page” rail this site uses. Contents rail_78-meta, the dim line of facts under a headline, and_78-card-stack. Cards_78-stat-card__actions(a control beside the label) and_78-stat-card__lines(key : value lines). Cards_78-status, a badge with the caption that explains it. Badges & tags_78-notes, quiet notes inside a card. Notifications_78-figure-neutraland_78-figure-row-neutral. Data-viz_78-form-inline, and the form in a card foot. Forms_78-table-cardand_78-table-filters, the toolbar above a table. Table_78-text-aurora, animated gradient text. Utilities
Fixed
- Cards in a grid line up at the top (above).
- The kit's demo pages no longer scroll sideways at phone width.
0.3.0 2026-09-30
One tone vocabulary across every component, category colors for labels that aren't states, a second chart color, two JavaScript helpers, and a round of fixes found in real use.
Behavior changes
| What's different | What to do |
|---|---|
_78.modal.alert() resolves true when OK is clicked and
false when the dialog is dismissed (×, Escape, backdrop). It used to
resolve undefined either way. |
Nothing, if you ignore the value. If you chain a side effect —
alert(msg).then(reload) — it still runs on every close; make it
if (await _78.modal.alert(msg)) reload().
Notifications |
Chart.js series colors are --accent, then --series-2 (a gray), then the
six category colors. They used to be accent, success, warn, danger, info, dim. The second and
later lines, bars and doughnut slices change color; the first doesn't. |
Nothing, unless a chart's colors matter to you. To keep a series' old color, set its
borderColor / backgroundColor yourself.
Adapters |
Stacked switch rows (_78-switch-row) space themselves, 16px apart. |
Nothing if you used the recommended _78-flex-col _78-gap-16 wrapper — it looks
the same. A wrapper of your own that spaces rows with gap now doubles up: drop the
wrapper. Selection controls |
A plain <ul> / <ol> inside an alert body, a card, a modal
body or a disclosure is indented, with its bullets inside the box. |
Delete any padding you added as a workaround. For a list that shouldn't show bullets, add
_78-list-plain. Utilities |
The short tone classes color text anywhere, including _78-danger, which used to
style only a menu item. |
If you used _78-danger as a state hook on something else, it now turns red. Rename
your hook. Tones |
| The sparkline end dot is drawn as a round-capped stroke instead of a circle, so it stays round at any width. | If you restyled _78-sparkline-dot, set stroke /
stroke-width instead of fill / r.
Data-viz |
The mobile drawer keeps keyboard focus inside it while open, and the page behind it is
inert. |
Nothing. App shell |
Added
- One tone vocabulary.
accent,success,warn,danger,infoanddimwork on every component that takes a tone — so_78-badge-dangerand_78-text-successexist now. The oldgreen/rednames keep working, and so doamberandyellow. Tones - Category colors,
cat-1tocat-6, for labels that aren't states — a source, a team, a type. Tones --series-2, the second chart color. The theme generator outputs it and the categories._78.util.sortAlphaand_78.util.duration. Utilities_78.tone(), which turns any tone name or alias into the canonical one, and_78.notify.danger(), the same as.error()._78-list-plain.- Tabulator responsive-collapse support in the adapter, and the verified version of each library next to its CDN snippet.
Fixed
dismissible: falsenow stops Escape too, not just the backdrop, andconfirm()/alert()pass it through.- The sparkline end dot no longer stretches into an ellipse in a wide container.
- Chart.js grid lines and tick labels follow a live theme switch (they used to wait for a reload).
- Tabulator's collapse panel wraps long values, its +/− toggle is visible in light theme, and its text follows the type scale.
- Lists in alerts no longer hang their bullets outside the box.
0.2.0 2026-08-21
Five components that had been hand-written in real apps, and a hidden fix.
Behavior changes
| What's different | What to do |
|---|---|
| The sparkline's end dot is off by default. It crowded small cards. | If a sparkline lost its dot, add data-dot="true" (or dot: true). |
_78-card-foot is full-bleed to the card's edges, like the modal foot, and its bottom
padding is 12px instead of 16px. |
Nothing. _78-card-foot-fill adds a tinted surface if you want one. |
_78-nav fills the sidebar's height. |
Nothing — a _78-nav-spacer inside it now pushes the collapse control to the
bottom, as intended. |
Added
_78-switch,_78-seg(with_78.seg),_78-figure-row,_78-split-barand_78-details.- The short color spellings (
_78-accent,_78-green,_78-warn,_78-red) work anywhere, not just on a stat-card number.
Fixed
- The
hiddenattribute always hides, even on components that set their owndisplay.
0.1.1 and 0.1.0 2026-08-19 / 20
0.1.0 was the first public release: runtime theming, the components, the no-library data-viz, the
three library adapters and the theme generator. 0.1.1 added llms.txt /
llms-full.txt and corrected the theming copy. Neither has anything to upgrade from.