amCharts 5: Stock Chart Lançamentos

Veja o que há de novo em cada versão, com detalhes sobre recursos, melhorias e problemas solucionados.

jan.
fev.
mar.
abr.
mai.
jun.
jul.
ago.
set.
out.
nov.
dez.
amCharts 5.21.321 de out. de 2026
Recursos
  • ColorSet: repeatLightness makes each repeat of a reused list lighter (or darker) instead of the same colors.
  • JSON: A color taken from the theme's palette with getIndex() is saved as "<span>@</span>colors.getIndex(n)", so it follows the theme the config is loaded with.
  • Themes that repeat their colors (Adaptive, Monochrome, Kelly, Material, Nord, Pastel and others, but not Colorblind or Patterns): Once every color has been used, the next round is 10% lighter instead of the same colors again. To repeat them as before, set repeatLightness: 0 on the chart's colors, or repeatLightness: false in Adaptive and Monochrome.
Correções
  • JSON: Changing a setting such as step on a chart's colors saved the theme's whole palette with it, so the colors no longer followed the theme. A passOptions set there was lost.
  • [Maps] MapChart: d3 projections with a shape of their own (HEALPix, Armadillo, Berghaus, interrupted and polyhedral) are now displayed properly.
  • [Maps] MapChart: Switching projections at zoom level 1 shows the whole map again.
  • JSON: Looping animations started in code on each data item, e.g. points each moving at their own speed, were all saved as the first one's.
amCharts 5.21.214 de out. de 2026
Recursos
  • New interface color warning: A yellow between negative and positive.
  • am5.Color.interpolateColors() blends through any number of colors, e.g. red, yellow and green.
  • Heat rules take stops, for a scale through more than two values (e.g. red, yellow and green), and HeatLegend takes colors.
  • am5themes_Adaptive and am5themes_Monochrome: New settings interleave (neighboring series differ more), mapShade (lighter map land) and keepContrast (colors stay readable on the background).
Correções
  • A color step could use only two or three of a theme's colors, e.g. in word clouds and treemaps with Nord, Pastel or Adaptive.
  • RadialGradient with x and y in pixels was off-center on radar fills and similar shapes since 5.21.1.
amCharts 5.21.113 de out. de 2026
Recursos
  • Raised map lines (altitude) draw 3-4 times faster.
Correções
  • Charts with root.timezone were up to 16 times slower than without it.
  • With root.timezone, grid lines, labels, data groups and dates could be an hour off around the viewer's own daylight saving change.
  • With root.timezone, adding days, weeks, months or years across a daylight saving change could end up an hour off.
  • DateAxis: After a daylight saving change, a grid of several hours ran an hour off (07:00, 13:00...). It now stays on the clock; where the clocks skip a grid time, the line goes at the jump (e.g. 04:00).
  • GaplessDateAxis: With root.timezone or root.utc, crowded hour labels were thinned by the viewer's day instead of the chart's.
  • PeriodSelector and DateRangeSelector used the viewer's timezone instead of root.timezone or root.utc.
  • Date formats "Z", "ZZ", "x", "i" and "I" could be wrong with root.timezone, and YYYY, ww, W and DDD ignored root.utc.
  • String dates in dateFields without a dateFormat were all read as 1 January 1970.
  • ResponsiveTheme: On small charts, XY axis ticks were moved inside the plot by a rule meant for radar charts.
  • Charts in a container scaled with CSS (transform or zoom) were scaled twice, and clicks hit the wrong elements.
  • RadialGradient was off-center on map polygons, line and area fills, and some bullets. With target set, it now centers on the target.
  • [Maps] MapChart: A zoomLevel set before the map loaded was ignored or left the map blank.
  • MapSankeySeries: Band colors did not follow linkColorMode or node fill changes, and nodes without coordinates were not drawn.
  • Picture: Changing a shadow setting after the image loaded removed the image.
  • CurveChart: A path scaled down to fit got far too many labels and grid lines.
amCharts 5.21.0Versão principal8 de out. de 2026
Recursos
  • Charts can be drawn as SVG instead of canvas: Set renderer: am5.SVGRenderer in Root.new() settings, or am5.Root.defaultRenderer = am5.SVGRenderer for every chart on the page. Canvas stays the default. Blend modes DST_OVER, SRC_ATOP and XOR are canvas-only.
  • am5.renderToSVG(root): A chart as an SVG document, whichever renderer draws it. Pass an element instead (e.g. series.pixels) to export just that element. Fully transparent elements are left out. Screen readers read it as one image, titled by the chart's ariaLabel or the title option.
  • [Maps] am5map.MapRasterSeries: A whole-world image, such as a satellite photo, reprojected as the map rotates and zooms (WebGL where available). With nightSrc and sunDate or sunPosition it shows day and night; am5map.getSunPosition(date) finds where the sun is overhead.
  • [Maps] am5map.NightSeries: Shades the part of a map where it is night, with twilight in steps, and shows the sun. Set sunDate (e.g. "now") or sunPosition; sunAltitude keeps the sun in view past a globe's edge.
  • [Maps] am5map.PixelMapSeries: Map polygons drawn as a grid of pixels (squares, circles, diamonds or hexagons) that rotate and zoom with the map, with heat rules, states and tooltips as in MapPolygonSeries. uniform: true gives an even grid, columnHeight raises pixels into 3D columns. Pixels take their polygon's stroke when strokeWidth is set, and in SVG export each polygon's pixels are a group with its id and name.
  • [Maps] Map lines and points can float above the ground: Altitude on a MapLine raises each leg, from one point to the next, into an arc, and altitudeField on a MapPointSeries raises points by a data value, in meters.
  • [Maps] MapPointSeries: New surfaceBullets setting lays bullets onto the map's surface, so they turn and stretch with the projection.
  • [Maps] MapChart: New autoHome setting sends the map to its home position once it loads, so a map loaded from JSON can start at home without calling goHome().
  • [Maps] MapPolygonSeries: New clickZoom setting zooms the map to a clicked polygon (a globe also turns to it); clicking it again or the background goes back home.
  • <am5-chart>: A chart as an HTML element, built from a JSON config (config or src), with themes and renderer="svg". Load element.js after plugins/json.js, or import "<span>@</span>amcharts/amcharts5/element".
  • Charts follow Windows High Contrast (forced colors): Labels, grid, axes and buttons take the system colors, so they stay visible; series colors are kept. Root setting forcedColors: false turns it off.
  • New autoAppear setting (with appearDuration and appearDelay): An element plays its appear() animation when first drawn, so a JSON config can have the opening animation too. A series waits for its first data.
  • The examples were rewritten: Each is one index.html, 61 also come as a JSON config, and examples/index.html is a gallery showing each chart above its source, on canvas or as SVG. In the npm package they are plain sources (examples/<name>/index.ts). Comments in the code explain most settings.
  • The npm package and the download now include AGENTS.md and a docs/ folder with a reference for every chart type, for AI coding agents.
  • New locale prompts, translated in all locales: "OK", "Cancel", "Delete", "Settings", "Expand", "Move Up", "Move Down".
  • Scrollbar: New outsideAxes setting puts a chart's scrollbar beyond its axes (true) or between them and the plot (false), on any side.
  • ChartSerializer/JsonParser: a colour taken from root.interfaceColors is saved as a reference ("<span>@</span>root.interfaceColors.get('background')"), so a chart parsed with another theme uses that theme's colour.
  • Responsive theme: Minor axis labels are hidden only on charts 600 px or smaller (was 1000 px), so a chart that turns them on shows them.
  • Sunburst: singleBranchOnly is now ignored (always true).
  • Accessibility: ESC on a focused chart element hides its tooltip and ends a keyboard drag, instead of moving focus to the page.
  • [Stock Chart] StockToolbar: focusable is now true by default, so the toolbar can be used with the keyboard.
  • Accessibility: In a focusableGroup, arrow keys move between members even when they are draggable (e.g. Flow and hierarchy nodes); SHIFT + arrow keys drag them.
  • Modal (also used by StockChart settings): It is a dialog to screen readers, named by ariaLabel (new setting) or its first heading, focus moves into it when it opens, TAB stays inside it, and closing it gives focus back.
  • ExportingMenu now includes "SVG" image option by default.
Correções
  • A hidden element (visible: false, forceHidden or hide()) still took up its space in a container sized to its content. E.g. a hidden XYChart scrollbar left an empty band above the plot.
  • Partition, Sunburst: Changing nodePadding after the chart was drawn had no effect until a resize or data change.
  • root.horizontalLayout and root.gridLayout were typed as VerticalLayout.
  • GrainPattern: Changing width or height removed the grain.
  • ZoomTools: After target was changed, the buttons stopped working.
  • calculateAggregates: valueChange, valueChangePercent and the like were NaN on non-XY series (pie, map heat maps) and wrong on bubble series.
  • Bullets with stacked: "up" (or "auto" in the lower half) on a vertical series overlapped instead of stacking.
  • Dragging an element whose parent is scaled moved it by the wrong amount.
  • updateData([]) kept the first data item.
  • WordCloud: A word failing more than one of minValue, minWordLength and excludeWords also removed a neighboring word.
  • [Maps] MapChart.zoomToGeoBounds() rotated with animationDuration instead of the duration given, and changed the bounds object passed in.
  • [Maps] MapPointSeries.zoomToDataItems(items, true) (and ClusteredPointSeries.zoomToCluster) turned a globe to a point above the items.
  • [Maps] MapPolygonSeries.getPolygonByGeoPoint() could miss on charts with padding.
  • [Maps] MapChart.geoPoint() was off on charts with padding or not at the top left of the root.
  • [Stock Chart] Stock drawings: Erasing the first drawing reported index: undefined in drawingremoved and left it in an internal list.
  • [Stock Chart] Stock indicators drawn in their own panel: The legend and cursor properties were always undefined.
  • SliceGrouper: Setting clickBehavior after creating the plugin made a click on the group slice throw.
  • Exporting: Printing with printMethod: "css" and a title left the page with the print title.
  • Exporting: The HTML headerClass option was ignored; header cells got cellClass.
  • Exporting: CSV and HTML with pivot: true listed the fields in reverse dataFieldsOrder.
  • Exporting: A cropped extraImages entry above or below the chart made the image as wide as the chart was tall.
  • [Gantt] Gantt: The category axis' colorField had no effect (color was always used), and task tooltips took the name from name instead of nameField.
  • PieChart: With a negative innerRadius and several series, the rings were sized wrong.
  • Sunburst: With only one of startAngle and endAngle set, the chart was sized for different angles than it was drawn with.
  • Chord: Setting sort back to "none" kept the previous order.
  • AxisRendererRadial: A negative radius broke the axis. It is measured in from the chart's radius, as on AxisRendererCircular.
  • SmoothedRadarLineSeries: Changing tension after the series was created had no effect.
  • RadarColumnSeries: With an innerRadius on an axis renderer, the column tooltip pointed at the wrong place.
  • ChartSerializer: A DurationAxis was saved with maxPrecision: 0, and a DateAxis with groupInterval with its groupIntervals, though the axes set those themselves.
  • am5.net.load() with responseType: "blob": if reading the blob failed, the promise never settled. It is rejected now.
  • PatternSet: Past the end of its list it returned nothing, so elements after the 17th got no pattern. It starts over from the first pattern.
  • DurationFormatter: The codes H, D, Y, K, k and n gave NaN (e.g. "HH:mm:ss"). They work as h, d, y and S. This also fixes the Italian locale's millisecond durations.
  • CSVParser: skipEmpty: false was ignored, so empty lines were always skipped.
  • Exporting: The maxHeight image option never made the image smaller, and on high-DPI screens minWidth and minHeight were often ignored.
  • PeriodSelector: A period without a name got a label like MONTHundefined (no count) or YTDundefined. It shows MONTH1 and YTD now.
  • ValueAxis: A logarithmic axis with values <= 0 drew nothing without saying why. It now logs a console warning pointing to treatZeroAs.
  • Color.alternative(color) without the light and dark colors always returned white. The dark default is black now.
  • Date format YYYY (the ISO year a week belongs to) was a year behind for every date in time zones west of UTC.
  • Label: With maxChars, a text cut at a word boundary always ended in ..., ignoring the ellipsis setting.
  • DataProcessor: emptyAs also replaced 0 and false values. It now replaces only null, undefined and "".
  • Heat rules: minValue: 0 and maxValue: 0 were ignored, and the data's lowest or highest value was used instead.
  • Label: fillOpacity: 0 was ignored, so the text stayed visible (or kept its previous opacity). It now hides the text.
  • DurationFormatter: Durations between a month and a year were shown in days only (e.g. 45d 00:00:00). They use the month formats again (1m 15d 00:00:00).
  • [Maps] MapPointSeries: Of the bullets placed on lines (lineId), only one moved when the lines changed, e.g. got a new altitude. All of them follow their lines now.
  • strokeWidth: 0 drew a 1px line and shadowOpacity: 0 a full shadow. Both now draw nothing.
  • Filters (brightness, saturate, blur and the rest): Changing one dropped the others, and setting one back to neutral left it on.
  • Label with maxWidth or maxHeight: Padding was being calculated incorrectly.
  • Labels kept old measurements when a web font loaded after the chart was drawn.
  • A fontSize given as a number in a string (e.g. "8") was ignored. It now counts as pixels, like 8.
  • RadialLabel with textType: "circular", orientation: "outward" and textAlign: "left" was drawn mirrored on every other redraw.
  • Patterns were blurry on high-resolution screens.
  • PathPattern (since 5.20.0): Without maxWidth/maxHeight the path was squeezed into 10x10 pixels, and a width/height set on the pattern was replaced.
  • Root.new() on an element that is missing or already has a root left a broken root behind that logged errors.
  • Removing or changing a chart's animations setting could leave it drawn with the animated value.
  • PieChart and RadarChart (and gauges): innerRadius: am5.percent(0) broke the chart, and a radar's radius ignored the room left by a legend inside the chart.
  • Sunburst: Changing startAngle and endAngle on a drawn chart left the labels and bullets behind.
  • ForceDirected: Changing manyBodyStrength, centerStrength, or a link's distance or strength did nothing once the layout had settled.
  • [Maps] MapChart: goHome() went to the wrong place when called before the map was ready or on a rotated map (e.g. a globe).
  • [Maps] MapChart: A zoomed-in map could not be dragged to its edges (with maxPanOut: 0 not at all), after a resize it could be dragged past them, and the first drag could make it jump back towards the center.
  • [Maps] MapSankeySeries: Bullets not moving along their flow stayed behind when the map moved, and bullets were drawn under the flows.
  • [Maps] MapLineSeries: Changing lineType on the series or a data item did not redraw lines already drawn.
  • Axis bullets: dy on an X axis bullet's sprite, or dx on a Y axis one, had no effect.
  • [Stock Chart] Stock indicators VolumeProfile, Volume, MACD, AwesomeOscillator, MovingAverageDeviation and HeikinAshi: Changing their column colours did not recolor the columns already drawn.
  • ChartSerializer: These were not saved: a series hidden with hide() or a legend click, a looping animation started on a data item, elements added to a plot container, Date values, settings on a series' bulletsContainer and on a pie or funnel series' labelsContainer/ticksContainer, and the axisFills, rectangles (Treemap, Partition) and polygons (VoronoiTreemap) templates.
  • ChartSerializer: A formatter set on an element (e.g. a heat legend's numberFormatter) and a color in a legend's own data were saved without their type, and an axis header's own layout was saved as if configured.
  • ChartSerializer: Fixed serializing saving a Sankey, treemap or word cloud series placed straight in the root container.
  • Legend with clickTarget: "marker" (e.g. StockLegend): ENTER on a focused item did not toggle it.
  • [Gantt] Gantt: The expand/collapse button of a task without subtasks is no longer a keyboard stop.
  • ExportingMenu: Menu items are exposed as menu items to screen readers, the icon tells whether the menu is open, closing the menu returns focus to the icon, and item labels no longer have a double space.
  • focusableGroup: A group is always one TAB stop (the member focused last).
  • Accessibility: Pack, ForceDirected and Tree nodes could not be focused, a Sunburst node's focus outline was misplaced, and an element shown again without animation could stay hidden from screen readers.
  • Accessibility: Focusable pie slices and map polygons could not be focused.
  • [Maps] Accessibility: Map objects left out with include or exclude got focus elements.
  • EditableLabel (used by Gantt and NumericStepper): ENTER did not work anywhere else on the page.
  • [Maps] MapChart: The zoom level is announced to screen readers once zooming settles.
  • Accessibility: Toggles tell screen readers their state. A toggle button (role: "button" with toggleKey) has aria-pressed, a focusable figure that toggles (e.g. a pie slice) is exposed as a toggle button, and new ariaExpanded setting gives aria-expanded, set on Gantt tasks with subtasks and hierarchy nodes with children.
  • Accessibility: Changing ariaCurrent or ariaSelected did not update the element, and ariaHidden: true was ignored on a visible focusable element.
  • Accessibility: SPACE clicks a focused element with a button-like role (button, checkbox, switch, radio, tab, option, menu items), and clickAnnounceText is no longer announced when SPACE does nothing.
  • Accessibility: A tooltip shown for a focused element (hoverOnFocus) is announced to screen readers, unless it repeats the element's name.
  • Accessibility: Icon buttons had no name for screen readers: zoom controls, Gantt toolbar and task buttons, StockChart panel and legend buttons, ColorPicker buttons, overbought/oversold grips.
  • Accessibility: Scrollbar grips on a CategoryAxis (also in Gantt) were named "From " / "To " without the category.
  • [Maps] Accessibility: Focusable map objects panned or zoomed out of view were still TAB stops, with the focus outline outside the chart. They are TAB stops again once at least partly in view, and screen readers can read them all the time.
  • Accessibility: A bullet's sprite kept no role of its own: Bullet and AxisBullet set it to "figure" even when it had one (e.g. a button or a slider).
  • GaplessDateAxis: With grouped data and root.timezone set, the chart stayed blank with an "Invalid time value" error.
amCharts 5.20.823 de set. de 2026
Recursos
  • New animations setting on every element: animations described as data, so they can be set in a JSON config and are saved with it. Each entry animates a setting (key, from, to, duration, delay, loops - 0 for ever - yoyo, and easing by name), or with target: "dataItem" a value of the element's data item, e.g. a map point's positionOnLine to fly it along its line. A saved chart keeps the configured values, not ones caught mid-animation.
  • ChartSerializer: an animation started in code that loops forever (loops: Infinity) is saved as an animations entry. Set runningAnimations: false to turn serializing looped animations off.
  • ease: easing functions carry their name (easingInfo()), including ones made with out(), inOut() and yoyo(); byName() returns one by name.
  • MapPointSeries: an auto-rotating point faces the way it is traveling while its positionOnLine animates, so it turns round on the way back.
amCharts 5.20.722 de set. de 2026
Recursos
  • Series: data items can link somewhere. Set urlField to a data field holding a URL, and clicking the item's bullet, column, slice, map polygon or map line opens it; linkTarget sets where ("_self" by default, like a plain link). Script urls (javascript:, data:, vbscript:) are not opened. A url added to an item later (e.g. data.setIndex()) links too.
Correções
  • ChartSerializer: map data rows no longer carry the geodata's own feature properties (name, and on some maps CNTRY, TYPE) - the map copies them onto each row when it loads, so they were written out as if configured. A row left with nothing but its id is dropped.
  • Container: a background with its own templateField never read the data item, so a label's background could not be set per data item (e.g. per bullet). It now reads its container's data item.
  • CSVParser: parsing an empty string looped until it ran out of memory and threw "Invalid array length", instead of returning no rows. An empty response from a server was enough to hit it.
  • JsonParser: a config where one reference pointed at another further down the list - a legend in an axis header naming a series, as on the candlestick chart demo - failed to parse with "Could not find ref". Such a value is now resolved after the rest of the config.
  • Axis: something put into an axisHeader after the chart was built - a legend, say - did not make the axis leave room for it, so it covered the axis instead of pushing it down. The header's size is no longer held at what it measured while empty, and the axis is brought round when its header's contents change.
amCharts 5.20.616 de set. de 2026
Recursos
  • MapPointSeries: positionOnLine, autoRotate and autoRotateAngle can now be set in data, so points placed on lines no longer need to be added as data items. lineId in data now works without setting lineIdField.
Correções
  • CategoryAxis: when a series' data was not in the same order as the axis categories, some of its items were not drawn at all. Most visible on Gantt-like column charts, where several items share a category and the data is ordered by date.
  • ValueAxis: a logarithmic axis with a wide range labelled its grid with the axis minimum multiplied by ten each step, e.g. 3.01, 30.1, 301. It now uses round powers of ten.
  • ChartSerializer: themeTags given to an element were not serialized, so anything styled through them, like a switch button, lost that styling when the config was parsed again. Tags the library adds itself are still left out.
  • Charts with a looping animation, like a pulsing bullet, used ever more memory in Chrome 153 until the tab crashed.
  • Underlined text on a layer that was not being redrawn got darker over time.
amCharts 5.20.53 de set. de 2026
Correções
  • Column series: switching colorByDataItem back off left the columns with the colors it gave them, instead of returning them to the series color.
  • Flow charts (Sankey/Chord/ArcDiagram): bullets were misplaced when the series was added to a chart rather than used on its own, e.g. in a SerialChartContainer.
  • ValueAxis: with syncZeros, an axis whose data crossed zero was forced to start (or end) at zero when the axis it synced with did not go past zero itself, putting that data outside the axis where it was not drawn at all. Such an axis now keeps its own range - the zero lines cannot line up in that case, but nothing disappears. Give the synced-with axis room past zero (extraMin/extraMax) to line them up.
amCharts 5.20.42 de set. de 2026
Recursos
  • Entity: new once() and onceDebounced() methods - like on()/onDebounced(), but the callback fires only the first time a setting changes, then removes itself.
  • Column series: new colorByDataItem setting gives each column its own color from the series' new colors (ColorSet), instead of the whole series sharing one.
Correções
  • SerialChartContainer: a series' bullets were created but never drawn.
  • ChartSerializer: serializing a series whose bullet function returns nothing for some data items threw an error.
  • JsonParser: an adapter whose callback did not survive the trip through JSON broke the chart it was parsed into. Such an adapter is now skipped.
  • JsonParser: a flow chart's nodes are now parsed before its data, so links no longer point at nodes that do not exist yet.
amCharts 5.20.325 de ago. de 2026
Recursos
  • ChartSerializer/JsonParser: a Root's interfaceColors are now serialized and applied on parse.
  • ChartSerializer/JsonParser: added support for a Gantt chart.
  • MapLineSeries: new pointIds data field and pointSeries setting. A line can now name the points it connects ({ pointIds: ["JFK", "LAX"] }) instead of holding their data items. pointsToConnect wins if both are set.
  • JsonParser: new updateTargets setting. "soft" updates an existing object of the same type instead of replacing it with a new one. Default is "strict", the old behavior.
  • ChartSerializer: only user-set settings are being serialized, leaving defaults out of the resulting JSON.
  • ChartSerializer: more chart-level elements are serialized: an XYChart's plotContainer, anything added to a chart's children, a flow's or a map sankey's nodes, a word cloud's shape, a ClockHand's hand and pin, and a Gantt's labels, grid, ticks and task parts.
  • ChartSerializer: objects pointing at one another will now use references instead of copies.
  • ChartSerializer/JsonParser: big values are written short and rebuilt on parse: a map's geoJSON and a Root's locale by the name of the pack they came from.
Correções
  • ChartSerializer: fixed palette serialization.
  • ChartSerializer: type is stripped from objects an element builds by itself so config does not overwrite it.
  • ChartSerializer: chart-set values are no longer serialized.
  • ChartSerializer: a legend or breadcrumb bar added to a container's children was written out twice.
  • ChartSerializer: data a chart builds for itself (e.g. flow's nodes, a word cloud's words) is no longer serialized.
  • ChartSerializer: templates with states no longer error on serialization.
  • ChartSerializer/JsonParser: data no longer breaks a config (a field called type, a string starting with # or @, and a null).
  • ChartSerializer: a legend fed with data items that are not rows of the series' data (e.g. hierarchy's second level) pointed at the wrong ones and came back empty.
  • Gantt: collapsing a top-level group was not being written to the data.
  • MapSankeySeries: some settings did nothing when changed on a chart that was already drawn.
  • XYChart: series colors are assigned when themes are applied, not only on the first frame.
  • HeatLegend: startOpacity and endOpacity are no longer declared required.
  • A scrollable Container - a Legend with a verticalScrollbar, say - scrolled to the bottom and then made taller kept its contents pushed up. scrollToChild() could leave a similar gap on the last child.
  • Background themeTags were not being applied properly in some cases.
  • Resetting focusable to false on a Sprite was not removing the focusableElement private setting.
  • The tooltips with tooltipPosition: "pointer" would not hide when tap would occur outside target element the toopltip was displayed.
amCharts 5.20.213 de ago. de 2026
Recursos
  • New SerialChartContainer chart type - a directly-usable SerialChart whose seriesContainer is a ZoomableContainer, for zoomable/pannable series like ForceDirected.
  • ArcDiagram: Bullets added to nodes are now positioned on the node circle, using locationX/locationY as fractions of it. Previously they were created but never placed.
  • Scrollbar: New opposite setting puts a chart's scrollbarX below the plot and its scrollbarY to the left, instead of above and to the right.
  • JSON config now supports a top-level root section to apply settings and properties to the Root object.
  • Root now supports fontFamily, fontSize, and fontWeight settings, used as defaults for all text elements unless overridden on an element.
  • ChartSerializer: New includeRoot setting (default false) adds a root section with the Root object's settings and properties to the serialized output.
  • [Maps] MapChart: New boxZoom setting zooms the map to an area drawn with a pointer. The drawn area is represented by the new boxZoomSelection element.
  • [Maps] MapChart now zooms in on a double click, and out on a shift + double click. Set the new doubleClickZoom setting to false to disable it.
Correções
  • Serializing then parsing a chart no longer breaks on an element's background/icon: type-less sub-object settings are now merged into the existing element instead of replacing it.
  • XYCursor: With clickTolerance set, a plain click outside the plot area dispatched "selectended" with a selection rectangle that was never drawn - the press was clamped onto the plot edge but the release point was not, so the click measured as a drag. It now dispatches "selectcancelled", same as a click within the plot area.
  • WordCloud ignored its own padding when positioning words: The cloud shrank to fit but stayed in the top left corner, with all the padding pooled at the bottom right.
  • Flow charts: Bullets added to nodes were drawn underneath the node rectangles. They are now children of the node, drawn above its shape but below its label, with their position relative to the node.
  • FunnelSeries/PyramidSeries: Bullet locationX/locationY positioned against the slice's bounding box, so a bullet could land outside a tapered slice. They now follow the slice's actual sloping edges.
  • Percent charts (pie, funnel, pyramid): With more than one series on a chart, bullets of the second and later series were drawn over the first one, ignoring how the chart lays the series out.
  • Timeline charts (SerpentineChart/SpiralChart/CurveChart): An axis added after the chart was built was not laid out along the curve until the chart was resized.
amCharts 5.20.13 de ago. de 2026
Recursos
  • WordCloud: Added new svgPath setting which arranges words into a shape; maskByShape clips words to the outline, and shapeTolerance sets how far they may spill past it (negative pulls them inside for padding).
  • WordCloud: Added new randomizeAngles setting - set to false to cycle angles in order for a reproducible layout.
  • WordCloud: Added new allowNesting setting - set to false to pack words as non-overlapping bounding boxes instead of nesting into each other's gaps (useful with opaque label backgrounds).
  • WordCloud now computes its layout synchronously in a single pass instead of one word per animation frame - much faster for large clouds. The per-data-item ghostLabel is removed and labels are held in an internal container, so code reading dataItem.get("ghostLabel") or walking series.children for labels needs updating.
  • WordCloud word reveal can be staggered via sequencedInterpolation/sequencedDelay.
Correções
  • Removing a Container's mask (setting it to undefined) no longer leaves its children clipped by the removed mask. Also fixes bullet clipping getting stuck after toggling maskBullets off on radar/curve charts.
  • Timeline curve charts (SerpentineChart/SpiralChart/CurveChart): setting an axis renderer's rotateLabels back to false did 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/strokeStyle back 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 factor as the settings modal (1 instead of 0.001).
amCharts 5.20.0Versão principal22 de jul. de 2026
Recursos
  • Added new StarPattern and TrianglePattern fill patterns.
  • RectanglePattern now supports a rotateShapes setting. When true, rotation rotates each rectangle around its own center instead of the whole grid which makes it faster.
  • Added new themes: Midnight, Ember, Nord, NordDark, Pastel, PastelDark, Colorblind, ColorblindDark (Okabe-Ito, color-blindness safe), Patterns, PatternsDark, Petroleum, Savanna.
  • Added new dark variants of the existing themes: DatavizDark, KellyDark, MaterialDark, MoonriseDark, SpiritedDark, FrozenDark.
  • Added two new parameterized themes: Monochrome (a single-hue lightness ramp with an optional accent) and Adaptive (generates a full palette from one or two base colors).
  • XYChart has new strokeWidths and strokeDasharrays settings - arrays cycled across line series as they are added, the same way colors cycles series colors.
  • XYCursor has a new clickTolerance setting: 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).
  • Added new globalpointerdown event on all elements, fired on a press anywhere on the chart surface (mirrors globalpointermove/globalpointerup).
  • 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's oversizedBehavior: "truncate" now ignores maxHeight setting (because there's no way to truncate text vertically).
  • [Stock Chart] 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. IIndicatorEditableSetting gains maxValue and step.
  • Added new properties on Indicator editable settings: scale, maxValue, step.
  • Acceleration Bands' factor now displays as the conventional 1 instead of 0.001.
  • If a bullet's Graphics has no paint settings set (fill, fillGradient, fillPattern, stroke, strokeGradient) it will inherit all those from parent series.
  • Added new Series settings: fillGradient/strokeGradient.
  • PathPattern now repeats the svgPath on as a grid instead of drawing once and letting rendering engine repeat it.
  • An XYSeries value 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's Rectangle/RoundedRectangle background now defaults crisp to true (for sharper edges/strokes) unless crisp is set explicitly.
  • An XYSeries can now be reassigned to a different xAxis/yAxis after 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 its aria-label set if ariaLabel is provided in Root settings.
Correções
  • Logarithmic ValueAxis could show floating-point noise in its grid labels (e.g. 4,999.999999999999 instead of 5,000). Grid values are now rounded.
  • Logarithmic ValueAxis was showing 0 for grid values smaller than 0.00001 when no numberFormat was set.
  • ValueAxis with syncWithAxis and autoZoom: false regressed 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 + 1 lookback and treated a missing high/low as 0; it now uses exactly period bars.
  • Momentum: Skipped its first computable value; it now plots from period bars onward.
  • Relative Strength Index: Returned 0 (maximum "oversold") for a perfectly flat market (0/0); it now returns a neutral 50.
  • Moving Average Cross: Default fast/slow periods were inverted; the defaults are now fastPeriod: 9 / period: 21.
  • Volume Profile: No longer errors in ticks count mode when the visible price range is flat.
  • Fixed issue where LinePattern with a non-zero angle could show a seam instead of tiling seamlessly.
  • Fixed issue where LinePattern with a non-zero rotation could render broken/dashed lines after the tile-size optimization; the auto-shrink is now skipped when rotation is set.
  • Fixed issue where RectanglePattern/CirclePattern with a non-zero rotation could render nothing on larger pattern tiles.
  • ChartSerializer now accounts for settings on start/end labels of a HeatLegend.
  • Fixed issue where the width of the Label's underline could fluctuate in some cases.
  • Fixed issue where a non-finite startAngle/endAngle on a RadarChart (e.g. NaN or Infinity) could freeze the browser.
  • Fixed issue where Venn was not resetting its colors/patterns sets 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.
amCharts 5.19.0Versão principal15 de jun. de 2026
Recursos
  • JSON config parser now supports a @self reference 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 a Hierarchy series. Such settings are applied after the entity (and its data) are ready.
  • Dynamically-set HTML content (e.g. html/labelHTML settings, HTML tooltips, modal content, export menu labels) is now sanitized to strip potentially malicious code. Can be disabled via the sanitizeHTML: false setting on Root.
  • 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 the escapeFormulas: false export option.
  • [Maps] MapChart now supports a projectionName setting - a string-friendly alternative to projection (e.g. "geoOrthographic"), primarily for JSON config. The bundled projections are registered automatically when parsing JSON. In code, the am5map projection factories (e.g. am5map.geoOrthographic()) tag their output with the projection name, so charts that set projection directly still serialize back to a matching projectionName. Additional projections can be registered with am5map.registerProjection(). The bundled projections are no longer eagerly pulled in, so they can be tree-shaken when unused.
Correções
  • ValueAxis with syncWithAxis set could end up with grid lines not aligned with the source axis (depending on data range and maxPrecision), and the zoom-out button could remain visible after the chart was fully zoomed out.
  • ChartSerializer would 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 PieChart at runtime was not resizing already-rendered series until the next chart resize.
  • CommodityChannelIndex indicator was computing typical price as (high + low + close) / 2 instead of / 3, producing inflated values.
  • ForceDirected was clearing a node's fixed x position instead of its fixed y when the y coordinate was unset, leaving the node pinned vertically.
  • Legend was erroring out when sorting its items if its children contained extra elements without a data item (e.g. a manually added Button).
  • DateAxis with groupData: true leaked 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.
  • [Maps] MapPointSeries was not rendering bullets for MultiPoint geometries due to an assignment used in place of a comparison.
amCharts 5.18.0Versão principal4 de jun. de 2026
Recursos
  • fitNodes (default: false) setting added to Tree chart. If set to true, hidden nodes will excluded from the layout, giving more space for visible ones.
  • pdfmake dependency 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.
  • Renamed type setting to maType on moving average indicators (MovingAverage, MovingAverageDeviation, MovingAverageEnvelope, BollingerBands). (Setting type will work as well, but it's deprecated)
  • Renamed type setting to shapeType on VoronoiTreemap. (Setting type will work as well, but it's deprecated)
Correções
  • PictorialStackedSeries was not correctly guarding against NaN scale values, which could result in invalid scale being applied to the series mask and graphics.
  • [Stock Chart] Saving/serializing StockChart now includes fontFamily, fontWeight, and fontStyle settings for labels.
amCharts 5.17.329 de mai. de 2026
Recursos
  • Label setting fontFamily now accepts special value of "inherit". If set it will automatically use computer fontFamily value on chart's DOM container.
  • onDebounced(key, callback, delay) and offDebounced(key, callback?) methods added to all entities. Like on()/off() for settings, but the callback fires only once after rapid changes settle, waiting delay milliseconds since the last change.
  • onPrivateDebounced(key, callback, delay) and offDebouncedPrivate(key, callback?) - same as above for private settings.
Correções
  • The underline text for a Label could render thicker in some cases.
  • [Gantt] GanttSeries was not syncing the end field back to data context when tasks were moved or resized, causing stale values when serializing data or calculating linked group positions.
  • [Gantt] Gantt.addNewTask() was setting a hardcoded stale end value in new task data.
  • If Root was 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.
amCharts 5: Stock Chart 5.17.0Versão principal6 de abr. de 2026
Recursos
  • Added safeguards to avoid floating point errors when animating values.
amCharts 5: Stock Chart 5.16.217 de mar. de 2026
Recursos
  • Added syncZeros to ValueAxis. It will only work if syncWithAxis is set and zero is within min/max of axis.
  • Exposing standalone functions via index/am5: populateString(), getTagValue(), getCustomDataValue().
  • Added nodeSeparation setting to Tree.
    • Now allows custom separation function between nodes, receiving two data items and returning a numeric value.
  • Added setFlatData() method to Hierarchy.
    • Now accepts flat array data with parent ID references and converts it to nested hierarchy format. Works with new parentIdField setting.
  • Added clustered setting to Tree.
    • When set to true, uses cluster layout (dendrogram) where all leaf nodes are placed at the same depth.
Correções
  • minBulletDistance was not showing/hiding bullets if set dynamically after series was already initialized.
  • Axis syncing algorithm fixed, performance of syncing improved.
  • Tree and ForceDirected charts with very deep structures were having performance issues.
amCharts 5: Stock Chart 5.16.13 de mar. de 2026
Recursos
  • Performance Optimization: ClusteredPointSeries, WordCloud, GaplessDateAxis, Treemap, Chord, DateAxis, and others.
amCharts 5: Stock Chart 5.16.0Versão principal18 de fev. de 2026
Recursos
  • Changed
    • Performance: No longer using Object.defineProperty in compiled library.
Correções
  • Fixed logarithmic scale of ValueAxis which in some cases was ignoring minGridDistance, resulting in label overlap.
amCharts 5: Stock Chart 5.15.65 de fev. de 2026
Recursos
  • Added ignoreThemes to Entity. If set to true, no themes will be applied to the element. Set it to true on an element (e.g. candles) of which there are many for improved performance. Required setting will need to be set directly on the element or its template.
  • Performance of turboMode increased significantly.
amCharts 5: Stock Chart 5.15.528 de jan. de 2026
Recursos
  • skipRenderFrame property added to Root. If set to true, the next frame will not be rendered. Helps to avoid flickering in some cases, like zooming right after data update.
Correções
  • StockChart with indicators was not properly switching data granularity.
amCharts 5: Stock Chart 5.15.423 de jan. de 2026
Correções
  • Adding bullets to series in some setups with React could result JS error since 5.15.0.
amCharts 5: Stock Chart 5.15.314 de jan. de 2026
Correções
  • Bullets added to individual data items were not updating their position.
amCharts 5: Stock Chart 5.15.212 de jan. de 2026
Recursos
  • If an invalid SVG path is passed to Graphics svgPath setting, a warning is displayed instead of a JS error.
Correções
  • Toggling turboMode after the ColumnSeries was initialized was not working properly.
amCharts 5: Stock Chart 5.15.16 de jan. de 2026
Correções
  • Axis ranges were not being fully parsed from JSON config.
amCharts 5: Stock Chart 5.15.0Versão principal2 de jan. de 2026
Recursos
  • updateData(data) method added to Component. Updates existing data in the component without disposing old data items. If there are more data items than before, new ones will be created. If there are less, old ones will be removed.
  • New class in JSON plugin: ChartSerializer. Allows serializing whole chart objects into a JSON.
  • New functionality in JSON parser: states, adapters, templateField, axis bullets, axis ranges.
  • Stock indicators now use updateData() method which makes them work much faster when data is added or updated.
Correções
  • VolumeProfile indicator was not showing value in legend when hovering columns (since last version).
  • Axis range labels were being drawn in reverse order.
  • Private setting gridInterval was not being set on GaplessDateAxis.