2.0.0 (2026-10-16)
🚀 Features
- chartist: add the v2 core pipeline, scene graph and renderers (8dbc5c1c)
- chartist: add the v2 line chart preset with 1.x parity (ee111143)
- chartist: LineChart wraps lineChart; add the compat plugin (9e86f8c2)
- chartist: add the v2 bar chart; BarChart wraps barChart (d2b61e11)
- chartist: add the v2 pie chart; PieChart wraps pieChart (39ee3d40)
- chartist: add composed charts with multiple axes (f850f36d)
- chartist: add SVG text labels (7397a2cb)
- chartist: add container conditions to responsive options (69224c3e)
- chartist: theme charts with CSS custom properties (33c07a4c)
- chartist: scene nodes typed by role (45c4c035)
- chartist: typed events, plugins and preset options (7abe50bd)
- chartist: typed preset state and render output (64afe593)
- chartist: export domRenderer, estimateText and ResponsiveWatcher (#1480, #1488)
- chartist: chart() gets a ct-chart-* class from its layers (#1481)
- chartist: preset handles change options and take listeners (#1477, #1472, #1478)
- chartist: animation events with compat (#1489)
- chartist: stepAxis() without ticks steps through the data's labels (#1475)
- chartist: layers report the extent they need; stacked bars fit their axis (#1483)
- chartist: deprecate the 1.x API on the root entry (dca2a58d)
- chartist: preset configs, series colors and text ascent for renderers (6a2f020c)
- chartist: layer refinement and roles for target lines and bands (ca804c49)
- chartist: target line layer (565bd2af)
- chartist: band layer (fc1280c9)
- chartist: mark values in and out of a band (5eb30578)
- chartist: extra layers on presets (d3e88fdc)
- chartist: one target line per layer, band edges as values (13eb8dbf)
- chartist: labelTransform, the new name of labelInterpolationFnc (24b819c6)
- chartist: line breaks in pie labels (0552f1e0)
- chartist: offset for bar layers (8d61374e)
- chartist: label alignment per axis (e89e27ef)
- chartist: trend line layer (6f74442c)
- chartist: hand renderers the previous render, with cleanup hooks (2df48ea0)
- chartist: give an area's first point the data of its value (dcc4d20a)
- chartist: SMIL update animations for the live renderer (c1e717d5)
- chartist: diffScenes matches two scenes by what their nodes stand for (03def264)
- chartist: liveDomRenderer patches a chart's SVG in place (86f6be93)
- chartist: update animations take 300 ms with ease-out by default (e5dced16)
- chartist: the core API is stable (c91ff1ba)
- compat: add the 0.x names of plugin scripts to the compat UMD global (1f2017e0)
- compat: give converted plugins a 1.x chart of their chart type (c1748142)
- compat: pass the 0.x bounds in the created event (e3145633)
- compat: set up the global for plugin scripts in every compat build (338121c0)
- styles: target line, label and band styles (144f71bd)
- styles: label and grid defaults for a dark color scheme (77fa2854)
- terminal: the @chartist-js/terminal package and ct-cli (72e87afe)
- terminal: shade bands (a0bfa560)
- terminal: render text art as a DOM element (2dc57f0d)
- terminal: the API is stable (99ff918e)
🩹 Fixes
- chartist: make typecheck pass with TypeScript 5.9 (01609698)
- chartist: align the HTML labels of composed charts (461c8486)
- chartist: resolve VISUAL_SNAPSHOTS from the working directory (77c40e03)
- chartist: let CSS set the donut width unless donutWidth is given (#1474)
- chartist: donut labels follow labelPosition, overlap uses drawn text (#1485, #478)
- chartist: Svg#remove() returns the parent it had (#1490)
- chartist: measure text in the container's document (ece6f550)
- chartist: write px for numeric sizes in the size probe's style (#1482)
- chartist: off(name) leaves the listeners of plugins alone (#1486)
- chartist: roundWithPrecision rounds to whole numbers with 0 digits (#1470)
- chartist: fixedScaleAxis with divisor puts a tick at high (#1022)
- chartist: an axis's own low and high win over the reference value (#1476)
- chartist: cartesianAxes({ x, y }) has the list form's defaults (#1484)
- chartist: accumulate-relative stacks negative values down with an axis that fits (#1473, #1469)
- chartist: connect descending x values with monotone smoothing (#1038)
- chartist: treat { x, y: null } as a hole in step and simple (#1040)
- chartist: repair a value range that chart-level low or high empties (#1057)
- chartist: size labels by the next tick even at position 0 (#1471)
- chartist: apply a line chart's top-level referenceValue (#1505)
- chartist: make SvgPath round, split, join, parse and transform consistently (#1491)
- chartist: drop the stray xmlns attribute from HTML label spans (#1217)
- chartist: schedule the 1.x classes' first render after the target check (#1504)
- chartist: use the container's document and window (#1492)
- chartist: make a detach() during the first render stick (#929)
- chartist: scale charts into the printed box (#118)
- chartist: stop setting xmlns on Svg.foreignObject content (4c053b22)
- chartist: merge an object option over a number (#842, #903, #876)
- chartist: draw a full-circle slice around the centre (#1302)
- chartist: lay out a donut for the ring width the stylesheet draws (#1493)
- chartist: colour series p to z (#1456)
- chartist: set inline styles through the CSSOM (9cdeb816)
- chartist: check element and attribute names in renderToString() (e89640e6)
- chartist: hand renderers the previous render's labels (b72662b3)
- chartist: key the built-in keyframes with each scene's labels (b8ed7e38)
- chartist: drop update animations that didn't start (a071e9d9)
- compat: set chart.svg on the 1.x classes before the draw events (4bc0433c)
- terminal: keep the HTML columns in any font (86c74b50)
- terminal: a font of its own for the HTML text art (a88b8b5a)
- terminal: draw a replaced node by its element (d696aaeb)
- terminal: draw circles at their radius (913a32ca)