unstale

npm / @assistant-ui/react-markdown

@assistant-ui/react-markdown

What changed in @assistant-ui/react-markdown 0.12 to 0.14, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.

1 breaking1 deprecations12 new APIs and options7 performance2 behavior and defaults31 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

@assistant-ui/react-markdown 0.1453 changes

Deprecations 1

  • The existing unstable memoization API is deprecated in favor of the stable API.

    0.14.20release notes

New APIs and options 12

  • Preprocess helpers are now served from a dedicated subpath for direct imports.

    0.14.20release notes

  • Exported a markdown preprocessing helper that escapes currency values so single-dollar math does not consume them.

    0.14.4release notes

  • Exported a markdown preprocessing helper for normalizing math delimiters before remark-math parsing.

    0.14.4release notes

  • Exported a markdown preprocessing helper that rewrites LaTeX bracket delimiters into remark-math syntax.

    0.14.4release notes

  • Streamed markdown primitives can defer re-parsing growing messages to keep typing and scrolling responsive; intermediate states may be skipped, but final text renders.

    0.14.3release notes

  • The smooth prop now accepts boolean or SmoothOptions, enabling tunable streamed-text reveal behavior.

    0.14.3release notes

  • The smooth prop now accepts boolean or SmoothOptions, enabling tunable streamed-text reveal behavior.

    0.14.3release notes

  • SmoothOptions is now publicly exported for configuring streamed text reveal behavior.

    0.14.3release notes

  • useSmooth is now publicly exported, allowing developers to use the smoothing hook directly.

    0.14.3release notes

  • drainMs configures the backlog drain target for smooth text reveal, defaulting to 250.

    0.14.3release notes

  • maxCharIntervalMs configures the slowest reveal interval, defaulting to 5.

    0.14.3release notes

  • maxCharsPerFrame caps characters revealed per frame; the default is unlimited.

    0.14.3release notes

Performance 7

  • Keeps preprocessing linear for lines containing many triple-backtick or tilde runs.

    0.14.22release notes

  • Avoids quadratic scans on long tilde runs and display bodies.

    0.14.22release notes

  • Preprocessing no longer rescans to the paragraph end for every inline code span.

    0.14.21release notes

  • The package now re-exports the shared preprocess functions instead of carrying a separate copy.

    0.14.20release notes

  • Unchanged Markdown nodes are no longer serialized during streaming comparisons.

    0.14.20release notes

  • Parsing now occurs once per token with defer enabled, and inline remarkPlugins arrays no longer defeat renderer memoization.

    0.14.15release notes

  • When defer is off, streamed tokens no longer incur a second render pass.

    0.14.14release notes

Behavior and default changes 2

  • A stable API is now available for memoizing Markdown components.

    0.14.20release notes

  • The shadcn kit's markdown-text enables deferred markdown processing by default.

    0.14.3release notes

Fixes and other changes 31

  • Existing fenced code blocks refresh when components.pre, components.code, or other renderer overrides change.

    0.14.23release notes

  • Preserves multiline display math in nested blockquotes and list items, including prose after closing delimiters.

    0.14.22release notes

  • Keeps multiline display math inside same-line nested list items.

    0.14.22release notes

  • Preserves repeated list and quote prefixes while processing display math.

    0.14.22release notes

  • Keeps a second display opened on a closer's line inside its quoted list item.

    0.14.22release notes

  • Preserves multiline display math inside marker-only list items.

    0.14.22release notes

  • Keeps a math tag display opened on a bracket closer's line inside its quoted list item.

    0.14.22release notes

  • Keeps display math inside quoted list items and correctly rewrites display math containing code spans.

    0.14.21release notes

  • Keeps a $$ fence opened on a list item's marker line and the following paragraph inside that list item.

    0.14.21release notes

  • Preserves a list-item $$ fence when formula lines start with + or -, when nested in a blockquote, or when the body contains a code span.

    0.14.21release notes

  • Stops interpreting a list marker line inside an open $$ block as another math opener.

    0.14.21release notes

  • Headings, thematic breaks and HTML blocks inside nested list items are now recognized consistently.

    0.14.20release notes

  • Preprocess helpers no longer rewrite text inside indented code blocks.

    0.14.20release notes

  • A lone backtick no longer pairs with code in a later list item, heading or blockquote, preserving its dollar and LaTeX text.

    0.14.20release notes

  • Preserves currency and math delimiters inside HTML blocks during preprocessing.

    0.14.18release notes

  • Quoted code fences and $$ blocks now end at their own blockquote boundary, preventing deeper lines from closing them early or shallower lines from leaving them open.

    0.14.17release notes

  • preprocess no longer restarts smooth streaming when a rewrite changes already-revealed text.

    0.14.16release notes

  • A backtick run is treated as a fence only when it starts a line, preventing an info string from closing a fenced block.

    0.14.15release notes

  • The currency walker now reads tilde fences and ends unclosed fences with their blockquote instead of consuming the rest of the input.

    0.14.15release notes

  • Fenced display math now remains inside the list item or blockquote where it was written.

    0.14.15release notes

  • Currency and math are now preserved inside indented tilde fences.

    0.14.15release notes

  • Both Markdown renderers preserve rehype plugin markup in code blocks and pass complete code text to code headers.

    0.14.15release notes

  • Sparse suggestions lists now compact to dense lists before per-suggestion lookup, preventing sparse-array holes from comparing as equal.

    0.14.15release notes

  • Bracket-delimited math no longer swallows the rest of the message.

    0.14.14release notes

  • Code spans and fences remain inert when math delimiters are normalized.

    0.14.14release notes

  • Structural comparison preserves code-block memoization when componentsByLanguage contains inline objects.

    0.14.13release notes

  • Raw pre blocks without a code child now retain their pre element.

    0.14.13release notes

  • Preserves currency inside one- and two-backtick code spans containing longer backtick runs.

    0.14.12release notes

  • Custom highlighters now receive the raw fence language instead of "unknown".

    0.14.11release notes

  • Inline math opening with a digit is kept out of currency escaping.

    0.14.7release notes

  • The hook now preserves the part type for reasoning parts instead of always returning type text.

    0.14.3release notes

@assistant-ui/react-markdown 0.121 changes

Breaking changes 1

  • The aui-source export condition was removed from package.json exports, which may affect consumers relying on that condition.

    0.12.8release notes