CatalystOne Logo

CatalystOne Design System

Home / Releases / 39.0.0

Release 39.0.0

Major

Released 2026-09-17


A major release featuring the new Accordion component, improved input components with sizing support (SearchableTreeView, PersonPicker, and OrganizationPicker), and new capabilities for Tabs and Layout/Snackbar. Includes one breaking change: the useButton hook has been removed after long deprecation—use the Button component with the 'loading' prop instead. Several component refinements and styling fixes ensure better visual consistency and user experience across the design system.

Breaking Changes

  • button: Removed useButton hook. This has been deprecated for a long time. Use a Button with the 'loading' prop instead. (#926, 79f85ee)

Features

  • tabs: adding support for warning tabs (#920, 04ed69b)
  • searchable-tree-view: make it possible to override the min width (#917, 10216cc)
  • searchable-tree-view: add support for sizing and clear (#916, 7f1c1f7)
  • person-picker, organization-picker: add support for sizing, just like other input field components (#913, 4c776a6)
  • new custom-icon named connector added (#905, 02d66fc)
  • accordion: adding the new Accordion component with Storybook stories (#899, 85295a8)
  • layout, snackbar: blocked-action tooltip and imperative closeSnackbar (#859, fc5499b)

Bug Fixes

  • button: update colors for outlined buttons (#925, e57334b)
  • install bun via curl for the release docs workflow (#923, b5fe382)
  • chip: change font size for small chips (#922, 57d9461)
  • run commands outside of the agent sandbox for the generate release docs workflow (#921, df7e791)
  • add commands the workflow needs to the allow-list (#919, 5a45096)
  • try to fix the generate release docs workflow roles (#915, d7c65ad)
  • calendar: use explicit isoWeek ESM extension (#914, 7ff5829)
  • improvements to Card, PersonPicker and Autocomplete (#906, 5961973)
  • make all dayjs dependencies external (#901, 39342d6)
  • mcp: add the Figma MCP connection and figma-to-component skill (#898, bae1414)
  • update skills to align Claude with the rest and switch focus toward MUI theme -> CSS migration (#897, c9e3ca7)
  • dialog: apply paper styling through slotProps.paper (#893, c465532)
  • dialog: add data-automation-id to DeleteDialog buttons (#892, 785a8a4)
  • update ui-issues in person-picker dialog version (#890, 6ac94b1)

Migration guide

@catalystone/button: behavior changed

No consumer action required: the deprecated internal useButton hook was deleted. It was never exported from the @catalystone/button entry point (and the package exports map blocks deep imports), so consumer code could not import it. Loading buttons use Button with the loading prop.