Prodular UI

Changelog

What changed in the components, the CLI and the MCP server. Each release lists fixes first.

October 23, 2026

Fixed

  • MCP add_items reports files as created, updated, skipped or failed from what changed on disk. It used to read the installer's output, which printed headings and file lists on different streams, so new files could show as skipped and existing ones as created.
  • check_ui reads the syntax tree instead of lines of text. It now sees elements inside render props, custom role= widgets, hand-positioned overlays, text below 11px, missing nativeButton={false}, nested interactive elements, missing accessible names and removed focus rings, and sorts findings into errors, warnings and things to review.
  • Compact density no longer lands controls on fractional pixels (h-8 was 28.8px). Every density now has whole-pixel control and row heights.
  • AccordionContent: className styles the content, text color included. The animated panel takes panelClassName.
  • The approvals queue block is one tab stop with aria-activedescendant, and the combobox chip remove button has a label.

Added

  • data-density="dense" for workstation screens, and density tokens for controls, rows, tables, panels, icons and small type (text-2xs, --text-ui).
  • Tree, with roving focus, type-ahead, selection, context menus and useTree for virtualized lists.
  • Workspace: docked, resizable, collapsible and persisted panes on Resizable, with AppShell fill and WorkspaceProvider for toolbar toggles.
  • TimeTrack: a time axis with lanes, events, a playhead, zoom, pan and range selection.
  • PanelHeader, PropertyList, StatusBar and Legend for panels, inspectors, footers and chart keys.
  • Severity, a four-level scale (critical, high, elevated, routine) with its own tokens and a shape per level.
  • Hotkeys: HotkeysProvider, useHotkey, scopes, guards, conflict detection, remapping and ShortcutsDialog, with single-key shortcuts that can be turned off (WCAG 2.1.4).
  • Point anchors: Tooltip, Popover and HoverCard take anchor, with pointAnchor, rectAnchor and pointerAnchor for map markers, chart points and the pointer.
  • tokenColor and useTokenColors resolve tokens to sRGB for canvas, WebGL, MapLibre and D3, following the theme.
  • tertiary-foreground for metadata, tuned to 4.5:1 in every theme.
  • Variants: Menubar inline, Card size xs and variant plain, Accordion section, TabsList width fit and size sm, Tooltip surface, Kbd mono, a leading slot on ComboboxInput, and xs sizes for Select, Toggle, Input, InputGroup and Status.
  • Agent rules for composition through render, nativeButton, density, overlays, hotkeys and specialized renderers, in llms.txt and the MCP server.

Changed

  • Compact density keeps the 4px spacing unit and changes control heights, rows and small type instead. Screens set to compact get slightly roomier padding and tighter controls than before.
  • The default density is unchanged, except that 13px labels now have whole-pixel line heights, which can make a few rows up to 3px taller.
  • CLI 0.3.0: add_items returns files as { created, updated, skipped: [{ path, reason }], failed: [{ path, item }] }.

Migrating

Nothing breaks on the default density. If a screen used compact density to shrink every gap, switch it to dense, or set the padding you want on that region. If you passed panel-level classes to AccordionContent's className, move them to panelClassName.