v2.9.0
✨ Features
- useTour — new composable for guided tours
- module —
theme.unstyledoption - theme — replace slot classes with a function
- vite —
rootoption to override.b24ui-nuxtdirectory location - components — hide icon with
false - ChatMessage —
bodyslot and improved actions alignment - ChatMessages — expose
registerMessageRef - ContentSearch — async search support via
search/searchStatus - ContentSearch/DashboardSearch —
unmountOnHideprop; forward input config to command palette - FileUpload — expose
removeFilein slots - Modal/Slideover —
leaveandenterevents - PinInput —
separatorprop - ScrollArea —
shadowprop - Select/SelectMenu —
multiplein theme - Sidebar —
transitionprop
🐛 Bug Fixes
- Link — fall back to original path when
localePathfails; set default forlocaleprop - Separator — forward fall-through attributes to root
- components — forward
$attrsto root element whentoprop is absent; applytheme.prefixto hardcoded utility classes - module — remove inline script in SPA mode for strict CSP; merge custom variants into AppConfig type; expose component theme keys in AppConfig type; revert
tagPriorityto-2for inline style tag; ship stripped#build/b24ui.cssfallback for tooling - templates — resolve vite root to an absolute path for
#buildaliases - ProseCodeCollapse — cap root max-height instead of toggling pre height
- ProseKbd — type default slot as
VNode[]; add default slot and makevalueoptional - CommandPalette — only scroll to highlighted item when focused
- Select — open menu on label click
- SelectMenu — bind
idand aria attributes on trigger - InputMenu/SelectMenu — re-highlight first item when items change
- InputMenu/Select/SelectMenu — respect
trailing: falseover defaulttrailingIcon - InputNumber/InputDate/InputTime/Calendar — restore
localeprop - Tabs — render active indicator during SSR
- Modal/Slideover/Drawer — suppress reka-ui
aria-hiddenfocus warning - Form — support setting the
nameattribute; addmethod="post"to prevent credential leaking via GET - ChatMessage — add
wrap-break-wordto content slot - ContentSearch — preserve intermediate ancestors in breadcrumb prefix
- ContentToc — apply
b24ui.triggerprop to trigger elements - Textarea — autoresize on mount with pre-filled value
- FileUpload — pass
disabledattribute to button variant
📚 Docs
- Chat — refocus prompt when sidebar reopens; validate AI assistant currentPage input
- tabs — add bottom tab bar example
- search — init index on nuxt ready; improve relevance and tooltip behavior
- form-field — add a warning to help field
- composables — improve examples
- navigation — query
descriptionfield for content toc - toast — add
durationprop docs; remove misleading AppConfig notes - remove Soon/New badges; drop disabled banner markers
- fix missing CSS variables on prerendered pages; resolve prerender payload 204 / build warnings
- SEO metadata + docs-tail bookkeeping
🛠 CI / Chore
- ci/deploy — raise Node heap limit to fix docs prerender OOM; move playground builds to deploy job
- deps — Nuxt
^4.4.6, Tiptap^3.24.0, reka-uiv2.9.8, Vite, vue-tsc^3.3.3, vitest-environment-nuxt v2, pnpm v11, pnpm/action-setup v6, plus 25 non-major refreshes - repl — expose composables subpath in the playground
- sync with nuxt/ui upstream (26 no-op syncs)
- add
.cursorto.gitignore
Full Changelog: v2.8.0...v2.9.0