Changelog
What changed in each release, with migration guides for breaking changes.
What changed in each release, newest first. Versions match the git tags and the published package versions — every package in the monorepo versions together.
Breaking changes link to a migration guide. Those guides are written for the person and the agent doing the upgrade: each one lists every renamed symbol, so a find-and-replace is possible without reading prose.
1.0.0-beta.4 — 2026-10-07
Documented
- Supported browsers on the installation page, beside the beta notice: the current and previous versions of Chrome, Edge, Firefox and Safari.
- The README links the security policy and code of conduct, alongside where to open issues and merge requests.
1.0.0-beta.3 — 2026-10-07
Documented
- The theming page shows every colour. Each colour token has a swatch and its value for both the light and the dark theme, read from the shipped stylesheets at build time, so the page cannot show a colour the theme does not have. The derived tokens (focus rings, backdrop, chart surface) get a live swatch that follows the theme you are viewing.
1.0.0-beta.2 — 2026-10-06
Documented
- The docs site’s tables were rendering as plain text — every class, attribute, option and prop table, on 67 of 70 pages. A dependency update broke markdown tables in the site’s pages; it is reverted, and the docs build now fails if any page shows markdown syntax instead of rendering it.
- The docs site has a menu on phones. The sidebar used to sit above every page as a short box with its own scrollbar, so a phone scrolled in two places at once. It is now a full-screen menu behind a button in the header.
1.0.0-beta.1 — 2026-10-06
The first public release, on npmjs.org.
What’s in it
-
A CSS-first component library. 67 components, each one classes first — most work in plain HTML with no JavaScript — then a vanilla
create*controller for state, listeners and keyboard handling, then a React component from the same source. React components are Server Component–safe: each one that needs the client carries its own'use client'. -
Sixteen packages, all versioned together. Every package depends on its siblings at exactly its own version, so install them at the same one.
Package Contents @corndev/ui,@corndev/ui-reactLayout, forms, typography and data components, and the design tokens @corndev/ui-overlays,-reactModal, Drawer, Accordion, Tooltip, Popover, Menu @corndev/ui-notifications,-reactAlert and Toast @corndev/ui-markdown,-reactMarkdown rendering, safe with untrusted input @corndev/ui-icons,-reactTree-shakeable SVG icons @corndev/ui-hooksReact hooks: disclosure, debounced callbacks, clipboard, media queries, storage, hotkeys and more @corndev/store,@corndev/store-reactA dependency-free, Redux-shaped state container @corndev/query,@corndev/query-reactA dependency-free async cache: dedupe, staleness, retries, invalidation @corndev/eslint-pluginLint rules for props a component does not read and values it does not accept -
Strings are text. A string handed to a component — a modal’s or popover’s
content, a toast’smessage— is shown as text and never parsed as HTML; markup is passed as an element (or, in React, as children). Untrusted markdown goes through@corndev/ui-markdown, which drops raw HTML. -
Typed. Every package ships TypeScript declarations generated from its JSDoc.
-
A CDN build with Subresource Integrity hashes, for pages with no build step: see the CDN page.
-
Docs for people and agents at cornui.com, with a generated llms.txt.
What beta means
The API is close to what 1.0 will ship, but a beta release can still make a breaking change. When one does, it is listed here under Breaking, with a migration guide. Pin an exact version if you need nothing to move under you.
Supported browsers are the current and previous versions of Chrome, Edge, Firefox and Safari.