The format is based on Keep a Changelog.
Please note, that this project, while following numbering syntax, it DOES NOT adhere to Semantic Versioning rules.
linkWith for ForceDirectedNode is pushed to the child node’s data items childLinks array and also node.linksWith list.xlsx package (with vulnerability) from dependencies in favor of a bundled hard copy (version 0.19.3) due to their decision not to publish to NPM. (Issue 4261).SerialChart it was not disposing one of the listeners and could remain in the memory.Scrollbar were showing opposite values.MapChart.PieSeries was sometimes off.scrollable = true was scrolling even if scrollbar was not visible at that moment.DateAxis with data grouping enabled could go into infinite loop of switching between period in some specific data setups.PieSeries's labels were arranged incorrectly in some cases, if maxWidth and wrap was set on the label template.xlsx package to version 0.18.5.XYChart with a CategoryAxis using mouse wheel will snap to categories so that after the pan full axis cell at the beginning and end of the axis will be visible."p" number formatting modifier added. Works the same way as "%" except it treats numbers as absolute values and does not multiply them by 100."%" number formatting modifier will now consider locale when choosing whether percent sign goes before or after the number. At this moment only tr_TR (Turkish) locale is placing percent sign before number.PieSeries was focused would not toggle it.SankeyLink middle line was not drawn in it was a straight line.ValueAxis was not respecting maxZoomFactor.strokeOpacity on PercentSeries elements were not propagating to legend marker.html on a Label, then resetting it, was leaving the old content.fill was not updating the color of the actual label right away.SliceGroper plugin will now handle negative values correctly.baseValue added to ForceDirectedSeries (default: 0). Used for calculating node radius.focusFilter property was not being cloned.tabindex to a negative value was not working properly.NumberFormatter setting: forceLTR. If set to true will force all numbers to be formatted as LTR, even if RTL is enabled.xlsx library for XLSX exports.MapChart.children were not being created.CVE-2021-3807) with venn.js dependency.ExportMenu CSS so they do not get invoked unless hovered on chart’s container.Annotation plugin will now not go into edit mode after data is set.package.json for ES2015 package was properly updated with new version dependencies.maxWidth on zoom.position = "absolute" was not working.addBOM (default true).userClassName now supports multiple class names separated by space.pdfmake 0.2.2 to work around security issues in older version.xlsx 0.17.0 to work around security issues in older version.MapChart now respects home* zoom/position with externally loaded geodata.snapToSeries set was snapping to hidden series.DateAxis tooltips to show incorrect time in some cases.<style> added by Export was not applying global nonce option.RangeSelector plugin: some pre-set period buttons were behaving incorrectly when there was no animated theme enabled.ValueAxis were prone to a floating-point issue.OverlapBuster plugin. Was not always working properly without animated theme.children were not being created.XYCursor activities.SliceGrouper was not working when chart was a child of another Container.SliceGrouper was not updating properly when am4core.options.queue = true was set.DateAxis labels were showing zeros instead of proper milliseconds in IE.SankeyDiagram could cause rollover tooltip to appear.FunnelChart was not being drawn complete.List element was not being properly truncated to supplied lenght.timezone setting in some timezones could offset Series’ bullets.width in RadarColumn was being ignored.Export: webFontFilter. Allows it to set to a regular expression. If set only those external fonts that their URL match regular exporession will be loaded.ForceDirectedSeries: showOnTick (default 10). Render series hidden until Xth tick.XYCursor: snapOnPan (default true). Indicates whether to “snap” zoom selection to equal periods when panning by cursor ends.minZoomCount was not being taken into account when zooming with mouse wheel.exporting.dataFields setting was being ignored.MapChart could throw off the map position.SankeyDiagram in some cases could result in an SO.TreeMap was showing incorrectly sized nodes with empty children array.logarithmic setting for a ValueAxis was not updating its scale properly in some cases.SliceGrouper plugin was not updating properly when manipulating data and/or series.ColumnSeries3D (introduced in last version).xslx property holding reference to processor, that needs to be used in order to modify actual workbooks for export.StepLineSeries might get “stuck” during zoom/data updates in some cases.ColumnSeries3D was not staying hidden across data updates.DateAxis were not being positioned properly when changing firstDayOfWeek.ExportMenu item was resulting in JS errors.ValueAxis could get end up in a dead loop.scale, minWidth, minHeight, maxWidth, and maxHeight options.ignoreZeroValues = true on PieSeries/PyramidSeries will now hide null-value slices, too.timezone might shift axis label values by one day in some cases."i" input date format was not properly parsing formats with no milliseconds and with timezone offset, e.g. ("...+10:30").normalizeSVG() method was producing wrong SVG width/height in output if scale parameter was not being passed in.DateAxis setting timezone is being deprecated. Please consider setting timezone on chart or axis dateFormatter. DateAxis will now properly place grid in time zones that use non-whole hour fractions, e.g. (“Australia/Adelaide”).ExportMenu elements has been altered to better comply with ARIA standards.ValueAxis scale calculation.min and max on a DateAxis could result in excessive overzoom and an empty grid in some cases.DateAxis coul dresult in some extra space shown on it.width were set in percent, they were not being properly sized.reverseGeodata (default: false) on MapChart and MapSeries. amCharts requires polygon coordinates to be in clockwise order. Some map data have them in counter-clockwise. If your custom map appears garbled, try setting this to true.am4core.options.pixelPerfectPrecision (default: 0). Precision (number of decimal points) to be used when rounding point x/y for elements that have pixelPerfect = true set.XYChartScrollbar was not inheriting inputDateFormat from the chart properly.showTooltipOn = "hit" will not display its tooltip.dispose() it will now auto-dispose when related axis is disposed.XYCursor over chart when data was being updated.wrap = true may have been wrapping incorrectly in some cases.rgb(...) and rgba(...) syntax was not recongnised in ColorSet's baseColor.MapChart was not working. If you are using commercial MapChart, make sure you use addLicense() for both Charts and Maps products."out" event.strictMinMax with includeRangesInMinMax sometimes could caulse wrong zooms.getCSV, getSVG, getJSON, getExcel will not error out if no opeionts or format identifier is passed in.am4core.options.queue = true enabled.PieSeries remained enlarged (as hovered) after subsequent taps on it on a touch device.ValueAxis was not auto-zooming in some cases.Tooltip property ignoreBounds (default false). If set to true, will not try to contain tooltips within the boundaries of the chart.getSVG() method without passing in options as a second parameter was resulting in error.gropuDataItem adapter.XYSeries witth bullets and a data grouping enabled, could result in bullets being left on the screen.numberFormatter inheritance was broken for XYSeries elements like bullets since last version.CategoryAxis and XYCursor was erroring when number-based categories were used in data.scale, minWidth, minHeight, maxWidth, and maxHeight.ExportMenu property: element (a reference to menu’s top element).readerTitle and readerDescription were not being properly populated with data on Map objects.includeRangesInMinMax = true on ValueAxis in some cases was messing up the chart.<canvas> element afterwards.ValueAxis was not working properly with multiple series with incomplete data."my.custom.property".rtl value on an existing Label was (still) not working properly.showSystemTooltip was being ignored since last version (4.10.4).chart.cursor.snapToSeries was not causing cursor to snap in wrong place if groupData was enabled.ExportMenu top item has now role menubar rather than menu.ExportMenu will now set aria-expanded attributes for selected menu items/branches.groupData was causing some series not to appear in some cases (since 4.10.3).rtl value on an existing Label was not working properly.rederTitle or itemReaderTitle was not setting aria-label but rather adding <desc> tag and aria-describedby attirubute. It now will use aria-label for readerTitle and <desc> for readerDescription.role of the slices or columns in series.ExportMenu with arrow keys will not scroll web page anymore.periodselected added to DateAxisRangeSelector.DateFormatter now supports quarter format (code: "q").id_ID).title property was being overwritten if it wasn’t last option in the properties list.options.queue = true.TreeMap with binaryTree algorithm was producing a JS error if no initial data was set on chart.DateAxis was enabled and there were more than one series in the chart, the second and other series were rendered with data ungrouped in the background before rendering them correctly and thiswas causing performance issues.CurvedColumnSeries with non-inversed CategoryAxis were not positioned properly.SankeyDiagram charts were broken after last release.4.10.0 caused some bullet adapters to kick in earlier which in turn was resulting in critical errors if those adapters relied on dataItem to be present without checking.DateAxis property: timezone. Allows setting timezone to recalculate data in, e.g. "Australia/Sydney". Make sure not to set this on both axis and date formatter.DateFormatter property: timezone. Allows setting timezone to recalculate date objects to before applying the format, e.g. "Australia/Sydney".am4core.options.disableHoverOnTransform ("never" (default), "touch", always)). Allows disabling all hover activity when some element is being dragged or resized. More info.SankeyLink that points “backwards” will be applied "backwards" state (if created) so you can style it differently than regular links.Cursor was triggering an on-screen keyboard on some mobiles devices.DateAxis and groupData = true could result a JS error if a series had bullets and a lots of data points.DateAxis and groupData = true, if a series was hidden when zoomed-in, then zoomed-out, and then unhidden, the related ValueAxis was not updating it’s min/max to available value range.RadarChart from a template fixed.SankeyDiagram used to produce stack owerflow error if data contained backward links. Now it will correctly draw a link.LineSeries property: smoothing ("bezier" (default), "monotoneX", and "monotoneY") - indicates algorithm to use for smoothing the lines. Monotone algos are better suited for irregularly-spaced data. More info.ForcedDirectedTree: new property zoomable (default: false). If set to true, the chart will be zoomable/draggable using mouse, touch, or API. More information.ForcedDirectedTree: zoom related properties added. mouseWheelBehavior ("zoom", "none") - controls what happens when mouse wheel is used over chart; zoomStep (default: 2) - step to increase zoom level my each zoom in; zoomOutButton - an instance of button which is shown when chart is zoomed in.ForcedDirectedTree: new zoom-related methods: zoomToPoint(point, level, center) and zoomToDataItem(dataItem, level, center);am4core.createDeferred(callback, scope, ...parameters). Can be used to create multiple charts in a truly safe daisy-chain (next chart starts to be instantiated only when previous triggers a ready event). Returns a Promise with chart instance. More information;am4core.options.deferredDelay (default 100). Specifies time-gap in milliseconds between deferred chart instantiations.readerTitle was not being properly populated with data on Label.readerDescription was not being populated with data.MapChart was panned with inertia and a polygon with zoomToObject() hit event was clicked when the map was still moving, the map was zooming into a wrong position.useDefaultMarkers = true were broken since last release.XYSeries: groupDataitem. When data grouping occurs, each aggregate data item will be passed through this adapter, where you can modify its aggregate value. More info.MapPolygonSeries properties: sortPolygonsBy ( "area" (default), "name", "longitude", "latitude", "id", and "none") and sortPolygonsReversed (default false).fontSize option was being ignored when exporting data in PDF.DateFormatter and NumberFormatter.CircularAxis line was flickering while start/end angle was animating.XYSeries: groupValue. It’s now possible to apply custom aggregate value calculation functions for grouped data items. More info.Cursor: cursorPoint. Use it to custom-position chart cursor using your own logic."hit" event is focused, that event will be triggered automatically.XYCursor will now trigger blur on any focused element on the page (consistent to clicking anywhere else on the document)."x" (timestamp) in inputDateFormat was not working properly.SankeyDiagram were 0 (zero), nodes were not being arranged and their rectangles were not being displayed.CategoryAxis label was not visible if minGridDistance was set to 0 (zero).XYSeries remained visible when data was updated and data grouping was enabled on related DateAxis.Utils.random() function was not returning value in proper from/to range.LineSeries between two stacked ColumnSeries could mess up stacking for the latter.LineSeries which had strokeDashArray enabled via propertyFields was making the whole line dashed.XYCursor hovering on category with a null value for some series, used to display a tooltip for a different category in some cases.ShapeBullet in Bullets plugin. Please refer to this documentation article for more info.treatZeroAs added to ValueAxis. Use it to work around zero-value restriction on a logarithmic scale.stackToNegative (default: true) added to XYSeries. Determines whether negative values in a stack will stack in relation to base (zero) line (true; default) or in relation to the previous value in the stack (false).0.15.4 to 0.16.4.DateAxis now takes Series’ location into account.reorder option was not working properly.snapToSeries was not working properly if there was a hidden Series with exactly the same value as the other visible Series.TreeMap and ForceDirectedTree with a single data item and no children were not working properly with chart legend.zoomToRectangle() method of MapChart with deltaLongitude was not working properly if a rectangle crossed the 180 meridian.CategoryAxis was removed and then a new item with the same category name was added, chart was not rendering the new item.ValueAxisXYSeries could disappear if end date was not exact as last data items date.LineSeries could skip a point in case distance between data points was very small, resulting in incorrect line series.am4core.globalAdapter, please consider refactoring your code in some other way.groupInterval is manually set, DateAxis now prepares all intervals. Normally, the chart does not prepare data sets for time intervals longer than the span of dates in the data. This causes problem in case user sets these intervals manually using groupInterval. Note, the groupInterval must be set initially, before data parsing in order data to be grouped into all groupIntervals.YYYY) was not being calculated correctly by DateFormatter.ValueAxis scenarios.ColumnSeries were not working with dropFromPreviousState.XYChartScrollbar with series in it could produce a JS error if series has its fillOpacity > 0.XYChartScrollbar was not being shown if options.onlyShowOnViewport = true.zoomToRectangle() call was resulting in an error if called after the MapChart was rotated.CurvedColumnSeries columns were not being filled with proper color (black was being used instead).ValueAxis.DateAxis with millisecond baseInterval sometimes could show one millisecond less than actual data point in its tooltip.am4core.options.suppressWarnings global option added (default: false). If set to true, the charts won’t output any warnings into console (e.g. “Chart was not disposed”).geodataSource problem fixed (since last release only).<thead> and <tbody> tags.XYChart.getClosest() method is now public.MapChart element focused (using TAB key) will invoke its hit event, if set.target: "bullet[0].circle".ColorSet method next() would fail if currentStep was bigger than minColors, affecting SliceGrouper plugin setups with a lot of slices in particular.MapChart settings minZoomLevel and maxZoomLevel were being ignored when pinch-zooming.MapSeries had its geodata loaded via geodataSource, the map used to disappear after div size changed.maxWidth set to 200 and this could result labels to be truncated even if there was enough space for them to fit in.ValueAxis had min/max set and data of a chart changed.xlsxWorkbook in Export. Will allow decorating a Workbook object before it is exported.chart.exporting text-based API functions (getSVG(), getCSV(), getJSON(), getHTML()) now have third parameter (boolean). If set to false they will return a raw output, rather than data:uri.zoomable property added to all axes (default: true). Setting it to false will make axis not react to zoom events from scrollbar/cursor.focusable from map chart background series..js file will now only load on-demand, making it with some frameworks that override default objects.ValueAxis.triggerMove() calls) but the real mouse was out of the plot area, the cursor used to react to clicks even though it shouldn’t have.ForceDirectedNode's fill and stroke adapters were not working properly if nodes were initially collapsed.Sprite.hitTest() method was not working properly with nonScaling = true.MapChart had geodata loaded via geodataSource.url, the map used to disappear after div size changed.MapChart was disposed, a JS error might happen in some cases.ExportMenu item definition can now have title property. If set, it will be added to item’s title property, which should show a system tooltip on hover."#FF000080" will produce a 50% transparent red.ValueAxis with strictMinMax set to true.sum in the selection of an XYChart could include one extra data item, not visible in the selection.showOnInit = false were not shown on a chart initially (since last release only).am4core.options.autoDispose added (default false). If set to true, when chart is being created in a container that has already existing chart, instead of “Chart was not disposed” warning in console, the chart being overwritten will be disposed.data was updated open ExportMenu was forcibly being closed."Z" and "ZZ" indicators in inputDateFormat were being ignored.sequencedInterpolation = true set and it was hidden via legend, its legend item lost disabled color when chart was resized.bullet.locationX and bullet.locationY was being ignored on a ColumnSeries with CategoryAxis.XYCursor enabled.minWidth, minHeight, maxWidth, and maxHeight. Control minimum and maximum dimensions of the target image.am4core.create(undefined, ...)) then, when needed placed into container using chart.moveHtmlContainer(target) (where target can either be id or a reference of DOM element).groupInterval property added to DateAxis. You can use it to force certain grouping internal when groupData = true instead of one chosen dynamically.stroke/fill settings will now accept values as RGB objects (e.g.: { r: 255, g: 0, b: 0 }).scale now scales source SVG before converting to image, instead of resampling target image.syncWithAxis = true set, it is excluded from common zoom range for better syncing.XYCursor setting snapToSeries now uses better precision in placing cursor lines/axis tooltips.removedfromqueue event added to Sprite. It is invoked when am4core.options.queue = true or am4core.options.onlyShowOnViewport = true and the Sprite (chart) is removed from queue (appears on the screen).groupperiodchanged event added to DateAxis. It is invoked when data grouping is on and grouping period is changed.snapToSeries on XYCursor was resulting in error.RadarChart was resulting in an error if used as a column or bullet template in some other chart.AxisRendererRadial.innerRadius was ignored if set in percent and RadarChart.innerRadius was not set.canvg until underlying issues are fixed in source library.queue and onlyShowOnViewport were not working properly on regular Container instances.MapChart after their showToolipOn was reset back to "hover" from "always".canvg was causing issues in some Angular setups. Downgraded to 3.0.0.LineSeries with circle bullet was not properly centered.hit and up events on nested objects will now respect correct bubbling up order.rtl is not set directly on the Label, it will now take rtl value not from its parent but from baseSprite (performance enhancement).<desc> element with amCharts attribution removed from generated SVG.options.nonce was not working properly on EDGE.selectedned was not dispatched by Cursor if released outside the chart div and behavior was set to select*.data directly on a series not right after it was created could result series.data array to be shown as empty.SwitchButton as active initially.cursor.snapToSeries was set, the snapping was not working properly.XYSeries which was XYCharScrollbar's series, the raw data was incorrectly modified.font and extraFonts which enable specifying non-default font to use when exporting PDF. More info.svgContainer.resizeSensor replaced with a dummy object. Make sure you remove all references to it in your code. Calling it’s reset() method will now generate a warning in console.[font-family: 'Segoe UI'].RadarColumnSeries were black (since last release).logarithmic = true in the heat rule config).MapPolygon fixed.clickBehavior = "break" was not working.XYChartScrollbar. On IE now gray fill/stroke is used instead of desaturate filter.SankeyDiagram.XYSeries and FunnelSeries after it was hidden was not working.MapImages to MapImageSeries directly from the GeoJSON geodata.maxWidth set on Legend’s label was being ignored.minGridDistance was set after chart initialization.sprite.showTooltipOn = "hit" and no animated theme was used, tooltip used to flicker at old position before shown in the correct one.ColumnSeries gradients if gradient was set on series, not on directly on column template.am4core.options.nonce added. If set, amCharts will use this as a nonce-parameter for all dynamically created stylesheets, so it can be addressed in Content-Security-Policy headers.Popup property: dynamicResize. If set to true (default) and contents contains unloaded images it will resize itself when those finish loading.gradientUnits added to LinearGradient. If you’re setting gradient on a perfectly straight line, set it to userSpaceOnUse.filterUnits added to Filter. If you’re setting gradient on a perfectly straight line, set it to userSpaceOnUse.startLocation and endLocation added to CategoryAxisBreak. Can use to indicate where exactly within category break should start and end.Popup now will size itself to accommodate images inside it as they are being loaded. To disable, set Popup's dynamicResize = false. Also make sure you enable maxWidth/maxHeight in your CSS to avoid unreasonably large popups for unsized images."ww") was not accounting for daylight saving.foreignObject elements with SVG’s in them.tensionX / tensionY) now drops out duplicate points to avoid weird loops on overlapping data items.XYCursor and a lot of series fixed.LinearGradient fill was not working on LineSeries under EDGE.RadarChart was not working properly after last update.am4core.options.animationsEnabled (default true). Set it to false to disable all animations on all charts. Can be used to toggle animations on and off dynamically.SliceGrouper plugin: new setting limit added. If set to a number, will ignore threshold but will show only first X slices and will group the rest.Export: align. Available options: "left" (default), "center", and "right".ValueAxis property: adjustLabelPrecision (default: true). true means that all labels on ValueAxis (except zero) will maintain the same number of decimals, e.g. 1.0, 1.5, 2.0 versus 1, 1.5, 2. Enabling it will ignore number of active decimals set via numberFormat.DateFormatter is now exposing list of various named time units: months, monthsShort, weekdays, and weekdaysShort. You can now resolve numeric value to an English name (e.g. chart.dateFormatter.weekdaysShort[2]) or to your active locale (chart.dateFormatter.language.translate(chart.dateFormatter.weekdaysShort[1])).adjustLabelPrecision hsa a default of true, which means that all labels will now have same number of decimals on ValueAxis. Set adjustLabelPrecision = false, to disable and revert behavior to how it was before this update (1, 1.5, 2).am4core.options.viewportTarget now accepts array of references if you have multiple scrollable containers holding charts and have onlyShowOnViewport enabled.DateAxis.periodChangeDateFormats for "hour" changed from "_date_hour" to "_date_day" so that the format would differ for midnight (hour 00:00)."MMM") from string-based dates was failing on May.null values in data was causing maxTooltipDistance == -1 to show multiple tooltips instead of one.innerRadius for AxisRendererRadial and AxisRendererCircular - the RadarChart's innerRadius was overriding them.DateAxis properties startLocation and endLocation were not defaults (0 and 1), the chart might flicker from one grouped data period to another continously. It was only happening with some particular groupCount values and data item counts, though.am4core.options.suppressErrors (default false). Set it to true to disable error-invoked modal display.locale as string (e.g. locale: "fr_FR") in JSON config was not working.ValueAxis.min and ValueAxis.max now accept undefined.NumberFormatter and DateFormatter will not longer critically fail if invalid Intl data is passed to them. Instead they will return "Invalid" string.locations setting of the SeriesDataItem were not being copied to grouped data items (when DateAxis.groupData = true).ExportMenu and Popup/Modal CSS was not being properly applied causing those elements to lose styling and positioning.am4core.MouseCursorStyle.text.formatOptions now accessible via public property, e.g. chart.exporting.formatOptions.getKey("csv").disabled = true."i" to parse ISO dates now supports unlimited number of milliseconds. It was failing before if more than three digits were used for milliseconds.Label had its interactions disabled then re-enabled, its selectable property was being ignored.Modal with closable = false could still be closed via curtain click.openModal() ignored title (second parameter).Label which has textValign set was resulting in error.cursor.snapToSeries was not working properly with CategoryAxis.onlyShowOnViewport.disabled property to all format options so you can disable each particular export format easily, e.g.: chart.exporting.getFormatOptions("csv").disabled = true.Sprite elements: userClassName. If set, will also set element’s class accordingly. Works directly, and via propertyFields.ExportMenu.SwitchButton class added.width field and adapter added to ColumnSeriesDataItem. Allows having variable column width via data binding.series.maskBullets = true to solve this.TimeLine series bullets were not updating position when Y axis was zoomed.TimeLine/RadarChart series were hidden on some parts of the chart (sice 4.9.7).RadarChart were being masked incorrectly (since 4.9.7).TimeLine axis could be filled incorrectly in some cases (since 4.9.7).TimeLine could error out in some cases (since 4.9.7).dataFieldsOrder. It’s an array. Push field names into it and exported data will try to maintain field order like this.tooltipDate added to DateAxis. Will holde Date object of the last shown axis tooltip.XYChartScrollbar (both value and date) were not reseting min/max if series of the chart changed. This could result scrollbar’s series incorrectly displayed.PyramidSeries and FunnelSeries with very small values were not animating properly on chart init.PyramidSeries and FunnelSeries with data items with value = 0 could show small rectangle at top/left corner.PyramidSeries with data items with value = 0 was not rendered properly.XYChart.deltaLongitude values (e.g. 30, 60, etc).DateAxis with grouping enabled, and zoomed-in chart could cause a stack overflow.DateAxis was enabled, the ValueAxis was not fully zoomed out.series.maskBullets = true to solve this.XYChartScrollbar were not displayed.maxTooltipDistance to -1 on XYCursor will force only one tooltip to always be displayed, even if there are multiple data items in exact same spot.MapChart and their children were inherinting main locale.ExportMenu was freezing the whole chart is hovered (since 4.9.5).force - added to ChartCursor.triggerMove. If set to true it will trigger all actions associated with the move even if the cursor is already at the same coordinates.MapChart with panBehavior = "rotateLongLat" was not working properly since 4.9.3.XYChartScrollbar if it was used there.dx/dy set and rotation != 0 were not displaying fixed-position tooltip in correct position.tooltipText was causing the tooltip to hide if it was already visible and tooltipPosition was set to "pointer".XYChart with legend positioned to right/left was not positioning valueLabels properly (if aligned to right).TreeMap legend was not functioning properly.MapChart was erroring out if homeGeoPoint was set.XYCursor were not being reset back if cursor left plot area.MapChart will not perform its pan behavior (e.g. drag) if some other interactive element is being currently dragged. Good if you have a Scrollbar on top of the map for example.snapToSeries.svgContainer: readereAlert(text). When called, will force screen reader to read out certain text.velocityDecay added to ForceDirectedSeries. Increase the number to slow down node dynamics.MapChart zoom level changes.XYCursor.snapToSeries now accepts an array of series and will snap to most close data point from any series present in the array.XYChartScrollbar local data was being updated, the clone used in Scrollbar was not being updated.Series.autoDispose setting was being ignored.tabindex value was basically not working.null values showed small black rectangle at the top/left corner and legend item was not showing a marker.ValueAxis improved.precision added to MapLine (default 0.1). If line has shortestDistance = true set, it will be bent according to to projection. If precision is larger than the distance (degrees) between line’s end points, no such bending will occur. Set it to large number for perfectly straight lines.precision added to MapPolygon (default 0.5). Polygon’s side lines are bent according to to projection. If precision is larger than the distance (degrees) between side’s end points, no such bending will occur. Set it to large number for perfectly straight lines.parent by id is now not dependent on order of elements.XYCursor was being used.Legend was triggering hover over PieSeries slice (or other PercentSeries), the slice did not dispatch "over" event.ForceDirectedNode (if hidden using API) was not showing if legend item was clicked to show it again.path adapter was not working on Sprite.data to a XYChart with an XYChartScrollbar with a series was sometimes resulting JS error (if some data was missing).AxisBreak to CategoryAxis could result JS error.groupFields were not copied to series in XYChartScrollbar, or any other cloned series.disabled property field was set, that bullet did not update correctly after data change.ForceDirectedSeries.dragFixedNodes property added (default false).ForceDirectedSeriesDataItem.percent getter added.ForceDirectedSeriesDataItem.fixed was not working.CirclePattern was not being globally exported.expoirtable = false on some elements that are invisible sometimes caused them to become visible after export.simplifiedExport = false) was broken since upgrading canvg version.CategoryAxis with sorted columns, some columns were not being displayed.sortBySeries property added to CategoryAxis. If you set it to an instance of a ColumnSeries, the axis will automatically sort its categories by actual series’ values.cloneTooltip flag (default value true) added to Sprite. When cloning a sprite, if the template has it’s own tooltip assigned, this tooltip is also cloned by default. This is not good for cpu and sometimes you might only need one single tooltip for all clones. Set cloneTooltip to false in order not to clone tooltip.
timezoneOffset property added to DateAxis. Us it instead of DateFormatter.timezoneOffset if your dates are timestamps in your data and you want the chart to display the same dates no matter at which timezone the chart viewer is.
If ValueAxis has its calculateTotals = true set, the axis will calculate not only total and totalPercent for related series’ data items but also sum which is mathematical sum of source the values, rather than their absolute values.
ValueAxis setting: extraTooltipPrecision. Set it to a number of extra decimal places to use for numbers in axis tooltip on top of current axis label precision. Default is 0.ValueAxis grid improved.timezoneOffset was incorrectly affecting labels of DateAxis.MapChart was initialized in a hidden container, subsequent zoomToMapObject() calls were zooming incorrectly.TreeMap.homeDataItem getter added.ValueAxis with values <1 might not display labels (since 4.8.1 only).4.8.1.syncWithAxis added to ValueAxis. Use it to sync grid between two or more axes. Set it to a reference of another ValueAxis, the one you need to sync grid with. More info.undefined values as well. It used to ignore those.XYCursor will now take its behavior logic into account when calculating if it has moved or not. For example, if behavior == "zoomX" it will only measure horizontal distance when determining if cursor has moved or not.Annotation plugin: setting currentTool property was not working for "line" and "arrow".TreeMap were not being shown back on after drilling bacup to top level.fontSize on a ValueAxis was resulting in an error.scrollable (default: false) property added to Legend. If the legend is positioned left/right and items do not fit in the available height, the scrollbar will appear automatically. In case legend is positioned at the top/bottom, you must set maxHeight for the legend and if items do not fit in this height, the scrollbar will appear.Annotation plugin: added new property useMenu. If set to false, plugin will not add any items to or create export menu. It means that annotation functionality will be available only via its API.Annotation plugin: added arrow tool support.Legend's’ item changed and made better. Labels are properly truncated if they do not fit. Alignment of value works fine.Legend's position is "left" or "right" it no longer fixes its width at 200px width, but sets maxWidth to 220. This means that legend will take only as much width as it is necessary to accommodate its contents, which usually results in more space for chart itself. Set maxWidth to undefined if you want all the labels to be displayed and not to be truncated if they don’t fit.Legend's position is "left" or "right" it automatically sets maxColumns to 1 (one) so that legend items would be arranged in one column only. You can change this setting if you need more columns (you should do this after the position is set).focusable = true on an element will now automatically set tabindex = 0. This is required for some browsers (FF) for elements to be focusable. This means that a bunch of elements that are focusable by default (legend items, grips, buttons, etc.) will now have tabindex set automatically as well.Label.ellipsis (used when truncating texts) was changed from “...” (three dots) to “…” (
Unicode Character ‘HORIZONTAL ELLIPSIS’; U+2026).Label wrapping will now try not to split strings on dots where there are no whitespace afterwards, e.g. “55.5%".valueLabels of a Legend were not displayed if set directly on valueLabels.template.text. They were dispalyed only if set on series.legendSettings.itemValueText.updateStacking() method added to XYSeries. Must be called if some stacking properties are changed by stacked stays at true."hidden" added to SunburstChart's dataFields to enable pre-hiding certain slices.XYChart was not updating value axis’ min/max if series was removed."hard" sticking option, the cursor could animate to some wrong position if clicked outside plot area.Percent to number or vice versa was not working at all, e.g. when state was being applied. It will now just flip to the final value without animation.DateAxis and groupData = true and custom baseInterval was resulting the grouping not to working.LineSeries and ColumnSeries, as well as their legend markers.Annotation plugin: Added experimental setting autoSize (default: false). If set to true, it will try to relocated annotations relatively to chart size when it changes.fill/stroke property with a Color with non-integer alpha was resulting in either fully opaque or fully transparent color.ColumnSeries3D was off.XYSeries on super-wide/tall charts (more than 100K pixels) were being distorted.Regression plugin: Updating data directly for regression series was not being properly invalidating it.groupData on DateAxis from initial false to true after the chart was inited was not working.groupData on DateAxis from initial false to true was resulting in icorrect ValueAxis scale.alwaysShowTooltip = true.datavalidated and beforedatavalidated were not being fired if data was being updated to an empty array.stacked from true to false on XYSeries was not working properly.Component.removeData() was causing all the data to be invalidated which caused some wrong behavior.invalidateLabels() in order for the new format to be applied.DurationAxis now animates newly added data in the same way as DateAxis does.XYChartScrollbar could result error.maxTooltipDistance added to XYCursor. Set it to a numeric value to limit display of tooltips from closest series only.maskBullets added to XYSeries for a possibility to set it on individual series rather on all chart.am4core.type.is to am4core.is. This fixes a circular dependency issue.centerMapOnZoomOut of MapChart will kick in on zoomLevel < 1.5 for a better UX.XYChart improved.ValueAxis were not properly sorted.SankeyDiagram with a single level and animated theme was not displaying links.DateAxis fixed.hideTooltipWhileZooming (default true) property added to XYSeries and Axis. It will hide respective tooltips while chart zoom animation is playing.customValue data field added to XYSeries. Useful if you want to show (in a tooltip for example) some custom value when data is grouped and you need an aggregated numeric value that is not other than one of the Series’ data fields.dataContext. This allows referencing to custom fields via text placeholders even in aggregate data items when data grouping is enabled.role for chart changed to region.Scrollbar and its elements now set required attributes like aria-orientation, aria-controls, aria-valuenow, aria-valuetext, aria-valuemin, and aria-valuemax.XYChartScrollbar was not inheriting locale from parent chart.XYChart with stacked axes could be positioned incorrectly.notAllowed added to MouseCursorStyle.PieSeries, FunnelSerries, PyramidSeries, and PictorialStackedSeries will now use absolute values for their slices (good if you have negative values).positionToCoordinate() method added to Axis.index as second parameter to List.each() method.min and max adapters added to ValueAxis.ExportMenu now have box-sizing: border-box set in default CSS to make icons play nice(er) with external CSS.List.each method was missing an index argument for the callback.PieSeries could sometimes overlap if animated theme was not used.DateAxis with groupData = true and "average" as group field was now shown properly if data had gaps.AxisRendererRadial (RadarChart uses it) was not paying attention to tick.location property.ColumnSeries3D used in a stacked axis scenario fixed.PercentSeries was sometimes jumping over 2 colors in ColorSet.am4core.system.softInvalidate(chart) added. Call this method if you update data or config of a chart that is in hidden container, after revealing the container, so that labels and possibly other elements can correctly arrange themselves.MapChart was breaking on geodata parsing since last release (4.7.9).MapChart used to zoom to a wrong position when using zoomToMapObject() method (happened if pan inert animation was not finished at the moment of the function call).Container's “grid” layout was incorrectly positioning items if one of its children was disabled.Sprite property: showTooltipOn. Available options: "hover" (default), "hit", and "always".ignoreZeroValues added to PercentSeries (default: false). If set to true it will not show slices with zero values.Sprite property alwaysShowTooltip is now being deprecated in favor of showTooltipOn = "always".WordCloud words connected with a dash without spaces will not be treated as a single word, e.g. “76-ers” is now a single word rather than two separate words “76” and “ers”.type specified for one of the objects.MapChart was zoomed/panned, “always-on” tooltip were remaining in the same place.maxWidth and wrap set were not being sized correctly.Column3D were not being colored properly when fill was being set via propertyFields and string-based hex color codes were used in data.XYCursor that behavior = "select*" its xRange and yRange was not being reset and could show ranges from previous selection.XYCursor will now respect order of series when showing their tooltips if they share the same value.XYChartScrollbar was not working properly (old series could remain or new series were not appearing).PictorialSeries, and PyramidSeries were not working properly with slices with <= 0 values.addData(data, removeCount), chart was rmeoving data items from series which had data set explicitly.RadarChart could be displayed in wrong positions when zooming/hiding series.itemIndex added to AxisDataItem. Shows current index of data item on the axis.extremeschanged is now dispatched by DateAxis when the min/max are animating.maskBullets on an XYChart will toggle on or off bullet masking dynamically.behaviorcanceled event of ChartCursor was not being fired.text or html properties were being set to percent value.DateAxis.skipEmptyPeriods was not working after the chart was already inited.NumberFormatter now supports numberFormat in Intl.DateTimeFormatOptions objects. E.g. chart.numberFormatter.numberFormat = { style: "decimal", minimumFractionDigits: 3 }. More info.CirclePattern.PictorialStackedSeries now supports align/valign settings, allowing controlling its position inside chart container.PatternSet is expanded and revamped for better look and increased contrast.rotation.MapChart now will shift zoom towards center gradually when zooming out.getIndex() method of PatternSet was always returning current pattern, not particular index."data" adapter was kicking in before amCharts built-in adapter, causing data edits to be overwritten."data") sometimes were being added multiple times.addData() on PercentChart was reusing colors from the beginning for the newly added slices.SliceGrouped on PercentSeries when used on a chart with responsive fetures enabled, could display labels of the hidden slices after chart resize.DateAxis with single data item fixed (the single item used to disappear in certain cases).PatternSet, including one with circles.patterns theme will no longer reset Series’ colors.patterns theme now respects series’ fillOpacity setting to set pattern background transparency.\]] character combination.LineSeries with RectPattern for a fill was failing on chart with a legend.microchart. Automatically adapts all charts for very small containers.patterns. Automatically fills ColumnSeries and PercentSeries with distinctive patterns.PatternSet used in conjunction with XYChart or PercentSeries to auto-assign distinctive pattern fills.patterns on XYChart and PercentSeries.tooltipX and tooltipY properties now can be set in Percent for relative positioning.ValueAxis setups and behavior set to “zoomXY” was not working properly.am4core.options.viewportTarget. If you are placing charts into a scrollable container and using onlyShowOnViewport, set this option to a reference to the container. The system will monitor both window and individual scroll of the container to know where to reveal the lazy-loaded chart.MapChart property: geodataNames. It can now be used to automatically translate country names into multiple languages. Check out usage instructions.hideParentColumns property added to TreeMap. If set to true columns of the parent series will be hidden when user drills-down into deeper levels.ColorSet was starting to generate grayscale colors at some point.XYChart with DateAxis and dateFormatter.utc = true.zIndex.PercentSeries could be -1 after first render.yRange of XYCursor was inversed.ColumnSeries with simplifiedProcessing = true setting was sometimes producing visual glitches.RadarColumn now supports width adapter (the adapter should return Percent object).minWidth/minHeight set on Axis to 0.0001 to avoid ready event to be not called on super small divs.ForcedDirectedTree nodes was not visible.maxZoomCount was set on a series which was used for XYChartScrollbar, scrollbar series was zoomed-in.PercentChart's legend, if placed to an external div could loose text formatting after data update.gridType = "polygons" of RadialAxis was not working.PinBullet was not being cloned.rangeChangeEasing function was not being passed to ValueAxis min/max animation which resulted in some unwanted animation effects when min/max of the axis changed.valueXShow and valueYShow data fields) added: startChange and startChangePercent. Shows change from starting value of the first data item in series.rangeChangeDuration and interpolationDuration changed to 500 (was 700). Makes zooming animations more snappy.XYSeries in DateAxis + ValueAxis setups. More details.addData option in PDF options).dataSource.min/max of ValueAxis was not always correct when series showed not actual but calculated values using valueYShow/valueXShow data fields like "sum", "change", or "changePercent".itemReaderText on XYSeries (and all inheriting series types) now respects value set from user code.role for chart changed to widget.Axis has now readerHidden = true set by default, to prevent screen readers from reading out useless numbers.readerTitle was not being populated by data item data via curly bracket data placeholders.skipFocusThreshold setting.Export property: validateSprites. It’s an array you can push any Sprite to it. When export starts, it will check if those elements are not invalid and will await for them to be ready. This is useful if you need to do any modifications to your chart for export.pivot. If set to true, will “pivot” the data so that firsst column is field names with values lined up horizontally in rows.NumberFormatter: smallNumberThreshold (default 1). You can now set what is considered a “small number” when applying small number prefixes if "a" format modifier is used.ForceDirectedTree was used with am4core.options.onlyShowOnViewport = true, the forces on links were not being calculated properly, resulting in incorrect layout.DateFormatter in axis ranges’ date and endDate properties.WordCloud was not properly parsing Korean text.MapChart was zoomed in while still playing pan inertia animation, it produced a jerky effect.paddingRadius added to ForceDirectedNode. Allows having some extra free space around bubbles.Sprite elements: parentset. Triggers whenever element’s parent is set.MapChart background was not being updated if map projection was changed after init.DateAxis after previous release.mapPolygon.multiGeoPolygon was changed after the series was already inited.XYCursor panning fixed.DataSource now supports binary loading using responseType = "blob".exporting.dateFormat resulted in “Invalid date” as a column name for date/time columns when exporting to XLSX.XYChart, the chart will round selections respecting startLocation and endLocation values of the Axis.CategoryAxis could be positioned incorrectly.ColorSet was now skipping the first (base) color if no theme or list of colors was specified.title to a new Label object will now remove the previous title label.maxZoomCount on Component. Use it to limit how many items such as categories or base intervals on axes can be shown at the same time.riseFromOpenState, riseFromPreviousState, dropFromOpenState, and dropFromPreviousState setters to ColumnSeries. You can use them to set states to undefined if you don’t want them to be used.ForceDirectedTree nodes added (via dataFields.fixed). Also it is possible to set x and y of such nodes using series.nodes.template.propertyField.x and y. More info.dataSource property) and its url was not set, it was still trying to load and resulting in error.ColorSet with default (no) theme was generating colors from second in the list from 4.6.1.ValueAxis with baseValue set to other than zero.DateAxis could be incorrect in some cases.MapImage elements with nonScaling = true could be incorrect in some specific cases.RadarCursor could show incorrect label if the chart had CategoryAxis with only 3 categories.PieChart could show some labels out of chart area in some specific cases.unselectedOverlay added to XYChartScrollbar. It contains a reference to Sprite element used as a “curtain” on unselected areas of the scrollbar. Use it to control dimming effect by using its fill and fillOpacity properties.crop (default: false) added to extraSprices interface IExportCanvas. If set to true, it will crop extra elements to match height/width of the main chart being exported.chart.dateFormatter.dateFormat = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }.intlLocales on DateFormatter. Specifies list of locales to use if date formates are specified as IntlDateTimeFormatOptions.parent property of the elements by their id in JSON configs. E.g.: scrollbarX: { parent: "aa1" }.transitionEasing: "ease.cubicInOut".TreeMapSeries and SunburstSeries were not inheriting numberFormatter propertly from the chart.console.log() call.chart.svgContainer.autoResize = false was being ignored.CategoryAxis had data items without a category value, the chart used to create one extra empty “category”.StepLineSeries glitch where base axis was not CategoryAxis/DateAxis.ValueAxis data wehere the same and negative, the chart zoomed in incorrectly after init.maxWidth/maxHeight set on column template of a ColumnSeries was not working properly if the size of a cell was less than maxWidth/maxHeight.hideSeriesTooltipsOnSelection added to XYCursor. If set to true it will automatically hide cursor-initiated series tooltips when selecting with cursor (e.g. for a zoom).numberFields, numberFormatter, and numberFormat properties to Export. Allows forcing certain number format for values listed in numberFields effectively converting them into strings.snapToSeries now supports XYChart setups where both X and Y axes are ValueAxis.ZoomControl's plus and minus button will not be exported to images anymore.keepTargetHover was enabled and hover moved from an element with tooltip content to an element without one, an empty tooltip was being shown.SankeySiagram with a lot of nodes was performing poorly on initial load.TreeMap could show bullets of multiple levels which could result overapping of bullets/labels.MapLineSeries with imagesToConnect were not updating if images changed their positions.mouseOptions added to Interactions. For now it contains only wheel sensitivity setting, e.g. mapChart.interactions.mouseOptions.sensitivity = 0.4.getPositionX() and getPositionY() methods added to all axes. Returns relative position of a series data item on axis.DateAxis not as a base axis of a series (like gantt) will now animate similar to other charts.SlicedChart hidden labels arrangements adjusted.ValueAxis was incorrectly choosing min/max values for the data with very small values.StepLineSeries with connect = false and autoGapCount > 1 was showing regular line series, not a step series.DateAxis which was not a base axis of a series and dates older than Unix Epoch (January 1st, 1970 at UTC) was incorrectly showing base of a series.DateAxis was not animating smoothly when adding more data.ValueAxis pre-zoom (on ready event) was not working properly.fullWidth cursor line was not reverting back if set to true and then back to false.requestAnimationFrame was being invoked even if all charts were disposed.axis.renderer.inside = true.DateAxis if it had multiple series and some of the series did not have data at the last date.ValueAxis was not making the series to be redrawn.ValueAxis was not adjusting min/max when a part of the DateAxis with series having no data at the selected period was selected.baseInterval.unit = "day" and baseInterval.count > 1.XYChartScrollbar axes were not handling changes of min/max of chart axes.CategoryAxis could result incorrect zoom in some cases.PictorialStackedSeries on the same chart solved.selectX/selectY/selectXY cursor behavior).am4core.disposeAllCharts function.type of the object set in config and one already existing matches.hands array before axes on a GaugeChart will not result in error anymore. This relates to JSON config only. In object-based setups, clock hands must still be defined after axes.AxisDataItem properties: minPosition and maxPosition. Enable controlling visibility of associated axis element (e.g. label, tick, grid). Overrides minLabelPosition and maxLabelPosition.NumberFormatter was sometimes susceptable to floating-point error when formatting percent formats (#%);DateFormatter could sometimes parse string-based dates wrong when in UTC mode.fill/stroke to a non-opaque Color, alpha setting was being ignored.PinBullet (from Bullets plugin) was distorted if used with image since last release.above property added to AxisTick, Grid, and AxisFill. Allows putting individual elements on top of the series even if all the other grids/ticks/axis fills are below them.bullet property added to AxisDataItem. Allows adding bullets to the axes. You can have both AxisBullet (new class) or a simple Sprite there.AxisBullet. Use AxisBullet which is a container with a location property in case you want to adjust bullet location within cell.NumberFormatter was suffering from floating point number precision issue when calculating big number prefixes.extraSprites with different positions didn’t work.wavedRight, wavedLeft, wavedTop, and wavedBottom properties added to WavedRectangle. Allows to specify which sides of rectangle should be waved.bullet.disabled = true and then specifying bullet.propertyFields.disabled = "fieldName" where fieldName would be a field in your data specifying which bullets should not be disabled (false value).FlagBullet was overriding colors inside its class.FlagBullet now supports negative poleHeight (turns the flag upside down).Container did not have access to Container’s data item so it was impossible to define background properties via propertyFields.Tooltip property: showInViewport (default false). if set to true it will not hide tooltips that point to an off-viewport location. It will be glued to the closes viewport edge instead.MapPolygonSeries now has showInViewport = true set by default.dateFormat set was causing “Invalid date” to appear instead of date column names (since 4.5.6).MapPolygonSeries had only one item set in its include array, it was causing map to come up as empty in some cases.Annotation plugin: data. Allows getting serialized annotation data object, as well as setting it back to load annotations.ExportMenu to protect from icons getting small becuase of the page-wide CSS.exporting.dateFormat set, the date/time fields in data will be formatted according to the set format.XYChartScrollbar with series attached to different ValueAxis were using same axis scale in the scrollbar.wrap = true on horizontal axis labels was resulting weird behavior when zooming in some cases.updateCurrentData added to DataSource. If set to true it will try to overwrite values (resulting in smooth animations) in current data rather than overwriting whole data set.am4core.options.queue = true) the chart will not start initializing until previous chart finishes.am4core.options.onlyShowOnViewport = true) the chart will start rendering itself only when scrolled into view.RadarChart data updates sometimes ValueAxis scale was not being calculated corrently.alwaysShowTooltip was not working properly in some cases.alwaysShowTooltip property added to Sprite. Allows tooltip to be shown without the need for hovering/selecting an element.NumberFormatter now supports "!" modifier which works in conjunction with "a" and "b" modifiers. If used, formatter will force application of a prefix/suffix for values that do not fit into any of the defined prefix lists. This is useful in cases you want to format all of the values using same prefix, e.g. “B” and want even small values to be formatted as such (500,000 formatted as "0.5B").CategoryAxis tooltip could show incorrect category if its renderer.tooltipLocation was set to 0.XYChartScrollbar with series added to it fixed.baseDuration.timeUnit = "yyyy" and StepLineSeries fixed.DateAxis tooltips would show empty near edge of the plot area.CategoryAxis.indexToPosition adjusted to work better with no default startLocation and endLocation values.WordCloud could go into stackoverflow if minWordLenght was set to a number which resulted in no words to appear at all.ForceDirectedSeries were resulting in JS error if inited in a hidden container.visible = false, and then visibility was set back to true again, axis range was not shown.OrderedListTemplate or SortedListTemplate was not being processed correctly as templated lists.clickable/focusable on their respective containers were set to to false."up", "down", "left" and "right" options added to Tooltip.pointerOrientation. Allows forcing constant position/orientation of the Tooltip. Note, the tooltip might go out of div/screen boundaries when using these new orientations.SliceGrouper: groupProperties. It’s an object comprising by key/value pairs to apply to a “group slice”, e.g. grouper.groupProperties.fill = am4core.color("red").Sprite elements, as disposing one was resulting in pattern to be disposed as well.hideOversized was being ignored for HTML-based labels.PieChart series’ legendSettings were shared across all series; it was impossible to set different valueText.CategoryAxis with HTML labels could in result excessive white space at the bottom of the chart.Sprite's fills using fill adapter were not displayed.percent was not being calculated. It will now have a zero.am4core.options.onlyShowOnViewport = true) will not be played for now. Another fix is coming.am4core.options.queue = true) the chart will not start initializing until previous chart finishes.am4core.options.onlyShowOnViewport = true) the chart will start rendering itself only when scrolled into view.Popup now has text color set to ensure it is visible on default background.dataContext of ForceDirectedNodeDataItem was not being populated correctly.MapPolygonSeries was not being displayed properly if GeoJSON contained a single very small polygon.rtl inheritance was not working properly on some elements, e.g. axis tooltips.Responsive events were being triggered.XYSeries.baseAxis using axis’ id.LineSeries was being cut off if div of a chart was more than 20K pixels width/height.axis.disabled = true) its ticks and grid remained visible.minBulletDistance set and the chart was resized so that bullets had to be hidden, some of the bullets remained visible.openCategoryX and openCategoryY data fields were not working properly on XYSeries.XYChart had stacked series and series had both possitive and negative numbers, series were stacked incorrectly if some of the series were hidden.MapChart was not adjusting its size to the container in some specific cases.series.connect = false and a lot of missing values.Rectangle3D was not copying side’s properties when cloning.ForceDirectedLink's data item was not properly set. It is set to target’s data item now.MapChart was not displaying maps of very small countries properly.TreeMap top level had one node only, zoom-out button was not shown after drill-down.startIndex property added to ColorSet. This allows to specify from which color charts like PieChart should start when picking colors for slices.excludeFromTotal property added to XYSeries (default: false). Allows excluding values of particular series when caluclating totals.includeRangesInMinMax property added to ValueAxis.Chart, Axis, Series).TreeMap was completely revamped. Previously it used series as data, but as series were not always created, it failed to render items in some cases. Now it uses TreeMapDataItem of TreeMap.TreeMap legend will now show items of first level which has more than one data item.dataContext of ForceDirectedNodeDataItem will now have the same object as target node’s.responsive.useDefault = false was being ignored.DateAxis with hourly-based data could render some of the labels using date formatter of a changed period even if the period didn’t actually change.MapChart could interfere with event objects of other charts on the same page, even when not directly interacting with it.baseInterval of DateAxis didn’t have count set, the chart failed to render.WordCloudSeries with single label or several labels with the same values was displaying labels using minFontSize.axis.createSeriesRange() was not working with RadarColumnSeries.linkWithStrength added to ForceDirectedSeries.linkWith(node, strength) method added to ForceDirectedNode. Allows adding links without revalidating whole data.unlinkWith(node) method added to ForceDirectedNode.expandAll property added to ForceDirectedNode (default: true). If set to false, only a single level of children will be expanded on click/tap.linkWith data field were not using any strength setting, affecting the layout.maxLevels on ForceDirectedSeries solved.TreeMap, Sunburst, ForceDirectedTree) are no longer exported to “flat” formats (CSV, XLSX).keepTargetHover was hiding tooltip when transiting hover from one Sprite to another.base href set, due to Firefox bug.SunburstSeries with 0 values were producing a JS error.Scrollbar/Slider was always 100%, even if it was set to less than 100%.WordCloud with long labels that did not fit into container could get into infinite loop and never get drawn.GaugeChart instances with axis bands were rendered on a single page, stack owerflow error could happen.XYChartScrollbar and series in the scrollbar forced full-redraw of scrollbar chart which was making it blink.ColumnSeries3D columns was incorrect in some cases.ColumnSeries were broken since 4.4.5.dataFields setting.showSystemTooltip = false on a Scrollbar now correctly disables tooltips on its thumb and grips.ForceDirectedSeries was changed for the second time, the old links remained visible.ForceDirectedSeries nodes reduced. Results in a better initial animation.addData() method to a chart with XYChartScrollbar was resulting data to be added twice.XYChart sometimes could fall into infinite loop.Tooltip.ForceDirectedSeries was changed the old links remained visible.rangechangeended with skipEmptyPeriods enabled was triggering “Cannot read property ‘getTime[ of undefined” exception.SunburstSeries, and columns of TreeMapSeries were not taking propertyFields/configField from data.Regression plugin: two new settings - simplify (simplifies output data for faster performance) and reorder (orders data in a horizontal linear fashion for scatter plots).arrangestarted, arrangeended, and arrangeprogress events added to WordCloudSeries. Allows showing preloader while building the chart.keepSelection behavior extended. Now it will keep ValueAxis selection while scrolling a perpendicular DateAxis or CategoryAxis.Regression plugin: fixed issue with gaps in data.CategoryAxis out of range, the axis could pan back with one less category in the range when released.bent = true on AxisLabelCircular were positioned incorrectly on RadarChart's Axis ranges.ValueAxis (less than 0.00000001).WordCloud was hidden while arranging words, and then unhidden, the words would overlap in some cases. Arranging of words now stops if container is hidden during the process and resumes when it is unhidden.<base href> some elements were being drawn incorrectly.Label: baseLineRatio (default -0.27) controls how “base line” for a label is calculated, and affects positioning of text. The default might not work for all fonts, so this setting can be used to adjust it for precise positioning.Sprite: "dragged". It kicks in right after "drag" and can be used to manipulate or correct element’s position, which might not be possible using "drag" which has built-in position-altering handlers.ValueAxis could display non-rounded numbers (caused by floating point problem) sometimes.maxPanOut of MapChart was being ignored.RadarChart with multiple RadarColumnSeries with Y as base axis was displaying columns of a 2nd+ series from wrong position.chart.dispose() with a lot of data was very slow. Now it’s super fast.XYChart.chart.invalidateRawData() was called.propertyFields set on a LineSeries with no data fixed.relativeRotation of AxisLabelCircular to undefined didn’t work.CSVParsing for parsing external data, skipRows will kick in first, removing X rows from the beginning of data, then useColumnNames will use the first row of what’s left.MapChart used to pan itself when it was zoomed in, tapToActivate enabled, and was tapped.XYChart while it was initializing could sometimes result in a JS error.DateAxis and Series not having dates at certain data items fixed. It was cousing problems with multiple date axes mostly.tapToActivate (default: false). If set to true it will not react to touch drag gestures until user taps on the chart. More info.dragGrip. It’s a grip that, when enabled, will allow scrolling the page even if the chart functionality does not permit it, e.g. with chart cursor or MapChart. More info.NumberFormatter in charts was ignoring locale settings.TreeMap could crash across data update.XYCursor with "panX" behavior would not allow panning the chart completely to the edge of data.startendchanged event added to Component. Fired when start or end is changed. Unlike startchanged/endchanged this event is fired not immediately but at the end of a cycle.Sunburst chart’s defaalt radius set to 95%.TreeMap could produce a JS error if data was changed during interaction with the map.Component.addData() called before chart was initialized, error happened.DateAxis-based chart with single data item got into infinite loop if startLocation and endLocation were set to 0.5 or strictMinMax was set to true.DateAxis axes.DateAxis and no animated theme was not properly zooming with scrollbar.XYCursor will now remove series/axes tooltips that might be currently displayed because of it.SliceGrouper setting: syncLegend (default false). If set to true the legend will be updated dynamically to show only those slices that are currently visible.Regression: new property result will store all the results including formula and caculated points.Regression: plugin now has events which can be used to attach event handlers such as "processed".Animation was failing when source value was string (i.e. “auto”) and target value was number (i.e. 10).List were not being their properties set.MapChart sometimes could place Map images at incorrect positions.propertyFields.url was forcing pointer cursor on all objects from the same template, even if they did not have url set.TreeMap.getPoint() method of XYSeries is now public.startAngle/endAngle before adding PieSeries was causing it to not be drawn.bullets now accepts objects that are simple Sprite elements, not just Bullet types. This means you can add Circle as bullet (or any other element), to dramatically improve performance on bullet-heavy charts.hideOversized for LabelBullet changed to false.CategoryAxis.SliceGrouper plugin will now not add “Other” slice if there are no slices below threshold or no data at all.SliceGrouper now supports dynamic data updates.ColorSet.reuse = true was working incorrectly for PercentSeries.timezoneOffset property of the Date Formatter was causing all minutes to be formatted as zeroes.SliceGrouper (allows automatically grouping small slices on any PercentSeries, e.g. Pie, Funnel, Pyramid, or Pictorial Stacked). More info.centerStrength default was changed to 0.8 in ForceDirectedSeries.DateAxis.FunnelSeries’’ labels were out of bounds sometimes.Regression plugin was not working when data was set directly on Series.PieChart3D improved dramatically.ForedDirectedSeries properties minRadius and maxRadius can now be set in Percent.ForceDirectedLink.strength changed to 1 to avoid initial shaking.ForceDirectedSeries.manyBodyStrength changed to -15.ForceDirectedSeries properties minRadius and maxRadius changed to 1% and 8% respectively.ForedDirectedSeries the same color was being reused for top-level node and first child node.ForedDirectedSeries data items via data.ColorSet setting reuse = true was acting incorrectly.ForceDirectedTree. More info. Also check bundled examples: force-directed-tree, force-directed-tree-expandable, and force-directed-network.CategoryAxis property: positionToCategory(position).TreeMap was erroring out since 4.3.6 unless “animated” theme was enabled.TreeMap's legend with default markers valueLabels was not working on first load.DateFormatter property: timezoneOffset. Set it to a number of minutes (to UTC) to recalculate all date/time to a specific time zone.DateFormatter will now use locale information for its default date format set in dateFormat. Format in default “International English” locale did not change, and remains at "yyyy-MM-dd". Other locales might or might not produce different date formats.ValueAxis scale calculation algorithm when min/max is set."hit" event is now added on FlowDiagramNode template instead of the class itself. This allows disabling default toggle/drag behavior and replacing with own events.Popup.draggable was being ignored.Series.legendSettings.itemValueText was being ignored when cursorTooltipEnabled = false. #1141LineSeries segments where happening at wrong position.legend.valueLabels on TreeMap did not work.panBehavior = "rotateLongLat" could cause a JS error.TreeMap data after chart size changed could cause zoom-out button to appear.TreeMap when animation was playing could result in a JS error.strokeLinejoin (“miter” | “round” | “bevel”) and strokeLinecap (“butt” | “square” | “round”) added to Sprite. More info.MapChart method zoomToMapObject() was not functioning properly since 4.3.4.LineSeries with bullet and hidden = false in init was causing the whole chart to break.MapChart fixed.MapPolygonSeries.geodataSource was not working.MapChart was not showing data if geodata was set later than data on series.DateAxis, the first ones could have been ignored.legend.itemContainer.template.togglable was set to false, Legend item was stil togglable.GraticuleSeries unders some conditions.ValueAxis were showing wrong values.ValueAxis.MapChart position was not correct if padding was set.MapChart dispose error fixed.MapChart can now use any projection supported by d3-geo. Projection.d3Projection property added and you can set any d3-geo projection using it, like: mapChart.projection.d3Projection = am4maps.d3geo.geoConicEquidistant();.mapChart.projection = new EqualEarth()).deltaLatitude, deltaGamma added to MapChart. Together with already existing deltaLongitude allows rotating maps in any possible direction.panBehavior property added to MapChart. Values: “move” (default), “rotateLat”, “rotateLong”, “rotateLongLat”. Indicate what should happen when map is dragged.ignoreBounds added to MapSeries. Specifies if this series must be included when calculating bounds of the map.calculateVisualCenter added to MapPolygonSeries. Specifies if map polygons should calculate their visual center. Visual center is good for placing labels.visualLongitude and visualLatitude getters added to MapPolygon. They return coordinates if calculateVisualCenter of series is set to true. You can also set them manually.getCircle() and getBackground() methods added to MapUtils.Graticule and GraticuleSeries classed added. Those allow creating graticules (map grid).backgroundSeries added to MapChart. Allows creating a map-shaped background fill.day-night-map and morphing-countries demos we changed to work properly with new version.HeatLegend to MapChart its valign = "bottom" is no longer set by default. Set it explicitly if you need legend to bottom-aligned.rtl setting was not being inherited properly.CategoryAxis was breaking down after dynamic data update since 4.2.4.minPolylinestep added to global am4core.options. Setting to bigger value (default: 0.5) allows simplification of multi-point lines.useSimplifiedExport (default: true). Setting to false will force use of external library (canvg) for all exports.XYCursor with pan behavior used to remain in “grabbing” mode after click on zoom out button.DateAxis no longer ignores renderer.tooltipLocation.autoGapCount added to LineSeries. If connect = false and distance between two data points is bigger than baseInterval * autoGapCount, a line will break automatically.IPlugin now accepts Optional<Sprite>.XYCursor will not longer obstruct page scroll if its behavior is set to "none".geodata by name (e.g. “worldLow”) directly in MapSeries was not working.ColorSet objects was not working properly.DateFormatter was not parsing dates like “20180101” (no separators) correctly.DateAxis and milliseconds fixed.dataItem.locations.dateX on LineSeries was not working properly.ExportMenu set, was resulting in error.DateAxis could mistake yearly data for monthly data if baseInterval was not set explicitly.location on Y axis was being ignored.XYChart.strictMinMax and single data item fixed.valueY (or any other value) wasn’t working in legendSettings.itemLabelText.cursorHoverEnabled added to XYSeries. Controls whether to trigger hover state on columns/bullets of the all series under hovered category/date.plugins property on all Sprite. More info.ExportMenu setting: closeOnClick (default true). Will force export menu to close when export is initiated.DateFormat will now parse even partial dates, e.g. format "yyyy-MM-dd" will parse "2018" correctly, and will assume Jan 1st.getImage()/getSVG() will now correctly omit exportable = false elements.minBulletDistance set fixed.DateFormatter's parsing functions for string-based dates.DateAxis issues with certain timezones fixed.<base> tag (mostly affects Angular).NumberFormatter did not have a public accessor to set negativeBase.CategoryAxis: frequency. Indicates every X label is shown.Export property: extraSprites. May contain a list of references to other Sprites (e.g. external legend or even other chart) to attach to exported image. More info.aria-checked incorrectly.readerHidden attribute accordingly.children with an array value was duplicating elements.--prod mode.ValueAxis issue with animation when there’s only single data item.Tooltip proprety: keepTargetHover - will make target element hovered as long as its tooltip is hovered, good for bullets and map images.Tooltip proprety: targetSprite - contains reference to element this tooltip is displayed for, if any.PictorialStackedSeries properties: startLocation and endLocation - allow setting relative start and end positions of the shape to fill.FunnelSeries/PyramidSeries/PictorialStackedSeries property: labelsOpposite - allows controlling which side of the series to show labels when alignLabels = true.MapPolygon default value of nonScalingStroke is now set to true (as false).WordCloud chart it now uses smaller side of the series area instead of height.Tooltip's label paddingBottom default value changed from 6 to 4 pixels for better centering of text.baseInterval = "year" on a DateAxis could cause stack overflow.minFontSize in WordCloudSeries to 2%.maxFontSize in WordCloudSeries to 20%.WordCloudSeries.rotation != 0) of the vertical and horizontal axes no longer have their verticalCenter and horizontalCenter overridden by renderer. This gives more freedom for positioning rotated labels.exportable = false was not working when set on various Series item templates.Sprite property: baseSprite. On objects, even deep in hierarchy it will contain a reference to the main chart object.min/max calculation algorightm updated.DateAxis and multiple series with same-date data items, bullets could sometimes disappear while scrolling the chart.DateAxis with yearly granularity could sometimes show wrong year.data with less data points was sometimes resulting in JavaScript error.DateAxis labels/ticks/grid was not placed in the correct position if baseInterval.count > 1 and location > 0.ZoomControl value of layout was not working correctly.ListTemplate, e.g.: titles: { template: { ... }, values: [{ ... }] }. Specifying it the old way will still work.DateAxis will now pay attention to dateFormatter.firstDayOfWeek when grid is in “weekly” mode.proprtyFields on a LineSeries sometimes could result in an error. (fix by @AndiLi99)scale in image export options was being ignored.cursor.snapToSeries was not working in JSON configs.DateAxis and cursor moved out of plot area.snapToSeries was enabled in XYCursor, vertical line was not shown.DateAxis sometimes could show date/time in UTC even if not explicitly enabled.Sunburst!Sprite adapter: criticalError. Takes Error object as an argument. Modify it’s message property.<base> since 4.1.5.DateAxis was not positioning elements properly when spanning switch to/from daylight savings time.valign property of the horizontal axis labels now work properly.contextMenuDisabled (default false) added to Sprite. If set to true it will prevent context menu (such as one displayed on right click) from displayed.data on ColorSet will now automatically reset iterator."rightclick" event was essentially not working.DateAxis.gridInterval accessor added. Returns current grid interval.useTheme() with the same theme multiple times used to cause that theme applied multiple times as well.ValueAxis would not zoom-out to show new selected range when data was updated.totalPercent was not properly calculated with negative values.ExportMenu items will be revalidated if data of the chart is updated. This helps avoid missing “Data” export items in menu if data is loaded later than the chart itself.TreeMap data change performance improved.ZoomControl (layout = "horizontal") button text vertical align fix.Sprite property strokeDashoffset added. Can be used in conjunction with strokeDasharray.Label has two new properties: path and locationOnPath. If set, will layout the SVG text along a curvature of the SVG path. HTML and multi-line text is not supported.AxisLabelCircular new property bent added. If set to true, the label will be bent to follow the curvature of the circle. Distance from the circle can be adjusted using radius and label.paddingBottom. For PieSeries the alignLabels need to to be set to false for this feature to work.DateFormatter was not taking UTC setting into account.MapLine elements were not respecting nonScalingStroke = true until zoom level changed.DateAxis.keepSelection added to ValueAxis (will work on DateAxis too). With this set to true, axis will keep the relative selection when data changes (is updated). This is useful for “pre-zooming” a date axis: just set it’s start property (e.g. axis.start = 0.8).ValueAxis has strictMinMax = true set but min and max are not set, axis will fix the min and max and real high/low values.cursorTooltipDisabled = true was not working properly in some cases.MapLineObjects used to appear on map lines.XYChart are now possible. Check new example in examples/vertically-stacked-axes.simplifiedProcessing moved from ColumnSeries to Series. If set to true (default false) the chart will not auto-calculate derivative values for data items, like sum, average, change, etc.nonScalingStroke (broken in 4.0.23) fixed.PieChart3D property angle is now limited to 0-90 range.LabelBullet was not showing text on RadarChart without some additional tweaking.PieSeries, FunnelSeries were not positioned properly.PieSeries3D were not being positioned properly if alignLabels = false and label.radius < 0.alignLabels = true.MapLine on zoomed MapChart ignored nonScalinStroke = true until zoom.ColumnSeries with strokeOpacity > 0 could leave lines at the beginning/end of the plot area when zoomed-in.fontSize, textDecoration and some other Label-related properties were not working properly.PercentSeries.MapChart was drawing only 109 MapLines in some cases.MapLine tooltip was not being positioned properly.invalidateRawData() was called for a chart with a DateAxis while it was zoomed-in, the chart was not keeping current zoom.columns of ColumnSeries were not being cleared when data was updated.propertyFields.fill/stroke was not respected when value was outside zoom range.PieChart3D were misaligned.Preloader of a second and any subsequent chart on the same page was not being centered.PercentChart legend markers where black if legend.useDefaultMarker = true.PercentChart legend markers could blink black initially before obtaining true color.HeatLegend with markersCount > 2 was being drawn reversed."strictFunctionTypes": false, thanks to goloveychuk for their help.name to a number with percent sign was resulting in breakage of the whole chart.ColumnSeries was failing with an error when data was updated.MapLineSeries with direct data set were somewhat broken since last update.MapChart (and other charts if data is empty).dummyData were not being set properly.Legend was enbled was resulting in error.SmallMap viewport indicator rectangle was positioned incorrectly.SmallMap was not moving map to corthis.component.rect location.MapLineSeries.sv_SE.color property added to LegendDataItem. Can be used for coloring label or valueLabel text like text = "[{color}] {name}".minZoomCount added to Component.durationFields and durationFormat settings.useLocal is set to false.legendSettings was being ignored initially if legend was in external container."YYYY") was not being properly calculated.zoomStep added to MapChart. Allows controlling zoom in/out speed.Series.hidden did not work as expected.height to a relative value for a horizontal ColumnSeries column template was not working propertly."disabled" and "enabled" events added to Sprite.cursorTooltipEnabled added to XYSeries If set to false cursor will not trigger bullet/item tooltips on series.axis.ticks and axis.axisFills by default. Previously to enable them you had to set their strokeOpacity and/or fillOpacity to non-zero. This no longer will work. You will need to set disabled to false instead.axisRanges now take their default values from dateAxis.axisRanges.template items (axisFill, grid, tick, label). Previously they were using the defaults from dateAxis.renderer.label etc. This was not comfortable and counter-intuitive.XYChartScrollbar's value axis was calculating min/max with a very big step.MapChart mouse wheel zoom direction was inverted on some browsers.DateAxis items.snapToSeries was set for a tooltip, it was flickering a lot on slower browsers.alignLabels = false on a PieSeries3D was causing labels to be positioned incorrectly.PieSeries.dataFields.radiusValue was not accounting for chart.innerRadius.alignLabels for PieSeries did not work correctly.itemValueText only worked if valueText was set.ValueAxis setting maxZoomFactor = 1 was not working as expected.ValueAxis scale going into negative.geodataSource had events set, it was producing error.DateAxis was not rounding intervals properly, could display grid at 15:01, 15:31 etc.snapToSeries added to XYCursor. Allows setting series to which cursor lines should be snapped. Works if one of the axis of the series is DateAxis or CategoryAxis. Won’t work if both axes are ValueAxis.emptyAs added to both CSV and Excel export options. If set, missing values will be replaced with this value (default is empty string)."beforedisposed" added to Sprite. Kicks in right before the element starts to dismantle itself.dataFields specify it will now look for fields in all of the data, not just the first line.applyOnClones = true.Container's setStateOnChildren will now propage to the new value to its existing clones if applyOnClones = true.deepInvalidate() is called on Container, it forces labels to redraw.filters on SpriteState is now List (was ListTemplate). It’s better for performance which does not require creating Filter template object.List items were not being applied properly.dataFields setting, and will replace missing values with emptyAs (new options setting).DateFormatter was not parsing "i" format as local timezone, rather than UTC.Rectangle element in them were not positioned properly."undefined", it was messing up label positions on CategoryAxis.undefined.PieChart and RadarChart improved dramatically under IEs."ready" event was not being fired.FunnelSeries with 0 (zero) value slices was not rendered correctly.currentStep added to ColorSet. Allows setting current position of the color iterator.Sprite properties: inertiaOptions, hitOptions, hoverOptions, swipeOptions, keyboardOptions, cursorOptions.nonScaling of AxisLabel is no longer set to true by default, to improve performance.ValueAxis was not updating its scale if series was hidden and animated theme was not enabled.XYChart with all values equal was broken.XYChartScrollbar sometimes was not visible initially.ColumnSeries was drawing 1px line for null value data items.DateAxis’ snapTooltip = true was working incorrectly with skipEmptyPeriods = true.ValueAxis with axis breaks was resulting in stack overflows.adapter: [{...}, {...}]), was not working.children via array syntax was not working properly.Container elements can now be created via JSON config.dataFields in Export was only affecting column names. Values for all data fields were still being included in export.snapTooltip with default value true added to DateAxis. Cursor will snap to the nearest date at which series has values.showOnInit set to false for TreeMapSeries.TreeMap, when series is toggled off, remaining series will be resized to take up freed space.snapTooltip added to XYSeries, with default value false. If set to true, the series will show nearest available tooltip when cursor is over plot area.DateAxis interval detection improved.DateFormatter will now automatically format “negative” year values to “BC” (era) format. So not "-1000", but "1000BC". These are translatable via language.DropShadowFilter of the tooltip removed. Instead it is now applied on background of tooltip. This helps to avoid text distortion.HeatMap charts were ignoring scrollbars.DateAxis was not properly placing labels if location > 0 and grid interval was bigger than one time unit.DateAxis with very big date difference (thousands of years) displayed too many grid/labels/ticks.DateAxis interval detection improved. Previously it detected intervals like minutes, hours, days, years. Now it will detect intervals like 15 min, 30 min, 5 days etc. This can still be set manually using axis’ baseInterval property.zoomLevel and zoomGeoPoint properties added to MapSeriesDataItem and IMapSeriesDataFields. If set, these settings instead of automatically-calculated will be used when zoomToMapObject() method is invoked.verticalCenter and horizontalCenter is no longer applied to rotated axis labels. If you are setting rotation on axis labels, make sure to adjust these settings as well as per your requirement.axis.renderer.inside was ignored if set after chart was already initialized.align of the a sprite was ignored if set after it was already initialized.TreeMap segment tooltip was positioned incorrectly after drilling down and back up.min/max of ValueAxis was not being updated after invalidateRawData() call, and series were stacked.ChordLink bullets were not properly positioned on init.DateAxis was not working well if baseInterval.count > 1.am4core.options.defaultLocale. When set, all new charts will automatically assume that locale, freeing you from setting locale for each chart individually.reverseOrder added to Container. Allows reversing order of its children.Legend of a MapChart from chartAndLegendContainer to chartContainer. In order to position legend on map chart, use legend.align / legend.valign properties.showOnInit on any Series is now false. Except if you are using “animated” theme, which sets it to true by default.type: "Sprite" in JSON config was not creating elements properly.hiddenInLegend on Series after chart was already built had no effect.setInterval() on all base objects added. Works exactly like JS’s setInterval but is automatically killed when target object is disposed.am4core."label" adapter from Axis.text property of AxisDataItem was not being copied to clones.min/max of ValueAxis fixed."panning" event only if moved by at least 3 pixels. This solves problem with panning on click.extraMin/extraMax were set on ValueAxis, some unnecessary zoom used to happen.DropShadowFilter will now always use balck by default instead of "alternativeBackground" from the theme.hiddenInLegend = true on Series was causing the chart to hang./src/./src/lang/. If you need to make a translation, do a PR on those files/dir."ready" event was producing unnecessary frame requests."ready" event added to Sprite. Sprite fires it right after "init" event. Container fires it when all of its children are ready.system.isPaused property added. Setting it to true will effectively pause any chart activity, making them completely static.ErrorBullet class added. Allows drawing error charts. (Check error-chart and xy-error-chart examples for code samples)cursorOverStyle and cursorDownStyle are not supported.ColorSet properties baseColor or list was not working properly.labelled-by.Label.wrap was breaking lines mid-word even if there where words that would fit into alotted space.Animation was not firing "animationended" event (when elastic easing was used).exportable (default true) property added to Sprite. If set to true this element will not appear in the exported image of the chart.exportable is now set to false by default on Scrollbar grips, zoom out button.dateFormats was being ignored.hideOverflow added to SVGContainer class. If set to true it will apply overflow: hidden to chart container so that all chart elements are contained within. Default is false, except on MapChart, which has it at true.hide()/show() functions.chart.addData() was not adding data to XYChart scrollbar series.forceCreate property added. If found in an item of an array, it will force creation of the new object, even if object with same index already exists in target List.HeatLegend was erroring if its series property was referencing to Series by id.id set was not clearing it from id map properly resulting in errors if item with the same id was being added later.SankeyDiagram was not taking chart’s padding into account when sizing itself.deltaLongitude was being positioned incorrectly.PieChart label placement with custom startAngle/endAngle was sometimes off.show()/hide() were using interpolationDuration setting instead of defaultState/hiddenState transition duration when showing/hiding.chart.hiddenState.properties.opacity is no longer set to 1 by default. Removed this in order it to be 0 so that charts using animated theme would always fade-in.ValueAxis (removed unneeded animations).homeGeoPoint.MapLine with same source and destination point was resulting in error.goHome() on MapChart was not working properly.projection change on MapChart was not working properly.DataParser property type was renamed to contentType in order not to conincide with JSON-based config built-in keyword type."{percent}" placeholder in tooltipText of HeatMapSeries items.MapChart issue with dragging map by touch on hybrid devices.ColumnSeries3D were broken since last release.axisFills.template.interactionsEnabled is now set to false by default. If you need to attach events on an axis fill, you will need to set it to true.autoDispose property added to Series and Axis classes with default value true. This means that series/axis will be automatically disposed when removed from chart’s series, xAxes, or yAxes lists.clustered = false on series).ValueAxis could show zero label with a minus sign.MapLine were not drawn.TreeMap diagram.axis.tooltipPosition = "pointer" was not working as it should - always follow the mouse/pointer.data set directly, it was still using chart’s global data, resulting in combined datasets and potentially visual anomalies.cellStartLocation did not have any effect on an already inited chart.depth/angle.XYSeries if the itemReaderText is not set explicitly, it will automatically try to fill with values from dataFields, so that each series element, like a Column has at least rudimentary screen-reader text.ColumnSeries with two category axes anomaly fixed.dispose() on a TreeMap was causing an error.false.addData() with more than one data item added was not working well.Legend.position was not updating its layout properly.display: none) container, then revealed (display: block).PyramidSeries was not visible for certain widths.Legend to a chart that had series with bullets using heatrules was causing an error.SlicedChart.PyramidSeries were not centered (when alignLabels = false).PictorialSeries was very jumpy.position and rotation of labels in PyramidSeries was not working properly.tooltip.defaultState.transitionDuration and tooltip.hiddenState.transitionDuration default values of animated theme set to 400.Cursor was preventing hovers on series’ elements like columns or bullets.XYChart3D.XYCursor movement issues.tooltip.hiddenState.transtionDuration and tooltip.defaultState.transitionDuration are now set to 1 (on non-animated theme) to avoid some tooltip flickering.interactionsEnabled = false set by default to avoid double events. If you need to add events to these particular elements (as opposed to the whole legend item), you will need to set interactionsEnabled = true on that element.show() on a MapSeries object was resulting in an error.minBulletDistance is set.shouldClone flag added to EventDispatcher's on and once methods. Can be used to restrict cloning of events when object itself is cloned.showOnInit property added to Sprite. If this is set to true, the Sprite, when inited will be instantly hidden (“hidden” state applied) and then shown (animate properties form “hidden” state to “default” state). Animation will take defaultState.transitionDuration. Series, Chart classes has this set to true, so that they would perform initial animations. If you want a sprite (chart, series) not to be shown initially, you can set Sprite’s hidden to true. (setting sprite.visible = true won’t work as expected anymore).series.hidden = true instead of series.visible = false."hold" and "rotate" interaction events and releated options and functionality, since they weren’t used anywhere."delayFirstHit" option from Sprite.hitOptions.chart.defaultState.transitionDuration is set to 1. This allows the chart to appear one frame after init and helps to avoid various flickers that happen while chart is building. Animated theme has this value set to 2000.PieSeries labels sometimes were positioned incorrectly (using non-default start/end angles).RadarChart) were not drawn if radius <= 0 (even if innerRadius > 0). This resulted in radar columns not rendered in some cases.MapChart was not resizing properly when div size changed.PictorialStackedSeries, while containerdiv was resized did flicker a lot.chart.data = [] was not clearing data properly.PieChart could overlap its legend.PieChart flicker after invalidateData fixed.url set, when clicked, it will now parse for data placeholders in curcly brackets, e.g. "{category}" allowing have dynamic data-driven URLs. Note, the elements are not url-encoded so you need to specify encoding manually, e.g.: series.columns.template.url = "https://www.google.com/search?q={category.urlEncode()}";.Label.fullWords = false was not working properly.AxisLabelCircular was positioning labels incorrectly, if label.radius was negative (since 59)."grid" layout in Container was incorrectly layouting elements if their width was set in percent.Cursor was used)."hidden" data field added to series’ dataFields. Removed "visible" data field from PercentSeries. You should use "hidden" data field to set which slices/columns/etc. are hidden initally.AxisLabelCircular's radius can now be set in Percent. PieChart's label radius default value was set to 5%.fillModifier was not applied if set after fill.seriesContainer disabled, or when seriesContainer's height/width was 0, could produce a JS error.widthRatio and heightRatio properties on Image.ExportMenu's “custom” items can now have "callback" which is a function to call when clicked on such custom item.PieChart now move with the slice (if alignLables = false).requestAnimationFrame now is called only when needed. This reduces idle CPU usage.m4core.color() result caching issue.Tooltip on LineSeries was not updating color if segment changed color.MapChart without any series was displaying an error in console.renderer.inside = true.StepLineSeries startLocation/endLocation bug fixed."hover" state was not being applied to series’ bullet if it did not hav tooltipText set.bulletLocation for horizontal ColumnSeries fixed.Legend were not in correct positions if Legend was positioned at the top or bottom (too close to legend label).Chart) now will apply “hidden” state right after they are validated, then immediately “default” state. This allows creating initial animations such as fade-in (if using animated theme). All you need to do is set: chart.hiddenState.properties.opacity = 0;.MapChart.Sprite to Container.children directly (instead of setting parent) used to produce a JS error.Sprite adapter: "populateString". Applied to strings after Sprite replaces data binders with real values, but before any formatting by Label kicks in.Label property: ignoreFormatting. If set to true will treat formatting blocks in square brackes (e.g. "[red bold]") as regular text and will display them as such.NumberFormatter are now translatable via locale files.XYChart, default for mouseWheelBehavior changed to "none" (was "zoomX").MapPolygonSeries will not inherit chart’s global geodata if it has own geodataSource set.DateFormatter was not parsing all AM/PM string dates correctly.DateFormatter was not parsing MMM (short month names like “Jan”, “Feb”) propertly."{dateX.formatDate()}".chart.mouseWheelBehavior = "none" did not release wheel scrolling of the web page when hovering over chart.DataSource's’ "done" event was being called if parsing of loaded data failed. Not anymore. "done" is called only on successful load. To catch any load (including one that ended in http or parse error) use "ended".DataSource's’ reloadFrequency was broken if error occurred during one of the loads. This has been fixed. Even if error occurrs, loader will try to reload data in the next reload slot.heatRules did not work properly with their target set to a list template, e.g. mapPolygons.template.DateAxis.baseInterval was not being carried over to the XYChartScrollbar.DurationAxis scale sometimes was dropping to negative values, even there were no negative values in data.PieChart and Legend were not working properly with chart.zoom() or legend.zoom() methods.SlicedChart: PictorialStackedSeries. (check pictorial-stacked-chart and pictorial-stacked-chart-horizontal demos)logo. If you are using amCharts with a free license, it holds reference to amCharts logo. Use it to position logo with align and valign properties.FunnelTick properties: locationX and locationY. Allow specifying a relative location within target element where tick is pointing to.FunnelChart was renamed to SlicedChart. The previous name did not correctly represent capabilities of the chart type that can display not only funnel series, but also pyramids and stacked pictorial series. FunnelSeries remains as it was before.ColorSet.CSVParser was not parsing dateFields and numberFields correctly.LinearGradientModifier was not copying gradient properties to clones (since last version only).FunnelSlice sometimes rendered slice edges with no anti-aliasing.sliceConnector was not being taken into account.label.renderingFrequency back to 1 to solve some unwanted label flickering.MapImage items were not showing if added via series.data (since last version only).durationFormat on DurationFormatter. If set, it will force this format to be used, instead of one determined by baseUnit.CurvedColumnSeries added. Allows having columns as curves or as triangles. Check curved-column-chart and triangle-column-chart in examples folder.RadialGradientModifier class added. Allows building more donut-like pie charts. Check semi-circle-donut-chart in examples.FunnelChart, which can show regular FunnelSeries and PyramidSeries.DurationAxis. Values on it are treated and formatted like time durations.extraMin and extraMax properties added to ValueAxis. Can be used to relatively adjust calculated minimum and maximum scale values.Container: contentWidth and contentHeight. Will hold width/height in pixels of the actual dimensions of elements in Container.DurationFormatter now uses TimeUnit for its baseUnit, rather than arbitrary codes.durationFormat property was removed from DurationFormatter. Use getFormat() method to get correct format instead, then pass in to format().CategoryAxis) if there is no value for this category (used to show tooltip if it had some extra text).valueLabel values were not shown on chart initial render.XYChart did some additional animation even after all series finished animating, causing zoom-out flashing briefly.XYChartScrollbar was not showing series if data to the original series was added later (or changed).XYChartScrollbar if all values were equal.multiGeoLine set) was resulting in critical error.Label.renderingFrequency to 2, for better performance.DateAxis.baseInterval was ignored in JSON-based configs."hoverActive" state was not always being correctly applied.stroke, fill, strokeDashArray, etc.) in data have changed. It used to start new segment if properties in data were defined resulting in reduced performance and disabled smoothed lines.fontSize changed.Sprite.nonScalingStroke = true was ignored if set after Sprite.strokeWidth.LineSeries could leave some garbage lines while zooming.ColumnSeries could leave some garbage columns while zooming.DateAxis with one date only in chart data was not rendered properly.ghostLabel to Axis which is an invisible label and it helps to avoid unwanted changes of axis widht/height when the scale changes, e.g. on zoom.zoomToMapObject, if used with MapPolygon and custom zoomLevel was not working properly."hidden" event of Series was called on initial chart initialization.am4core.unuseAllThemes() method added. Any chart created after this method call will not have any theme applied to it.am4core.registry.baseSprites will now hold all active (non-disposed) instances of top-level elements, such as charts.startLocation/endLocation properties added to CategoryAxis (previously available on DateAxis only). Allows to specify location the first and last cells of the axis should start on respectively.innerRadius of a Slice can now be set as Percent (e.g. am4core.percent(50)).radius property) on Pie series (if you have more than one, you might want one to be larger and another smaller).MapLine.imagesToConnect now accepts an array of string IDs that can reference images by their id property.tooltip inheritance so that it checks for virtualParent rather than direct parent. E.g. series’ bullets use series’ tooltip and not chart tooltip as it was before.addData() more than once before data was validated resulted only last data item to be added. (Issue #222)DateAxis.baseInterval was ignored if data was set directly on series.MapLine was not paying attention to the properties set on template.HeatLegend was not updating its label count after its size changed. This could have been resulting in very few labels if initial container (div) size was small.MapChart was incorrectly positioned after container (div) resize."name" in GeoJSON were overriding same properties in MapSeries data. Now, the values specified in data are used over ones in GeoJSON. (Issue #307)axisRange.label.text. (Issue #308)callback property, which if it holds a reference to function will call it within the scope of the object being prepared.url and urlTarget properties.mouseWheelBehavior on XYChart (see next point)mouseWheelBehavior added to XYChart. Options: "zoomX" (default), "zoomY", "zoomXY", "panX", "panY", "panXY", "none".mouseWheelBehavior added to MapChart. Options: "zoom" (default), "none".Cursor's triggerMove() method was changed from boolean to enumeration of “stickiness” level: "hard", "soft", "none" (default).Popup object was being disposed.XYChart did not disappear after mouse button was released outside chart.MapChart was rounding lat/long coordinates too much which was resulting in pixelated maps for small-area maps.useWebFonts setting in Export. Allows disabling of download of web fonts when exporting.useRetina setting in Export. Images are now exported scaled up on retina displays by default. Set useRetina = false to disable.useRetina = false to disable.urlTarget was not carried over from ListTemplate template to new items.OHLCSeries.goHome() method added to MapChart. Calling it will reset map to homeZoomLevel and homeGeoPoint.homeGeoPoint added to MapChart. Allows setting initial geoPoint at which map will be centered.homeZoomLevel added to MapChart. Allows setting initial zoomLevel.maxPanOut property added to MapChart, with default value 0.7. It prevents map to be dragged out of the chart area.noRisers property added to StepLineSeries. It allows step line chart without vertical (or horizontal, depending on orientation) lines.startLocation and endLocation added to StepLineSeries, that allow controling locations at which step should start/end.maxPrecision added for ValueAxis. Use it to restrict Value axis to show value labels with less than desired precision (set 0 if you only want integers).Cursor will now not move if there’s some element obstructing the chart’s plot area, e.g. a popup or some other element outside the chart.children property of Container-type objects was not being processed correctly.aria-label automatically if title is set.MapImageSeries and MapLineSeries used to result runtime error.TreeMap.homeText was not working.TreeMap used to display upper level bullets/labels when drilled-down.TreeMap had issues with hiding items using legend (when not using animated state).Sprite state name added "hoverActive" which (if defined) is applied on active elements on hover. This state is applied last in the chain.DataSource: keepCount. If set to true incremental updates will remove data items from the beginning of the current dataset, when adding the newly-loaded ones.DataSource: incrementalParams. It’s an object whose key/value pairs will be added to URL as parameters when DataSource is making an incremental load request.Popup (and Modal) now have an event dispatcher (events) with two events: "opened" and "closed". (more info)itemContainers.template.togglable = false, which disables default functionality of toggling items when clicked in legend, allowing users to attach their own funcitonality to legend item clicks.chart.legend.itemContainers.template.togglable = false.XYChart with a DateAxis, cursor and data at irregular intervals will now display a Tooltip for nearest available series’ data item.zoomToCategories method of CategoryAxis now zooms to the end of the “to” category.urlTarget of amCharts logo is now "_blank".DataSource the formatters inputDateFormat was ignored.DataSource was not working.XYCursor lines and axis tooltips were not shown if chart did not have any data (data was set directly on axis/series).TreeMap now supports legend. Legend will be displayed if a) TreeMap data is at least two levels deep (legend displays items from a second level); b) chart.maxLevels is set to 2 (without setting it no second-level series are created so legend does not have anything to build itself from). More info.DateFormatter will now automatically capitalize month/weekday name if it’s the first (or only) word in resulting formatted date. This can be turned off by setting formatter’s capitalize to false.@deprecated commented out methods/properties that were confusing tslint.$net.load() options parameter now supports responseType. If set to "blob" will return response as Blob object in result.blob.strictMinMax = true and issue with min/max when axis size was very small.@import, such as Google Fonts.ColumnSeries will no longer gain focus on click/tap, unless its hitOptions.noFocus is set to false.TextFormatter was producing invalid style value on empty formatting blocks ("[]").parent was not being set for a Sprite that was pushed directly to Container.children.dateAxis.renderer.grid.template.location = 0.5 was not working.XYChart with category axis + date axis was not working properly.MapSeries now has geodata and geodataSource. This allows setting separate maps to each separate map series, which no longer rely on single chart-wide geodata. Also, setting geodata for MapSeries will automatically set useGeodata = true, so no need to set it manually.boldUnitChange from DateAxis.DateAxis will now pay attention to label.location if label represents full time period between grids. It no longer will force labels to be in the middle.label.currentText is now public."i").CategoryAxis was not paying attention to grid.location.minZoomLevel < 1 fixed.XYChart.getUpdatedRange() method is now public so you can use it to recalculate absolute axis range into a relative that takes current zoom and inversion into account.Language now supports null in translations which means an empty string.iColorSetStepOptions was renamed to IColorSetStepOptions to maintain consistency.ColorPurpose was renamed to IColorPurpose to maintain consistency.FlowDiagramNode value property renamed to total, added totalIncoming and totalOutgoing properties which hold sum of all incoming/outgoing links.startCategory, startValue, and startDate from Axes data items. (use category, value, and date respectively)TreeMapChart were not respecting locale.useChartAngles added to AxisRendererCircular. If set to false allows to set startAngle/endAngle to each circular axis individually.Legend data and initial visibility, you can now use visible: false to pre-hide custom legend items.PieSeries data field "visible" was not graying out Legend’s marker.series.visible = false.visible added to PieSeries.dataFields. It allows making some of the slices initially hidden.chart.nodes.template.togglable = false.[].series.visible = false or series.hide() wasn’t toggling off related item in Legend.isActive did not affect Container's background (assuming it had "active" state).elements property in Popup. Returns an object consisting of references to various elements of the Popup, like content block, close button, etc.am4core.getSystem() has been changed to am4core.systemComponent (and everything that inherits it including charts and series): "data".Popup: "closable".showModal() and hideModal() methods were renamed to openModal() and closeModal() respectively.show() and hide() methods on Popup/Modal were renamed to open() and close() respectively.CategoryAxis.interactionsEnabled from false to true was not working properly in IE.axisRenderer.inside = true after chart was already built didn’t work.zoomlevelchanged event of MapChart was being fired even if zoom level did not change.MapChart.deltaLongitude was ignored if it was set before projection was set.calculatePercent flag added to Series. Default value is false, except for PieSeries. Series will not calculate percent values of each data item if this is not explicitly set to true. Since it wasn’t been used anywhere but Pie chart, this should improve performance of initial data parsing.lineSeries was not paying attention to propertyField values set in data."insert" and "remove" were renamed to "inserted" and "removed" respectively in List and its inheriting classes. [#132]"clear" and "remove" were renamed to "cleared" and "removed" respectively in Dictionary and its inheriting classes.segments in LineSeries. (interactionsEnabled and some others)radius was < percent(100).Button label was “stealing” interactions from the button itself.Tooltip was sometimes drawn without pointer if “animated” theme was not enabled.contentAlign (when content size is bigger than actual size of a container).Label: "textOutput" and "htmlOutput". Both are applied after label contents (text or HTML respectively) are populated with data."custom" option to export menu types, which now allows creating clickable custom items in the ExportMenu.Legend now accepts “raw” data, enabling creating custom items: legend.data = [{name:"name 1", fill:"#ff0000"}, {name:"name 2", fill:"#00ff00"}]. Important: a legend with custom items must be added to some chart container manually (e.g. chart.chartContainer). Assigning it to chart.legend will overwrite its data.ChordDiagram.Adapter keys property is now a 0-argument function and not a property.Adapter callback now has third parameter key, which is a string indentifier of the adapter being applied.ChordDiagram, same as SankeyDiagram now extend FlowDiagram class. FlowDiagram can not be instantiated alone, it’s a base class for those two.minWidth/minHeight is now set to some small amount on a PieChart so that it remains visible even, if the oversized legend does not fit into container.heatRules no longer override properties if they are set using propertyFields.TreeMap after data was changed.Tooltip was sometimes flickeing at 0,0 position when first hovered on columns of a series.XYChart was not displayed properly.XYChart was not displayed properly.LineSeries was not displayed properly if colors were set in data. (using propertyFields)interactionsEnabled = true did not if it was set to false previously.axisFill was not showing innerRadius correctly if it was set as Percent.SankyDiagram was resulting in error.heatRules can now refer to bullets in tartget using syntax "bullets.0.property", e.g. "bullets.0.circle". (meaning use “circle” property of the first bullet as heat rule target)class attribute is no longer applied to elements by default. To enable it use new setting am4core.options.autoSetClassName.class attributes now will contain the whole inheritance chain, e.g. "amcharts-Sprite amcharts-Container amcharts-Button". Class names are no longer lowercased.svgContainer property is now an SVGContainer, not an HTMLElement.am4core.options.autoSetClassName (default false). If set to true will set class attribute of all elements that reflect class element was created in, including inheritance, e.g. "amcharts-Sprite amcharts-Container amcharts-Button".classNamePrefix is no longer available. Use global am4core.options.autoSetClassName instead.Cursor behavior in Edge browser on hybrid touch screens.ExportMenu on IEs was breaking the chart."dragstop" event was not being triggered on touch and hybrid devices.dataItem of the tooltip is now set sooner, which enables it to be used in its various adapters.Sprite now has hoverOptions which can be used to set up how touch “hovering” works.Cursor now prevents default browser gestures on touch and hybrid displays.XYSeries data items with zero value were not being shown.XYSeries tooltips were messed up and shown in incorrect position.ValueAxis.Treemap was not showing all the required levels on zoom-out unless animated theme was being used.DateAxis with skipEmptyPeriods = true was showing axis tooltip at incorrect positions in some cases.Sprite.mouseEnabled was renamed to interactionsEnabled."mouse" for tooltipPosition was renamed to "pointer".Label text truncation.Animation.resume() was not working.tooltipLocation on SankeyLink is now 0.5.series.hiddenState.opacity is now 0 (was 1). Animated theme sets it to 1, because it animates stuff by interpolation, rather than fade.pt_BR and en_CA locales.fullWords property on Label. Works only when truncate = true. Setting to false will force non-fitting label to be truncated in the middle of the word.EventDispatcher is disposed.RadarCursor since last update.PieSeries.legendSettings were being ingored.Cursor was incorrectly doing panY (inverted).baseDuration.min/max values set.<iframe> by default. An alternative CSS option is also available.XYSeries used hidden/default state transitionDuration for interpolating values when showing/hiding series. Now they use series.interpolationDuration.easing renamed to transitionEasing in SpriteState, for consistency.width/height for an element in pixels, minWidth and maxWidth is also set to the same values.interpolationDuration is 0 and hiddenState.transitionDuration > 0, the series will transit to hidden state first and then instantly interpolate values to 0.tooltipHTML was very buggy.[...][...]) was broken.DateFormatter was ignoring utc setting when formatting dates.DataSource now has property requestOptions which you can use to add custom request headers to HTTP(S) requests.Popup.title property.Popup.draggable property (boolean). Default true. Makes popups draggable.ru_RU (Russian) and nl_NL (Dutch) translations.Dictionary, DictionaryTemplate, List, ListTemplate, OrderedList, OrderedListTemplate, SortedList, and SortedListTemplate have these new methods:each (which calls a function for each element in the data structure)Symbol.iterator (which is used for the ES6 iterator protocol)Cursor event: "behaviorcanceled". (called when zoom/pan/select operation is abandoned)Cursor methods: triggerMove(), triggerDown(), and triggerUp() for improving cursor syncing and manual placement.Series.heatRules in JSON chart config.events and adapter.fill (color) parameter into account by translating it into color CSS property of the style.Chart.openPopup() now does not ignore second parameter. (title)"HH:mm:ss".DateAxis tooltip will now use axis’ minPeriod rather than current label period.EventDispatacher.has() function’s second parameter (callback) is now optional. If it’s not specified it will check whether any event handlers are present for this particular event type.ExportMenu: "branchselected", "branunselected", "closed".Sprite.hoverOnFocus boolean setting. If set to true element will also trigger hover events on it when it gains focus, e.g. display tooltip. (accessibility feature)HeatLegend's gradient band and value axis (labels) were different.HeatLegend without its series set was resulting in critical error.HeatLegend did not respect dataField setting in Series.heatRules.newStack from Series which was redundant.Popup.Sprite.popups and Sprite.openPopup.CHANGELOG.md.createFromConfig() was not working properly if chart type was passed as a class reference.XYChartScrollbar was giving an error.SankeyLink was not being drawn correctly.MapChart.geodataSource. (more info)DateAxis.baseInterval now defaults to 1.DateAxis.skipEmptyTimeUnits which was not working properly.