Browse docs
Browse docs
This is the chronological release history of @dashforge/tw. Every entry
links to a full page with the detail of that release.
@dashforge/tw is stable at 2.0.1 (semver-stable since 1.0.0) and follows
Semantic Versioning:
1.x → 2.0.0) signals a breaking change to
the public API — props removed, behaviour changed, type contracts
tightened. Migration notes are always provided.1.0.x → 1.1.0) is additive — new
components, new variants, no breaking changes. Adopt incrementally;
existing code keeps working unchanged.1.0.0 → 1.0.1) is non-breaking — bug
fixes, internal refactors, doc updates.Lockstep since 2.0.0. Between 1.1.0 and 1.5.2 the packages
versioned separately, so a component bump did not force a token or theme
upgrade. That is no longer true. Internal dependencies are declared with
workspace:*, which pnpm rewrites at pack time to the EXACT sibling
version rather than a range, so every @dashforge/* package ships on
one version and has to be installed on one version. A mixed 1.x /
2.0.0 install does not resolve. That includes the MUI side
(@dashforge/ui, @dashforge/theme-mui, @dashforge/theme-core,
@dashforge/tokens), which is on the same version line from 2.0.0.
| Version | Date | Theme |
|---|---|---|
2.0.1 | 2026-09-29 | Current stable. Lockstep patch. @dashforge/ui-core and @dashforge/rbac shipped 2.0.0 without their declaration payload: TS2307 on every symbol, or a silent degrade to any with skipLibCheck: true. Runtime was never affected. Also corrects six VERSION constants that were publishing stale strings, and a type-test declaration that rode along in the tarball. CI verifies the tarball now, not the working tree. |
2.0.0 | 2026-09-28 | First major. Seven breaking changes, most of them accessibility defects that could not be fixed without changing a ref type or an element: <Select>, <Slider> and <Chip> refs, <AppShell layout>, <Divider vertical>, <TopBar start>, <Stack divider>. Adds <Kbd>, <TopBarBrand>, <Button pressed> and color="inverse", <Chip draggable>, <Box borderStyle>. All eleven packages move together and must be upgraded together. |
1.5.2 | 2026-08-30 | Patch. The <Select> selected-option checkmark no longer stretches: the listItemIndicator slot set a width and no height. |
1.5.1 | 2026-08-15 | Patch. The required * now precedes the tooltip help ⓘ in the label row, instead of rendering between the label and the asterisk. |
1.5.0 | 2026-08-15 | Label-help tooltip on all form inputs. A ⓘ in the label row (string shorthand or config) with a built-in default icon, position before/after, and Option C theme defaults (theme.components.<Name>.defaults.tooltip). Only @dashforge/tw advances. No breaking changes. |
1.4.0 | 2026-08-14 | <Video> primitive. The moving-image twin of <Image> — a native <video> wrapper with anti-CLS aspect-lock, poster + loading skeleton, graceful error fallback, controls by default. Option C themable (fit / rounded); supports access + visibleWhen gating. Only @dashforge/tw advances; tw-theme / tw-tokens stay 1.2.0. No breaking changes. |
1.3.0 | 2026-08-14 | <Image> primitive. Declarative wrapper over the native <img> — anti-CLS aspect-lock, cache-aware loading skeleton, graceful error fallback, lazy by default. Option C themable (fit / rounded); supports access + visibleWhen gating. Only @dashforge/tw advances; tw-theme / tw-tokens stay 1.2.0. No breaking changes. |
1.2.0 | 2026-07-24 | Sprint 6 — six primitives + Option C rollout. <Link>, <Select>, <Slider>, <Progress>, <Stepper>, <Drawer>. theme.components.<Name>.defaults + .slotProps consumed across the 36 components with slot surfaces. Fixes #131 (Typography margin reset), #114 (DatePicker inside DashForm), #113 (standalone-widget dev-warn). First coupled release — tw-tokens, tw-theme, tw all advance to 1.2.0 together. No breaking changes. |
1.1.1 | 2026-06-18 | Sprint 4.4 — nine presentational primitives + universal bridge alignment. Alert, IconButton, Chip, Card, Avatar, Spinner, Badge, Menu family. <Snackbar> refactored onto the shared severity foundation (visual breaking change). access + visibleWhen retrofitted to <Button> + <IconButton> + <Box>. Re-issued from the unpublished 1.1.0 (packaging fix only — same Sprint 4.4 code, 97 % smaller tarball). |
1.0.0 | 2026-05-23 | Stable release — first semver-stable version. Public API frozen, semver guaranteed. 37 components across forms, data display, navigation, feedback, layout primitives, and providers. The page summarises the pre-1.0 history (0.8 → 0.11 beta releases) not listed below. |
0.7.0-beta | 2026-05-19 | DataGrid + theme identity sweep (Sprint 4.2 + 4.3) — virtualized data table for 500-row to million-row data sets (zero new deps) plus 42 latent dark-mode bugs fixed across 10 components. |
0.6.0-beta | 2026-05-19 | <Table> primitive (Sprint 4.1) — central data-display: sort, search, selection, expandable rows, RBAC, i18n, 5 cell renderers. Zero new runtime deps. |
0.5.0-beta | 2026-05-19 | Skeleton + Pagination (Sprint 4) — 2 TW-only utility primitives for loading states and paginated lists. Pure-UI, zero new deps. |
0.4.0-beta | 2026-05-19 | Overlay + disclosure (Sprint 3) — 5 Tier-4 components: Dialog, Tabs, Tooltip, Popover, Accordion. Catalog goes from 24 → 29. |
0.3.0-beta | 2026-05-18 | Sprint 2 hardening + TextField adornments — 9 fixes across 7 components, new slotProps.prefix / suffix API, 2 WCAG gaps closed (AppShell focus trap + prefers-reduced-motion). |
0.2.1-beta | 2026-05-17 | Hardening patch — 3 controlled-without-an-owner fixes on form controls (Checkbox / RadioGroup / NumberField) + aria-busy={loading} on Button. |
0.2.0-beta | 2026-05-17 | Foundation release — 8 layout primitives (Typography, Box, Stack, Grid, Container, Divider, AspectRatio, VisuallyHidden) + 132 edge case tests. |
0.1.0-beta | 2026-05-16 | First public beta — 16 components across forms (10), layout (4), and providers (2). |
Each release page records:
@dashforge/tw is always affected (it's the
package whose release this is); companion packages (tw-theme,
tw-tokens) and the bridge layer (forms / rbac / ui-core) may
also be listed when their version was bumped in the same cycle.Internal covers test coverage,
build pipeline, and validation work that isn't part of the public API.For releases of the TW companion packages, see their per-package changelogs in the monorepo:
Both companions are on 2.0.0, the same version as @dashforge/tw, and
from 2.0.0 they no longer bump independently: the whole workspace ships
on one version.