Releases: amcharts/amcharts5
Releases · amcharts/amcharts5
Release list
5.20.1
[5.20.1] - 2026-08-03
Added
WordCloud: newsvgPathsetting arranges words into a shape;maskByShapeclips words to the outline, andshapeTolerancesets how far they may spill past it (negative pulls them inside for padding).WordCloud: newrandomizeAnglessetting — set tofalseto cycleanglesin order for a reproducible layout.WordCloud: newallowNestingsetting — set tofalseto pack words as non-overlapping bounding boxes instead of nesting into each other's gaps (useful with opaque label backgrounds).
Changed
WordCloudnow computes its layout synchronously in a single pass instead of one word per animation frame — much faster for large clouds. The per-data-itemghostLabelis removed and labels are held in an internal container, so code readingdataItem.get("ghostLabel")or walkingseries.childrenfor labels needs updating.WordCloudword reveal can be staggered viasequencedInterpolation/sequencedDelay.
Fixed
- Removing a
Container'smask(setting it toundefined) no longer leaves its children clipped by the removed mask. Also fixes bullet clipping getting stuck after togglingmaskBulletsoff on radar/curve charts. - Timeline curve charts (
SerpentineChart/SpiralChart/CurveChart): setting an axis renderer'srotateLabelsback tofalsedid not un-rotate the labels. - A line series bullet with no paint of its own (relying on inheriting the series color) was invisible in the legend marker.
ArcDiagram: bullets on links whose target comes before their source were placed on the wrong side of the nodes, mirroring the arc instead of following it.ArcDiagram: hiding a node made all the remaining node circles shrink disproportionately.- Flow charts: setting a link's
fillStyle/strokeStyleback to"solid"after using"source","target"or"none"kept the old color instead of restoring the solid one. - A bullet with no fill of its own now takes the color of its own slice or node on pie, funnel, flow and hierarchy charts, instead of the series color.
- Acceleration Bands legend now shows the same scaled
factoras the settings modal (1instead of0.001).
5.20.0
[5.20.0] - 2026-07-22
Added
- New
StarPatternandTrianglePatternfill patterns added. More info RectanglePatternnow supports arotateShapessetting. Whentrue,rotationrotates each rectangle around its own center instead of the whole grid which makes it faster.- New themes:
Midnight,Ember,Nord,NordDark,Pastel,PastelDark,Colorblind,ColorblindDark(Okabe-Ito, color-blindness safe),Patterns,PatternsDark,Petroleum,Savanna. - New dark variants of the existing themes:
DatavizDark,KellyDark,MaterialDark,MoonriseDark,SpiritedDark,FrozenDark. - Two new parameterized themes :
Monochrome(a single-hue lightness ramp with an optionalaccent) andAdaptive(generates a full palette from one or two base colors). More info XYCharthas newstrokeWidthsandstrokeDasharrayssettings — arrays cycled across line series as they are added, the same waycolorscycles series colors.XYCursorhas a newclickTolerancesetting: how far outside the plot area (in pixels) a press can start and still begin a zoom/selection (the selection still starts on the plot edge). Default:0(current behavior).- New
globalpointerdownevent on all elements, fired on a press anywhere on the chart surface (mirrorsglobalpointermove/globalpointerup).
Changed
- The Volume Profile indicator now distributes each bar's volume across the full high/low price range it traded, instead of placing the whole bar at its closing price.
Label'soversizedBehavior: "truncate"now ignoresmaxHeightsetting (because there's no way to truncate text vertically).- Stock chart indicators now enforce sensible min/max limits on their numeric settings, so extreme values can no longer freeze the page (e.g. a Volume Profile row count of 24000) or break an indicator.
IIndicatorEditableSettinggainsmaxValueandstep. - New properties on Indicator editable settings:
scale,maxValue,step. More info - Acceleration Bands'
factornow displays as the conventional1instead of0.001. - If a bullet's
Graphicshas no paint settings set (fill,fillGradient,fillPattern,stroke,strokeGradient) it will inherit all those from parent series. - New
Seriessettings:fillGradient/strokeGradient. PathPatternnow repeats thesvgPathon as a grid instead of drawing once and letting rendering engine repeat it.- An
XYSeriesvalue field (e.g.valueYField,openValueYField) can now be changed dynamically after the series is created; re-set the series' data afterwards for the change to take effect. - A
Container'sRectangle/RoundedRectanglebackground now defaultscrisptotrue(for sharper edges/strokes) unlesscrispis set explicitly. - An
XYSeriescan now be reassigned to a differentxAxis/yAxisafter creation. - Accessibility: Focusable elements are not being sized on initial load until they are actually focused.
- Accessibility: The
<div>that holds chart's focusable elements will now have itsaria-labelset ifariaLabelis provided inRootsettings.
Fixed
- Logarithmic
ValueAxiscould show floating-point noise in its grid labels (e.g.4,999.999999999999instead of5,000). Grid values are now rounded. - Logarithmic
ValueAxiswas showing0for grid values smaller than0.00001when nonumberFormatwas set ValueAxiswithsyncWithAxisandautoZoom: falseregressed in 5.19.0: wrong scale and a possible browser hang.- Acceleration Bands: the upper and lower bands were swapped to display appropriate
upperColor/lowerColor. - Williams %R: used a
period + 1lookback and treated a missing high/low as0; it now uses exactlyperiodbars. - Momentum: skipped its first computable value; it now plots from
periodbars onward. - Relative Strength Index: returned
0(maximum "oversold") for a perfectly flat market (0/0); it now returns a neutral50. - Moving Average Cross: default fast/slow periods were inverted; the defaults are now
fastPeriod: 9/period: 21. - Volume Profile: no longer errors in
tickscount mode when the visible price range is flat. LinePatternwith a non-zeroanglecould show a seam instead of tiling seamlessly.LinePatternwith a non-zerorotationcould render broken/dashed lines after the tile-size optimization; the auto-shrink is now skipped whenrotationis set.RectanglePattern/CirclePatternwith a non-zerorotationcould render nothing on larger pattern tiles.ChartSerializernow accounts for settings on start/end labels of aHeatLegend.- Width of the
Label's underline could fluctuate in some cases. - A non-finite
startAngle/endAngleon aRadarChart(e.g.NaNorInfinity) could freeze the browser. Vennwas not resetting itscolors/patternssets when data was cleared/re-set.- Classes that would not react/redraw to dynamic changes to some of their settings:
CategoryAxis,DateAxis,ValueAxis,CategoryDateAxis,DurationAxis,XYSeries,ColumnSeries,StepLineSeries,RadarLineSeries,SmoothedRadarLineSeries,Treemap,VoronoiTreemap,Sunburst,Pack,ForceDirected,FunnelSlice,FunnelSeries,PyramidSeries,SerpentineChart,SpiralChart,Graphics,Rectangle,RoundedRectangle,HeatLegend,WordCloud,Flow,FlowLink,Chord,ChordDirected,ChordNonRibbon,ArcDiagram.
5.19.1
[5.19.1] - 2026-06-17
Fixed
ChartSerializerwill no longer duplicate the GeoJSON data for user-defined items.MapChartprojectionNamewas not resolving in standalone script/CDN bundles. The bundled projections are now registered wheneveram5mapis loaded.
5.19.0
[5.19.0] - 2026-06-15
Added
- JSON config parser now supports a
@selfreference in settings, pointing to the entity being configured. This makes it possible to reference an entity from within its own settings, e.g."selectedDataItem": "@self.dataItems.0"on aHierarchyseries. Such settings are applied after the entity (and its data) are ready. MapChartnow supports aprojectionNamesetting — a string-friendly alternative toprojection(e.g."geoOrthographic"), primarily for JSON config. The bundled projections are registered automatically when parsing JSON. In code, theam5mapprojection factories (e.g.am5map.geoOrthographic()) tag their output with the projection name, so charts that setprojectiondirectly still serialize back to a matchingprojectionName. Additional projections can be registered witham5map.registerProjection(). The bundled projections are no longer eagerly pulled in, so they can be tree-shaken when unused.
Changed
- Dynamically-set HTML content (e.g.
html/labelHTMLsettings, HTML tooltips, modal content, export menu labels) is now sanitized to strip potentially malicious code. Can be disabled via thesanitizeHTML: falsesetting onRoot. - CSV and XLSX data exports now guard against spreadsheet formula injection ("CSV injection"): string cells starting with
=,+,-,@, tab, or carriage return are prefixed with a single quote so they are imported as plain text. Can be disabled via theescapeFormulas: falseexport option.
Fixed
ValueAxiswithsyncWithAxisset could end up with grid lines not aligned with the source axis (depending on data range andmaxPrecision), and the zoom-out button could remain visible after the chart was fully zoomed out.ChartSerializerwould error out on a legend with non-Entity items in its data.- Changing padding of Container was not causing it to be redrawn.
- Adding a new series to a
PieChartat runtime was not resizing already-rendered series until the next chart resize. MapPointSerieswas not rendering bullets forMultiPointgeometries due to an assignment used in place of a comparison.CommodityChannelIndexindicator was computing typical price as(high + low + close) / 2instead of/ 3, producing inflated values.ForceDirectedwas clearing a node's fixedxposition instead of its fixedywhen theycoordinate was unset, leaving the node pinned vertically.Legendwas erroring out when sorting its items if itschildrencontained extra elements without a data item (e.g. a manually addedButton).DateAxiswithgroupData: trueleaked grouped data items (and their bullets) on every regroup — most noticeable with frequent real-time data updates — because the previous grouped data sets were dropped without being disposed.- Misc changes to alleviate potential for XSS via user-supplied content.
5.18.0
[5.18.0] - 2026-06-04
Added
fitNodes(default:false) setting added toTreechart. If set totrue, hidden nodes will excluded from the layout, giving more space for visible ones.
Changed
pdfmakedependency updated to^0.3.9. For those using only amCharts Exporting API, nothing changes. Only if you are accessing pdfmake object directly, there are some breaking API changes. More info.- Renamed
typesetting tomaTypeon moving average indicators (MovingAverage,MovingAverageDeviation,MovingAverageEnvelope,BollingerBands). (settingtypewill work as well, but it's deprecated) - Renamed
typesetting toshapeTypeonVoronoiTreemap. (settingtypewill work as well, but it's deprecated)
Fixed
PictorialStackedSerieswas not correctly guarding againstNaNscale values, which could result in invalid scale being applied to the series mask and graphics.- Saving/serializing
StockChartnow includesfontFamily,fontWeight, andfontStylesettings for labels.
5.17.3
[5.17.3] - 2026-05-29
Added
LabelsettingfontFamilynow accepts special value of"inherit". If set it will automatically use computerfontFamilyvalue on chart's DOM container.onDebounced(key, callback, delay)andoffDebounced(key, callback?)methods added to all entities. Likeon()/off()for settings, but the callback fires only once after rapid changes settle, waitingdelaymilliseconds since the last change.onPrivateDebounced(key, callback, delay)andoffDebouncedPrivate(key, callback?)— same as above for private settings.
Fixed
- The underline text for a
Labelcould render thicker in some cases. GanttSerieswas not syncing theendfield back to data context when tasks were moved or resized, causing stale values when serializing data or calculating linked group positions.Gantt.addNewTask()was setting a hardcoded staleendvalue in new task data.- If
Rootwas placed in a ShadowDOM, TAB would select non-visible focusable elements. - Accessibility: The text for readable tooltip element had in-line formatting text in them.
5.17.2
[5.17.2] - 2026-04-16
Changed
- Tweaked geodata for better display of antimeridian-crossing countries.
5.17.1
[5.17.1] - 2026-04-07
Changed
MapSankeySeriesnow automatically resolvessourceId/targetIdendpoints once the referencedpolygonSeriesfinishes loading its geoJSON. Users no longer need to wrapsankeySeries.data.setAll()in apolygonSeries.events.once("datavalidated", ...)callback.
5.17.0
[5.17.0] - 2026-04-06
Added
MapSankeySeriesadded. More info
Fixed
- Added safeguards to avoid floating point errors when animating values.
5.16.2
[5.16.2] - 2026-03-17
Added
syncZerosadded toValueAxis. It will work only ifsyncWithAxisis set and zero is within min/max of axis.- Exposing standalone functions via
index/am5:populateString(),getTagValue(),getCustomDataValue(). nodeSeparationsetting added toTree. Allows custom separation function between nodes, receiving two data items and returning a numeric value.setFlatData()method added toHierarchy. Accepts flat array data with parent ID references and converts it to nested hierarchy format. Works with newparentIdFieldsetting.clusteredsetting added toTree. When set totrue, uses cluster layout (dendrogram) where all leaf nodes are placed at the same depth.
Fixed
minBulletDistancewas not showing/hiding bullets if set dynamically after series was already initialized.- Axis syncing algorithm fixed, performance of syncing improved.
TreeandForceDirectedcharts with very deep structures were having performance issues.