Highlights
- First-class
funnel,pyramid, andgaugechart types — no moretype: 'bar'+isFunnelworkaround. - Per-chart-type initial-mount animations — pen-stroke draws, staggered bar grows, scale-up pops, diagonal heatmap waves, treemap cascades, gauge needle settles, and more.
- TimeScale rewrite — single-resolution stride generator replaces the legacy mix-and-match promotion algorithm. Roughly 2,700 lines of logic removed.
New Features
First-class funnel / pyramid / gauge types (8f038155)
chart.type now accepts 'funnel', 'pyramid', and 'gauge' directly. They normalize to the underlying renderer (bar with isFunnel for funnel/pyramid, radialBar for gauge) at config time and preserve chart.requestedType for default selection.
Funnel additions:
plotOptions.funnel.shape: 'rectangle' | 'trapezoid'— trapezoid mode draws continuous sloped sides between consecutive stages.plotOptions.funnel.lastShape: 'flat' | 'taper'— controls whether the final stage tapers to a point.- Trapezoid mode skips the 3D bar-shadow pass (stages are already contiguous).
Gauge additions:
plotOptions.radialBar.shape: 'arc' | 'needle'.- Custom value-to-angle mapping (
min/max). - Configurable bands and ticks that render on both arc and needle shapes.
Samples added under samples/source/funnel/ and samples/source/gauge/.
Accessibility — WCAG 1.4.11 contrast compliance (258def38)
All colours across the 10 built-in theme palettes now pass WCAG 1.4.11 non-text contrast (≥ 3:1) against both the default light and dark backgrounds.
Improvements
TimeScale refactor (005c4f23)
The time-scale tick generator has been rewritten around a single-resolution stride algorithm. The previous mix-and-match label promotion logic has been removed.
src/modules/TimeScale.jsreduced from ~1,231 lines to a focused stride generator.- New date helpers in
src/utils/DateTime.jsfor tick generation.
Bug Fixes
- Tooltip — shared sweep coverage (c13f2ebe) — Shared tooltips on line/area charts now capture every datapoint during a mouse sweep instead of skipping points at fast cursor speeds.
- Accessibility — restore #5183 SVG
<title>fix (27bc253c) — The root SVG<title>element is removed again, restoring the original fix that had regressed. - Pie/donut
legend.showForNullSeries = falsecrash (57be77df, #5216) — Settinglegend.showForNullSeries: falseon pie/donut charts no longer throws a runtime error. - Responsive yaxis merge (0ba210b2, fcf46856, #5212) —
yaxisarray entries from aresponsivebreakpoint now deep-merge into the matching base-config entries instead of replacing them wholesale.
Upgrade Notes
- Funnel / pyramid / gauge users: The existing
type: 'bar'+plotOptions.bar.isFunnel: trueandtype: 'radialBar'configurations continue to work. Newtype: 'funnel' | 'pyramid' | 'gauge'is opt-in and recommended for new code — it enables the new shape options and gauge sub-features. - TimeScale: Tick output is generally cleaner but may differ from 5.11.0 at certain ranges. If you snapshot-test rendered SVGs, expect tick-label snapshot churn.