Releases & Changelog
Track all releases, updates, and improvements to the Common Origin Design System. View detailed commit history, categorized changes, and version information.
84 Total ReleasesLatest: v3.0.0
Filter by type:
3.0.0
October 25, 2026✨ Features
4- feat!: remove the deprecated tokens; Box keeps its spacing and radius names
- feat!: remove deprecated props and variants; AgentInput voice off by default
- feat!: FilterChip is the toggle chip; remove BooleanChip and chip size
- feat!: remove PageTitle, StatusBadge and CategoryBadge
🐛 Bug Fixes
2- fix(docs): key each section on the tokens page
- fix(changelog): keep release-note nesting; handle major-version headings
📚 Documentation
1- docs: 3.0 migration guide and release notes
2.23.0
October 25, 2026✨ Features
2- feat(tokens): base.color.white off the ramps; inverse content on gray.100
- feat(Box): bg accepts semantic token paths; old background keys deprecated
2.22.0
October 24, 2026✨ Features
10- feat(MoneyDisplay): the sign is text, not a circled icon (decision 0045)
- feat(Badge, TransactionListItem): badges mean new; status uses the status pattern (decision 0045)
- feat(Alert, InlineAlert): the status pattern's icons and shapes (decision 0045)
- feat(StatusLabel): the status pattern's icons and shapes (decision 0045)
- feat(tokens): domain tokens on the semantic tier; resolve decision 0036 (#190 part e)
- feat(tokens): chart colours, color.data.* (#190 part d)
- feat(tokens): category labels move onto the display ramps (#190 part c)
- feat(tokens): role colours move onto the role ramps (#190 part b)
- feat(tokens): neutral semantic tokens move onto the grey ramp (#190 part a)
- feat(icons): ten status icons and the internal status shapes (decision 0045)
📚 Documentation
4- docs(foundation): Badge's default is a near-black count
- docs(tokens): the intent and theory behind the token library
- docs(tokens): the intent and theory behind the token library
- docs(foundation): decision 0048, emphasis leaves the colour tokens
🔧 Chores
1- chore: bump version to 2.22.0
2.21.0
October 22, 2026✨ Features
11- feat(AILabel): the AI marker for proposed content
- feat(icons): add an ai icon
- feat(AgentInput): docked placement
- feat(AgentInput): proposals carry an id; a replacement is announced
- feat(AgentInput): review bar and suggestions
- feat(Chip): SuggestionChip, the Suggestion chip type
- feat(tokens): semantic AI text and icon colours
- feat(AgentInput): multiline field and soft length limit
- feat(AgentInput): editable while submitting, ref handle, Stop
- feat(AgentInput): neutral defaults, product errors always show, IME-safe Enter
- feat(tokens): OKLCH role and display hue ramps (decision 0044)
📚 Documentation
3- docs(foundation): decision 0046, agent proposals and suggestions
- docs(foundation): decision 0045, status indication
- docs(foundation): decision 0043, colour by meaning
🔧 Chores
1- chore: bump version to 2.21.0
2.19.0
October 17, 2026✨ Features
14- feat(tokens): density mode for controls (data-co-density)
- feat(tokens): components read tokens as CSS variables (decision 0041)
- feat(cards): one hover, pressed and focus treatment per kind of card
- feat(tokens): gray ramp with alpha twins, and one base.dimension scale
- feat(a11y): forced-colours support, scoped to the mode (decision 0038)
- feat(motion): purpose-named motion tokens; exits accelerate (decision 0037)
- feat(tokens): domain tokens move to the component tier (decisions 0031 §6, 0036)
- feat(tokens): semantic grammar names beside the old ones (decision 0031)
- feat(tokens): generated tokens.ts with JSDoc and @deprecated as the published types
- feat(tokens): describe every base token group
- feat(tokens): deprecation as data ($deprecated and replacedBy)
- feat(Chip): one chip size, 24px (decision 0035)
- feat(Button, IconButton): take height from size.control
- feat(tokens): size.control, and the field family takes its height from it
🐛 Bug Fixes
6- fix(a11y): Slider thumb hit area: 24px, 44px on touch, split between range thumbs
- fix(a11y): Slider thumbs drag with touch and pen
- fix(a11y): chip close button has a 24px pointer target (decision 0039)
- fix(TextField): give StyledTextAreaBase the input base styles
- fix(docs): every docs token entry is an exact token path
- fix(rows): one interaction pattern for rows and items
♻️ Refactoring
3- refactor(docs-site, lib): read the semantic grammar names (decision 0031)
- refactor(molecules): read the semantic grammar names (decision 0031)
- refactor(atoms): read the semantic grammar names (decision 0031)
📚 Documentation
7- docs(foundation): decision 0041, components read tokens as CSS variables
- docs(foundation): decision 0040, our own OKLCH palette
- docs(tokens): describe every token in use by its job, not its value
- docs(foundation): decision 0034, control heights
- docs(foundation): 0031 keeps category -strong and limits emphasis to neutral
- docs(foundation): decision 0033, token descriptions
- docs(foundation): semantic token grammar (0031) and token modes (0032)
✅ Tests
1- test(tokens): find deprecated token reads through the type checker
2.18.0
October 10, 2026✨ Features
3- feat(tokens): category -strong tokens; deprecate -emphasis
- feat(tag): deprecate the success, warning, error and interactive variants
- feat(badge): add variant="accent"; deprecate primary
🐛 Bug Fixes
4- fix(focus): one near-black focus ring in every component
- fix(dropdown,searchfield): focus is grey, selection is light blue
- fix(progressbar): default fill near-black, matching Slider
- fix(tokens): emphasis text and icons are darker than default
📚 Documentation
3- docs(site): "Which label do I use?" guide
- docs(site): stop using deprecated Chip variants
- docs(decisions): 0029, accent and emphasis audit outcomes
🔧 Chores
1- chore: bump version to 2.18.0
2.17.0
October 9, 2026✨ Features
1- feat(dateformatter): deprecate mode="relative" (identical to smart)
🐛 Bug Fixes
4- fix(list): List's spacing reaches its items
- fix(tabbar): remove the off-grid 1px press nudge
- fix(checkbox): checked border uses the colour token, not a composite border
- fix(icon): decorative by default; never announce internal icon names
🔧 Chores
1- chore: bump version to 2.17.0
2.16.0
October 8, 2026✨ Features
9- feat(tokens): publish tokens.css with --co-<tier>-<path> variables (migration step 6b)
- feat(alert): place the action below the content, left-aligned
- feat(alert): add appearance (outlined, borderless)
- feat(inlinealert): add InlineAlert; deprecate Alert's inline prop
- feat(tag): add small (20px) and medium (24px) sizes
- feat(labels): add StatusLabel and CategoryLabel; deprecate StatusBadge and CategoryBadge
- feat(tabbar): one underline look with the light-blue selected treatment; deprecate variant
- feat(chip): add InputChip; deprecate FilterChip, BooleanChip and the static Chip's variants and onClick
- feat(button): add the accent variant; deprecate emphasis
🐛 Bug Fixes
10- fix(iconbutton): use Button's colours and motion in every variant and state
- fix(slider): track on background.progressTrack; disabled value in icon.disabled
- fix(input): resting control borders meet 3:1 (color.border.control)
- fix(input): placeholder text meets 4.5:1 (text.subdued)
- fix(tokens): stop $ref keys leaking into tokens.json; use built-in transforms (migration step 2)
- fix(ci): don't let a Codecov outage fail the test job
- fix(alert): centre the dismiss button on the first line of content
- fix(labels): make aria-label announced on CategoryLabel and StatusLabel
- fix(labels): WCAG AA text for CategoryLabel outlined/minimal and StatusLabel pending
- fix(chip): a selected disabled chip uses the disabled colours and keeps its checkmark
♻️ Refactoring
4- refactor(tokens): convert the token source to DTCG (migration step 5)
- refactor(tokens): normalise Input, ProgressBar, Badge, Separator and Field (migration step 3c)
- refactor(tokens): normalise Chip component tokens (migration step 3b)
- refactor(tokens): normalise Button and IconButton component tokens (migration step 3a)
📚 Documentation
7- docs: review PRs with /code-review instead of Copilot
- docs(tokens): describe every semantic token (migration step 6c)
- docs(decisions): 0022, no component spacing tokens; new tokens need sign-off
- docs(foundation): decision 0019, Alert and InlineAlert
- docs(foundation): decision 0018, indicators and labels
- docs(foundation): decision 0017, token pipeline on DTCG and Style Dictionary 5
- docs(foundation): decision 0016, accent, selection and chip types
✅ Tests
1- test(tokens): golden snapshot of resolved token values (migration step 1)
📦 Build
1- build(tokens): upgrade to Style Dictionary 5 (migration step 4)
👷 CI/CD
1- ci(tokens): fail when the committed token outputs are out of date (migration step 6a)
2.15.0
September 30, 2026✨ Features
1- feat(pagetitle): deprecate PageTitle; use Typography h1 in a Stack
🐛 Bug Fixes
1- fix(button): pass anchor attributes to linkComponent
♻️ Refactoring
1- refactor(components): last colour literals to tokens; lint guard for colours and z-index
📚 Documentation
4- docs: fix .github drift, one release doc, docs-reference check (#37, part 2)
- docs: fix README, CONTRIBUTING and usage drift (#37, part 1)
- docs: register DateFormatter (#36, part 2)
- docs: make component prop docs match the code (#36, part 1)
✅ Tests
1- test: close component test gaps; ProgressBar accessible name (#36, part 3)
2.14.0
September 27, 2026✨ Features
8- feat(alert): fade out, then collapse, when dismissed
- feat(motion): Modal, Sheet and ActionSheet fade out when closed
- feat(motion): motion tokens everywhere and reduced-motion fallbacks
- feat(tokens): semantic type scales and component tokens for typography departures
- feat(components): field-family tokens for label, required indicator and helper text
- feat(components): badge-family label tokens; badges render at medium weight
- feat(tokens): semantic font weights; components stop using base keys and literals
- feat(tokens): semantic z-index layers paired with elevation
🐛 Bug Fixes
3- fix(list): chevron rotates over duration.fast, matching Dropdown
- fix(site): move the docs site onto the semantic z-index layers
- fix(components): use the near-black overlay tokens instead of pure black
♻️ Refactoring
3- refactor(components): component dimensions to size tokens
- refactor(components): px borders, focus rings and matching sizes to tokens
- refactor(components): replace base tokens with semantic tokens; lint guard
📚 Documentation
1- docs(foundation): decision 0014, token tiers
2.13.0
September 26, 2026✨ Features
1- feat(package): support React Server Components with 'use client'
🐛 Bug Fixes
2- fix(package): load the CommonJS build without crashing
- fix(site): server-render styles, load Inter, declare color-scheme
📦 Build
1- build(package): clean dist/ before building
👷 CI/CD
2- ci: add ESLint and build the docs site in CI
- ci(release): changelog in the version-bump PR, PR-then-tag release scripts, backfill 2.12.1/2.12.2
🔧 Chores
1- chore: bump version to 2.13.0
2.12.2
September 26, 2026🐛 Bug Fixes
4- fix(package): stop shipping site-only dependencies and page-components types
- fix(types): make published type declarations resolve for consumers
- fix(deps): resolve remaining npm audit findings
- fix(deps): upgrade next to ^16.3.6 to patch critical RCE
📚 Documentation
4- docs(foundation): address Copilot review of #23
- docs(tokens): real token pipeline reference + Style Dictionary expert token-architect
- docs: add foundation layer and align agent guidance
- docs: add documentation for BooleanChip and FilterChip as Chip sub-variants
👷 CI/CD
1- ci(publish): switch npm publishing to Trusted Publishing (OIDC)
🔧 Chores
3- chore: bump version to 2.12.2
- chore: add MIT LICENSE file
- chore(ci): remove Copilot weekly review automation
📝 Other Changes
1- [WIP] Review token consistency across design system components
2.8.1
February 27, 20262.6.0
January 11, 20262.4.2
January 6, 20262.4.0
January 5, 2026✨ Features
2- feat: extend ListItem with combobox pattern support and integrate IconButton in SearchField
- feat: add combobox pattern support to ListItem, integrate IconButton in SearchField
🔧 Chores
1- chore(changelog): update CHANGELOG.md after release
2.2.4
December 17, 20251.12.0
November 4, 20251.11.3
November 4, 2025🐛 Bug Fixes
1- fix: Adjust Checkbox sizing to 20px box with 32px touch target
1.11.2
November 4, 2025🐛 Bug Fixes
1- fix: Ensure Checkbox and TextField exports are available in published package
1.9.4
November 2, 2025📝 Other Changes
1- Bump version to 1.9.4
1.9.3
November 2, 2025📝 Other Changes
3- Add Data View with Quick Filters pattern using boolean chips for instant filtering
- Refactor tokens documentation page to display only semantic tokens and use Avatar component for avatar size previews
- Update componentsData and rebuild tokens after FeatureBlock migration
1.9.1
October 30, 2025♻️ Refactoring
1- refactor: migrate DesignCard to FeatureBlock, remove DesignCard, update docs, tests, and references
1.9.0
October 30, 2025♻️ Refactoring
1- refactor: rename ArtCard to CardLarge, update prop to picture, add excerpt rendering, update docs and tests
🔧 Chores
1- chore: update changelog with latest releases
📝 Other Changes
1- Refactor CardLarge and CardSmall components to use Picture atom, update alt text for accessibility, and align all tests and docs with new image API.
1.8.5
October 30, 2025🔧 Chores
1- chore(release): bump version to 1.8.5 and update edge case tests for WCAG compliance
1.8.4
October 30, 2025🔧 Chores
1- chore(release): bump version to 1.8.4
1.8.3
October 30, 20251.8.0
October 29, 20251.7.0
October 29, 2025✨ Features
2- feat: add Patterns page with Data View pattern and rename SectionSeparator to Divider
- feat(patterns): implement interactive Data View pattern demo
📚 Documentation
1- docs: add comprehensive release process documentation and automation
1.5.0
October 27, 20251.3.0
October 23, 20251.2.0
October 23, 20251.1.2
October 16, 2025🐛 Bug Fixes
1- fix: temporarily skip tests in GitHub Actions workflow
1.1.1
October 16, 2025No commits in this release
1.1.0
October 16, 2025✨ Features
4- feat: migrate to scoped package @common-origin/design-system v1.1.0
- feat: initial design system with foundational atomic components
- feat: comprehensive design system package setup and dependency resolution
- feat: comprehensive cleanup of design system for production deployment
Last updated: Oct 25, 2026, 10:44:53 AM