All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[0.9.0] - 2026-06-15
Changed
- Replaced the deprecated and unmaintained
Viz.jslibrary with the modern, actively maintained@hpcc-js/wasm(WebAssembly-based Graphviz engine) via CDN for faster, more compliant, and robust Graphviz layouts in browsers. - Updated
ex_docto~> 0.35inmix.exs.
[0.8.0] - 2026-04-18
Added
- Integrated
svg-pan-zoomfor pan-and-zoom support on rendered graphs. - Added
:heightand:widthoptions toKino.VizJS.render/2. Accepts integers (pixels) or strings (e.g.,"100%"). - Redesigned the Smart Cell editor with a dark theme and layout settings for height/width.
- Smart Cell dimensions now update the rendered graph reactively without requiring re-evaluation.
- Added a toolbar overlay on rendered graphs with Download DOT, Download SVG, and Copy DOT buttons.
- Added
@spectoKino.VizJS.render/2. render/2now validates the engine name at the Elixir level, raisingArgumentErrorfor unrecognized engines.render/2now enforcesis_binary(dot_string)via a guard clause.- Smart Cell
to_source/1omits options that match their defaults. - CI now runs
mix compile --warnings-as-errorsandmix dialyzer. Added_buildcaching.
Fixed
- Removed
sfdpandpatchworkengines, which are not supported by Viz.js 2.x. - Error messages from Viz.js are now rendered via
textContentinstead ofinnerHTMLto prevent XSS.
[0.5.0] - 2026-04-12
Added
- Initial Hex release.
Kino.VizJScomponent for rendering GraphViz DOT strings via Viz.js.Kino.VizJS.SmartCellfor Livebook.- Theme-aware rendering (adapts to Livebook light/dark mode).