Releases: heroui-inc/heroui
Release list
v3.2.1
What's Inside
- π¦ @heroui/react β no longer bundles its own copy of react-aria
- π¬ Tooltip β duplicate-instance issues fixed
- π§ SwitchGroup β horizontal layout fix
What's Changed
- chore(docs): add missing typography in component category by @wingkwong in #6650
- fix(react): externalize react-aria subpaths to prevent vendored copy by @wingkwong in #6653
- fix(switch-group): add missing switch-group-items by @wingkwong in #6655
- V3.2.1 by @wingkwong in #6654
Full Changelog: v3.2.0...v3.2.1
v3.2.0
What's inside
- React Aria 1.18.0
- Calendar β week/day views, multi-select, year picker
- Table β SortableColumnHeader
- Autocomplete β Virtualizer
- Tooltip β delay theme vars
- Toggles β new Field composition
Breaking Changes
Radio, Checkbox, and Switch move to an explicit *.Content composition β *.Control nests inside *.Content, the label is plain text inside *.Content (no nested <Label>), and Description/FieldError become siblings of *.Content.
What's Changed
- fix(docs): broken component links by @wingkwong in #6577
- chore(docs): add dark mode guide (cn) by @wingkwong in #6578
- fix(docs): broken redirects by @wingkwong in #6579
- docs(native): add v1.0.4 release notes and component updates by @vvv-sss in #6580
- chore(docs): update cn docs for pr6580 & sync missing changes by @wingkwong in #6581
- fix(toast): defer success/error toast after promise to avoid ViewTransition collision by @aosmcleod in #6511
- fix(styles): cap modal/alert-dialog scroll-inside height so body scrolls by @wingkwong in #6597
- fix(fieldset): propagate disabled to descendant RAC by @wingkwong in #6596
- refactor(table): export Table.SortableColumnHeader by @wingkwong in #6588
- chore(deps): React Aria Upgrade (v1.18.0) by @wingkwong in #6586
- fix(scroll-shadow): preserve scrollbar mask by @diegonzs in #6598
- docs(native): remove figma links from component docs by @vvv-sss in #6601
- fix(styles): column separator and resizer position in RTL layout by @shlomoi10 in #6606
- docs(native): add create-heroui-native-app CLI docs and quick-start restructure by @vvv-sss in #6608
- docs(native): cli release note (cn version) by @wingkwong in #6610
- Enhance calendar component with new features and documentation by @diegonzs in #6611
- feat(tooltip): add tooltip delay css vars by @wingkwong in #6617
- docs(react): add copy prompt in quick install by @wingkwong in #6609
- refactor(toggles): explicit composition for radio, checkbox & switch by @diegonzs in #6614
- fix(styles): preserve Select/Autocomplete variant background when isInvalid is set by @mvanhorn in #6582
- fix: typecheck issues by @wingkwong in #6623
- fix(toast): align close button position with container padding by @Xuxyyy in #6574
- fix(styles): inherit font-size from parent instead of forcing text-sm in link by @wingkwong in #6621
- fix(styles): prevent date-picker calendar popover from being horizontally clipped by @wingkwong in #6622
- fix(styles): correct secondary header borders in virtualized mode by @wingkwong in #6624
- fix(docs): preserve NativeComponentsCategory tag in native llms-full.txt by @wingkwong in #6634
- chore(docs): update Style Fixes for latest merged PRs by @wingkwong in #6635
- fix(styles): constrain popover size for virtualized ListBox by @wingkwong in #6642
- refactor(docs): optimization by @wingkwong in #6630
- fix(autocomplete): popover focus by @wingkwong in #6627
- fix(tooltip): avoid Focusable warning when mounted inside inert subtree by @wingkwong in #6628
- fix(spinner): restore animation in non-flex layouts by @wingkwong in #6644
- fix(styles): browser autofill highlight on grouped input fields by @wingkwong in #6625
- fix(styles): prevent flex-shrink from collapsing virtualized ListBox scroll height by @wingkwong in #6636
- V3.2.0 by @wingkwong in #6616
New Contributors
- @shlomoi10 made their first contribution in #6606
- @mvanhorn made their first contribution in #6582
- @Xuxyyy made their first contribution in #6574
Full Release Note
https://heroui.com/docs/react/releases/v3-2-0
Full Changelog: v3.1.0...v3.2.0
v3.1.0
What's inside
- π Chinese React docs, release notes & localized demos
- π¨ Accessible soft foreground tokens with a vibrant palette opt-in
- π Shared scrollbar utilities with data-scrollbar="thin" | "default" | "none"
- π Link underline now appears on hover, with pressed-state decoration updates
- οΏ½οΏ½οΈ Toast tab order cleanup and height measurement fixes
- π§ Better RTL support for Table, pickers, ListBox and Menu items
- π§ Fixes for useTheme SSR, Fieldset disabled propagation, overlays, Modal and Dialog focus behavior
What's Changed
- feat(docs): SEO improvements, blog content rebalancing, and AI discoverability by @jrgarciadev in #6536
- chore(.github): revise bug_report template content by @wingkwong in #6539
- fix(styles): define calculated theme tokens on .dark for nested dark regions by @wingkwong in #6542
- fix(demo): update Google and Apple icons in login demo by @diegonzs in #6543
- fix(docs): Add missing variant props in Modal example by @DarkstarXDD in #6464
- chore(docs): add missing init cmd options & add agents-md content by @wingkwong in #6541
- feat(docs): wire HeroUI Native Universal Links and download fallback by @vvv-sss in #6540
- fix(fieldset): forward disabled state to descendant fields by @wingkwong in #6547
- feat(styles): add soft foreground tokens and migrate components by @jrgarciadev in #6548
- feat(styles): add shared scrollbar system with per-component utilities by @diegonzs in #6545
- docs(native-showcase): add privacy policy page by @vvv-sss in #6551
- Agent readiness features by @jrgarciadev in #6553
- fix(docs): sync home iframe demo themes by @jrgarciadev in #6554
- fix(docs): use white accent for uber dark theme by @jrgarciadev in #6556
- fix(docs): move mobile design theme selector to header by @jrgarciadev in #6555
- fix(styles): prevent body focus ring clipping by @jrgarciadev in #6557
- fix(styles): prevent overlay placement miscalculation during enter animation by @Emiyaaaaa in #6549
- fix(styles): prevent Dialog from being programmatically scrolled by focus by @anobaka in #6448
- fix(table): use logical border-radius for RTL corners by @FZ1010 in #6568
- fix(toast): move tabindex from style object to HTML attribute by @aosmcleod in #6510
- fix(toast): clean up stale toastHeights entries when toasts are dismissed by @aosmcleod in #6512
- fix(hooks): resolve useTheme SSR crash and circular dependency by @aosmcleod in #6561
- fix(docs): correct NumberField "With Chevrons" demo layout by @wingkwong in #6569
- feat(docs): support i18n and add cn pages by @wingkwong in #6533
- fix(link): update underline hover states by @jrgarciadev in #6570
- chore(docs): sync with PR6570 by @wingkwong in #6571
- fix(style): use logical inline-end/start for chevrons, value text and indicators by @FZ1010 in #6573
- V3.1.0 by @jrgarciadev in #6576
New Contributors
- @DarkstarXDD made their first contribution in #6464
- @Emiyaaaaa made their first contribution in #6549
- @anobaka made their first contribution in #6448
- @FZ1010 made their first contribution in #6568
Full Release Note
https://heroui.com/docs/react/releases/v3-1-0
Full Changelog: v3.0.5...v3.1.0
v3.0.5
β οΈ Breaking Changes
Text β Typography
The component shipped in v3.0.4 used text-* BEM modifiers, which collide with Tailwind's text-* utility family. tailwind-variants runs tailwind-merge on every variant composition and dedupes text--body-sm, text--color-muted, text--weight-normal to a single class β silently dropping the others.
Renaming the block to typography permanently fixes the collision (#6505, closes #6497).
Before:
import {Text} from "@heroui/react";
<Text type="body-sm" color="muted" weight="medium">
Hello world
</Text>;After:
import {Typography} from "@heroui/react";
<Typography type="body-sm" color="muted" weight="medium">
Hello world
</Typography>;What's Changed
- fix(styles): use accent soft foreground for default hover by @jrgarciadev in #6500
- fix(styles): disable twMerge for textVariants by @wingkwong in #6501
- refactor(styles): use unprefixed source tokens across components and theme builder by @diegonzs in #6499
- feat(docs): add CLI page by @wingkwong in #6498
- docs(native): document HeroUI Native v1.0.3 release by @vvv-sss in #6502
- docs(text): refine Text component docs β reorder sidebar and update usage demo by @jrgarciadev in #6504
- refactor(text): rename Text to Typography by @aosmcleod in #6505
- chore(deps): bump next version + action version by @wingkwong in #6529
- fix(styles): use field-border for radio default border color by @jrgarciadev in #6522
- fix(styles): add field border width to checkbox control by @jrgarciadev in #6521
- docs(releases): add v3.0.5 release notes by @jrgarciadev in #6531
- V3.0.5 by @jrgarciadev in #6503
New Contributors
- @aosmcleod made their first contribution in #6505
Full Changelog: v3.0.4...v3.0.5
v3.0.4
What's New
βοΈ Text Component
New compound component for semantic typography β Text.Heading, Text.Paragraph, Text.Code, and Text.Prose. Renders the correct HTML element automatically. Ported from HeroUI Pro.
π¨ Docs Theme Selector
Preview any component page in 11 built-in themes β Sky, Lavender, Mint, Netflix, Uber, Spotify, Coinbase, Airbnb, Discord, and Rabbit. Your pick is saved to localStorage.
π Border-Radius Design Tokens
All hardcoded border-radius values across 45+ component CSS files now use min() to cap the radius. No more broken visuals with large custom radius themes.
π² Table Focus Ring Rework
Focus ring now spans across individual cells using per-cell inset shadows β works correctly with virtualized rows too.
Bug Fixes
- Checkbox β removed hardcoded accent-hover background from selected/indeterminate state
- Autocomplete β isDisabled now propagates to Trigger and ClearButton
- Tooltip β revised padding and switched border-radius to design token
- Description β removed extra horizontal padding from form field descriptions
- Theme Builder β fixed swapped accent-foreground values
- Soft color contrast β darker accent-soft-foreground for light accent themes (Sky, Lavender, Mint), fixing barely-visible text on secondary buttons, chips, and badges
What's Changed
- fix(docs): correct swapped accent-foreground values in theme builder by @wingkwong in #6401
- fix(docs): update mail template iframe url to /templates/email by @diegonzs in #6449
- refactor(docs): adjust styling in PreviewContainer component by @diegonzs in #6450
- chore(docs): replace pre-sale with launch discount in pro banner by @jrgarciadev in #6453
- chore(textfield): move value to TextField by @wingkwong in #6454
- feat(docs): show Pro components in OSS search with PRO badge by @jrgarciadev in #6458
- feat(docs): add UTM params to Pro search result links by @jrgarciadev in #6459
- fix(autocomplete): isDisabled by @wingkwong in #6443
- fix(styles): replace rounded-full and hardcoded border-radius with design tokens by @diegonzs in #6465
- fix(docs): keep sidebar scroll within viewport by @lunaxislu in #6472
- chore: add AGENTS.md and configure pnpm onlyBuiltDependencies by @jrgarciadev in #6473
- refactor(styles): table focus by @wingkwong in #6476
- fix(styles): revise tooltip padding by @wingkwong in #6481
- fix(styles): remove description horizontal padding from form fields by @jrgarciadev in #6484
- fix(styles): wire text.css into styles bundle and enrich Text stories by @jrgarciadev in #6485
- feat(react): add Text typography primitive by @jrgarciadev in #6479
- fix(styles): cap border-radius with min() to prevent visibility issues on large radius themes by @diegonzs in #6487
- feat: Redesign colors documentation with light/dark previews and CSS variables by @diegonzs in #6486
- fix(docs): pass fallback to color copy handler by @diegonzs in #6492
- feat(docs): add design theme selector by @wingkwong in #6471
- feat(docs): add frameworks by @wingkwong in #6495
- fix(docs): add missing github.pull and pr link by @wingkwong in #6496
- V3.0.4 by @jrgarciadev in #6483
New Contributors
- @lunaxislu made their first contribution in #6472
Full Changelog: v3.0.3...v3.0.4
v3.0.3
React Aria Components 1.17 with 90% fewer deps, expandable Table rows, useTheme hook, and Apache 2.0 license.
Highlights:
β‘ React Aria Components 1.17 β 90% fewer dependencies, faster installs and builds (#6433)
π² Expandable Table rows β tree-style expand/collapse for file browsers, nested categories & hierarchical data
π¨ New useTheme hook β theme switching for Vite & CRA apps, persists to localStorage, supports system preference (#6426)
π§© DOM polymorphic utility β render-prop API to swap host elements (e.g. render a Card as ) (#6403)
π License moved to Apache 2.0 β same permissive freedoms + explicit patent grant, no action needed
π Fix for nested Tabs inheriting parent variant styles
What's Changed
- fix(docs): add missing github.pull and pr link by @wingkwong in #6396
- chore(docs): add codex and opencode examples by @wingkwong in #6398
- fix(dropdown): with-section example by @wingkwong in #6413
- chore: update LICENSE by @wingkwong in #6415
- chore: update license to Apache License 2.0 by @wingkwong in #6416
- chore(docs): mute videos by default by @wingkwong in #6420
- docs(native): add v1.0.2 release notes and update component API references by @vvv-sss in #6429
- fix(docs): broken link in migration guide by @Stybo in #6440
- V3.0.3 by @jrgarciadev in #6441
Full release notes: https://heroui.com/docs/releases/v3-0-3
v3.0.2
Bug Fixes
- Autocomplete:
--trigger-widthCSS variable on the popover now tracks the trigger element's width viauseResizeObserver(#6374) - Drawer: Panel transitions rewritten from Tailwind
animate-in/animate-outto native CSStranslatetransitions for smoother animations (#6393) - InputGroup: Secondary variant focus background triggers only on actual input/textarea focus (#6362)
- Tag:
CloseButtonnow has explicitaria-label="Remove tag"for screen readers (#6341)
Features
--backdroptheme variable: New CSS variable for overlay backdrops β Modal, AlertDialog, Drawer now usebg-backdropinstead of hardcoded values (#6375)
Style Improvements
- Trigger elements across Popover, Tooltip, Dropdown, Modal, AlertDialog, Drawer, Disclosure now apply
inline-block(#6373) - Default arrow SVG for Tooltip + Popover updated to a smoother cubic bezier curve (#6372)
- Tag
smandmdsizes get increased horizontal padding (#6315)
Internal
- Release workflow added with
pnpm publish+NPM_TOKEN - Replaced changesets with bumpp for version management (#6354)
Full release notes: https://heroui.com/docs/releases/v3-0-2
@heroui/react@3.0.1
Introducing HeroUI v3
A complete rewrite for React. A brand-new library for React Native.
One design system. Beautiful everywhere.
π Web β 75+ components, 21 new
π± Native β 37+ components, built from scratch
π¨ Styling β Tailwind CSS v4, CSS variables, OKLCH, BEM
β‘ Performance β CSS animations, no JS runtime
βΏ Accessibility β React Aria Components
β¨ Architecture β Compound components, fully customizable, headless-ready
π€ AI β MCP Server, Agent Skills, LLMs.txt
π Figma Kit v3 with 1:1 component parity
Every component rewritten. Every animation moved to CSS. Styles decoupled from implementation. And tooling that treats AI assistants as a first-class dev interface.
π Post/Tweet β https://x.com/hero_ui/status/2035353807735976374
π Release Notes β https://heroui.com/docs/react/releases/v3-0-0
π Docs β https://heroui.com/docs/react/getting-started/quick-start
π± Native Docs β https://heroui.com/docs/native/getting-started/quick-start
πΌοΈ Figma Kit β https://www.figma.com/community/file/1546526812159103429/heroui-figma-kit-v3
A huge thank you to everyone who used the alpha and beta versions β your bug reports, feedback, and patience helped us find and fix issues that made v3 stable. This release wouldn't be the same without you β€οΈ
@heroui/user@2.2.26
Patch Changes
-
#6281
7437888Thanks @wingkwong! - react-aria versions (release v1.16.0) -
Updated dependencies [
7437888]:- @heroui/avatar@2.2.26
@heroui/use-pagination@2.2.20
Patch Changes
- #6281
7437888Thanks @wingkwong! - react-aria versions (release v1.16.0)