Changelog

What's new in Koala UI, day by day: new components, improvements and fixes.

October 19, 2026#

  • Fixed

    Textarea: The resize grip sits in the bordered box's corner, level with the counter, instead of floating above the footer, and is drawn with the new Notches Koala icon.

  • Improved

    Dialog: Clearer rhythm: the header stands apart from the body (and drops that margin when the footer follows), the icon sits closer to the title, the close button centres on the first row, and the bordered footer gets more room.

  • Improved

    Expandable Search: The docs header search is now an Expandable Search: it rests as a magnifier, opens on click and lists matches right under the field. ⌘K still opens the command palette.

  • Fixed

    Accordion: Every disclosure panel (Accordion, Collapsible, Tool, Plan, Tree, Sidebar groups) keeps its children's edge and focus rings painted while it opens and closes.

  • Fixed

    Paper: A section band no longer doubles the rule above it.

  • Improved

    Paper: A SignaturePad inside PaperSignature drops its own box and guide and signs on the sheet's line, scaled with the sheet.

  • New

    Input: InputFloatingField: the label rests as the placeholder and floats to the top edge on focus, value or autofill.

  • Improved

    Radio Group: RadioCard states no longer compete: every state is one ink, keyboard focus adds a soft ink halo, a click shows the ink selection straight away, and hover is a quieter hint.

  • Fixed

    Floating Window: A minimized window no longer shows a stray hairline under its bar.

  • Improved

    Floating Window: Dragging lifts the window from the grab point with a deeper shadow, and the cursor holds while the pointer leaves the bar.

  • Fixed

    Tool: The first section's top hairline no longer vanishes while the card opens.

  • Fixed

    Voice Roster: A group mark before the avatar keeps the full gap, and the header and overflow line align with the row text at each density.

  • New

    Field: info on FieldLabel and FieldGroupLabel puts the help behind an info icon with a tooltip; it still describes the control for screen readers.

  • New

    Empty State: layout="inline" puts the parts on one left-aligned line, for an empty list inside a sheet or a panel.

  • New

    Rich Text Editor: imageLinks shows the picture under any block that links to an image file; the saved HTML keeps just the link.

October 18, 2026#

  • Fixed

    Layout: The docked content keeps its top hairline under a topbar: it sits 1px lower, so the sticky bar no longer paints over the ring.

  • Improved

    TeamMember: Name and role sit closer together in every layout, so the pair reads as one label.

October 17, 2026#

  • Improved

    Koala Icons: Every component, section and page now draws Koala Icons: 117 new icons bring the set to 487, and @phosphor-icons/react is no longer a dependency.

  • New

    Brand logos: @/lib/brand-logos holds the monochrome brand marks (GitHub, X, LinkedIn, Dribbble, TikTok and more) with the same size, color and title props as an icon.

October 16, 2026#

  • Improved

    Motion: No control scales down on press anymore: Button, inputs, pickers, toggles and every other control answer a press with the focus ring and color alone, and static stays for compatibility.

  • Improved

    SplitButton: Takes a menuClassName for the menu, never shrinks in a flex row, and now drives the docs Copy page menu.

  • Improved

    VoiceRoster: Speaks Koala now: rounded rows on the elevation floor, a soft green fill instead of the spine and wash, body type instead of mono, round group dots, the supervisor star after the name, and panel rows sit on the page's own ground like a List.

  • Improved

    Hero Section 1: A rotate list turns the end of the headline into a rotating highlight, the same wash as HeroHighlight.

  • Fixed

    HeroHighlight: A rotating highlight now server-renders only its first phrase, so search engines read a clean headline instead of every phrase run together.

  • Improved

    SwatchGrid: Swatches are round now, the selection ring takes the swatch's own color, kept opaque and readable on either theme, and hover hints in that color.

  • New

    ease-lift: A motion token for physical objects being picked up or selected: a gentle 10% overshoot, softer than ease-spring.

  • Improved

    Ink Tray: The tool in hand now lifts on ease-lift with a growing shadow, hover only hints at the lift, and the chosen colour rises slightly.

  • Fixed

    cn and every recipe now let ease-drawer, ease-spring, ease-lift and ease-sine in className override a component's own easing.

October 15, 2026#

  • New

    Toast: appearance: "minimal" for a compact one-row toast, countdown for a hairline that drains with the timer, and progress for a determinate bar you advance by raising the same id; the first two can be set app-wide on <Toaster />.

  • New

    Ink Tray: A whiteboard pen tray: pen, marker, pencil and eraser rise from behind the bar when picked up, and each tool keeps its own colour and stroke size.

  • Improved

    Fields: Input, InputGroup, Select, MultiSelect, NativeSelect, CountrySelect and DatePicker are rounded rectangles instead of pills (12, 14 and 16 by size), and Textarea steps down to rounded-lg.

  • Improved

    Button: A Button inside a <form> takes the field corner for its size, so a submit matches the inputs beside it; everywhere else, a Popover form included, it stays a pill.

  • Improved

    OTPInput: Slots follow the field corners, 12, 14 and 16 by size, so a code entry matches the inputs and the Verify button beside it.

October 13, 2026#

  • Improved

    No comments left in the code you install: components, sections, page examples, templates and the shared lib helpers all ship as plain code.

  • New

    Icons: Koala Icons grows to 370 glyphs, and every example in the docs now draws with them instead of Phosphor.

  • Improved

    Rating: icon takes any icon component, Koala Icons or Phosphor, and so do the icon props of CookieConsent categories and Toolbar overflow items.

  • Improved

    Terminal: A Windows window now: 8px corners, square seams, a TerminalTab that merges into the screen and TerminalCaption buttons with close going red on hover.

  • Improved

    PromptInput: One size now: the size prop is gone, and every composer is the tighter default, with one 32px control height and 16px icons across the toolbar, send included.

  • New

    PromptInput: PromptInputBannerApps and PromptInputBannerApp: a row of app logos in the banner under the composer, each a button with a tooltip, for a "connect your apps" strip.

  • Improved

    PromptInput: The banner takes a muted tint so it reads as tucked behind the composer, and its content wraps on narrow screens instead of overflowing.

  • Improved

    ModelSelector: Capability glyphs are smaller and quieter, and each explains itself in a tooltip on hover through a new description prop.

  • Fixed

    Command: The sliding highlight no longer covers a group heading or separator as it glides from one group into the next.

  • Fixed

    Tool: Opening or closing a call no longer shows its sheets cut flat by the height animation; they fade in step with it.

  • Fixed

    Citation: A chip no longer wraps alone onto the next line, and no longer crops the first message of a Chat conversation.

October 12, 2026#

  • New

    Citation: A chip in an answer that previews its sources on hover and goes to them on click.

  • New

    Tool: One call an agent makes to a tool: its arguments, the result and an approval step when a person has to say yes.

  • New

    ModelSelector: A searchable model picker grouped by provider, with each model's capabilities and context window.

  • New

    ContextMeter: A small ring for how much of the context window a conversation has used, opening onto what fills it.

  • New

    EventCalendar: Month, week and day views where events drag between slots and resize, from the mouse or the keyboard.

  • New

    CompareSlider: Two pictures in one frame with a divider to drag between them, for a redesign, a retouch or a grade.

  • New

    Button: A split button: the main action stays visible and its alternatives sit in an attached menu.

  • New

    Chat: An agent trace of reasoning steps, with an ink-sweep pass across the step still in progress.

  • Improved

    Tabs: segmented is now the default variant, with a tighter track.

  • Improved

    EmptyState: Illustrated states: a small object that belongs to the job for each empty moment.

  • Improved

    DataTable: An AI generation example that fills an insight column row by row.

  • Improved

    ActivityFeed: A workflow example with a compact phase bar for the total time.

  • Improved

    Leaner component source: the long explanatory comments are gone from every component, so the files you copy read as plain code. One-line prop docs stay for editor hints.

October 11, 2026#

  • New

    Combobox: A text field you type into to filter a list, then pick one option.

  • New

    Meter: A measurement inside a known range, like storage used or a plan quota.

  • New

    NumberField: A numeric input with minus and plus steppers.

  • New

    Terminal: A command-line surface whose title bar doubles as a drag handle.

  • New

    StatusBar: The thin strip of status items along the edge of an app shell.

  • New

    TabStrip: The browser-style row of open documents across the top of an app shell.

  • New

    DotMatrix: A 5×5 dot-matrix loader with a light running through it.

  • New

    TabletFrame: A device that floats over a game, a map or another full-bleed canvas.

  • New

    SwatchGrid: A grid of pickable samples: a color, or a glyph over a color.

  • New

    FloatingWindow: A small movable, resizable window over the app.

  • New

    Tabs: variant="segmented", the pill-on-track look for switching views.

  • Improved

    Tabs: The line and folder indicators sit on the bottom edge of the list and stay fully visible.

  • Improved

    DropdownMenu: The exit animation is interruptible: reopening mid-close picks up where it was.

  • Improved

    Map: Map pins merge the collapsible chip with the new dispatch, fleet and incident symbols.

  • Improved

    API tables and anatomy on the docs pages of every component merged this week, including AI panel, Chat, Prompt Input and Rich Text Editor.

  • Fixed

    DotMatrix: Keyframes that were left open no longer break the animation.

  • Fixed

    Button: An icon-only size="xs" button stays round like every other size.

October 10, 2026#

  • New

    ChannelChat: A many-person channel log for team chat or a radio net.

  • New

    VoiceRoster: Who is on a voice channel, lit as they talk. variant="panel" sets it inside a page column.

  • New

    Chip: A small pill you act on, the interactive sibling of Badge.

  • New

    Dot: A status light or color swatch.

  • New

    HoldButton: Press and hold to confirm a destructive or final action, with controlled holding and keyboard support.

  • New

    Receipt: A slip of thermal paper with a torn edge.

  • New

    HandheldDevice: The shell of a handheld gadget, with an LCD, keys and a printer.

  • New

    Button: size="xs", a 28px tier for dense interfaces.

  • New

    Progress: A timed mode: pass duration and the bar runs itself, like an auto-dismiss countdown.

  • New

    Typography: eyebrow and eyebrow-mono label roles.

  • Improved

    Badge: Takes any color, not only the preset variants.

  • Improved

    PushToTalk: size="sm", variant="outline" and a live prop for a hotkey handled elsewhere.

  • Improved

    NotebookPage: A red margin, a spiral binding and fields that sit on the rules. Focus shows only the caret unless focusTint is set.

  • Improved

    AI panel: Works inside a container, with jump to latest, prompt limits, quick actions and mentions.

  • Improved

    Chat: The conversation keeps following the latest message through resizes.

  • Improved

    List: A bleed option and currentStyle for the active row.

  • Improved

    Banner: A size prop.

  • Improved

    Tabs: A trailing badge sits concentric with its tab.

  • Improved

    Focus rings use one brand color everywhere and are never clipped by a scroll container.

  • Fixed

    Dialog: Focus returns to the opener when there is no trigger, including a menu item that opened it.

  • Fixed

    Tooltip: Automatic hints stand down under an explicit Tooltip, so you never get two bubbles.

  • Fixed

    TabStrip: A sortable tab no longer breaks the tab stop.

  • Fixed

    PushToTalk: A hold interrupted by unmounting or disabling still ends through onTalkEnd.

  • Fixed

    PromptInput: Growing with its text no longer moves the thread above it.

October 4, 2026#

  • New

    Koala UI for React 1.0: 125 free components, four themes and the CLI.

  • New

    Paper: A printed document on screen that scales as a whole.

  • New

    NotebookPage: A sheet of notebook paper behind what someone writes.

  • New

    Existing members: The access guide for buyers from the old site.

  • Improved

    RichTextEditor: Opt-in text alignment, starterKit and extensions props, quote and code styles, and translatable labels.

  • Improved

    Lightbox: A loop prop and translatable labels.

  • Improved

    Carousel: A peek layout that shows the neighbouring slides.

  • Improved

    Navbar: collapseAt="xl" collapses it at the wider breakpoint.

  • Improved

    Chart: Translucent stacked areas.

  • Fixed

    RichTextEditor: No longer calls onChange on mount.