Bumps streamdown from 2.2.0 to 2.3.0.
Release notes
Sourced from streamdown's releases.
streamdown@2.3.0
Minor Changes
3657e42: Add
useIsCodeFenceIncompletehook for detecting incomplete code fences during streamingCustom components can now detect when the code fence in their block is still being streamed. This is useful for deferring expensive renders (syntax highlighting, Mermaid diagrams) until the code block is complete.
import { useIsCodeFenceIncomplete } from "streamdown"; const MyCodeBlock = ({ children }) => { const isIncomplete = useIsCodeFenceIncomplete(); if (isIncomplete) { return <div>Loading code...</div>; }The hook returns
truewhen:
- Streaming is active (
isAnimating={true})- The component is in the last block being streamed
- That block has an unclosed code fence
The default code block component now uses this hook to set a
data-incompleteattribute when incomplete, enabling CSS-based loading states.32fb079: fix: hide download button on broken images and display a custom "Image not available" message instead
d73d7bb: Make the action buttons in code block header sticky. Ensures copy buttons remain accessible for long code blocks. Improves usability when viewing large snippets.
15645da: Move code block lazy loading to the highlighting layer so block shells render immediately with plain text content before syntax colors resolve. This improves visual stability and removes the spinner fallback for standard code blocks.
Patch Changes
- 0987479: fix: codeblock highlight flicker while streaming
- 5d438ca: Add support for copying table data as Markdown in TableCopyDropdown. Introduces a Markdown copy option alongside existing formats. Allows users to quickly copy tables in valid Markdown format.
- ce9b4c2: Fix syntax highlighting
- ba03332: Redesign Mermaid diagram
- 6e91867: fix nested same-tag HTML block parsing in parseMarkdownIntoBlocks
... (truncated)
Changelog
Sourced from streamdown's changelog.
2.3.0
Minor Changes
3657e42: Add
useIsCodeFenceIncompletehook for detecting incomplete code fences during streamingCustom components can now detect when the code fence in their block is still being streamed. This is useful for deferring expensive renders (syntax highlighting, Mermaid diagrams) until the code block is complete.
import { useIsCodeFenceIncomplete } from "streamdown"; const MyCodeBlock = ({ children }) => { const isIncomplete = useIsCodeFenceIncomplete(); if (isIncomplete) { return <div>Loading code...</div>; }The hook returns
truewhen:
- Streaming is active (
isAnimating={true})- The component is in the last block being streamed
- That block has an unclosed code fence
The default code block component now uses this hook to set a
data-incompleteattribute when incomplete, enabling CSS-based loading states.32fb079: fix: hide download button on broken images and display a custom "Image not available" message instead
d73d7bb: Make the action buttons in code block header sticky. Ensures copy buttons remain accessible for long code blocks. Improves usability when viewing large snippets.
15645da: Move code block lazy loading to the highlighting layer so block shells render immediately with plain text content before syntax colors resolve. This improves visual stability and removes the spinner fallback for standard code blocks.
Patch Changes
- 0987479: fix: codeblock highlight flicker while streaming
- 5d438ca: Add support for copying table data as Markdown in TableCopyDropdown. Introduces a Markdown copy option alongside existing formats. Allows users to quickly copy tables in valid Markdown format.
- ce9b4c2: Fix syntax highlighting
- ba03332: Redesign Mermaid diagram
- 6e91867: fix nested same-tag HTML block parsing in parseMarkdownIntoBlocks
- 7f9127b: Add
normalizeHtmlIndentationprop to prevent indented HTML tags from being treated as code blocks
... (truncated)
Commits
b46781cVersion Packages (#397)9562177Update index.tsxd892b14Misc fixes1102f18Fix all Biome lint and formatting errors6618620Update index.tsx184a497Improve Mermaid error designb123322Hide carets when rendering code blocks and tables0987479Resolves #4029ef44f7streamdown: 100% line coverage (778 tests)01de031streamdown: boost test coverage from 88% to 97.87% (759 tests)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
Security
View full report