This release focuses on a major visual and behavioral overhaul of tooltips, gauges, and the toolbar, alongside a new zoom-aware LTTB downsampler for very large datasets, a new multi-axis zero-alignment option, and a tightening of the public TypeScript surface.
Features
feat(tooltip): modernized positioning, arrows, and a11y
Tooltip box and arrow now anchor off the bar's rendered DOM rect fixing column/datetime alignment in stacked and grouped charts. Adds a connector arrow (default on) and context-aware placement
- New options:
tooltip.arrow: boolean(defaulttrue) — render a connector arrow pointing at the data point.
feat(gauge): needle options and animation
Three new radial-gauge design knobs and a smoother needle update:
feat(yaxis): alignZero
When multiple y-axes mix sign ranges (for example one spans -10..15, another 0..3), their zero lines no longer share a pixel position - so bars from different axes appear to have different baselines. Setting alignZero: true on two or more axes now extends each opted-in axis so y=0 lands at the same pixel.
- Default:
false(no behavior change unless opted in). - Closes #5100.
feat(toolbar): modernized
Replaces the mixed icon set (filled circles, illustrated hand, heavy magnifier) with a coordinated stroke-only Lucide-style set, and wraps the toolbar in a soft glass pill container with hover and selected-button backgrounds.
Upgrade notes
- Tooltip arrow is on by default (
tooltip.arrow: true). To restore the pre-5.13 look, settooltip.arrow: false. The arrow is auto-suppressed forfollowCursor,fixed.enabled,fillSeriesColor, non-axis charts, and most shared multi-series cases. - TypeScript users on stricter configs may see new errors from the narrowed literal unions on
tooltip.theme,states.filter.type,legend.clusterGroupedSeriesOrientation, andxaxis.axisTicks.borderType. Fix by using one of the documented string values. Reading offopts.wmay also surface, since[key: string]: anywas removed from formatter option types.