What changed in Apache ECharts from 5 to 6
2 releases numbered after 5.6.0 up to and including 6.1.0, stable releases only. 5.6.0 and 6.1.0 are the newest stable releases of 5 and 6 we track; this page follows them as new ones ship.
- 2 mention breaking changes
44 changes across 2 releases
Added 34
- Support `dataMin` and `dataMax` option for calculating a nice axis extent
- Enable all types of axis (`value`/`time`/`category`/`log`) to render series without overflow and provide `containShape` option and corresponding `clip` option
- Automatically exclude non-positive series data values on `log` axis
- Enable `axisLabel.formatter` to receive its index for working with `customValues`
- Add `triggerEvent` option for line series for more control over mouse event
- Add `tangential-noflip` rotation mode to pie labels to keep labels tangential without flipping
- Support `'auto'` value for `progress.color` in gauge charts
- Add `clockwise` option for radar charts
- Add `cursor` option for candlestick series and add `cursorGrab` and `cursorGrabbing` options for inside dataZoom
- Enable `clip` option on scatter and effectScatter series on geo
- Add `seriesTargets` option for visualMap to support multiple series-dimension mappings
- Support `matrix.x/y.length` for conveniently creating a headless matrix
- Add `triggerEvent` option to matrix series to support triggering event on matrix cells
- Add Latvian (LV) translation
- New theme for ECharts 6.0
- New chord series
- New matrix coordinate system with support for declaratively laying out all series and components in matrix and calendar coordinate system cells
- Support reusable custom series
- New layout mechanism for Cartesian grid component to prevent axis labels and axis names from overflowing the canvas and overlapping
- Support jittering for scatter series
- Support break on the axis
- Support dynamically registering and switching themes
- Roaming infrastructure enhancement including roamTrigger, clip support on geo and series.map, cursor style changes, preserveAspect option, and improved behavior for roaming area overlapping
- Support thumbnail for the graph series
- Support z option for markPoint/markLine/markArea
- Support z2 option for markPoint/markLine/markArea
- Support reversing the stack order
- Support roaming for sankey series
- Support compoundPath in custom series renderItem
- Support relativeTo option for specifying the relative target of marker position
- Support tooltip for angleAxis label
- Support displayTransition option to control whether to enable the tooltip display transition
- Support unboundedRange option for visualMap
- Support triggerEvent option for legend
Fixed 10
- Change and clarify the rounding error and auto-precision utils and solutions
- Fix chart does not work when using `customValues` with `formatter` in time axis label
- Fix and clarify `alignTick` strategy and fix `LogScale` precision
- Fix duplicate ticks when using time axis or `customValues` which causes jitter of `splitArea` and fix `showMin/MaxLabel` handling of category axis
- Fix time axis bug when value scale is in millisecond
- Fix wrong label position when bar series has a 0 width/height
- Fix jitter layout does not support progressive rendering and cause chart to be frozen
- Fix effect symbol flip on unidirectional loop end when `roundTrip` is not enabled
- Fix label rich style does not inherit the plain label style
- Fix label layout margin
Original release notes, newest first
The list above is our reading of these notes; the originals from Apache are here, one fold per release.
6.1.0
- [Feature] [axis] Support
dataMinanddataMaxoption for calculating a nice axis extent. #20838 (Justin-ZS, Ovilia) - [Feature] [axis] Comprehensively enable all types of axis (i.e.,
"value"/"time"/"category"/"log") to render series (typically"bar"/"pictorialBar"/"candlestick"/"boxplot") without overflow (including the case"category"axis withboundaryGap: false); providecontainShapeoption; provide some correspondingclipoption. dbfaf6a73 fe932a2aa 3973b21ee (100pah) #21511 (Akash Sonune) - [Feature] [axis] Automatically exclude non-positive series data values on
"log"axis. dedc5dc18 (100pah) - [Feature] [axis] Enable
axisLabel.formatterto receive its index for working withcustomValues. #21220 #21432 (Szymon Pachucki, Ovilia, plainheart) - [Feature] [line] Add
triggerEventoption for more control over mouse event. #21001 (Steven Cobb, plainheart) - [Feature] [pie] Add
tangential-nofliprotation mode to keep labels tangential without flipping. #21258 (春秋半夏, Ovilia) - [Feature] [gauge]
progress.colorsupports'auto'. #21224 (StNimmerlein, Ovilia) - [Feature] [radar] Add
clockwiseoption. #21143 (Dai Xuezhou, Ovilia) - [Feature] [candlestick] [dataZoom] Add
cursoroption forcandlestickseries and addcursorGraboption &cursorGrabbingfor'inside'dataZoom. #21558 (zuming, Ovilia, 100pah) - [Feature] [scatter] [effectScatter] [geo] Enable
clipoption on"scatter"/"effectScatter"ongeo. 417592289 (100pah) - [Feature] [visualMap] Add
seriesTargetsoption for multiple series-dimension mappings. #20703 (Justin-ZS, plainheart) - [Feature] [matrix] Support
matrix.x/y.lengthfor conveniently creating a headless matrix without composing an array. #21191 (100pah, plainheart) - [Feature] [matrix] Add
triggerEventoption to support triggering event on matrix cells. #21390 (Natsuo Kawai, 100pah) - [Feature] [i18n] add Latvian(LV) translation. #21546 (EPoikans)
- [Fix] [axis] Change and clarify the rounding error and auto-precision utils and solutions. 479dcd454 (100pah)
- [Fix] [axis] Fix chart does not work when using
customValueswithformatterin time axis (axis.type: 'time') label. #21352 (Srajan Sanjay Saxena, plainheart) - [Fix] [axis] Fix and clarify
alignTickstrategy, and fixLogScaleprecision. a6ab2458f ffcc636fb (100pah) - [Fix] [axis] Fix duplicate ticks when using time axis (
axis.type: 'time') orcustomValues, which causes jitter ofsplitArea; fix theshowMin/MaxLabelhandling of a category axis (axis.type: 'category'); enable a uniformbandWidthcalculation in numeric axis (axis.type: 'value' | 'time' | 'log'). 8de2b64fa 15af0db02 8ddaa5c69 (100pah) - [Fix] [axis] Fix time axis (
axis.type: 'time') bug when value scale is in millisecond. 40b77b464 (100pah) - [Fix] [bar] Fix wrong label position when bar series has a 0 width/height. #21218 (Justin-ZS, Ovilia)
- [Fix] [scatter] Fix jitter layout does not support progressive rendering and cause chart to be frozen and potential NPE. #21436 (plainheart)
- [Fix] [lines] Fix effect symbol flip on unidirectional loop end when
roundTripis not enabled. #21320 (Mayank Mehta, plainheart) - [Fix] [candlestick] Fix candlestick render error with
series.encodeon horizontal layout. #21325 (Purbayan Pramanik, 100pah) - [Fix] [parallel] Fix incorrect axis extent when any subsequent series has a larger value than the first. #21387 (jackhickson, 100pah)
- [Fix] [pie] Support axes extent union pie center automatically when pie is laid out on Cartesian (
gridcomponent). 18a23a875 (100pah) - [Fix] [treemap] Fix treemap can not be zoomed out after a zoom-in when
scaleLimitis specified #21427 (TateLiu, 100pah) - [Fix] [lines] Fix potential
tooltipXSS vulnerability in lines series (series.type: 'lines'). #21608 (plainheart) - [Fix] [map] [geo] Fix the failed synchronization and visual artifacts on geo roaming and animation. 417592289 (100pah)
- [Fix] [tooltip] Fix
tooltipcontent does not refresh when changing tooltip trigger from'axis'to'item'. #20710 (Justin-ZS, plainheart) - [Fix] [tooltip]
valueFormattercallback paramdataIndexshould berawDataIndexrather thandataZoomfiltereddataIndex. #21479 (100pah, plainheart) - [Fix] [axisPointer] Fix
axisPointershadow and enable clipping - it is previously only applicable to"category"axis, but is buggy in numeric axis with"bar"series. 8de2b64fa (100pah) - [Fix] [axisPointer] Fix visual artifacts caused by failed
axisPointerrestoration. 56a32c0bb (100pah) - [Fix] [hoverLayer] Fix visual artifacts arisen on hover layer. zrender#1151 933585126 (100pah)
- [Fix] [marker] Fix
markerfails to render withdatasetandencode. #21439 (plainheart, 100pah). - [Fix] [dataZoom] Fix wrong position of the
dataZoomwhen theserieshas only one data point. #21196 (alesmit, Ovilia) - [Fix] [dataZoom] Fix
dataZoombug that data info disappears when dragging released; fixdataZoomdragging cursor style. 64305a4b8 (100pah) - [Fix] [dataZoom] Apply a better auto-precision method; fix unexpected behaviors when
dataZoomcontrols axes withalignTicks: true. d168bf237 (100pah) - [Fix] [dataZoom] Fix
AxisProxycan not be cleared whendataZoomoption changed; fix relatedonZerobehaviors. 52ceb924a 2e82d33c3 (100pah) - [Fix] [areaStyle] Fix
areaStylerender error when dimension name is empty string. #21219 (Justin-ZS, Ovilia) - [Fix] [sunburst] Fix root node label may not be centered. #21306 (Akash Sonune, Ovilia)
- [Fix] [matrix] Fix matrix label formatter does not work. #21410 (Justin-ZS, Ovilia)
- [Fix] [toolbox] Fix
emphasiscolor is the same as the default color. #21384 (Ovilia) b094f987d (100pah) - [Fix] [toolbox] Fix the
dataViewcomponent does not fit the dark mode. #21176 (notthistrain, Ovilia) - [Fix] [progressive] Fix progressive rendering issues. 91a60fc76 (100pah)
- [Fix] [labelLine] Fix
labelLine.smoothcan not be reset. #21425 (fanwww, plainheart) - [Fix] [graphic] Fix stroke corner gap due to not closing path in
roundRecthelper. zrender#1155 (plainheart) - [Fix] [svg] Enhance SVG
encodeBase64compatibility to make it available in more environments like Web Worker/NodeJS/Bun. zrender#1145 (plainheart) - [Fix] [core] Mark
echartsinstance object asrawinVue. #21293 (plainheart) - [Fix] [chord] Add the missing export entry for chord chart. #21197 (plainheart, Ovilia)
- [Fix] [i18n] Fix incorrect translation for custom series name in
langDE. #21571 (A-Loot, plainheart) - [Fix] [typescript]
- Fix and enhance
TS,ESMandCJScompatibility. #21411 (Akash Sonune, 100pah) - Fix missing or mismatched
TSexport types. #21147 (100pah, Ovilia) - Fix
nodeScaleRatiooption type forgraphseries. #21229 (ocshawn, plainheart) emphasis.handleLabelofsliderdataZoomshould be an optional type. #21175 (Ovilia, plainheart)- Correct typo
Continous→Continuousand deprecate typo'd types. #21528 (Homa Wong, plainheart)
- Fix and enhance
- [Chore] [refactor]
- [Chore] [security] Add security checking hints in PR template. #21327 (100pah, plainheart)
- [Chore] Add
unpkgentry topackage.json. #21177 (Yue JIN, plainheart) - [Chore] Fix example description for the
eachmethod ofSeriesData. #21294 (Yurun, plainheart) - [Chore] Fix the
test/webkit-dep.htmtest case. #21508 (zuming, Ovilia) - [Break] Breaking changes against
v6.0.0:- tooltip.valueFormatter: The 2nd parameter of
tooltip.valueFormattercallback is changed fromdataIndex(i.e., the index afterseriesdata filtered bydataZoom) torawDataIndex(i.e., the index of the original inputseriesdata). - axis.startValue: Previously
startValuewas also used asaxis.minif axis.min was not provided. The new version decouples them - explicitly setting them both (e.g.,startValue: 111, min: 111) is equivalent to the previous behavior (startValue: 111andminis not specified). - Previously,
"bar"/"pictorialBar"/"candlestick"/"boxplot"series could overflow the Cartesian rectangle (grid) at the edge shapes. The new version eliminates that overflow. The previous behavior can be restored viaaxis.containShape: false.
- tooltip.valueFormatter: The 2nd parameter of
New Contributors
- @daidr made their first contribution in https://github.com/apache/echarts/pull/21143
- @zhangqin2-yewu made their first contribution in https://github.com/apache/echarts/pull/21179
- @notthistrain made their first contribution in https://github.com/apache/echarts/pull/21176
- @ocshawn made their first contribution in https://github.com/apache/echarts/pull/21229
- @StNimmerlein made their first contribution in https://github.com/apache/echarts/pull/21224
- @szymonpachucki made their first contribution in https://github.com/apache/echarts/pull/21220
- @alesmit made their first contribution in https://github.com/apache/echarts/pull/21196
- @Yurunsoft made their first contribution in https://github.com/apache/echarts/pull/21294
- @akashsonune made their first contribution in https://github.com/apache/echarts/pull/21306
- @gzamann made their first contribution in https://github.com/apache/echarts/pull/21313
- @MC-YCY made their first contribution in https://github.com/apache/echarts/pull/21258
- @mynk2611 made their first contribution in https://github.com/apache/echarts/pull/21320
- @PPRAMANIK62 made their first contribution in https://github.com/apache/echarts/pull/21325
- @Srajan-Sanjay-Saxena made their first contribution in https://github.com/apache/echarts/pull/21352
- @sjcobb made their first contribution in https://github.com/apache/echarts/pull/21001
- @fanwww made their first contribution in https://github.com/apache/echarts/pull/21425
- @jackhickson made their first contribution in https://github.com/apache/echarts/pull/21387
- @natsuokawai made their first contribution in https://github.com/apache/echarts/pull/21390
- @pgoslatara made their first contribution in https://github.com/apache/echarts/pull/21487
- @diysimon made their first contribution in https://github.com/apache/echarts/pull/21508
- @unional made their first contribution in https://github.com/apache/echarts/pull/21528
- @EPoikans made their first contribution in https://github.com/apache/echarts/pull/21546
- @dagecko made their first contribution in https://github.com/apache/echarts/pull/21556
- @A-Loot made their first contribution in https://github.com/apache/echarts/pull/21571
6.0.0
- [Feature] [theme] New theme for ECharts 6.0. #20865 #21097 #21114 (Ovilia)
- [Feature] [chord] New chord series. #20522 (Ovilia)
- [Feature] [matrix&calendar] New matrix coordinate system. And all series and components (including other coordinate systems, such as
grid(Cartesian),geo,polar, etc.) are supported to be declaratively laid out in the cells of matrix and calendar coordinate system. #19807 #21093 (Ovilia) #21005 #21108 (100pah) - [Feature] [custom] Support reusable custom series. #20226 (Ovilia)
- [Feature] [cartesian] Introduce new layout mechanism to avoid Cartesian (i.e.,
gridcomponent) axis labels and axis names overflowing the canvas, prevent axis names from overlapping with axis labels, and make them the default. #21059 (100pah) #19534 (robin-gerling) #16825 (konrad-amtenbrink) - [Feature] [scatter] Support jittering for scatter series. #19941 #21067 (Ovilia)
- [Feature] [axis] Support break on the axis. #19459 (Ovilia) #20857 (100pah)
- [Feature] [theme] Support dynamically registering and switching themes. #20705 (Ovilia)
- [Feature] [roam] Roaming infrastructure enhancement - support users specifying roaming area by
roamTrigger; supportclipongeoandseries.map; support cursor style change when hovering on the roaming area; supportpreserveAspectongeo,series.mapandseries.graph; fix the percent base ofcenterongeo,series.map,series.graphandseries.tree; enhance the behavior for roaming area overlapping. #19807#issuecomment-2974437299 (100pah) - [Feature] [thumbnail] Support thumbnail for the graph series. #19807#issuecomment-3013454598 (100pah) #17471 (Lruler)
- [Feature] [marker] Support
zoption for markPoint/markLine/markArea. #21117 (sz-p) - [Feature] [marker] Support
z2option for markPoint/markLine/markArea. #20782 (sz-p) - [Feature] [stack] Support reversing the stack order. #20998 (Justin-ZS)
- [Feature] [sankey] Support roaming for sankey series. #20321 (Ovilia)
- [Feature] [custom] Support compoundPath in custom series renderItem. #20402 #21040 (Ovilia)
- [Feature] [marker] Support
relativeTooption for specifying the relative target of marker position. #20166 #21042 (Ovilia) - [Feature] [axis] Support tooltip for angleAxis label. #20986 (plainheart)
- [Feature] [tooltip] Support
displayTransitionoption to control whether to enable the tooltip display transition. #20966 (jqqin) - [Feature] [visualMap] Support
unboundedRangeoption. #21113 (100pah) - [Feature] [legend] Support
triggerEventoption. #18164 #20907 (sz-p) - [Feature] [custom] Support
tooltipDisabledfor custom series. #20447 (Ovilia) - [Feature] [i18n] Add Norwegian Bokmål (nb-NO) translation. #20792 (joakimono)
- [Feature] [i18n] Add Greek (EL) translation. #21119 (tassosgeo)
- [Fix] [label] Fix label rich style does not inherit the plain label style. #20977 (plainheart) #21016 (100pah)
- [Fix] [label] Fix label layout margin. #21103 (100pah)
- [Fix] [dataZoom] Fix data shape distribution for time axis. #16978 (andrearoota) #21043 #21039 (Ovilia)
- [Fix] [tooltip] Fix null value item on category axis should be able to show tooltip. #20777 (Justin-ZS)
- [Fix] [visualMap] Fix some text style can't work on visualMap. #20961 (plainheart)
- [Fix] [dataZoom] Restrict range on brushEnd. #20814 (mortalYoung)
- [Fix] [heatmap] Fix labels not in calendar range are unexpectedly displayed. #20699 (plainheart)
- [Fix] [series] Fix mismatched dimension index. #20682 (Justin-ZS)
- [Fix] [bar] Fix polar bar should update
roundCapwhen changes. #20582 (Ovilia) - [Fix] [pie] Fix labelLine may be not removed and cause error when single label position is not in outside. #20906 (plainheart)
- [Fix] [sankey] Fix browser crash when
emphasis.focusis'trajectory'with large data. #20959 (plainheart) - [Fix] [custom] Fix potential NPE when applying leave transition. #20920 (plainheart)
- [Fix] [tooltip] Fix potential memory leakage by explicitly unbinding event listeners. #21087 (seaheart)
- [Fix] [axis] [log] Fix incorrect rounding usage, and support data with big negative exponent. #21107 (SihongShen) #21120 (100pah)
- [Fix] [axis] Fix extreme small numbers can not be displayed in Cartesian due to the inappropriate rounding precision. #21120 (100pah) (SihongShen)
- [Fix] [dataZoom] Change moveHandler cursor to default. #20304 (ribeirompl)
- [Fix] [tooltip] Fix style coord transform markers are not removed after the tooltip is disposed. #20987 (plainheart)
- [Fix] [bar] Remove unused
startValueoption from theBarSeriesOptioninterface. #20901 (plainheart) - [Fix] [title] Fix title text style width type should not include string. #20800 (sz-p)
- [Fix] [radar] Fix
blur.itemStylenot working. #21081 (mustcanbedo) #21124 (Ovilia) - [Fix] [roam] Fix RoamControllerHost importing path. #20313 (Ovilia)
- [Fix] [svg] Remove SVG support check in
getSvgDataURL. #20760 (plainheart) - [Break] Breaking changes against v5.6.0:
- The default theme has been changed, including the visual style and the default location settings of components and series. For example, the default legend position is now at the bottom of the canvas. The new default settings are more reasonble, but if they affect the existing usage, use
echarts/theme/v5.jsto restore the old visual style and location settings. See #20865. - The v5
echarts/src/theme/light.tsis now migrated toecharts/theme/rainbow.js. - The position of Cartesian axes might shift slightly if the axis names or labels previously overflowed the canvas or overlapped, as anti-overflow and anti-axisLabel-axisName-overlap mechanism are enabled by default. In most cases that changes will be indiscernible to the naked eye. But if any unreasonable change occurs, you can use option
grid.outerBoundsMode: 'none'to disable the anti-overflow mechanism, and/or use optionxAxis/yAxis.axisLabel.nameMoveOverlap: falseto disable the anti-axisLabel-axisName-overlap mechanism. See #21059. - The percent base of the option
center(such as the base of'33%') ongeo,series.map,series.graphandseries.treeare changed. The previous percent base is incorrect. But if you need to restore, setlegacyViewCoordSysCenterBase: true(on the root level of an echarts option). See #19807#issuecomment-2974437299. - Now label rich styles (
fontStyle,fontWeight,fontSize,fontFamily,textShadowColor,textShadowBlur,textShadowOffsetX,textShadowOffsetY) are changed to inherit the plain label styles. You can userichInheritPlainLabel: false(on the root level of an echarts option, or at the same level of the label style options) to restore it. See #20977
- The default theme has been changed, including the visual style and the default location settings of components and series. For example, the default legend position is now at the bottom of the canvas. The new default settings are more reasonble, but if they affect the existing usage, use
New Contributors
- @Lruler made their first contribution in https://github.com/apache/echarts/pull/17471
- @robin-gerling made their first contribution in https://github.com/apache/echarts/pull/19534
- @shaymolcho made their first contribution in https://github.com/apache/echarts/pull/20727
- @joakimono made their first contribution in https://github.com/apache/echarts/pull/20792
- @Justin-ZS made their first contribution in https://github.com/apache/echarts/pull/20682
- @mortalYoung made their first contribution in https://github.com/apache/echarts/pull/20814
- @jbampton made their first contribution in https://github.com/apache/echarts/pull/20887
- @jqqin made their first contribution in https://github.com/apache/echarts/pull/20966
- @SchnWalter made their first contribution in https://github.com/apache/echarts/pull/20967
- @seaheart made their first contribution in https://github.com/apache/echarts/pull/21087
- @souhailaS made their first contribution in https://github.com/apache/echarts/pull/21110
- @SihongShen made their first contribution in https://github.com/apache/echarts/pull/21107
- @lzl0304 made their first contribution in https://github.com/apache/echarts/pull/21104
- @tassosgeo made their first contribution in https://github.com/apache/echarts/pull/21119
- @mustcanbedo made their first contribution in https://github.com/apache/echarts/pull/21081