What changed
Chartist 2.0.0 shipped October 16, 2026, with a rewritten core pipeline, typed scene nodes, composable layers, multiple axes, CSS custom-property theming, SVG text labels and a functional lineChart/barChart/pieChart API. Legacy LineChart/BarChart/PieChart classes wrap the new presets, with a compatibility plugin, rather than being immediately removed. Version 2.1.0 on October 18 added server rendering and hydration via the chartist/server entry point; version 2.2.0 on October 20 added the @chartist-js/essentials and @chartist-js/tooltips packages, axis transforms, log axes and trendline layers. Some symbols moved out of the root export between 2.0 and 2.2.
Why it matters
Chartist has existed since 2014 and is embedded in many web projects. The revived architecture offers a lightweight SVG-and-CSS alternative to heavier charting stacks, now including SSR and hydration for server-rendered sites and terminal/text outputs. Teams on Chartist 1.x can explore the new composable API without assuming an instant rewrite is mandatory, but should pin minor versions, inspect export moves and test CSS and plugin compatibility. Project-site usage figures are self-reported and not independent proof of production adoption or reliability.
A scene graph replaces a single chart-class abstraction
Chartist 2.0's new pipeline separates chart data, layout and renderers into typed scene nodes and layers. Developers can compose multiple axes and overlay custom layers instead of depending entirely on fixed line, bar and pie classes. SVG remains the core rendering format, with CSS custom properties controlling appearance.
Server-side rendering arrived in 2.1
Chartist 2.1 introduced a chartist/server entry point, renderToString and renderForHydration support. A server can produce SVG markup and a browser can adopt that markup for interaction. The old renderToString root export moved to chartist/server; code importing it from chartist must change.
Version 2.2 adds optional modules but moves exports
Chartist 2.2 added @chartist-js/essentials for axis titles, logarithmic axes, trend and target lines and value labels, plus @chartist-js/tooltips. trendLine and targetLine no longer come from the chartist root; imports and stylesheets must move to the essentials package. This is a documented breaking change even within the early 2.x line.
Migration requires testing, not only npm install
The project retains 1.x class wrappers, but custom plugins, Sass settings, responsive behaviour and DOM assumptions can differ. Test chart rendering and hydration in the target framework, compare generated markup and review optional package CSS. The library's claimed package size and adoption counts should be treated as project-reported until measured independently.