1.0.0-beta.4
Fixes
- Fix content loss when a streamed block transitions from active to frozen in a batched LiveView render
- Clean up transition tracking state when explicit-id streams finish
- Avoid transition tracking for generated IDs
- Fix fallback render warning
1.0.0-beta.3
Features
Word-level streaming animations — new
animateattribute enables per-word fade-in during streaming, inspired by Vercel's Streamdown. Three built-in animations:fadeIn,blurIn,slideUp. Pure server-side — no JS hooks required.<.markdown content={@response} streaming animate="fadeIn" />Ship
priv/static/phoenix_streamdown.csswith animation keyframes. Include in your app:@import "../../deps/phoenix_streamdown/priv/static/phoenix_streamdown.css";
Improvements
mix cialias:compile --warnings-as-errors,test,credo --strict,dialyzerpriv/static/included in hex package
1.0.0-beta.2
Improvements
use PhoenixStreamdownimportsmarkdown/1for<.markdown />syntax- Slimmed README — detailed docs moved to HexDocs moduledoc
- Added benchmark data: ~7x less server CPU, ~460x smaller diffs on 56-block documents
- Made
Remendhelper functions private (onlycomplete/1is public API) - Added "Why not just MDEx streaming?" section to docs
1.0.0-beta.1
Initial beta release.
Features
PhoenixStreamdown.markdown/1— LiveView component for streaming markdown- Block-level memoization via
phx-update="ignore"on completed blocks PhoenixStreamdown.Remend— auto-closes incomplete markdown syntax (bold, italic, code fences, inline code, strikethrough, links, images, math blocks)PhoenixStreamdown.Blocks— splits markdown into independent blocks, merges code fences, math blocks, and HTML blocks that span blank lines- 100+ syntax highlighting themes via Lumis
- GFM extensions enabled by default (strikethrough, tables, autolinks, task lists)
- Deep-mergeable
mdex_optsfor full MDEx control - Auto-generated unique IDs (stable explicit IDs supported)