animated_streaming_markdown
Flutter markdown streaming package for Android/iOS/macOS/Linux/Windows/web, with Tree-sitter WASM and KaTeX math support.
0.3.6
94 downloads/mo
#2205 most downloaded on pub.dev
samnn152/streaming-markdown
What this package is like to depend on
Last release 3 months ago
25 May 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 15 of 15 stable releases
Nothing withdrawn
no release was ever pulled
5 months old
15 releases · first in 2026
15 releases in the last 12 months
see the full history below
Release timeline
15 releases · Mar 2026 to May 2026Releases
latest 15-
0.3.625 May 2026Release notes
Open source →Full Changelog: https://github.com/samnn152/streaming-markdown/commits/0.3.6
Release notes
Open source →- Replace overlay-derived selection tracking with render-backed absolute range selection, keeping anchors stable through streaming and viewport scrolling.
- Support partial text selection inside tables, selection continuation across table boundaries, and vertical/horizontal edge auto-scroll while dragging.
- Compact settled animated tokens into lighter static spans without shifting rendered layout, preserving the established word-by-word animation behavior.
- Add the
Gravityexample animation while restoringFadeas the default example preset. - Refresh the README/demo video, package API documentation, website documentation, and forward roadmap for performance and requested features.
- Remove stale preview and internal validation artifacts from published package contents.
- Repository maintenance: normalized historical Git author and committer
metadata to
samnn152 <[email protected]>. Earlier commits may have appeared under other local Git identities for the same maintainer, includingNgô Ngọc Sâm,Sam Ngo Ngoc, and machine-localhider152emails.
-
0.3.518 May 2026Release notes
Open source →- Hotfix pub.dev platform metadata to declare Flutter web support explicitly.
- Keep the published web support messaging aligned with the shipped zero-config WASM-backed web implementation.
-
0.3.418 May 2026Release notes
Open source →- Add an opt-in code block copy button via
showCodeBlockCopyButton. - Add a native parser release gate that can be required in CI with
REQUIRE_STREAMING_MARKDOWN_NATIVE=true. - Add an Emscripten build script, source-digest asset verification, and web loader for zero-config experimental Tree-sitter WASM parsing.
- Add CI/release gates for committed WASM parser assets.
- Allow web parse workers to use Tree-sitter WASM when the generated asset is available, with pure-Dart fallback otherwise.
- Promote Flutter web support as zero-config for package consumers by bundling generated WASM parser assets as package assets.
- Replace the example app with a real streaming Markdown chatbot for Ollama, ChatGPT/OpenAI, Claude, Gemini, and Grok/xAI providers.
- Add a static Flutter web chatbot demo for the documentation site.
- Add inline image rendering customization, intrinsic-size handling, and baseline alignment controls.
- Add KaTeX-compatible LaTeX math rendering for inline
$...$/\(...\)and display$$...$$/\[...\]expressions usingflutter_math_fork. - Improve chat example render sequencing so streamed Markdown waits for parser, block reveal, and token animation settlement before allowing the next send.
- Rework Markdown table rendering to support left-aligned viewport framing, row-by-row reveal, more readable colors, and stable shared column widths on web and native targets.
- Raise the Dart SDK lower bound to
>=3.0.0to match the math renderer dependency and current Flutter web support. - Fix selection-on rendering so active selection uses text metrics that match the rendered Markdown while idle selection keeps the same token effects as selection-off.
- Clean up iOS and macOS podspec release metadata.
- Expand publishing guidance for native verification and parser benchmarks.
- Add an opt-in code block copy button via
-
0.3.301 May 2026Release notes
Open source →- Add
AnimatedStreamingMarkdown.fromMarkdownfor complete Markdown snapshots. - Add
MarkdownSyncParserwithauto,native, anddartbackend selection. - Add
warmUpStreamingMarkdownParserfor shared sync and worker parser warm-up. - Add a parser benchmark demo comparing pure Dart, sync native, and isolate worker rendering.
- Improve pure-Dart GFM block parsing for headings, quotes, tables, lists, code blocks, footnotes, and link references.
- Add GFM parser content golden tests for
rawandcontentoutput. - Point package documentation metadata and docs links at
https://samnn.dev. - Remove the old Docs.page configuration now that Docusaurus is the documentation site.
- Add
-
0.3.230 Apr 2026Release notes
Open source →- Add a Docs.page documentation site configuration and MDX documentation pages.
- Add a Docusaurus documentation site for self-hosted
samnn.devdeployment. - Point package homepage and documentation metadata at the official pub.dev pages.
- Expand README links around installation, docs, migration, and contribution entry points.
- Add a contributor guide for local setup, repository layout, quality gates, and release flow.
- Add an animated Gemini streaming demo preview for the README.
Release notes
Open source →- Add a Docs.page documentation site configuration and MDX documentation pages.
- Add a Docusaurus documentation site for self-hosted
samnn.devdeployment. - Point package homepage and documentation metadata at the official pub.dev pages.
- Expand README links around installation, docs, migration, and contribution entry points.
- Add a contributor guide for local setup, repository layout, quality gates, and release flow.
- Add an animated Gemini streaming demo preview for the README.
-
0.3.129 Apr 2026Release notes
Open source →0.3.1
- Reorganize parser, renderer, model, native, and worker internals into clearer layers for contributors.
- Split large renderer modules into smaller focused files while keeping the public package API compatible.
- Move the rope string model under model/ and clarify parser file names.
- Fix the GitHub stars badge URL used by the README.
Published to pub.dev: https://pub.dev/packages/animated_streaming_markdown/versions/0.3.1
Release notes
Open source →- Reorganize parser, renderer, model, native, and worker internals into clearer layers for contributors.
- Split large renderer modules into smaller focused files while keeping the public package API compatible.
- Move the rope string model under
model/and clarify parser file names. - Fix the GitHub stars badge URL used by the README.
-
0.3.029 Apr 2026Release notes
Open source →0.3.0
- Add clearer primary API names:
MarkdownStreamParser,AnimatedStreamingMarkdown,MarkdownBlock, Flutter-style token animation timing, and typed parse operations. - Keep
0.2.xparser and renderer names available for migration compatibility. - Refresh README usage and migration notes around the new API names.
- Add package branding asset at
assets/branding/logo.svg. - Add renderer-level token animation pause support.
- Improve public Dartdoc coverage for parser results, render blocks, theme data, and renderer configuration.
Release notes
Open source →- Add clearer primary API names:
MarkdownStreamParser,AnimatedStreamingMarkdown,MarkdownBlock, Flutter-style token animation timing, and typed parse operations. - Keep
0.2.xparser and renderer names available for migration compatibility. - Refresh README usage and migration notes around the new API names.
- Add package branding asset at
assets/branding/logo.svg. - Add renderer-level token animation pause support.
- Improve public Dartdoc coverage for parser results, render blocks, theme data, and renderer configuration.
- Add clearer primary API names:
-
0.2.229 Apr 2026Release notes
Open source →0.2.2
- Fix select-all Markdown copy so complex blocks keep source delimiters and blocks after footnotes are included.
- Improve selection-copy coverage for lists, block quotes, code blocks, tables, HTML blocks, and footnotes.
- Add strict selection regression tests and golden coverage for supported block rendering states.
Release notes
Open source →- Fix select-all Markdown copy so complex blocks keep source delimiters and blocks after footnotes are included.
- Improve selection-copy coverage for lists, block quotes, code blocks, tables, HTML blocks, and footnotes.
- Add strict selection regression tests and golden coverage for supported block rendering states.
-
0.2.124 Apr 2026Release notes
Open source →0.2.1\n- Fix example preview stability when macOS window resizing changes layout.\n- Fix example selection toggle to avoid rebuild side effects during active token animations.\n- Ignore all .lock files and stop tracking existing lockfiles.\n
Release notes
Open source →- Fix example preview stability when macOS window resizing changes layout.
- Fix example selection toggle to avoid rebuild side effects during active token animations.
-
0.2.024 Apr 2026Release notes
Open source →0.2.0
- Add absolute-timeline token reveal scheduling so animation progress stays correct even when tokens build late/offscreen.
- Add customizable per-token animation API via tokenAnimationBuilder(BuildContext, StreamingMarkdownAnimatedToken).
- Add demo selector with 10 token animation presets.
- Rewrite README in template format and refresh parser/renderer-focused usage documentation.
Release notes
Open source →- Add absolute-timeline token reveal scheduling so animation progress stays correct even when tokens build late/offscreen.
- Add customizable per-token animation API via
tokenAnimationBuilder(BuildContext, StreamingMarkdownAnimatedToken). - Add demo selector with 10 token animation presets.
- Rewrite README in template format and refresh parser/renderer-focused usage documentation.
-
0.1.622 Apr 2026Release notes
Open source →- Add a standalone Markdown cases catalog example with streaming playback.
- Fix tappable links when text selection is enabled.
- Fix tappable inline links in rendered HTML blocks.
- Improve HTML table sizing and spacing.
- Render footnote references and definitions with numbered markers.
- Align task-list checkbox markers with item text.
- Replace Vietnamese-facing strings with English copy.
-
0.1.513 Mar 2026Release notes
Open source →- Fix dangling library-level DartDoc attachment in package entrypoint.
- Add DartDoc coverage for public markdown node models to recover pub points.
-
0.1.413 Mar 2026Release notes
Open source →- Lower package SDK and Flutter lower-bound requirements.
- Relax dependency lower bounds (
ffi,html,flutter_lints) to support older toolchains where possible. - Replace
webview_flutterHTML block rendering with pure Flutter/DOM rendering for broader platform support. - Make HTML block height wrap content instead of using a fixed viewport.
- Add web-safe conditional exports and non-FFI stubs so importing the package no longer fails on web targets.
- Clarify package metadata and README that web is not an officially supported platform.
-
0.1.312 Mar 2026Release notes
Open source →- Hotfix iOS/macOS native build by restoring
tree_sitter/parser.hin vendored tree-sitter include path. - Regenerate example iOS Pod lockfile to use
animated_streaming_markdownplugin name.
- Hotfix iOS/macOS native build by restoring
-
0.1.212 Mar 2026Release notes
Open source →- Rename package to
animated_streaming_markdown. - Update plugin platform wiring and example imports for the new package name.
- Rename package to