npm apexcharts 8.1.0
💎 Version 8.1.0

5 hours ago

Weave plugins can now draw a part of each value with api.highlight(), the way the highlight filter does, instead of adding a series.

The rest is a fix release from a full audit of the 8.x code: about 100 fixes to updates, tooltips, data parsing, legends, exports, gauges and server rendering. A few change behaviour you may rely on:

Change To keep the old one
Updates no longer write into your object read chart.w.config
Grouped updateOptions resolves with self getChartByID() a sibling
A chart's yaxis beats window.Apex.yaxis set it in Apex only
Gauge bandsStyle.gap is in pixels raise the gap
Gauge needle moves at the arc's speed needle.animation.duration
hydrate() keeps animations, toolbar off pass them on the client

Update calls on a destroyed chart now warn and resolve instead of throwing, and render() after destroy() works. CSV export writes one row per category for OHLC and range series, and the time of day when two datetime categories share a day.

✨ New

  • Let a plugin draw a part of each value instead of adding a series.

🐛 Fixes

  • Rebuild the legend when updateSeries changes what it shows.
  • Redraw the gradient legend when its colour extent moves.
  • Keep rotated x labels on the in-place axis path.
  • Keep fixed axis bounds across unrelated updateOptions.
  • Resolve grouped updateOptions with its own chart.
  • Stop updateOptions writing into the caller series array.
  • Drop the data reducer raw bounds with its stash.
  • Stop the fast path leaking defs, clip rects and stale state.
  • Register charts by identity and undo a failed render.
  • Refuse any unloaded built-in type before an update.
  • Copy update payloads instead of writing into them.
  • Let a destroyed chart render again and ignore updates.
  • Keep points appended to a legend-hidden series.
  • Keep initOnLoad going past a chart with bad options.
  • Let destroy() cancel a pending resize redraw after an update.
  • Stop range flags and pie label margins leaking into later renders.
  • Apply a slope chart toggled on through updateOptions.
  • Unhook a destroyed brush chart from its target.
  • Keep the column crosshair behind the bars after a data update.
  • Redraw a hidden percentage-wide chart once it is shown.
  • Accept a space-separated list in tooltip.cssClass.
  • Keep the y-axis tooltip working after a chart update.
  • Let horizontal bars highlight their series on tooltip hover.
  • Stop firing dataPointMouseLeave for every bar on tooltip hide.
  • Resolve a non-shared tooltip row by the hovered series.
  • Show a sticky non-shared tooltip that uses enabledOnSeries.
  • Decode and target the right legend item in tooltipHoverFormatter.
  • Pass the hovered point's range to a custom rangeArea tooltip.
  • Print a line or column beside a range series as one value.
  • Decide tooltip.hideEmptySeries on the data, not the text.
  • Colour the non-shared tooltip marker by the hovered series.
  • Enlarge a hovered marker even when the series' last one is clipped.
  • Stop chart construction writing into the caller's options.
  • Let a chart's own y-axis settings win over window.Apex.yaxis.
  • Let a logarithmic y-axis chart start without series.
  • Stop the category axis formatter nesting on every render.
  • Show a box plot median of zero in the tooltip.
  • Keep a stacked histogram's own type defaults.
  • Drop alias and treemap presets when the chart type changes.
  • Apply the unsupported-option guards on updateOptions too.
  • Re-apply 100% stacking presets when stackType changes.
  • Re-pick histogram overlay presets when the series count changes.
  • Keep later candles and boxes in place after a null datum.
  • Redraw bar goals at their new points after updateSeries.
  • Let a reduced candlestick render through null candles.
  • Draw a null entry in series data as a gap instead of throwing.
  • Keep an x window set by updateOptions on a scatter jitter chart.
  • Size multi-line x labels on line and area category axes.
  • Separate overlapping timeline bars on multi-line row labels.
  • Stop a legend-hidden series scaling the axis under dataReducer.
  • Let hidden series reappear on histogram, streamgraph and others.
  • Re-derive boxPlot and violin statistics after a legend toggle.
  • Draw a hand-supplied raincloud summary exactly as given.
  • Render sunburst and icicle nodes written as name and value.
  • Summarise raw boxPlot and violin series in a combo of another type.
  • Keep heatmap y-axis labels on their rows after updateSeries.
  • Drop a removed tooltip.y.formatter on updateOptions.
  • Size one-column datetime heatmap cells to a visible width.
  • Draw every cell of ragged heatmap rows with a reversed y axis.
  • Give back plot width an earlier render reserved.
  • Keep the plot in place with a keyword y axis label font size.
  • Draw server-rendered pies without a docked legend.
  • Remove, style and append runtime annotations reliably.
  • Place category and per-series bar annotations correctly.
  • Colour each horizontal bar value label from its own entry.
  • Reveal pie outer labels when an update adds slices.
  • Keep selected pie slices pulled out across redraws and multi-select.
  • Draw polarArea spokes and negative values on the visible slices.
  • Keep the donut centre value centred when the total label is empty.
  • Keep pie outer labels inside the chart.
  • Pick the hovered series and point right on tooltip hover.
  • Read log and zoomed y axes right in the y-axis tooltip.
  • Stop the rangeArea tooltip throwing past a shorter series.
  • Centre the x-axis tooltip on its label after a label change.
  • Move a followCursor marker tooltip with the finger on touch.
  • Show decimal rangeBar ranges in the tooltip.
  • Fire hover events and move the legend arrow on canvas heatmaps.
  • Stop the shared tooltip throwing on a null data entry.
  • Map gauge readings below zero and reversed dials onto one dial.
  • Measure gauge bandsStyle.gap in pixels as documented.
  • Drop the % from radialBar and gauge labels on a custom domain.
  • Honour needle.animation.enabled and keep the needle on the arc clock.
  • Replay the gauge needle sweep on redraw and fade ticks in on time.
  • Fire animationEnd after a morph into radialBar and with inverseOrder.
  • Export every series of a range or OHLC chart as one CSV row.
  • Keep the time of day in datetime CSV categories.
  • Export the axis ticks where they land after a zoom or update.
  • Resolve dataURI() with an empty imgURI when the PNG cannot render.
  • Embed fonts declared in imported, @media or relative-url CSS.
  • Keep distributed and function colours right after updateOptions.
  • Keep the tooltip and foreColor on a theme update without a mode.
  • Keep columns in a line combo off the line threshold colours.
  • Split line threshold colours at the right height on a log axis.
  • Let changed fore and grid tokens replace the colours they set.
  • Fire animationEnd for single-category bars, never after destroy.
  • Skip the marker sweep when the line draw does not run.
  • Slide each axis tick from its own place on dual axes and repeats.
  • Stop the plot easing under axes an update redrew in place.
  • Land a countUp data label on the exact text the formatter drew.
  • Land a mid-flight plot ease when a streaming scroll redraws.
  • Shade short hex, 8-digit hex and named colours with the right hue.
  • Keep the decimals of values below 1e-6 on the y-axis.
  • Size the axis from the longest numeric label, not the last one.
  • Put local-time week ticks on Monday midnight in every zone.
  • Print milliseconds in fff date formats under datetimeUTC.
  • Keep warnings in the minified CommonJS and SSR builds.
  • Render image fills, image annotations and hollow images.
  • Rotate dense x-axis labels and box annotation labels.
  • Server-render a trellis chart as a placeholder, not an error.
  • Keep non-ASCII titles and labels intact through hydration.
  • Keep animations and the toolbar off after hydration.

The default bundle is 267,379 B gzipped, up 3,375 B (1.3%) from 8.0.1. The full bundle is 385,816 B gzipped, up 3,853 B (1.0%) from 8.0.1.

Upgrading is npm install apexcharts@8.1.0.

Full changelog, with the detail behind each change: v8.0.1...v8.1.0

Don't miss a new apexcharts release

NewReleases is sending notifications on new releases.