Skip to content
Permalink
master
Switch branches/tags
Go to file
@martynasma
Latest commit 1b4530c Aug 20, 2021 History
3 contributors

Users who have contributed to this file

@martynasma @zeroin @Pauan
3663 lines (2612 sloc) 203 KB

amCharts 4 Changelog

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.

[4.10.22] - 2021-08-20

Changed

  • package.json for ES2015 package was properly updated with new version dependencies.

Fixed

  • Another issue with label text with a lot of in-line formatting not wrapping properly fixed.
  • ForceDirectedTree was not updating label maxWidth on zoom.
  • Legend's position = "absolute" was not working.

[4.10.21] - 2021-08-08

Added

  • Export: new setting in CSV options: addBOM (default true).

Changed

  • userClassName now supports multiple class names separated by space.
  • Exporting CSV will now have add BOM code to exported file.
  • Upgrading to pdfmake 0.2.2 to work around security issues in older version.
  • Upgrading to xlsx 0.17.0 to work around security issues in older version.

Fixed

  • In some cases axis labels could be hidden across multiple data updates.
  • Fixed issue with stacked/clustered negative values.
  • MapChart now respects home* zoom/position with externally loaded geodata.
  • Sizing/positioning of 3D charts with titles fixed.
  • RangeSelector plugin: fixed zoom range resetting issues.
  • Issue with inverted radial axis fixed.
  • Axis with snapToSeries set was snapping to hidden series.
  • Using timezone was causing DateAxis tooltips to show incorrect time in some cases.
  • Issue with label text with a lot of in-line formatting not wrapping properly fixed.

[4.10.20] - 2021-06-17

Fixed

  • In-line formatting of labels was triggering errors on pages with strict CSP rules.

[4.10.19] - 2021-06-08

Fixed

  • Export: dynamic CSS <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.
  • In some cases labels for ValueAxis were prone to a floating-point issue.
  • OverlapBuster plugin. Was not always working properly without animated theme.
  • Minor tweak to multiple series tooltip arrangements.
  • JSON config: sometimes items pushed to children were not being created.
  • Truncation of Legend's labels sometimes were being knocked off by the XYCursor activities.

[4.10.18] - 2021-04-21

Fixed

  • 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.
  • In some cases hidden link in SankeyDiagram could cause rollover tooltip to appear.
  • Stroke of the slices in a FunnelChart was not being drawn complete.
  • JSON config: value list of the List element was not being properly truncated to supplied lenght.
  • JSON config: event list as array was not working properly.
  • Using timezone setting in some timezones could offset Series' bullets.
  • Absolute pixel width in RadarColumn was being ignored.

[4.10.17] - 2021-03-19

Added

  • New setting for 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.
  • New setting for ForceDirectedSeries: showOnTick (default 10). Render series hidden until Xth tick.
  • New setting for XYCursor: snapOnPan (default true). Indicates whether to "snap" zoom selection to equal periods when panning by cursor ends.

Fixed

  • Zooming of chart with multiple vertical axes of which one was inverted was incorrect.
  • minZoomCount was not being taken into account when zooming with mouse wheel.
  • JSON config: exporting.dataFields setting was being ignored.
  • Creating chart before its container is ready, was resulting in extra element in DOM in some cases.

[4.10.16] - 2021-03-03

Fixed

  • In some rare cases an critical error could happen on hoverable objects on touch-only displays.
  • Zooming and drag-rotating a resized MapChart could throw off the map position.
  • It was possible to continue zooming the chart using mouse wheel even when max zoom was reached.
  • Zooming "inverted" horizontal axis was incorrect.
  • Updating data on SankeyDiagram in some cases could result in an SO.
  • TreeMap was showing incorrectly sized nodes with empty children array.
  • Sometimes wrapping long strings were causing punctuation at the end of the word to wrap into the next line.
  • Dynamically switching 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.

[4.10.15] - 2021-02-03

Fixed

  • Fixed issue with toggling multiple ColumnSeries3D (introduced in last version).

[4.10.14] - 2021-02-02

Added

  • Exporting: all adapters related to XLSX export, will now have xslx property holding reference to processor, that needs to be used in order to modify actual workbooks for export.

Fixed

  • StepLineSeries might get "stuck" during zoom/data updates in some cases.
  • ColumnSeries3D was not staying hidden across data updates.
  • Columns on DateAxis were not being positioned properly when changing firstDayOfWeek.
  • RangeSelector plugin: YTD was not working properly when data was being grouped to years.
  • Disposing chart on a click of a custom ExportMenu item was resulting in JS errors.
  • In some setups "ghost paper" (invisible div) was influencing document layout.
  • In charts where Series had very small amplitude of values, related ValueAxis could get end up in a dead loop.
  • HTML tooltips were not being sized properly in some cases.

[4.10.13] - 2020-12-18

Added

  • Export: PDF export options now support scale, minWidth, minHeight, maxWidth, and maxHeight options.

Changed

  • Setting ignoreZeroValues = true on PieSeries/PyramidSeries will now hide null-value slices, too.

Fixed

  • Inserting a new bullet into an initialized Series will now invalidate it cause the new bullet to appear immediately.
  • Using 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").
  • Export: normalizeSVG() method was producing wrong SVG width/height in output if scale parameter was not being passed in.
  • RangeSelector plugin: "YTD" pre-defined period was not working properly with some data-grouping setups.

[4.10.12] - 2020-11-26

Changed

  • 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").
  • Accessibility: Roles and tabindexes in ExportMenu elements has been altered to better comply with ARIA standards.

Fixed

  • Scrollbar could act funky when repeatedly clicking on its grips.
  • A minor conflict with Google Charts lib on IE fixed.
  • Improved performance of ValueAxis scale calculation.
  • Setting min and max on a DateAxis could result in excessive overzoom and an empty grid in some cases.
  • Overzooming DateAxis coul dresult in some extra space shown on it.
  • Legend was dynamically adding items on a Treemap chart when drilling-down.
  • When Legend's labels' width were set in percent, they were not being properly sized.

[4.10.11] - 2020-11-13

Added

  • New setting 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.
  • New global option: 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.

Fixed

  • XYChartScrollbar was not inheriting inputDateFormat from the chart properly.
  • Clicking on a chart on mobile devices could sometimes make them document scroll a bit.
  • Accessibility: pressing ENTER while there is a focused element with showTooltipOn = "hit" will not display its tooltip.
  • RangeSelector (plugin) was not properly removing its elements after dispose() it will now auto-dispose when related axis is disposed.
  • In some cases a console error could be displayed when using XYCursor over chart when data was being updated.
  • Very long labels with wrap = true may have been wrapping incorrectly in some cases.
  • JSON config: rgb(...) and rgba(...) syntax was not recongnised in ColorSet's baseColor.

[4.10.10] - 2020-11-03

Changed

  • License check for MapChart was not working. If you are using commercial MapChart, make sure you use addLicense() for both Charts and Maps products.

Fixed

  • Better dispose check for delayed "out" event.
  • Applying accessibility to some labels with only numeric information was resulting in error.
  • Chart could result in an SO in some rare cases.
  • Using strictMinMax with includeRangesInMinMax sometimes could caulse wrong zooms.
  • In some cases Legend's item labels were being truncated when cahrt container was shrinking, but were not being restored to their full width once it was enlarged back.

[4.10.9] - 2020-10-23

Changed

  • Export: API functions like getCSV, getSVG, getJSON, getExcel will not error out if no opeionts or format identifier is passed in.

Fixed

  • Better invalidation of charts with am4core.options.queue = true enabled.
  • A slice in PieSeries remained enlarged (as hovered) after subsequent taps on it on a touch device.
  • In some rare cases, on mobile devices a JS error could be invoked when disposing series/axes.
  • Vertical ValueAxis was not auto-zooming in some cases.

[4.10.8] - 2020-10-19

Added

  • New Tooltip property ignoreBounds (default false). If set to true, will not try to contain tooltips within the boundaries of the chart.

Fixed

  • Export: Invoking export's getSVG() method without passing in options as a second parameter was resulting in error.
  • Series' actual value was not being properly updated in all cases when used with gropuDataItem adapter.
  • Series with with extremely small value range could result in an SO.
  • Resetting data to an empty data set on an XYSeries witth bullets and a data grouping enabled, could result in bullets being left on the screen.

[4.10.7] - 2020-10-10

Fixed

  • numberFormatter inheritance was broken for XYSeries elements like bullets since last version.
  • Chart with a CategoryAxis and XYCursor was erroring when number-based categories were used in data.

[4.10.6] - 2020-10-09

Added

  • SVG export options now support scale, minWidth, minHeight, maxWidth, and maxHeight.
  • New ExportMenu property: element (a reference to menu's top element).

Fixed

  • readerTitle and readerDescription were not being properly populated with data on Map objects.
  • Setting includeRangesInMinMax = true on ValueAxis in some cases was messing up the chart.
  • Export: Printing via iframe in IE11 was distorting the chart aspect ratio.
  • Export: Exporting in IE11 was leaving behind a stray <canvas> element afterwards.
  • Auto-zoom on ValueAxis was not working properly with multiple series with incomplete data.

[4.10.5] - 2020-10-02

Changed

  • Inline curly-bracket data placeholders now support dot-separated data context names as literal strings, e.g. "my.custom.property".
  • A bunch of dependencies were updated to latest versions.

Fixed

  • Toggling 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.
  • Bullet tooltip was being hidden even if it had to stay when cursor moved out of the plot area.

[4.10.4] - 2020-09-22

Changed

  • Accessibility: ExportMenu top item has now role menubar rather than menu.
  • Accessibility: ExportMenu will now set aria-expanded attributes for selected menu items/branches.

Fixed

  • Enabling groupData was causing some series not to appear in some cases (since 4.10.3).
  • Toggling a legend item was adding a hidden element outside chart container area, which was sometimes causing scrollbars to appear on the web page.
  • Toggling rtl value on an existing Label was not working properly.
  • Accessibility: setting 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.
  • Accessibility: there was no way to override hard-coded role of the slices or columns in series.
  • Accessibility: navigating ExportMenu with arrow keys will not scroll web page anymore.

[4.10.3] - 2020-09-19

Added

  • RangeSelector plugin: a new event periodselected added to DateAxisRangeSelector.
  • DateFormatter now supports quarter format (code: "q").

Changed

  • More prompt translations to Indonesian locale (id_ID).

Fixed

  • JSON config: Some axis' title property was being overwritten if it wasn't last option in the properties list.
  • SliceGrouper plugin was sometimes not functioning properly when used with options.queue = true.
  • Scrollable legend was not resetting back to top if its height changed.
  • TreeMap with binaryTree algorithm was producing a JS error if no initial data was set on chart.
  • If data grouping on 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.
  • Vertical CurvedColumnSeries with non-inversed CategoryAxis were not positioned properly.

[4.10.2] - 2020-09-08

Fixed

  • Some 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.

[4.10.1] - 2020-09-07

Added

  • New 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.
  • New DateFormatter property: timezone. Allows setting timezone to recalculate date objects to before applying the format, e.g. "Australia/Sydney".
  • New global option: am4core.options.disableHoverOnTransform ("never" (default), "touch", always)). Allows disabling all hover activity when some element is being dragged or resized. More info.

Changed

  • Now SankeyLink that points "backwards" will be applied "backwards" state (if created) so you can style it differently than regular links.

Fixed

  • Accessibility: data placeholder population was not working on bullets if Animated theme was not enabled.
  • Tapping on a chart with Cursor was triggering an on-screen keyboard on some mobiles devices.
  • Some TypeScript warnings were fixed.
  • A chart with DateAxis and groupData = true could result a JS error if a series had bullets and a lots of data points.
  • In a chart with 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.
  • In some cases a heat rule could result in infinity value which would lead to drawing errors.
  • Errors when cloning a RadarChart from a template fixed.
  • SankeyDiagram used to produce stack owerflow error if data contained backward links. Now it will correctly draw a link.

[4.10.0] - 2020-09-01

Added

  • New 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);
  • New global function: 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;
  • New global option: am4core.options.deferredDelay (default 100). Specifies time-gap in milliseconds between deferred chart instantiations.

Changed

  • Added date ordinal translations for Chinese locales.

Fixed

  • Accessibility: readerTitle was not being properly populated with data on Label.
  • Accessibility: readerDescription was not being populated with data.
  • Now works with Angular Universal SSR. Please refer to our Angular doc for instructions on how to structure your app for SSR to work properly.
  • When 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.

[4.9.37] - 2020-08-21

Fixed

  • Colors for markers in Legend with useDefaultMarkers = true were broken since last release.

[4.9.36] - 2020-08-20

Added

  • New adapter on 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.
  • Two new MapPolygonSeries properties: sortPolygonsBy ( "area" (default), "name", "longitude", "latitude", "id", and "none") and sortPolygonsReversed (default false).

Fixed

  • Export: fontSize option was being ignored when exporting data in PDF.
  • Better format object type checks in DateFormatter and NumberFormatter.
  • Older (non-Chromium) EDGE browser was not showing patterns in the legend markers.
  • If a stacked series was hidden with data item grouping enabled and then axis zoomed in or zoomed out so that group perdiod changes, series were stacked on the wrong position.
  • CircularAxis line was flickering while start/end angle was animating.

[4.9.35] - 2020-08-12

Added

  • New adapter on XYSeries: groupValue. It's now possible to apply custom aggregate value calculation functions for grouped data items. More info.
  • New adapter on Cursor: cursorPoint. Use it to custom-position chart cursor using your own logic.

Changed

  • Accessibility: Now if ENTER is pressed when object with an enabled "hit" event is focused, that event will be triggered automatically.
  • Clicking anywhere on the plot area with XYCursor will now trigger blur on any focused element on the page (consistent to clicking anywhere else on the document).

Fixed

  • RangeSelector plugin was not properly inheriting chart's locale.
  • "x" (timestamp) in inputDateFormat was not working properly.
  • If all values of SankeyDiagram were 0 (zero), nodes were not being arranged and their rectangles were not being displayed.
  • First CategoryAxis label was not visible if minGridDistance was set to 0 (zero).
  • Old series bullets of an 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.
  • Stacking now works only between series of the same type. Previously a LineSeries between two stacked ColumnSeries could mess up stacking for the latter.
  • Zooming in on a part of LineSeries which had strokeDashArray enabled via propertyFields was making the whole line dashed.
  • On a chart with XYCursor hovering on category with a null value for some series, used to display a tooltip for a different category in some cases.

[4.9.34] - 2020-07-31

Added

  • New bullet 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).

Changed

  • xlsx dependency was updated from 0.15.4 to 0.16.4.
  • Tooltip snapping on DateAxis now takes Series' location into account.

Fixed

  • Regression plugin: 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.
  • Horizontal (X) Axis tooltip in a very small document was sometimes positioned with an offset.
  • zoomToRectangle() method of MapChart with deltaLongitude was not working properly if a rectangle crossed the 180 meridian.

[4.9.33] - 2020-07-23

Fixed

  • If an item from a chart with CategoryAxis was removed and then a new item with the same category name was added, chart was not rendering the new item.
  • A chart with multiple series starting/ending not at the same position could result in wrong zoom on ValueAxis
  • Last bullet/column from XYSeries 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.

[4.9.32] - 2020-07-23

  • Nothing here. Version number snafu.

[4.9.31] - 2020-07-21

Changed

  • Global adapters are being deprecated due to performance reasons. They will still work on some properties, but may be turned off at some future version. If you are using am4core.globalAdapter, please consider refactoring your code in some other way.
  • If 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.

Fixed

  • "Year of week" (YYYY) was not being calculated correctly by DateFormatter.
  • Regression plugin was not working correctly in an all-ValueAxis scenarios.
  • ColumnSeries were not working with dropFromPreviousState.
  • If data was changed on a chart which was zoomed and there were less data items in the new data than there was before, a JS error was triggered.
  • Sometimes a chart with XYChartScrollbar with series in it could produce a JS error if series has its fillOpacity > 0.
  • Series in an 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).
  • A chart with multiple series starting/ending not at the same position could result in wrong zoom on ValueAxis.
  • DateAxis with millisecond baseInterval sometimes could show one millisecond less than actual data point in its tooltip.

[4.9.30] - 2020-07-10

Added

  • 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").

Fixed

  • Drill-down map with geodataSource problem fixed (since last release only).
  • Issues with cursor/tooltip and other element positioning fixed, when chart was being initialized outside of DOM (no container on init).

[4.9.29] - 2020-07-09

Changed

  • Export: data exported as HTML will now have <thead> and <tbody> tags.
  • XYChart.getClosest() method is now public.
  • Accessibility: Now pressing ENTER while there's a MapChart element focused (using TAB key) will invoke its hit event, if set.

Fixed

  • JSON: heat rules referring to series' bullets were not working, e.g. target: "bullet[0].circle".
  • IE: More fixes to polyfill overriding.
  • ColorSet method next() would fail if currentStep was bigger than minColors, affecting SliceGrouper plugin setups with a lot of slices in particular.
  • On MapChart settings minZoomLevel and maxZoomLevel were being ignored when pinch-zooming.
  • Syncing of axes improved, especially when series of one axis were hidden/shown.
  • If a MapSeries had its geodata loaded via geodataSource, the map used to disappear after div size changed.
  • Legend had a maxWidth set to 200 and this could result labels to be truncated even if there was enough space for them to fit in.
  • Ticks/grid could disappear if ValueAxis had min/max set and data of a chart changed.

[4.9.28] - 2020-06-29

Added

  • New adapter 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.

Changed

  • Removed focusable from map chart background series.
  • Polyfills in .js file will now only load on-demand, making it with some frameworks that override default objects.

Fixed

  • Regression plugin: the regression line was not being drawn correctly on a chart with horizontal ValueAxis.
  • Export: images exported on zoomed-out pages sometimes were showing visual artifacts.
  • If a chart cursor was visible (because of soft or hard 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.
  • If a MapChart had geodata loaded via geodataSource.url, the map used to disappear after div size changed.
  • If a legend of a MapChart was disposed, a JS error might happen in some cases.

[4.9.27] - 2020-06-18

Added

  • 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.

Changed

  • Hex color parser now supports RGBA format which includes alpha value, e.g. "#FF000080" will produce a 50% transparent red.

Fixed

  • Fixed performance issue with a logarithmic ValueAxis with strictMinMax set to true.
  • Calculated value of sum in the selection of an XYChart could include one extra data item, not visible in the selection.
  • Pie slices with 0 values were sorted incorrectly in FF.

[4.9.26] - 2020-06-07

Fixed

  • Series with showOnInit = false were not shown on a chart initially (since last release only).

[4.9.25] - 2020-06-06

Added

  • Global option 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.
  • New plugin: Range Selector. Collection of controls for adding alternative zoom controls for axes.

Changed

  • Disabled callbacks will now carry over to a clone when cloning an Adapter.

Fixed

  • Export: Sometimes background was improperly clipped when upscaling exported image.
  • Export: If chart's data was updated open ExportMenu was forcibly being closed.
  • "Z" and "ZZ" indicators in inputDateFormat were being ignored.
  • If series had 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.
  • If a chart's Legend was disposed, it could result in JS errors if chart had an XYCursor enabled.

[4.9.24] - 2020-05-29

Added

  • Export: New image export options: minWidth, minHeight, maxWidth, and maxHeight. Control minimum and maximum dimensions of the target image.
  • Chart can now be initialized without target container (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.

Changed

  • stroke/fill settings will now accept values as RGB objects (e.g.: { r: 255, g: 0, b: 0 }).
  • Export: scale now scales source SVG before converting to image, instead of resampling target image.
  • Chart will no longer error out if target container by supplied id is not available at the moment of chart's instantiation. It will still error if such container is not available when DOM is ready. This allows placing chart code before actual chart target markup.
  • If Axis has syncWithAxis = true set, it is excluded from common zoom range for better syncing.

Fixed

  • Sometimes responsive rules were not being applied on chart load in Angular apps.
  • XYCursor setting snapToSeries now uses better precision in placing cursor lines/axis tooltips.

[4.9.23] - 2020-05-19

Added

  • 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.

Fixed

  • JSON: Array value in 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.
  • Wide charts were being cut off in the middle when printing.

[4.9.22] - 2020-05-14

Changed

  • Export: Now using forked version of canvg until underlying issues are fixed in source library.

Fixed

  • queue and onlyShowOnViewport were not working properly on regular Container instances.
  • Export: Garbled IE image exports fixed.
  • Some tooltips were reappearing on MapChart after their showToolipOn was reset back to "hover" from "always".

[4.9.21] - 2020-05-13

Fixed

  • Latest version of canvg was causing issues in some Angular setups. Downgraded to 3.0.0.
  • The legend marker for LineSeries with circle bullet was not properly centered.

[4.9.20] - 2020-05-11

Changed

  • hit and up events on nested objects will now respect correct bubbling up order.
  • If 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.

Fixed

  • Export: PDF export will now fallback to regular fonts if bold fonts don't exist.
  • Export: Advanced PDF exports with extra content were broken since last release.
  • Export: Image export was essentially broken in IEs.
  • options.nonce was not working properly on EDGE.
  • Event selectedned was not dispatched by Cursor if released outside the chart div and behavior was set to select*.
  • If all series were removed and then added quickly to the chart with a legend it could result a JS error.
  • Setting data directly on a series not right after it was created could result series.data array to be shown as empty.
  • It was impossible to set SwitchButton as active initially.
  • Fixed snapping cursor to series when data was missing: if series had gaps in data and cursor.snapToSeries was set, the snapping was not working properly.
  • When adding data to XYSeries which was XYCharScrollbar's series, the raw data was incorrectly modified.

[4.9.19] - 2020-04-30

Added

  • Export: Two new PDF export options added: font and extraFonts which enable specifying non-default font to use when exporting PDF. More info.

Changed

  • Third party resize sensor replaced with a home-brewed, which is faster and more reliable.
  • 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.

Fixed

  • Inline text formatting blocks now accept quote-enclosed values, e.g. [font-family: 'Segoe UI'].
  • Fills for columns in RadarColumnSeries were black (since last release).
  • With Chrome 81 disposing the chart in with DevTools open was very slow.
  • Performance optimizations when showing/hiding series with a lot of data.
  • Tooltip was flickering at 0,0 position if animated theme was not enabled.

[4.9.18] - 2020-04-28

Added

  • Heatmaps can now be logarithmic (set logarithmic = true in the heat rule config).

Fixed

  • Preloader label was misaligned when RTL was enabled.
  • Double "hit" event invocation on MapPolygon fixed.
  • Regression plugin: "processed" event was triggered twice on initial chart load.
  • SliceGrouper plugin: if slice templats had any "hit" events set, clickBehavior = "break" was not working.
  • IE was not displaying series in XYChartScrollbar. On IE now gray fill/stroke is used instead of desaturate filter.
  • IE was not displaying series with filters. Remnoved filters if IE.
  • Fixed issue with zero-value nodes drill-down SankeyDiagram.
  • When animations were disabled through options, showing XYSeries and FunnelSeries after it was hidden was not working.
  • It was not possible to add MapImages to MapImageSeries directly from the GeoJSON geodata.
  • maxWidth set on Legend's label was being ignored.
  • Layout was not being redrawn when minGridDistance was set after chart initialization.
  • If sprite.showTooltipOn = "hit" and no animated theme was used, tooltip used to flicker at old position before shown in the correct one.
  • EDGE was not showing ColumnSeries gradients if gradient was set on series, not on directly on column template.

[4.9.17] - 2020-04-20

Added

  • Global option 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.
  • New 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.

Changed

  • 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.

Fixed

  • Week number in date format ("ww") was not accounting for daylight saving.
  • Pressing ENTER on a focused Legend item will no longer toggle related series if legend's item containers are sett to be not togglable.
  • Exporting to SVG no longer breaks if chart contains foreignObject elements with SVG's in them.
  • Line smoothing (tensionX / tensionY) now drops out duplicate points to avoid weird loops on overlapping data items.
  • Chart was zooming incorrectly, when data was added directly to stacked series and one of the series was hidden.
  • Some performance issues with XYCursor and a lot of series fixed.
  • LinearGradient fill was not working on LineSeries under EDGE.

[4.9.16] - 2020-04-14

Fixed

  • Fixed error when compiling Angular app (since 4.9.14).

[4.9.15] - 2020-04-13

Fixed

  • Straightening of RadarChart was not working properly after last update.

[4.9.14] - 2020-04-13

Added

  • Global options setting added 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.
  • New PDF format option for Export: align. Available options: "left" (default), "center", and "right".
  • New 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])).

Changed

  • New property 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.
  • Default DateAxis.periodChangeDateFormats for "hour" changed from "_date_hour" to "_date_day" so that the format would differ for midnight (hour 00:00).

Fixed

  • Parsing short month names ("MMM") from string-based dates was failing on May.
  • When exporting chart to PDF, on narrow charts, sometimes the whole chart would go to the next page.
  • Having null values in data was causing maxTooltipDistance == -1 to show multiple tooltips instead of one.
  • It was impossible to have individual innerRadius for AxisRendererRadial and AxisRendererCircular - the RadarChart's innerRadius was overriding them.
  • Removing axis ranges from an axis could result in a JS error.
  • In some cases, when 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.

[4.9.13] - 2020-04-05

Added

  • Global options setting added am4core.options.suppressErrors (default false). Set it to true to disable error-invoked modal display.

Fixed

  • Setting 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.
  • Responsive: Sometimes objects were being revealed after coming back from responsive mode when thet shouldn't.
  • locations setting of the SeriesDataItem were not being copied to grouped data items (when DateAxis.groupData = true).
  • Shadow DOM: Made some changes to eliminate errors in IE11.
  • Shadow DOM: ExportMenu and Popup/Modal CSS was not being properly applied causing those elements to lose styling and positioning.

[4.9.12] - 2020-03-26

Added

  • New mouse cursor style added: am4core.MouseCursorStyle.text.
  • Export formatOptions now accessible via public property, e.g. chart.exporting.formatOptions.getKey("csv").disabled = true.

Changed

  • Using date format "i" to parse ISO dates now supports unlimited number of milliseconds. It was failing before if more than three digits were used for milliseconds.

Fixed

  • If 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).
  • Pushing child elements in Label which has textValign set was resulting in error.
  • cursor.snapToSeries was not working properly with CategoryAxis.
  • Firefox was not measuring labels properly if a chart was lazy-loaded using onlyShowOnViewport.

[4.9.11] - 2020-03-24

Added

  • Export: Added disabled property to all format options so you can disable each particular export format easily, e.g.: chart.exporting.getFormatOptions("csv").disabled = true.
  • New property on all Sprite elements: userClassName. If set, will also set element's class accordingly. Works directly, and via propertyFields.

Fixed

  • Fixed error with Angular Server Side Rendering (Angular Universal).
  • Accessibility: minor role issue fixed for items in ExportMenu.
  • It was impossible to change heat rule's min and max values after the rule was added.
  • Changing category of axisRange after it was alrady added to axis was not working.

[4.9.10] - 2020-03-19

Added

  • SwitchButton class added.
  • width field and adapter added to ColumnSeriesDataItem. Allows having variable column width via data binding.

[4.9.9] - 2020-03-16

Fixed

  • Fixed again: if chart had stacked axes and series with bullets, the bullets were not masked properly. Now you can set series.maskBullets = true to solve this.
  • TimeLine series bullets were not updating position when Y axis was zoomed.
  • Tooltips of TimeLine/RadarChart series were hidden on some parts of the chart (sice 4.9.7).

[4.9.8] - 2020-03-14

Fixed

  • Bullets on RadarChart were being masked incorrectly (since 4.9.7).
  • Background on TimeLine axis could be filled incorrectly in some cases (since 4.9.7).
  • TimeLine could error out in some cases (since 4.9.7).

[4.9.7] - 2020-03-14

Added

  • Export has now additional setting dataFieldsOrder. It's an array. Push field names into it and exported data will try to maintain field order like this.
  • A read-only property tooltipDate added to DateAxis. Will holde Date object of the last shown axis tooltip.

Fixed

  • In charts with series loading their own external data with responsive features enabled, they were starting as pre-hidden.
  • Axes in 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.
  • Tooltip on a horizontal axis was "shaking" when cursor was very near plot area.
  • Performance improved of adding series to an already build XYChart.
  • Map was not drawn with certain initial deltaLongitude values (e.g. 30, 60, etc).
  • Removing series with a lot of data, DateAxis with grouping enabled, and zoomed-in chart could cause a stack overflow.
  • Removing series could cause error (if removed while initial animation was still playing out).
  • Sometimes, if a series was added after chart was inited and data grouping of DateAxis was enabled, the ValueAxis was not fully zoomed out.
  • A newly added series after the chart was inited was not showing initial animation.
  • Violating logarithmic axis scale no longer results in critical / chart-stopping error. The modal can be closed and chart recovered.
  • If chart had stacked axes and series with bullets, the bullets were not masked properly. Now you can set series.maskBullets = true to solve this.
  • Series tooltip is no longer shown if data item is outside plot area.
  • Perfectly straight line series in XYChartScrollbar were not displayed.

[4.9.6] - 2020-03-05

Changed

  • Setting 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.

Fixed

  • Responsive: changing data on a chart with active responsive rules was causing for those rules not to be re-applied when chart was updated.
  • If Legend item was clicked or tapped, subsequently pressing ENTER anywhere on the page was toggling it.
  • Series of MapChart and their children were inherinting main locale.
  • ExportMenu was freezing the whole chart is hovered (since 4.9.5).

[4.9.5] - 2020-03-03

Added

  • Third paramterer - 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.

Fixed

  • Exporting from ExportMenu will now prevent cursor (and releated tooltips) from appearing just before export so they are not included in exported image.
  • Panning on a MapChart with panBehavior = "rotateLongLat" was not working properly since 4.9.3.
  • Disposed series was not being properly removed from XYChartScrollbar if it was used there.
  • Sprites with dx/dy set and rotation != 0 were not displaying fixed-position tooltip in correct position.
  • Changing 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.

[4.9.4] - 2020-02-26

Fixed

  • MapChart was erroring out if homeGeoPoint was set.
  • Bullets hovered by XYCursor were not being reset back if cursor left plot area.

[4.9.3] - 2020-02-25

Changed

  • 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.

Fixed

  • Fixed issue with snapToSeries.

[4.9.2] - 2020-02-25

Added

  • Accessibility: New method for chart's 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.

Changed

  • Accessibility: If screen reader is enabled, it will notify user when a) legend item is triggered; b) 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.

Fixed

  • Now charts will properly disengage dragged elements when mouse cursor leaves iframe.
  • Fixed a typos in French, Portuguese translations.
  • Added more translated prompts to Korean translation.
  • When series which was being used in an XYChartScrollbar local data was being updated, the clone used in Scrollbar was not being updated.
  • Series.autoDispose setting was being ignored.
  • Fixed "The precision is out of range" errors on some browsers (Safari, IE) when very small numbers are used.
  • Accessibility: Setting of tabindex value was basically not working.
  • Funnel slice with null values showed small black rectangle at the top/left corner and legend item was not showing a marker.
  • Syncing between multiple ValueAxis improved.

[4.9.1] - 2020-02-14

Added

  • 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.

Fixed

  • JSON config: referring to a parent by id is now not dependent on order of elements.
  • Series elements (e.g. columns) were not dispatching "over" event when XYCursor was being used.
  • When Legend was triggering hover over PieSeries slice (or other PercentSeries), the slice did not dispatch "over" event.
  • Hidden ForceDirectedNode (if hidden using API) was not showing if legend item was clicked to show it again.
  • path adapter was not working on Sprite.
  • Adding data to a XYChart with an XYChartScrollbar with a series was sometimes resulting JS error (if some data was missing).
  • Adding AxisBreak to CategoryAxis could result JS error.
  • groupFields were not copied to series in XYChartScrollbar, or any other cloned series.
  • If a bullet was already disabled when disabled property field was set, that bullet did not update correctly after data change.

[4.9.0] - 2020-02-09

Added

  • New plugin: Venn Diagram.
  • ForceDirectedSeries.dragFixedNodes property added (default false).
  • ForceDirectedSeriesDataItem.percent getter added.

Fixed

  • Mouse interactions were not working properly in very old (pre-59) FireFox.
  • Dynamically changing ForceDirectedSeriesDataItem.fixed was not working.
  • CirclePattern was not being globally exported.
  • Setting expoirtable = false on some elements that are invisible sometimes caused them to become visible after export.

[4.8.9] - 2020-02-07

Added

  • Scrollbar.isBusy getter added, which is true when user interacts with Scrollbar.
  • RadarColumnSeries now support two category axes.
  • angleToPosition(angle) added to AxisRendererCircular.
  • currentPosition getter added to ClockHand.

Fixed

  • Export on IE (and other setups with simplifiedExport = false) was broken since upgrading canvg version.
  • When DateAxis had grouped set to true, in some cases the value axis was zoomed incorrectly after Data update.
  • In some specific cases XYScrollbar with series could produce JS error when adding data to the chart.
  • Funnel Series sliceLink could loose it's color after data update.

[4.8.8] - 2020-02-05

Fixed

  • When zooming CategoryAxis with sorted columns, some columns were not being displayed.

[4.8.7] - 2020-02-05

Added

  • 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.

Fixed

  • Labels with extra line breaks at the end could sometimes inherit content from previous version of multi-text, e.g. in dynamically updated tooltips.

[4.8.6] - 2020-01-31

Fixed

  • Tree map with data items with value = 0 resulted error
  • ZoomToDates of DateAxis with grouped data was not always working properly.
  • colors ColorSet of PercentSeries were not cloneed when clonging series so clonned series used single Colorset which resulted different colors.
  • dateAxis.timezoneOffset was not working properly with value 0. Default value changed from 0 to undefined.

Added

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.

[4.8.5] - 2020-01-29

Fixed

  • Reverted old behavior of DateFormatter.timezoneOffset, because the fix introduced in 4.8.3 was not correct. Use dateAxis.timezoneOffset instead.
  • it was possible to make fixed only nodes of the first level of ForceDirectedSeries.
  • when series is added/removed to a Serial chart, it adds/removes items only the specific item to/from the legend (if available), previously it used to invalidate entire legend which was not good for performance.

Added

  • 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.

[4.8.4] - 2020-01-25

Fixed

  • Downgraded to TypeScript 3.6 to avoid the breaking change in troduced in TS 3.7.

[4.8.3] - 2020-01-24

Added

  • New 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.

Fixed

  • Syncing of ValueAxis grid improved.
  • Using timezoneOffset was incorrectly affecting labels of DateAxis.
  • If MapChart was initialized in a hidden container, subsequent zoomToMapObject() calls were zooming incorrectly.

[4.8.2] - 2020-01-23

Added

  • TreeMap.homeDataItem getter added.

Fixed

  • Sometimes labels were not being truncated properly.
  • ValueAxis with values <1 might not display labels (since 4.8.1 only).
  • Axis syncing was not working on initial view if no animated theme was used.
  • Sometimes undefined variables were being restored with default state where they shouldn't. This was introduced in 4.8.1.

[4.8.1] - 2020-01-22

Added

  • New setting 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.

Changed

  • When default state is restored it will not set properties with 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.

Fixed

  • Annotation plugin: setting currentTool property was not working for "line" and "arrow".
  • Sometimes element properties were not being restored to their original values when responsive rules were applied.
  • Sometimes some bullets on a TreeMap were not being shown back on after drilling bacup to top level.
  • Setting fontSize on a ValueAxis was resulting in an error.

[4.8.0] - 2020-01-16

Added

  • 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.

Changed

  • Layout algorithm of Legend's' item changed and made better. Labels are properly truncated if they do not fit. Alignment of value works fine.
  • When 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.
  • When 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).
  • Setting 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.
  • Default for 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%".

Fixed

  • Axis fills were not measured properly after chart was resized and this could result in a tooltip to be displayed in an incorrect position.
  • valueLabels of a Legend were not displayed if set directly on valueLabels.template.text. They were dispalyed only if set on series.legendSettings.itemValueText.

[4.7.21] - 2020-01-10

Added

  • 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.

Fixed

  • Disabled series' legend marker was being reset to default view if related series visual settings changed.
  • Changing data on chart with hidden stacked series was resulting in incorrect stacking.
  • XYChart was not updating value axis' min/max if series was removed.
  • If a cursor was moved via API using "hard" sticking option, the cursor could animate to some wrong position if clicked outside plot area.
  • Animating from 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.

[4.7.20] - 2020-01-08

Fixed

  • Changing data for a chart with DateAxis and groupData = true and custom baseInterval was resulting the grouping not to working.
  • Changing colors and some other visual properties of a series after the chart was inited was not affecting LineSeries and ColumnSeries, as well as their legend markers.
  • Sometimes the active tooltip of the chart was hidden even though it should remain visible (if some other sprite was hidden at the moment).

[4.7.19] - 2020-01-07

Added

  • 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.

Fixed

  • Changing fill/stroke property with a Color with non-integer alpha was resulting in either fully opaque or fully transparent color.
  • Sometimes ordering of columns of 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.
  • Toggling groupData on DateAxis from initial false to true after the chart was inited was not working.
  • Toggling groupData on DateAxis from initial false to true was resulting in icorrect ValueAxis scale.
  • A tooltip used to remain visible after disposing sprite, if it had a tooltip shown because of alwaysShowTooltip = true.
  • Events datavalidated and beforedatavalidated were not being fired if data was being updated to an empty array.
  • Toggling 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.
  • If some format changed (number formatter) you must now call invalidateLabels() in order for the new format to be applied.
  • DurationAxis now animates newly added data in the same way as DateAxis does.
  • Adding/removing multiple series at once to/from XYChartScrollbar could result error.

[4.7.18] - 2019-12-24

Added

  • New property maxTooltipDistance added to XYCursor. Set it to a numeric value to limit display of tooltips from closest series only.

Fixed

  • Tooltips were not displayed on non-measured sprites.

[4.7.17] - 2019-12-22

Added

  • maskBullets added to XYSeries for a possibility to set it on individual series rather on all chart.

Changed

  • Changed 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.

Fixed

  • Mouse wheel behavior on XYChart improved.
  • Stacked series of a chart with multiple ValueAxis were not properly sorted.
  • Some issues with hiding tooltips while chart is zooming fixed.
  • Chart with rotated axis labels of Y axis could go into SO in some rare cases.
  • SankeyDiagram with a single level and animated theme was not displaying links.
  • Some min/max issues with grouped data on DateAxis fixed.

[4.7.16] - 2019-12-18

Added

  • 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.
  • All the custom fields from chart's raw data are copied into grouped data item's dataContext. This allows referencing to custom fields via text placeholders even in aggregate data items when data grouping is enabled.

Changed

  • Accessibility: Default role for chart changed to region.

Fixed

  • Accessibility: Scrollbar and its elements now set required attributes like aria-orientation, aria-controls, aria-valuenow, aria-valuetext, aria-valuemin, and aria-valuemax.
  • Annotation plugin: The elements that went outside of the chart area were not being properly clipped.
  • XYChartScrollbar was not inheriting locale from parent chart.
  • Sometimes grid lines (and some other lines) were blurry.
  • Tooltips of an XYChart with stacked axes could be positioned incorrectly.

[4.7.15] - 2019-12-16

Added

  • 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.
  • Added index as second parameter to List.each() method.
  • min and max adapters added to ValueAxis.

Changed

  • Icons in ExportMenu now have box-sizing: border-box set in default CSS to make icons play nice(er) with external CSS.
  • Popup now has a tiny strip on top of it which can be used to drag it (much like regular windows in your OS), instead of the whole body of popup being draggable.
  • Popup will now use theme colors for backgrounds/text.

Fixed

  • The List.each method was missing an index argument for the callback.
  • Links and other interactive elements in popups are now clickable.
  • Labels in 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.

[4.7.14] - 2019-12-10

Fixed

  • valueAxis could be shown zoomed-in if series were added later in some rare cases.
  • strokeLinecap and strokeLinejoin was not copied to Legend markers from Series.
  • Some charts were not displaying after css-element-queries dependency update, temporary downgraded css-element-queries.
  • Sometimes if using imagesToConnect with MapLine of MapLineSeries, the lines were not drawn if the imagesToConnect was set initially and not after the series initialized.

Added

  • A possibility to set individual startAngle and endAngle on Pie Series added.
  • You can now use baseValue adapter on ValueAxis.

[4.7.13] - 2019-12-07

Fixed

  • Since last release only - min and max were not updated when scrolling chart with CategoryAxis.
  • Map could zoom to incorrect rectangle when using chart.zoomToRectangle() method.
  • DateAxis with groupData = true could hide series when zoomed in (when using big count of baseInterval, a very rare scenario).
  • Tooltips of stacked series could show up in incorrect order in FireFox.
  • Horizontal cone series could cut off part of the cone.
  • If series were prehidden initially and shown later, the min/max was not adjusted.
  • Grid/fills of the axis set as above were in wrong positions on stacked axes charts.
  • ForceDirectedSeries now behaves better when nodes are hidden.
  • In some cases connect = false set on StepLineSeries resulted error.
  • If zoom-out button was initially disabled and enabled later, it was not shown.

Added

  • FunnelSeries ticks now will have horizontal part, consistent with PieSeries.
  • heatLegend now supports reversedOrder = true.
  • You can now set custom tooltipText on CategoryAxis.

[4.7.12] - 2019-12-04

Fixed

  • Export menu was still shown data download options for HTML and PDF even if chart had no data.
  • 3D columns with horizontally or vertically stacked axes were not positioned properly.
  • Setting tooltipText on MapLine resulted stack overflow when hovered over line.
  • Force-directed links were not showing tooltips.
  • coordinateToPosition of AxisRendererY was not working properly if axis was zoomed-in.
  • Value axes of a XY chart might appear zoomed-in after chart.invalidateData() was called or after series were added to the chart after init.

Added

  • horizontalMouseWheelBehavior with options "zoomX" | "zoomY" | "zoomXY" | "panX" | "panY" | "panXY" | "none" added to XYChart. Will work with both horizontal scrollers (if available) and two finger-horizontal swipe on the touchpad.
  • centerMapOnZoomOut added to MapChart, with default value true.

[4.7.11] - 2019-11-26

Fixed

  • Visual glitch with ColumnSeries3D used in a stacked axis scenario fixed.
  • PercentSeries was sometimes jumping over 2 colors in ColorSet.
  • Fixed possible compilation issues with some configurations.

[4.7.10] - 2019-11-15

Added

  • Global method 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.

Fixed

  • JSON config MapChart was breaking on geodata parsing since last release (4.7.9).
  • Sometimes 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.
  • Creating a standalone series object (without assigning it to a chart) was resultin in a JS error.

[4.7.9] - 2019-11-14

Added

  • New 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.

Changed

  • Sprite property alwaysShowTooltip is now being deprecated in favor of showTooltipOn = "always".
  • In 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".
  • JSON config based charts will now fail with a critical error if there's incorrect type specified for one of the objects.

Fixed

  • Initial chart responsive rules were sometimes not being applied.
  • When MapChart was zoomed/panned, "always-on" tooltip were remaining in the same place.
  • HTML labels with maxWidth and wrap set were not being sized correctly.
  • Sides of Column3D were not being colored properly when fill was being set via propertyFields and string-based hex color codes were used in data.
  • After click on chart with 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.
  • Tooltip position of rotated and/or scaled sprites was incorrect.
  • Changing series of 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.
  • When removing data from a chart using addData(data, removeCount), chart was rmeoving data items from series which had data set explicitly.
  • Bullets on a RadarChart could be displayed in wrong positions when zooming/hiding series.
  • When minimizing series they could animate to incorrect minimum values and adjust min/max values.

[4.7.8] - 2019-11-05

Added

  • itemIndex added to AxisDataItem. Shows current index of data item on the axis.

Changed

  • extremeschanged is now dispatched by DateAxis when the min/max are animating.

Fixed

  • Setting maskBullets on an XYChart will toggle on or off bullet masking dynamically.
  • In some particular cases some Sankey nodes were drawn out of bounds.
  • behaviorcanceled event of ChartCursor was not being fired.
  • Regression plugin was failing when added to Series object that was not yet attached to a Chart.
  • JSON config was failing where Label's text or html properties were being set to percent value.
  • Toggling of DateAxis.skipEmptyPeriods was not working after the chart was already inited.

[4.7.7] - 2019-11-02

Added

  • NumberFormatter now supports numberFormat in Intl.DateTimeFormatOptions objects. E.g. chart.numberFormatter.numberFormat = { style: "decimal", minimumFractionDigits: 3 }. More info.
  • New built-in pattern: CirclePattern.
  • PictorialStackedSeries now supports align/valign settings, allowing controlling its position inside chart container.

Changed

  • Default pattern list in PatternSet is expanded and revamped for better look and increased contrast.
  • Pattern elements are now centered, so they work better with rotation.
  • MapChart now will shift zoom towards center gradually when zooming out.

Fixed

  • getIndex() method of PatternSet was always returning current pattern, not particular index.
  • Sometimes Export's user-added "data" adapter was kicking in before amCharts built-in adapter, causing data edits to be overwritten.
  • Built-in adapters (e.g. for export "data") sometimes were being added multiple times.
  • Export no longer errors out on pages with missing external CSS files.
  • Using 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.
  • Issue with zooming DateAxis with single data item fixed (the single item used to disappear in certain cases).

[4.7.6] - 2019-10-29

Added

  • Added more pre-set patterns to PatternSet, including one with circles.

Changed

  • Using patterns theme will no longer reset Series' colors.
  • Using patterns theme now respects series' fillOpacity setting to set pattern background transparency.

Fixed

  • Formatted strings were being cut off at specific \]] character combination.
  • LineSeries with RectPattern for a fill was failing on chart with a legend.

[4.7.5] - 2019-10-26

Added

  • New theme: microchart. Automatically adapts all charts for very small containers.
  • New theme: patterns. Automatically fills ColumnSeries and PercentSeries with distinctive patterns.
  • New object PatternSet used in conjunction with XYChart or PercentSeries to auto-assign distinctive pattern fills.
  • New property patterns on XYChart and PercentSeries.

Changed

  • tooltipX and tooltipY properties now can be set in Percent for relative positioning.

Fixed

  • Cursor on all-ValueAxis setups and behavior set to "zoomXY" was not working properly.

[4.7.4] - 2019-10-22

Added

  • New global option: 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.
  • New 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.

Fixed

  • ColorSet was starting to generate grayscale colors at some point.
  • Accessibility: Series that has items with roles "menuitem" will now have its role set to "menu" automatically.
  • Series bullets were dislocated on XYChart with DateAxis and dateFormatter.utc = true.
  • In some specific cases 3D columns used incorrect zIndex.
  • Index of dataItem of PercentSeries could be -1 after first render.
  • yRange of XYCursor was inversed.

[4.7.3] - 2019-10-18

Fixed

  • ColumnSeries with simplifiedProcessing = true setting was sometimes producing visual glitches.

[4.7.2] - 2019-10-18

Added

  • RadarColumn now supports width adapter (the adapter should return Percent object).

Changed

  • minWidth/minHeight set on Axis to 0.0001 to avoid ready event to be not called on super small divs.

Fixed

  • A link between two fixed ForcedDirectedTree nodes was not visible.
  • If 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.
  • Label of 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.

[4.7.1] - 2019-10-16

Added

  • Two additional auto-calculated values (used in valueXShow and valueYShow data fields) added: startChange and startChangePercent. Shows change from starting value of the first data item in series.

Changed

  • Animated theme: Default values for rangeChangeDuration and interpolationDuration changed to 500 (was 700). Makes zooming animations more snappy.

Fixed

  • Data item grouping was sometimes producing visual anomalies when multiple data sets were being loaded /set to chart/series asynchronously.

[4.7.0] - 2019-10-14

Added

  • Dynamic data item grouping capabilities added to XYSeries in DateAxis + ValueAxis setups. More details.
  • Export: Two new data export options "HTML" and "PDF" (exports data as a table in PDF).
  • Export: Ability to include data table into PDF export (addData option in PDF options).

Fixed

  • Regression plugin: Plugin was not generating proper regression lines if data was loaded via dataSource.
  • Fixed number formatting for data exports on non-default-locale charts.
  • 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".

[4.6.9] - 2019-10-08

Fixed

  • Accessibility: itemReaderText on XYSeries (and all inheriting series types) now respects value set from user code.
  • Accessibility: Default role for chart changed to widget.
  • Accessibility: Axis has now readerHidden = true set by default, to prevent screen readers from reading out useless numbers.
  • Accessibility: readerTitle was not being populated by data item data via curly bracket data placeholders.
  • Accessibility: Bullets were ignoring Series' skipFocusThreshold setting.

[4.6.8] - 2019-10-07

Added

  • New 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.
  • New option for CSV and XSLX export options: pivot. If set to true, will "pivot" the data so that firsst column is field names with values lined up horizontally in rows.
  • New property on 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.

Fixed

  • If ForceDirectedTree was used with am4core.options.onlyShowOnViewport = true, the forces on links were not being calculated properly, resulting in incorrect layout.
  • JSON: String dates will now be correctly parsed using DateFormatter in axis ranges' date and endDate properties.
  • WordCloud was not properly parsing Korean text.
  • If MapChart was zoomed in while still playing pan inertia animation, it produced a jerky effect.

[4.6.7] - 2019-10-05

Added

  • paddingRadius added to ForceDirectedNode. Allows having some extra free space around bubbles.
  • New event on all Sprite elements: parentset. Triggers whenever element's parent is set.

Fixed

  • MapChart background was not being updated if map projection was changed after init.
  • Axis' tooltip was not changed if user rolled over the axis, rolled out and then rolled over it again on the same axis item.

[4.6.6] - 2019-10-04

Fixed

  • Language setting was being ignored in DateAxis after previous release.

[4.6.5] - 2019-10-02

Fixed

  • Position of the bullets of a series with date-based axis could be incorrect in some sepecific cases.
  • Some minor performance improvements.
  • Map polygon was not updated if mapPolygon.multiGeoPolygon was changed after the series was already inited.
  • Some minor issue with XYCursor panning fixed.

[4.6.4] - 2019-09-29

Added

  • Ukrainian translation (uk_UA).
  • DataSource now supports binary loading using responseType = "blob".

Fixed

  • Setting exporting.dateFormat resulted in "Invalid date" as a column name for date/time columns when exporting to XLSX.
  • Performance improved, especially data-parsing.
  • When panning XYChart, the chart will round selections respecting startLocation and endLocation values of the Axis.
  • First bullet of a series with CategoryAxis could be positioned incorrectly.
  • Conflict between Annotation plugin and amCharts 3 Export plugin fixed.

[4.6.3] - 2019-09-26

Fixed

  • ColorSet was now skipping the first (base) color if no theme or list of colors was specified.
  • Setting axis title to a new Label object will now remove the previous title label.

[4.6.2] - 2019-09-25

Added

  • New plugin: OverlapBuster. Allows automatically "exploding" overlapping items such as bullets or markers for easier access to them.
  • New property: 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.
  • Added 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.
  • A possibility to make "fixed" 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.

Changed

  • Removed "GIF" option from the Export menu. Browsers don't know how to convert canvas to GIF, so it was falling back to exporting as PNG, making GIF option redundant.

Fixed

  • If chart's data source was initialized (which would happen by only accessing chart's dataSource property) and its url was not set, it was still trying to load and resulting in error.
  • Formatting number with "b" modifier, was causing all numbers up to 1024 become zero.
  • ColorSet with default (no) theme was generating colors from second in the list from 4.6.1.
  • Bullet positions were incorrect on ValueAxis with baseValue set to other than zero.
  • Bullet positions with DateAxis could be incorrect in some cases.
  • Title position of a cloned Axis was nor being positioned properly.
  • Cursor was flickering if axis of a cursor had some padding set.
  • Tooltip position of MapImage elements with nonScaling = true could be incorrect in some specific cases.
  • Vertical axis break's fill might get out of sync with break lines if the width of a break was small.
  • RadarCursor could show incorrect label if the chart had CategoryAxis with only 3 categories.
  • Series was not redrawing properly if its axis range value changed.
  • PieChart could show some labels out of chart area in some specific cases.

[4.6.1] - 2019-09-18

Added

  • New property 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.
  • Export: New option 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.
  • Wherever "date format" can be set it now accepts in Intl.DateTimeFormatOptions format. E.g. chart.dateFormatter.dateFormat = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }.
  • New property intlLocales on DateFormatter. Specifies list of locales to use if date formates are specified as IntlDateTimeFormatOptions.
  • JSON: You can now set parent property of the elements by their id in JSON configs. E.g.: scrollbarX: { parent: "aa1" }.
  • JSON: You can now set easing functions as strings in JSON config, e.g. transitionEasing: "ease.cubicInOut".

Fixed

  • TreeMapSeries and SunburstSeries were not inheriting numberFormatter propertly from the chart.
  • Removed a leftover console.log() call.
  • Exporting no longer temporarily modifies the site's styles.

[4.6.0] - 2019-09-12

Added

  • New plugin: Timeline. Please note it's a commercial plugin, which will need a separate license purchase if you want to remove the branding link on it, even if you have amCharts 4 license.

Fixed

  • chart.svgContainer.autoResize = false was being ignored.
  • If data of chart with CategoryAxis had data items without a category value, the chart used to create one extra empty "category".

[4.5.16] - 2019-09-04

Fixed

  • Data sources were not being disposed properly when chart was disposed.
  • Adding series to an already inited chart was not showing the series.
  • Fixed StepLineSeries glitch where base axis was not CategoryAxis/DateAxis.
  • Title of a cloned X axis was being drawn above the axis labels.
  • If all values of a ValueAxis data wehere the same and negative, the chart zoomed in incorrectly after init.
  • Center-alignment of axis labels was not working.
  • maxWidth/maxHeight set on column template of a ColumnSeries was not working properly if the size of a cell was less than maxWidth/maxHeight.

[4.5.15] - 2019-08-23

Added

  • 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).
  • Properties 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.

Changed

  • ZoomControl's plus and minus button will not be exported to images anymore.

Fixed

  • When the chart with external data source and reload frequency set was disposed, the data source kept reloading the data.
  • When Tooltip's 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.

[4.5.14] - 2019-08-11

Added

  • 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.

Changed

  • Series with DateAxis not as a base axis of a series (like gantt) will now animate similar to other charts.
  • SlicedChart hidden labels arrangements adjusted.

Fixed

  • 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.
  • Chart with 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.

[4.5.13] - 2019-08-06

Fixed

  • Sometimes requestAnimationFrame was being invoked even if all charts were disposed.
  • Base grid was not displayed if axis.renderer.inside = true.
  • Last tooltip might not be shown on DateAxis if it had multiple series and some of the series did not have data at the last date.
  • Legend values were showing value of the pervious hovered data item on the dates which did not have any data.
  • Changing base value of ValueAxis was not making the series to be redrawn.
  • Sometimes ValueAxis was not adjusting min/max when a part of the DateAxis with series having no data at the selected period was selected.
  • Sometimes columns or step line series could overlap if baseInterval.unit = "day" and baseInterval.count > 1.
  • XYChartScrollbar axes were not handling changes of min/max of chart axes.
  • Panning of CategoryAxis could result incorrect zoom in some cases.
  • FireFox issue with multiple PictorialStackedSeries on the same chart solved.
  • Cursor selection was disappearing when mouse was released (with selectX/selectY/selectXY cursor behavior).
  • Tooltip of clustered columns was positioned incorrectly (always showing in the middle of a cell).

[4.5.12] - 2019-08-02

Added

  • Now prints a warning if you do not dispose of the chart properly.
  • New am4core.disposeAllCharts function.

Changed

  • JSON: Config processor will not overwrite target object if the type of the object set in config and one already existing matches.

Fixed

  • Fixing "Could not find root" error.
  • JSON: declaring 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.

[4.5.11] - 2019-07-31

Added

  • New AxisDataItem properties: minPosition and maxPosition. Enable controlling visibility of associated axis element (e.g. label, tick, grid). Overrides minLabelPosition and maxLabelPosition.

Fixed

  • NumberFormatter was sometimes susceptable to floating-point error when formatting percent formats (#%);
  • Cursor hover was not working with shadow DOM.
  • DateFormatter could sometimes parse string-based dates wrong when in UTC mode.

[4.5.10] - 2019-07-29

Fixed

  • Sometimes setting 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.
  • Fabric dependency was causing errors on installation under some setups.

[4.5.9] - 2019-07-24

Added

  • 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.
  • New element class AxisBullet. Use AxisBullet which is a container with a location property in case you want to adjust bullet location within cell.

Fixed

  • JSON: Series-bound axis ranges were breaking whole chart in JSON-based setups.
  • In some rare cases NumberFormatter was suffering from floating point number precision issue when calculating big number prefixes.
  • Updating data was causing Annotation menu item to duplicate.
  • Exporting extraSprites with different positions didn't work.
  • Responsive rules were not always kicking in on first load if there were multiple charts on the same page.

[4.5.8] - 2019-07-19

Added

  • wavedRight, wavedLeft, wavedTop, and wavedBottom properties added to WavedRectangle. Allows to specify which sides of rectangle should be waved.

Changed

  • You can now avoid creating unused bullet for each data item of a series by setting 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).

Fixed

  • FlagBullet was overriding colors inside its class.
  • FlagBullet now supports negative poleHeight (turns the flag upside down).
  • Background of a Container did not have access to Container's data item so it was impossible to define background properties via propertyFields.

[4.5.7] - 2019-07-18

Added

  • New plugin: Bullets. It's a collection of configurable shapes (stars, pins, flags, etc.) that you can use as chart bullets, map markers, and anywhere else.
  • New 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.

Changed

  • Tooltip for MapPolygonSeries now has showInViewport = true set by default.

Fixed

  • Exporting to CSV with dateFormat set was causing "Invalid date" to appear instead of date column names (since 4.5.6).
  • When MapPolygonSeries had only one item set in its include array, it was causing map to come up as empty in some cases.
  • Charts were not accounting for their container padding/borders when measuring their own size, causing bigger charts then necessary.

[4.5.6] - 2019-07-16

Added

  • New property on Annotation plugin: data. Allows getting serialized annotation data object, as well as setting it back to load annotations.

Changed

  • Annotation plugin will not create full Export menu if it wasn't explicitly created before.
  • Tweaked CSS for ExportMenu to protect from icons getting small becuase of the page-wide CSS.
  • When exporting data on chart with exporting.dateFormat set, the date/time fields in data will be formatted according to the set format.

Fixed

  • XYChartScrollbar with series attached to different ValueAxis were using same axis scale in the scrollbar.
  • Using wrap = true on horizontal axis labels was resulting weird behavior when zooming in some cases.
  • Export was not prioritizing menu item's specific options over generic format options.
  • Auto-wrapped text was not retaining square bracket escaping (double bracket) for each subsequent line.

[4.5.5] - 2019-07-12

Added

  • New property 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.
  • Feature added back: Support of queued chart initialization. If enabled (am4core.options.queue = true) the chart will not start initializing until previous chart finishes.
  • Feature added back: Support for delayed rendering. If enabled (am4core.options.onlyShowOnViewport = true) the chart will start rendering itself only when scrolled into view.
  • New plugin: Annotation. Allows annotating charts using UI.

Fixed

  • Accessibility: The screen reader description for column/bullet/slice was not being added properly every time.
  • On RadarChart data updates sometimes ValueAxis scale was not being calculated corrently.
  • alwaysShowTooltip was not working properly in some cases.

[4.5.4] - 2019-07-08

Added

  • 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").

Fixed

  • CategoryAxis tooltip could show incorrect category if its renderer.tooltipLocation was set to 0.
  • Memory leak which happened when disposing a chart with XYChartScrollbar with series added to it fixed.
  • Some series stacking issues fixed.
  • Issue with baseDuration.timeUnit = "yyyy" and StepLineSeries fixed.
  • In some cases 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.
  • If an axis range was made invisible by setting its visible = false, and then visibility was set back to true again, axis range was not shown.
  • JSON: entries of type OrderedListTemplate or SortedListTemplate was not being processed correctly as templated lists.
  • Legend items were still focusable/togglable via keyboard even if clickable/focusable on their respective containers were set to to false.

[4.5.3] - 2019-06-18

Added

  • "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.
  • New property added to 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").
  • It was impossible to reuse single pattern for multiple Sprite elements, as disposing one was resulting in pattern to be disposed as well.

Fixed

  • 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.
  • In some cases patterns set as Sprite's fills using fill adapter were not displayed.
  • When calculating totals on a Series with all zero values, percent was not being calculated. It will now have a zero.

[4.5.2] - 2019-06-14

Changed

  • Deferred/queued chart initialization functionality is disabled completely for now as it's causing issues in some setups. Functionality will be re-introduced at some later version.

[4.5.1] - 2019-06-14

Changed

  • Initial animations for charts with deferred initialization (am4core.options.onlyShowOnViewport = true) will not be played for now. Another fix is coming.

Fixed

  • In some HTML configurations layout of the labels might be off since last update.

[4.5.0] - 2019-06-14

Added

  • Support of queued chart initialization. If enabled (am4core.options.queue = true) the chart will not start initializing until previous chart finishes.
  • Support for delayed rendering. If enabled (am4core.options.onlyShowOnViewport = true) the chart will start rendering itself only when scrolled into view.

Changed

  • Default CSS for a Popup now has text color set to ensure it is visible on default background.

Fixed

  • dataContext of ForceDirectedNodeDataItem was not being populated correctly.
  • MapPolygonSeries was not being displayed properly if GeoJSON contained a single very small polygon.
  • Tooltips now work correctly when a chart is contained within the shadow DOM.
  • rtl inheritance was not working properly on some elements, e.g. axis tooltips.
  • None of the Responsive events were being triggered.
  • JSON: It was not possible to set XYSeries.baseAxis using axis' id.
  • LineSeries was being cut off if div of a chart was more than 20K pixels width/height.
  • When axis was disabled (axis.disabled = true) its ticks and grid remained visible.
  • If a chart had series with bullets and 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.
  • If 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.
  • Some performance improvements with 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.

[4.4.10] - 2019-05-28

Fixed

  • Disposing top-most stacked series was causing a JS error.
  • If TreeMap top level had one node only, zoom-out button was not shown after drill-down.
  • Bullets were not shown on series on initial render if no animated theme was used (since last release only).

[4.4.9] - 2019-05-28

Added

  • 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.

Changed

  • The chart will now error out if trying to instantiate generic classes like (Chart, Axis, Series).
  • Legend in 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.

Fixed

  • 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.
  • In some cases MapChart could interfere with event objects of other charts on the same page, even when not directly interacting with it.
  • If baseInterval of DateAxis didn't have count set, the chart failed to render.
  • Setting data on hidden Series resulted tooltips on invisible bullets to be shown.
  • WordCloudSeries with single label or several labels with the same values was displaying labels using minFontSize.
  • axis.createSeriesRange() was not working with RadarColumnSeries.
  • When data was added to a chart, series could flicker at incorrect position before rendering properly. Also the same could happen when zooming chart (it was only visible if animated theme was not in use).

[4.4.8] - 2019-05-23

Added

  • 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.

Fixed

  • Links created using linkWith data field were not using any strength setting, affecting the layout.
  • Some problems with maxLevels on ForceDirectedSeries solved.

[4.4.7] - 2019-05-21

Changed

  • Export: Children columns on hierarchical charts (TreeMap, Sunburst, ForceDirectedTree) are no longer exported to "flat" formats (CSV, XLSX).

Fixed

  • keepTargetHover was hiding tooltip when transiting hover from one Sprite to another.
  • Firefox was not displaying texts along paths on a page with base href set, due to Firefox bug.
  • SunburstSeries with 0 values were producing a JS error.
  • Width (or height if vertical) of 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.
  • If a lot of GaugeChart instances with axis bands were rendered on a single page, stack owerflow error could happen.
  • Adding data to a chart with XYChartScrollbar and series in the scrollbar forced full-redraw of scrollbar chart which was making it blink.
  • Z-indexing of ColumnSeries3D columns was incorrect in some cases.
  • Tooltip of a 3D slice was not in the center of a slice.
  • Changing of Series' name was not propagating to legend.

[4.4.6] - 2019-05-14

Fixed

  • Vertical/horizontal bullet positions on ColumnSeries were broken since 4.4.5.

[4.4.5] - 2019-05-13

Changed

  • Exporting chart data to JSON format now respects dataFields setting.

Fixed

  • Setting showSystemTooltip = false on a Scrollbar now correctly disables tooltips on its thumb and grips.
  • When data for ForceDirectedSeries was changed for the second time, the old links remained visible.
  • Initial scatter of ForceDirectedSeries nodes reduced. Results in a better initial animation.
  • Adding data using addData() method to a chart with XYChartScrollbar was resulting data to be added twice.
  • With some special combination of axes config XYChart sometimes could fall into infinite loop.
  • Some JS error when converting coordinates out of bounds of AlbersUSA projection fixed.
  • Tooltip bounds were not being copied when cloning a Tooltip.

[4.4.4] - 2019-05-08

Fixed

  • When data for ForceDirectedSeries was changed the old links remained visible.
  • Legend with custom data was causing a JS error.
  • Changing data during rangechangeended with skipEmptyPeriods enabled was triggering "Cannot read property 'getTime[ of undefined" exception.
  • Slices of SunburstSeries, and columns of TreeMapSeries were not taking propertyFields/configField from data.

[4.4.3] - 2019-05-06

Added

  • 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.

Changed

  • keepSelection behavior extended. Now it will keep ValueAxis selection while scrolling a perpendicular DateAxis or CategoryAxis.

Fixed

  • Regression plugin: fixed issue with gaps in data.
  • Panning chart with CategoryAxis out of range, the axis could pan back with one less category in the range when released.
  • In some cases labels with bent = true on AxisLabelCircular were positioned incorrectly on RadarChart's Axis ranges.
  • Safari was not displaying base grid of Y axis in some cases.
  • Chart could freeze if there was a very small difference between minimum and maximum values of ValueAxis (less than 0.00000001).
  • If 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.
  • 3D columns were cut off on IE if the size of Chart container changed after the chart was already build.
  • In some setups with <base href> some elements were being drawn incorrectly.

[4.4.2] - 2019-05-02

Added

  • New property for 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.
  • New event for 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.

Fixed

  • Export to SVG was not working on Firefox.
  • Some touch issues wit iOS Safari fixed.
  • ValueAxis could display non-rounded numbers (caused by floating point problem) sometimes.
  • maxPanOut of MapChart was being ignored.
  • Chart scrollbar was not being zoomed out when data of a chart changed.
  • 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.
  • Zoom with mouse wheel was buggy when zooming already zoomed-in XYChart.
  • Gant chart was not updating columns when chart.invalidateRawData() was called.
  • Issue with some propertyFields set on a LineSeries with no data fixed.
  • Reseting relativeRotation of AxisLabelCircular to undefined didn't work.

[4.4.1] - 2019-04-22

Changed

  • Now when using 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.

Fixed

  • JSON: Specifying language locale as string (i.e. "fr_FR") now works in JS setups, provided appropriate language file is loaded.
  • Grab/Grabbing cursor was not appearing on Scrollbars on Firefox.
  • MapChart used to pan itself when it was zoomed in, tapToActivate enabled, and was tapped.
  • Hovering mouse cursor over an XYChart while it was initializing could sometimes result in a JS error.
  • Issue with DateAxis and Series not having dates at certain data items fixed. It was cousing problems with multiple date axes mostly.

[4.4.0] - 2019-04-17

Added

  • Charts now have new property - tapToActivate (default: false). If set to true it will not react to touch drag gestures until user taps on the chart. More info.
  • New element on charts: 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.

Fixed

  • NumberFormatter in charts was ignoring locale settings.
  • TreeMap could crash across data update.
  • In some situations XYCursor with "panX" behavior would not allow panning the chart completely to the edge of data.

[4.3.15] - 2019-04-16

Added

  • 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.

Changed

  • Sunburst chart's defaalt radius set to 95%.

Fixed

  • TreeMap could produce a JS error if data was changed during interaction with the map.
  • If Component.addData() called before chart was initialized, error happened.
  • 3D columns with reversed base axis had wrong z-indexes.
  • 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.
  • Tooltips of series could overlap if series used different DateAxis axes.
  • Chart with multiple DateAxis and no animated theme was not properly zooming with scrollbar.
  • Implemented a workaround for MSIE which was not updating series masks on chart resize.
  • Disposing XYCursor will now remove series/axes tooltips that might be currently displayed because of it.

[4.3.14] - 2019-04-13

Added

  • New SliceGrouper setting: syncLegend (default false). If set to true the legend will be updated dynamically to show only those slices that are currently visible.
  • Plugin Regression: new property result will store all the results including formula and caculated points.
  • Plugin Regression: plugin now has events which can be used to attach event handlers such as "processed".

Fixed

  • Animation was failing when source value was string (i.e. "auto") and target value was number (i.e. 10).
  • JSON: Object entries in a List were not being their properties set.
  • MapChart sometimes could place Map images at incorrect positions.

[4.3.13] - 2019-04-10

Fixed

  • Using propertyFields.url was forcing pointer cursor on all objects from the same template, even if they did not have url set.
  • Memory leak with dynamic changes of data on TreeMap.
  • getPoint() method of XYSeries is now public.
  • Setting startAngle/endAngle before adding PieSeries was causing it to not be drawn.
  • Performance tweaks to 3D columns.

[4.3.12] - 2019-04-09

Changed

  • Series' 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.
  • Default value of hideOversized for LabelBullet changed to false.

Fixed

  • Dramatically improved performace of 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.

[4.3.11] -2019-04-08

Added

  • New plugin: SliceGrouper (allows automatically grouping small slices on any PercentSeries, e.g. Pie, Funnel, Pyramid, or Pictorial Stacked). More info.

Changed

  • Changed centerStrength default was changed to 0.8 in ForceDirectedSeries.

Fixed

  • Zero-value 3D columns were not visible on DateAxis.
  • FunnelSeries'' labels were out of bounds sometimes.
  • Regression plugin was not working when data was set directly on Series.

[4.3.10] - 2019-04-08

Changed

  • Corner radius is not supported anymore on 3D slices. A sacrifice towards performance.

Fixed

  • Performance of PieChart3D improved dramatically.

[4.3.9] - 2019-04-06

Added

  • ForedDirectedSeries properties minRadius and maxRadius can now be set in Percent.

Changed

  • Default value of ForceDirectedLink.strength changed to 1 to avoid initial shaking.
  • Default value of ForceDirectedSeries.manyBodyStrength changed to -15.
  • Default values of ForceDirectedSeries properties minRadius and maxRadius changed to 1% and 8% respectively.

Fixed

  • In ForedDirectedSeries the same color was being reused for top-level node and first child node.
  • It was impossible to set colors of ForedDirectedSeries data items via data.
  • ColorSet setting reuse = true was acting incorrectly.

[4.3.8] - 2019-04-05

Added

  • New chart type plugin: ForceDirectedTree. More info. Also check bundled examples: force-directed-tree, force-directed-tree-expandable, and force-directed-network.
  • New CategoryAxis property: positionToCategory(position).

[4.3.7] - 2019-04-04

Fixed

  • TreeMap was erroring out since 4.3.6 unless "animated" theme was enabled.
  • On TreeMap's legend with default markers valueLabels was not working on first load.

[4.3.6] - 2019-04-04

Added

  • New DateFormatter property: timezoneOffset. Set it to a number of minutes (to UTC) to recalculate all date/time to a specific time zone.

Changed

  • 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.
  • Improved 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.

Fixed

  • Themes were not properly being applied to bullets.
  • Popup.draggable was being ignored.
  • Series.legendSettings.itemValueText was being ignored when cursorTooltipEnabled = false. #1141
  • Mouse events over LineSeries segments where happening at wrong position.
  • legend.valueLabels on TreeMap did not work.
  • Changing Map projection with panBehavior = "rotateLongLat" could cause a JS error.
  • Changing TreeMap data after chart size changed could cause zoom-out button to appear.
  • Solved flickering of stacked columns when raw data was invalidated.
  • Updating data of a TreeMap when animation was playing could result in a JS error.

[4.3.5] - 2019-03-29

Added

  • New properties strokeLinejoin ("miter" | "round" | "bevel") and strokeLinecap ("butt" | "square" | "round") added to Sprite. More info.

Fixed

  • In some rare cases EDGE/IE could generate an "Unspecied error".
  • 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.

[4.3.4] - 2019-03-28

Fixed

  • Issue with JSON setups for MapChart fixed.

[4.3.3] - 2019-03-27

Fixed

  • MapPolygonSeries.geodataSource was not working.
  • MapChart was not showing data if geodata was set later than data on series.
  • When there were multiple data items with identical timestamps on DateAxis, the first ones could have been ignored.
  • Even if legend.itemContainer.template.togglable was set to false, Legend item was stil togglable.
  • Extra graticules (grid) was shown in GraticuleSeries unders some conditions.
  • Tooltips on a logarithmic ValueAxis were showing wrong values.
  • Value label for "0" could sometimes appear on top of logarithmic ValueAxis.
  • MapChart position was not correct if padding was set.

[4.3.2] - 2019-03-26

Fixed

  • MapChart dispose error fixed.

[4.3.1] - 2019-03-26

Fixed

  • Bug with live data updates fixed.

[4.3.0] - 2019-03-26

Added

  • 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();.
  • Albers, AlbersUsa, AzimuthalEqualArea, EqualEarth, NaturalEarth1, Stereographic projection classes added (use them regularly like: 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.

Changed

  • Engine behind rendering of maps was changed to use d3-geo.While the change should be backwards compatible, beware of and report any issues.
  • day-night-map and morphing-countries demos we changed to work properly with new version.
  • When adding a HeatLegend to MapChart its valign = "bottom" is no longer set by default. Set it explicitly if you need legend to bottom-aligned.

Fixed

  • rtl setting was not being inherited properly.
  • Fixed RTL behavior for labels.
  • Disposing a hovered chart with scroll pan enabled used to leave whole document with disabled wheel scroll.

[4.2.6] - 2019-03-21

Fixed

  • CategoryAxis was breaking down after dynamic data update since 4.2.4.

[4.2.5] - 2019-03-21

Added

  • New property minPolylinestep added to global am4core.options. Setting to bigger value (default: 0.5) allows simplification of multi-point lines.
  • Export: new setting useSimplifiedExport (default: true). Setting to false will force use of external library (canvg) for all exports.

Fixed

  • XYCursor with pan behavior used to remain in "grabbing" mode after click on zoom out button.
  • Export: Menu was not working properly on Mobile Safari.
  • Export: Menu was not working properly on Android Chrome.
  • Export: Exporting of PDF/XSLX is now supported on Mobile Safari.
  • Export: Exporting images in IE9 was broken.
  • Stacks with pre-hidden series were showing incorrectly.
  • DateAxis no longer ignores renderer.tooltipLocation.

[4.2.4] - 2019-03-19

Added

  • autoGapCount added to LineSeries. If connect = false and distance between two data points is bigger than baseInterval * autoGapCount, a line will break automatically.

Fixed

  • IPlugin now accepts Optional<Sprite>.
  • XYCursor will not longer obstruct page scroll if its behavior is set to "none".
  • JSON config: setting geodata by name (e.g. "worldLow") directly in MapSeries was not working.
  • JSON config: Instantiating new ColorSet objects was not working properly.
  • DateFormatter was not parsing dates like "20180101" (no separators) correctly.
  • An issue with DateAxis and milliseconds fixed.
  • dataItem.locations.dateX on LineSeries was not working properly.

[4.2.3] - 2019-03-14

Fixed

  • Exporting via API from a chart that did not have ExportMenu set, was resulting in error.
  • Fixed tooltip flickering that were set directly on series objects (columns/bullets).
  • Because of daylight saving, sometimes DateAxis could mistake yearly data for monthly data if baseInterval was not set explicitly.
  • Sometimes Sankey nodes did not perfectly fit into chart area.
  • Tick location on Y axis was being ignored.
  • Ticks were positioned incorrectly when multiple axes were on the same side of the XYChart.
  • Issue with strictMinMax and single data item fixed.
  • valueY (or any other value) wasn't working in legendSettings.itemLabelText.

[4.2.2] - 2019-03-13

Added

  • cursorHoverEnabled added to XYSeries. Controls whether to trigger hover state on columns/bullets of the all series under hovered category/date.
  • A new plugins property on all Sprite. More info.
  • New plugin: Regression. More info.
  • New ExportMenu setting: closeOnClick (default true). Will force export menu to close when export is initiated.

Changed

  • DateFormat will now parse even partial dates, e.g. format "yyyy-MM-dd" will parse "2018" correctly, and will assume Jan 1st.

Fixed

  • Export: getImage()/getSVG() will now correctly omit exportable = false elements.
  • Export: Data export was not taking in additional columns after data updates.
  • Some chart cloning issues fixed.
  • Inccorrect behavior of Series' tooltip with minBulletDistance set fixed.
  • Sometimes, when series had only one data item, chart used to zoom-in right after the init.
  • In-line date formatting will now use DateFormatter's parsing functions for string-based dates.
  • DateAxis issues with certain timezones fixed.

[4.2.1] - 2019-03-08

Fixed

  • Various graphical issues when using <base> tag (mostly affects Angular).
  • NumberFormatter did not have a public accessor to set negativeBase.

[4.2.0] - 2019-03-06

Added

  • Added read-only property of CategoryAxis: frequency. Indicates every X label is shown.
  • Added JSON example of Candle stick chart (json/candlestick-series).
  • New 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.
  • Experimental responsive features and default rules are now active. More info.

Changed

  • Accessibility: Default role of the Legend's item containers was changed to "switch".