Standards Docs
Changelog

Changelog — 2026-05-30

Daily docs refresh.

Breaking

  • richtext().features() removed (#665). The richtext schema builder no longer accepts .features(), and the RichtextFeature type is gone. Editor feature configuration is now handled entirely in the UI layer; remove any .features([...]) calls from your schema declarations.

Features

  • Reusable AI generation module (#676). @stndrds/runtime ships a generator-registry pipeline (generateObject + Zod) with built-in generators for regex patterns and formula expressions, plus an isUtilityModel designation and best-effort token usage tracking. The new POST /ai/generate endpoint is consumed from React via the useAiGenerate(type) hook in @stndrds/react and the <AiGeneratePanel> / <AiGenerateInline> components in @stndrds/ui, which now power the AI affordances in the regex and formula attribute config popovers.
  • Attribute config redesign (#665, #675, capability-driven popovers). The attribute config modal is replaced by a stacked sub-view in the architect ConfigPanelStack. Capability-driven row primitives (ClickableRow / SwitchRow / SegmentedRow / EditorBlock / PillsRow) and a library of focused popovers (default value, range, format/file/currency/country pickers, date format, location granularity, qualified properties, slots, bilateral, relation target/filter/display template) replace the per-type config components. New exports from @stndrds/ui include AttributeConfigShell and AttributeConfigSubView. Format presets (Email, SIREN, IBAN, …) replace raw regex entry in the UI.
  • Formula / rollup unified on the computed engine (#677). The legacy in-runtime formula evaluator (packages/runtime/src/formula/*), the synchronous RollupService / RollupScheduler / recalculateParentRollups cascade, and the RollupLifecycleService wrapper are removed. All formula and rollup recomputation now flows through the async computed system introduced in Computed Fields v1 — no behavior change for developers, but writes no longer recompute twice. See the Attributes concept.

Fixes

  • Optimistic updates reach every cached query shape (#05c329231). applyOptimisticRecordUpdate now applies patches to all {data, page} cache variants used by list, search, and kanban hooks, so optimistic edits no longer go missing on screens that read from a non-canonical key.
  • Records grid deduplicates rows across pages (#9fba0f702). Optimistic inserts that briefly appear on more than one page no longer surface as duplicate rows.
  • Records grid tolerates null/empty record state (#d6315e7aa). Guards added so an empty or transient null record list no longer throws during render.
  • Date picker and sidebar polish (#674). Bundles fixes to the date-picker behavior and several sidebar interactions (session row, profile button, link/menu/section components).
  • Attribute config popovers open via their triggers (#e12c1d2de). Advanced popovers now open from their declared trigger, and the add-attribute dropzone gains a search input and tighter padding.

On this page