NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #784 most downloaded on npm
React charts
Last release today
03 Oct 2026
Release timing varies
gaps range from 1 weeks to 2 months
Nearly every release is documented
notes for 22 of 22 stable releases
265 versions withdrawn
withdrawn after publishing
11 years old
294 releases · first in 2015
Fix parseColor to accept rgba() syntax by @PavelVanecek in #7862
Full Changelog: v3.11.0-canary.4...v3.11.0-canary.5
One column per quarter.
Update Legend theme by @PavelVanecek in #7804
Full Changelog: v3.11.0-canary.3...v3.11.0-canary.4
Improve graphical item theme color assignment by @PavelVanecek in #7777
Full Changelog: v3.11.0-canary.2...v3.11.0-canary.3
Extend themed dot colors to Area and Radar by @PavelVanecek in #7763
Full Changelog: v3.11.0-canary.1...v3.11.0-canary.2
All changes included in 3.11.0-canary.0 plus:
All changes included in 3.11.0-canary.0 plus:
Full Changelog: v3.11.0-canary.0...v3.11.0-canary.1
Themes! See the new guide in https://recharts.github.io/en-US/guide/theming/
Themes! See the new guide in https://recharts.github.io/en-US/guide/theming/
This is experimental release; please share your feedback and know that the API may still change. However the whole https://recharts.github.io/ website already runs on it and I am quite happy with how it turned out.
Full Changelog: v3.10.1...v3.11.0-canary.0
fix(Pie): pass computed innerRadius/outerRadius to Label children via PolarLabelContextProvider by @0007aadil in #7458
Full Changelog: v3.10.0...v3.10.1
Legend now supports position and offset props, same as Label and LabeList. This replaces the previous align and verticalAlign for a more convenient po
Legend now supports position and offset props, same as Label and LabeList. This replaces the previous align and verticalAlign for a more convenient positioning, and fixes couple visual bugs too. See https://recharts.github.io/en-US/examples/LegendPosition/
XAxis now supports height="auto" prop, similar to YAxis width="auto".
Full Changelog: v3.9.2...v3.10.0
docs: clarify custom labels and ticks need SVG elements by @ishaanlabs-gg in #7524
Full Changelog: v3.9.1...v3.9.2
perf: optimize ScatterChart hover by reducing re-renders from O(n) to O(1) by @roy7 in #7133
Full Changelog: v3.9.0...v3.9.1
fix: resolve TypeScript 6 deprecation errors in tsconfig files by @shreedharbhat98 in #7285
3.9 comes with new animations! There are several bug fixes and what's best, all animations are now fully customizable.
See the animations guide on https://recharts.github.io/en-US/guide/animations/
We now have focused tree-shaking tests that allow us to observe exactly which components end up in the final bundle and why. I have also removed some unnecessary loops and you should see the final bundle size decrease somewhat as a result.
There are also two new examples on the website, showing real bundle size:
Full Changelog: v3.8.1...v3.9.0-canary.0
fix: resolve TypeScript 6 deprecation errors in tsconfig files by @shreedharbhat98 in #7285
This is a canary release, meaning that the new features announced in this release may change. While I am happy with the new props, I would like to gather some feedback before going stable.
3.9 comes with new animations! There are several bug fixes and what's best, all animations are now fully customizable.
I'm releasing a canary version first; please try it out, if there are some problems then please let me know so I can fix things before we release a stable version.
See the animations guide on https://recharts.github.io/recharts/canary/www/en-US/guide/animations/. Try to integrate it with your charts, write custom animations, let me know how it went!
We now have focused tree-shaking tests that allow us to observe exactly which components end up in the final bundle and why. I have also removed some unnecessary loops and you should see the final bundle size decrease somewhat as a result.
There are also two new examples on the website, showing real bundle size:
Full Changelog: v3.8.1...v3.9.0-canary.0
fix(z-index): prevent elements from disappearing during dynamic zIndex transitions by @VIDHITTS in #7006
Bugfixes!
Full Changelog: v3.8.0...v3.8.1
We added generics to our data and dataKey props and now you can have your charts validated by TypeScript. See the full guide here: https://recharts.gi
We added generics to our data and dataKey props and now you can have your charts validated by TypeScript. See the full guide here: https://recharts.github.io/en-US/guide/typescript/
We are releasing new helper functions and hooks that will allow you to precisely target mouse interactions, and convert coordinates. See the guide here: https://recharts.github.io/en-US/guide/coordinateSystems/
And new functions and hooks:
getRelativeCoordinate - converts mouse events to pixel positions
Convert Data → Pixels:
useXAxisScale - returns a function to convert X data values to pixel positions
useYAxisScale - returns a function to convert Y data values to pixel positions
useCartesianScale - convenience hook for converting both at once
Pixels → Data:
useXAxisInverseScale - returns a function to convert pixel X to the closest data value
useYAxisInverseScale - returns a function to convert pixel Y to the closest data value
useXAxisInverseTickSnapScale - returns a function to convert pixel X to the closest axis tick
useYAxisInverseTickSnapScale - returns a function to convert pixel Y to the closest axis tick
Accessing Ticks:
useXAxisTicks - returns the calculated ticks of an X-axis
useYAxisTicks - returns the calculated ticks of a Y-axis
Hooks: New hooks (see above) by @PavelVanecek in #6960Annotations: export getRelativeCoordinate helper function by @PavelVanecek in #6942Legend: Add label style prop in Legend by @devoldemar in #7012XAxis/YAxis: new niceTIcks prop - specify 'none' | 'auto' | 'equidistant' | 'nice' for different behaviors by @MaxGhenis in #7009General: Add event throttling controls to chart props by @PavelVanecek in #6924Pie: fix: enable tooltip synchronization for PieChart by @VIDHITTS in #6989Pie: fix: sync pie tooltip/legend color with per-sector fill by @2YH02 in #6977Bar: Fix activeBar highlighting with missing/null data by @Copilot in #7001Bar: Support Bar CSS transitions by @PavelVanecek in #6920XAxis/YAxis: respect user-provided textAnchor prop on XAxis/YAxis by @pierreeurope in #7028Tooltip: Close tooltip on blur by @gVguy in #6958General: fix error when onMouseEnter/Leave={undefined} by @SvetlanaVesna in #6969Animation: [animations] auto disable primitives animations based on user system preferences by @cloud-walker in #6956Animation/Line: fix: prevent animated line flicker with round/square strokeLinecap by @roy7 in #7022Performance: filter zero-dimension rectangles early by @MendyLanda in #6800Bar: Add generics to Bar by @PavelVanecek in #7015RadialBar: shape type and selector stability by @PavelVanecek in #6917LabelList/Area: Enhance type definitions for LabelList and Area components by @PavelVanecek in #6936Pie Fix Pie event handlers type by @PavelVanecek in #6944Pie/RadialBar: Fix event types for Pie and RadialBar by @PavelVanecek in #6965PolarAngleAxis: Fix PolarAngleAxis event types, add tests for remaining components by @PavelVanecek in #7000Tooltip: payload type from any by @PavelVanecek in #6925XAxis/YAxis: update event types for XAxis and YAxis, add type tests by @PavelVanecek in #7004General: Add external generics to Area by @PavelVanecek in #6993General: Add optional explicit generics to graphical items and charts by @PavelVanecek in #7035General: New feature - typed charts helper by @PavelVanecek in #7071General: Fix mouse event type by @PavelVanecek in #6939Full Changelog: v3.7.0...v3.8.0
📢 Cell is now deprecated and will be removed in the next major version. Please migrate all Cell usage to use the shape prop of respective chart elemen…
📢 Cell is now deprecated and will be removed in the next major version. Please migrate all Cell usage to use the shape prop of respective chart elements. ‼️
useIsTooltipActive: returns if the tooltip is active by @PavelVanecek in #6880useActiveTooltipCoordinate: returns current tooltip coordinate by @PavelVanecek in #6880Tooltip: allow offset prop to accept Coordinate object by @bigsaigon333 in #6868X/YAxis add new axis type: "auto" by @PavelVanecek in #6823
X/YAxis: replace tick: any with explicit type by @PavelVanecek in #6911Bar/TypeScript: add BarShapeProps type to fix Bar.shape type by @PavelVanecek in #6900TypeScript: add missing useful type exports for content, shape functions, etc. @PavelVanecek in #6852BarChart: fix stackOffset=sign for charts with 3 or more positive values in one series by @PavelVanecek in #6807BarStack: fix circular dependency when building with vite by @jkr2255 in #6777BarStack: fix BarStack clipPath in charts with stackOffset=sign by @PavelVanecek in #6806BarStack: apply bar stack radius to active bars by @PavelVanecek in #6906strict tsconfig by @PavelVanecek in #6842We've started auto-generating our docs for the most part so you should see large improvements in accuracy of the docs between the code, the website, and the storybook. Huge shoutout to @PavelVanecek 🚀
Full Changelog: v3.6.0...v3.7.0
CartesianAxis: Deprecate CartesianAxis @PavelVanecek in https://github.com/recharts/recharts/pull/6774
3.6 🚀 - check out BarStack and ranged stacked bars 📊
BarStack: new component BarStack by @PavelVanecek in https://github.com/recharts/recharts/pull/6746
radiusBar: enable ranged stacked bars by @PavelVanecek in https://github.com/recharts/recharts/pull/6722Pie/Typescript: Export PieSectorShapeProps type for shape function by @ramanverse in https://github.com/recharts/recharts/pull/6706
XAxis/YAxis: Implement 'equidistantPreserveEnd' interval option for XAxis and YAxis (#6642) by @Om-Mishra09 in https://github.com/recharts/recharts/pull/6661Tooltip: Add graphicalItemId to tooltip payload object by @PavelVanecek in https://github.com/recharts/recharts/pull/6765TypeScript: Export TooltipIndex, BarRectangleItem, TreemapNode, DataKey, AxisInterval from public API by @Copilot in https://github.com/recharts/recharts/pull/6676Scatter: fix bug where Tooltip payload data was duplicated or contained unrelated items when using multiple Scatter elements in one ScatterChart by @PavelVanecek in https://github.com/recharts/recharts/pull/6773Label/LabelList: Fix crash when Label is passed as content to LabelList by @Harikrushn9118 in https://github.com/recharts/recharts/pull/6732General: Round numbers before putting them to DOM by @PavelVanecek in https://github.com/recharts/recharts/pull/6707General: Store refs instead of IDs to unblock shadow DOM usecases by @PavelVanecek in https://github.com/recharts/recharts/pull/6753CartesianAxis: Deprecate CartesianAxis @PavelVanecek in https://github.com/recharts/recharts/pull/6774undefined checks for progress towards TS strict modeFull Changelog: https://github.com/recharts/recharts/compare/v3.5.1...v3.6.0
Pie: add missing Sector index to Pie shape prop by @ckifer in https://github.com/recharts/recharts/pull/6683
Pie: add missing Sector index to Pie shape prop by @ckifer in https://github.com/recharts/recharts/pull/6683
Pie similar to activeIndex in 2.xPie: prevent cross-Pie highlighting in multi-Pie PieCharts with shared dataKeys by @shreedharbhat98 in https://github.com/recharts/recharts/pull/6678
TypeScript/Tooltip: update activeLabel type to be a string | number by @ckifer in https://github.com/recharts/recharts/pull/6691
Accessibility/General: add tabIndex -1 on Recharts ZIndex svg portal g tags to prevent extraneous focusable surfaces by @ckifer in https://github.com/recharts/recharts/pull/6687General: Removed accidental eslint dependency from main dependencies which should remove it from installation with rechartsFull Changelog: https://github.com/recharts/recharts/compare/v3.5.0...v3.5.1
Mostly fixes and performance improvements this release but check out the deprecation of Pie active/inactiveShape in favor of aligning with the shape p…
Mostly fixes and performance improvements this release but check out the deprecation of Pie active/inactiveShape in favor of aligning with the shape prop of other chart elements.
Pie: add shape to align custom Pie sector shapes to other Recharts components by @ckifer in https://github.com/recharts/recharts/pull/6482
activeShape and inactiveShape. Please use the isActive prop passed from the callback to shape to create active Pie sectors.Stacked Charts: implement reverseStackOrder prop in v3 - fixes a regression between recharts 2 and 3 by @j-shimizu111 in https://github.com/recharts/recharts/pull/6644Typescript/Dot: export ActiveDotProps and DotItemDotProps types by @simaks in https://github.com/recharts/recharts/pull/6657SetTooltipEntrySettings to break infinite rendering loop by @PavelVanecek in https://github.com/recharts/recharts/pull/6616Line: fix animation when interrupted with non-data related changes by @PavelVanecek in https://github.com/recharts/recharts/pull/6641Line/Area: fix active dot appearing outside graph by @cameronm-orion in https://github.com/recharts/recharts/pull/6612Legend: a Legend with a portal no longer adjusts the margin of the chart (which left an empty space) by @ckifer in https://github.com/recharts/recharts/pull/6609ErrorBar: remove duplicate key warning when error range has same values by @bas0N in https://github.com/recharts/recharts/pull/6660PolarAngleAxis: prevent overlapping "0" and "360" ticks by @PavelVanecek in https://github.com/recharts/recharts/pull/6611Typescript/Area: add specific type to Area.label instead of any by @PavelVanecek in https://github.com/recharts/recharts/pull/6621General: disable immutable check in production, removes console warnings by @tngwoerleij in https://github.com/recharts/recharts/pull/6619Full Changelog: https://github.com/recharts/recharts/compare/v3.4.1...v3.4.2
Forgot some exports for Z Index in 3.4
Forgot some exports for Z Index in 3.4
DefaultZIndexes and ZIndexLayer by @ckifer in https://github.com/recharts/recharts/pull/6599Full Changelog: https://github.com/recharts/recharts/compare/v3.4.0...v3.4.1
Added z-index support across most recharts surfaces + a few other features, lots of fixes, and some doc updates 🚀
Added z-index support across most recharts surfaces + a few other features, lots of fixes, and some doc updates 🚀
Line: add shape property to allow for custom shape implementations by @tarik02 in https://github.com/recharts/recharts/pull/6512Stacked Bar: improved stacked bar animationsSankey: support for left-aligned Sankey nodes via the align prop by @dbnl-renaud in https://github.com/recharts/recharts/pull/6568Sankey: support for top-aligned Sankey nodes via the verticalAlign prop by @dbnl-kat https://github.com/recharts/recharts/pull/6576Label: allow overwriting the textAnchor prop by @PavelVanecek in https://github.com/recharts/recharts/pull/6547Stacked Bar / Brush: fix bug in stacked bar charts with a brush where the brush would remove elements from the wrong side of the chart by @37108 in https://github.com/recharts/recharts/pull/6481Area: fix regression in Area event handlers where the events were not firing correctly by @PavelVanecek in https://github.com/recharts/recharts/pull/6507Funnel: fix Funnel margin calculations by @PavelVanecek in https://github.com/recharts/recharts/pull/6453Funnel: fix label position issues from previous release by @PavelVanecek in https://github.com/recharts/recharts/pull/6473Label/Text: correct Label and Text types to only what they can actually render by @PavelVanecek in https://github.com/recharts/recharts/pull/6467Misc: inline a few es-toolkit functions that were causing build errors by @daiboom in https://github.com/recharts/recharts/pull/6543Misc: remove circular dependency import that had potential to cause runtime errors by @ckifer in https://github.com/recharts/recharts/pull/6581strictNulls in TSConfig for good 🚀
Lots of changes in recharts.github.io
Full Changelog: https://github.com/recharts/recharts/compare/v3.3.0...v3.4.0
ResponsiveContainer is now built-in to all charts by @PavelVanecek in https://github.com/recharts/recharts/pull/6388
ResponsiveContainer is now built-in to all charts by @PavelVanecek in https://github.com/recharts/recharts/pull/6388
responsive prop to any chart along with a height and width as if you were using ResponsiveContainer. One less component to wrap things with. ResponsiveContainer will continue to work for the life of 3.x<BarChart data={data} responsive height={300} width="100%">
....
</BarChart>
YAxis: Only use the YAxis width="auto" oscillation detection if the difference is > 1 pixel by @PavelVanecek in https://github.com/recharts/recharts/pull/6450ResponsiveContainer: only shrinks in the dimensions where it needs to shrink by @PavelVanecek in https://github.com/recharts/recharts/pull/6367Treemap: fix animation stutters in Treemap by @PavelVanecek in https://github.com/recharts/recharts/pull/6326Sankey: fix unique key error by @daiboom in https://github.com/recharts/recharts/pull/6352Unfortunately the current contributors and admins do not own recharts.org and the renewal of the domain remains up in the air. To remove that uncertainty we have deployed the website at our github pages URL instead.
Full Changelog: https://github.com/recharts/recharts/compare/v3.2.1...v3.3.0
X/YAxis, etc.: reduce re-renders to fix blinking line in Zoom & Highlight example by @PavelVanecek in https://github.com/recharts/recharts/pull/6315
X/YAxis, etc.: reduce re-renders to fix blinking line in Zoom & Highlight example by @PavelVanecek in https://github.com/recharts/recharts/pull/6315Bar: Remove redundant Rectangle import, fixes tsup builds with recharts in them by @guscost in https://github.com/recharts/recharts/pull/6305Pie: fix PieLabel types by @PavelVanecek in https://github.com/recharts/recharts/pull/6313Brush: fix index off by one error when margin is 0 by @ckifer in https://github.com/recharts/recharts/pull/6323Full Changelog: https://github.com/recharts/recharts/compare/v3.2.0...v3.2.1
Quite a bit of 3.0 bug fixes in this release along with two new hooks. Thanks to all who've been reporting issues!
Quite a bit of 3.0 bug fixes in this release along with two new hooks. Thanks to all who've been reporting issues!
Pie: support string values in Pie outerRadius callbacks by @rephaelberkooz in https://github.com/recharts/recharts/pull/6191PolarGrid: add fill color support to by @mindtraveller in https://github.com/recharts/recharts/pull/6287useXAxisDomain and useYAxisDomain hooks by @PavelVanecek in https://github.com/recharts/recharts/pull/6201useMargin hook by @PavelVanecek in https://github.com/recharts/recharts/pull/6224Bar: fix unnecessary line breaks in Bar labels by @eino in https://github.com/recharts/recharts/pull/6214Bar: improve Bar performance when activeBar is turned off by @PavelVanecek in https://github.com/recharts/recharts/pull/6290Stacked Bar/Area: fix stacked charts with duplicate categorical data by @PavelVanecek in https://github.com/recharts/recharts/pull/6194Scatter: fix exception when Scatter data has non-string type property by @PavelVanecek in https://github.com/recharts/recharts/pull/6248X/YAxis: fix blinking when changing props by @PavelVanecek in https://github.com/recharts/recharts/pull/6262PolarAngleAxis/Radar: fix polar angle axis ticks text positions by @mindtraveller in https://github.com/recharts/recharts/pull/6276Label: allow rendering Labels as nested children in XAxis, YAxis and Reference elements by @PavelVanecek in https://github.com/recharts/recharts/pull/6219
LabelList: fix issue with LabelList not rendering in Pie charts by @PavelVanecek in https://github.com/recharts/recharts/pull/6246Text: fix exception when Text's children is empty and scaleToFit=true by @PavelVanecek in https://github.com/recharts/recharts/pull/6282Tooltip: bound Tooltip coordinates to the chart container in synchronized charts by @shreedharbhat98 in https://github.com/recharts/recharts/pull/6263Brush: allow brush travelers to be controlled by keys after mouse interaction by @ckifer in https://github.com/recharts/recharts/pull/6285useActiveTooltipDataPoints : fix infinite rendering loop by @PavelVanecek in https://github.com/recharts/recharts/pull/6247Full Changelog: https://github.com/recharts/recharts/compare/v3.1.2...v3.1.3
Label/Polar Charts: Label viewbox should now be present in polar charts and address https://github.com/recharts/recharts/issues/6030 by @PavelVanecek
Label/Polar Charts: Label viewbox should now be present in polar charts and address https://github.com/recharts/recharts/issues/6030 by @PavelVanecek in https://github.com/recharts/recharts/pull/6180Full Changelog: https://github.com/recharts/recharts/compare/v3.1.1...v3.1.2
General: Don't apply duplicate IDs in the DOM by @PavelVanecek in https://github.com/recharts/recharts/pull/6111
General: Don't apply duplicate IDs in the DOM by @PavelVanecek in https://github.com/recharts/recharts/pull/6111Stacked Area/Bar: give all graphical items their own unique identifier and use that to select stacked data. Fixes issue where stacked charts could not be created from the graphical item data prop https://github.com/recharts/recharts/issues/6073 by @PavelVanecekStacked Area/Bar: exclude stacked axis domain when not relevant for axis by @rinkstiekema in https://github.com/recharts/recharts/pull/6162 fixes issue where numeric stacked charts would not render correctlyArea Chart: ranged area chart - show active dot on both points instead of just the top one by @sroy8091 in https://github.com/recharts/recharts/pull/6116 fixes #6080Polar Charts/Label: fix Label in polar charts by @PavelVanecek in https://github.com/recharts/recharts/pull/6126Scatter/ErrorBar: choose implicit Scatter ErrorBar direction based on chart layout (to be the same as 2.x) by @PavelVanecek in https://github.com/recharts/recharts/pull/6159X/YAxis/Reference Components: allow axis values and reference items to render when there is no data but there is a domain/explicit ticks set by @ethphan in https://github.com/recharts/recharts/pull/6161X/YAxis: pass axis padding info to custom tick components by @shreedharbhat98 in https://github.com/recharts/recharts/pull/6163strictNullChecksAnimate into JavascriptAnimate and CSSTransitionAnimate by @PavelVanecek in https://github.com/recharts/recharts/pull/6175Full Changelog: https://github.com/recharts/recharts/compare/v3.1.0...v3.1.1
Bug fixes (old and new) and a few new hooks post 3.0 launch!
Bug fixes (old and new) and a few new hooks post 3.0 launch!
More hooks!
useOffset and usePlotArea hooks by @PavelVanecek in https://github.com/recharts/recharts/pull/6057useActiveTooltipDataPoints hook by @PavelVanecek in https://github.com/recharts/recharts/pull/6067Legend: After hiding and showing legend elements, keep them in the same order as before by @PavelVanecek in https://github.com/recharts/recharts/pull/6026Bar: add payload as a valid property on BarRectangleItem by @ckifer in https://github.com/recharts/recharts/pull/6029Accessibility: Remove role=application from recharts wrapper (this was removed in 2.x for accessibility reasons) by @PavelVanecek in https://github.com/recharts/recharts/pull/6060ResponsiveContainer: Add overflow: visible zero-size wrapper so that ResponsiveContainer can shrink by @PavelVanecek in https://github.com/recharts/recharts/pull/6068X/YAxis: Fix tickCount and allowDecimals if axis domain does not include the keyword 'auto' by @PavelVanecek in https://github.com/recharts/recharts/pull/6070Tooltip: Fix active tooltip and dots when there are multiple graphical items each with their own data by @PavelVanecek in https://github.com/recharts/recharts/pull/6074Full Changelog: https://github.com/recharts/recharts/compare/v3.0.2...v3.1.0
Please skip 3.0.1 and go straight to 3.0.2 - https://github.com/recharts/recharts/issues/6022. In React.StrictMode charts in 3.0.1 were not rendering
Please skip 3.0.1 and go straight to 3.0.2 - https://github.com/recharts/recharts/issues/6022. In React.StrictMode charts in 3.0.1 were not rendering at all. This revert should resolve that.
revert: revert preserve legend order by @ckifer in https://github.com/recharts/recharts/pull/6023Full Changelog: https://github.com/recharts/recharts/compare/v3.0.1...v3.0.2
Lots of fixes from the 3.0 release - thanks for the reports!
Lots of fixes from the 3.0 release - thanks for the reports!
Edit: broke something https://github.com/recharts/recharts/issues/6022
Label: fix an issue which caused labelRef to get passed to custom DOM elements which logged an error/warning by @saurabhraj123 in https://github.com/recharts/recharts/pull/6008Pie->Label: fix issue where pie labels were not rendering correctly when specified as a child of Pie by @PavelVanecek in https://github.com/recharts/recharts/pull/5987Legend: apply legend itemSorter for custom content as well as default content by @PavelVanecek in https://github.com/recharts/recharts/pull/6012
Legend: keep legend items in the same order when they are hidden and shown by @PavelVanecek in https://github.com/recharts/recharts/pull/6017Bar->Brush: fix undefined access error when using Brush with stacked bar charts by @PavelVanecek in https://github.com/recharts/recharts/pull/6009X/YAxis: fix DecimalError when creating vertical oriented charts with a single datapoint by @ckifer in https://github.com/recharts/recharts/pull/6016X/Y/PolarAngle/PolarRadius Axis: tickFormatter is no longer called with data indexes before the actual data by @PavelVanecek in https://github.com/recharts/recharts/pull/6019Full Changelog: https://github.com/recharts/recharts/compare/v3.0.0...v3.0.1
Remove previously deprecated props
Huge shoutout to @PavelVanecek who wrote 95% of the code for this major version release. We re-wrote recharts state management, wrote some 3500 unit tests, fixed a bunch of bugs, and added a few well-requested features.
The intent with 3.0 is that it is now a better/easier place for the community to contribute to. Looking forward to what the future of recharts looks like in 3.x and beyond!
More details and the 3.0 migration guide
Please see https://github.com/recharts/recharts/wiki/3.0-migration-guide#breaking-code-changes
tldr;
CategoricalChartState (which was access to recharts internal state) no longer exists in event handlers or Customized, etc.<Customized /> no longer receives recharts state/propsaccessibilityLayer is now on on all polar and cartesian charts by default. Tab into the chart and use the arrow keys to navigate.axisIdYAxis: auto width calculation for YAxes - set width="auto"X/YAxis: Add symlog d3 scale typeThis release fixes some long standing issues in recharts, the easiest way to determine all of them is to take a look at the recharts 3.0 project board
Pie: no more border around pie sectors on click, etc.CartesianGrid: background now renders below the grid lines instead of aboveOur 3.0 storybook has a lot of updated examples!
Ok, this for sure the last beta release before 3.0! All blockers for 3.0 resolved - will release 3.0 within the next week.
Ok, this for sure the last beta release before 3.0! All blockers for 3.0 resolved - will release 3.0 within the next week.
X/YAxis: add symlog scale type by @ckifer in https://github.com/recharts/recharts/pull/5911YAxis: Adjust Y axis width automatically with width="auto" by @saurabhraj123 in https://github.com/recharts/recharts/pull/5880Bar: allow minPointSize function to receive null and undefined values by @eino in https://github.com/recharts/recharts/pull/5947Pie: Fix interrupting Pie animation by @PavelVanecek in https://github.com/recharts/recharts/pull/5879 - this was blocking 3.0 releaseX/YAxis: Fix issue where ticks did not adjust based on set fontSize https://github.com/recharts/recharts/pull/5859Animation: Fix a few small animation bugs in 3.xgenerateCategoricalChart! 🚀 by @PavelVanecek in https://github.com/recharts/recharts/pull/5895react-smooth by @PavelVanecek in https://github.com/recharts/recharts/pull/5924
react-smooth into the recharts repository and refactored it to TypeScript for easier maintainability and testabilityWe've also updated our branch names!
master -> 2.x3.x -> mainFull Changelog: https://github.com/recharts/recharts/compare/v3.0.0-beta.1...v3.0.0-beta.2
3.0 updates - release is pending the following issues:
3.0 updates - release is pending the following issues:
Once these two are addressed we should be good to release stable 3.0 and move on to new features! In the mean time, here's beta.1
hooks: export and document useChartWidth, useChartHeight by @PavelVanecek in https://github.com/recharts/recharts/pull/5785
Legend height, etc.Polar Charts/Accessibility: keyboard navigation direction now defaults to left-to-right by @ckifer in https://github.com/recharts/recharts/pull/5808Tooltip/Treemap: fix bug that hid Tooltip when custom content was passed in Treemap by @ckifer in https://github.com/recharts/recharts/pull/5826Tooltip/Typescript: update Tooltip label type to allow string | number | undefined by @ckifer in https://github.com/recharts/recharts/pull/5817lodash has been replaced with native methods and es-toolkit by @dayongkr in https://github.com/recharts/recharts/pull/5811
allowSyntheticDefaultImports by @tfaller in https://github.com/recharts/recharts/pull/5812 fixes https://github.com/recharts/recharts/issues/5809strictNullChecks in our tsconfig by @PavelVanecek in https://github.com/recharts/recharts/pull/5782Full Changelog: https://github.com/recharts/recharts/compare/v3.0.0-beta.0...v3.0.0-beta.1
Recharts 3 beta! We're close to releasing 3.0 and this beta version is pretty much just a formality so we can update the recharts@beta tag to somethin
Recharts 3 beta! We're close to releasing 3.0 and this beta version is pretty much just a formality so we can update the recharts@beta tag to something more recent.
We're going to treat this as an RC and hopefully have 3.0 out shortly. Jk there are bugs! More beta versions coming. Thanks!
Area: normalize stackId to a string if a number is passed, fixes stacked Area charts by @ckifer in https://github.com/recharts/recharts/pull/5688CartesianGrid: render grid lines above the component background instead of below, allows fill to be set without hiding grid lines by @JoaquinPalacios in https://github.com/recharts/recharts/pull/5692Scatter: fix issue with Scatter chart tooltip not showing by @PavelVanecek in https://github.com/recharts/recharts/pull/5716XAxis: fix XAxis padding calculation for gap and no-gap when axis type="number" by @jackfletch in https://github.com/recharts/recharts/pull/5762Tooltip: fix Tooltip synchronization for syncMethod="value" with numerical domains by @PavelVanecek in https://github.com/recharts/recharts/pull/5744Tooltip: TS - Add SVGElements to payload type by @ally1002 in https://github.com/recharts/recharts/pull/5715Animation: re-add an animation ID so we can smoothly transition from one animation to another when interrupted by @PavelVanecek in https://github.com/recharts/recharts/pull/5753Accessibility: remove all img roles which cause accessibility violations since there is no alt text on these elements by @ckifer in https://github.com/recharts/recharts/pull/5761Pie: support onTouchMove events (allows the user to move the Tooltip by dragging on mobile) by @PavelVanecek in https://github.com/recharts/recharts/pull/5723Treemap: support onTouchMove events by @PavelVanecek in https://github.com/recharts/recharts/pull/5727Scatter: support onTouchMove events by @PavelVanecek in https://github.com/recharts/recharts/pull/5743Full Changelog: https://github.com/recharts/recharts/compare/v3.0.0-alpha.9...v3.0.0-beta.0
Animation: Improved Animation interruption in Bar, Line, Area, Scatter, Pie, Radar, RadialBar, and Funnel
Changes since v3.0.0-alpha.8
Animation: Improved Animation interruption in Bar, Line, Area, Scatter, Pie, Radar, RadialBar, and Funnel
lodash.isEqual from the project entirelyArea/Bar Allow stackId to be passed in as string or number. Fixes https://github.com/recharts/recharts/issues/5648Text: Allow data-* props to be passed down to the Text element. Fixes https://github.com/recharts/recharts/issues/5664CartesianAxis: Set fontSize and letterSpacing correctly in CartesianAxis, fixes issue where tick space calculation didn't take fontSize into account )Tooltip: Allow Tooltip.formatter to be called when name or value are undefined. Fixes https://github.com/recharts/recharts/issues/5658Warning: this alpha release accidentally broke stacked area charts!
Full Changelog: https://github.com/recharts/recharts/compare/v3.0.0-alpha.8...v3.0.0-alpha.9
Legend itemSorter prop added. Both Legend and Tooltip are now default sorted by name.
Changes since v3.0.0-alpha.7
Legend itemSorter prop added. Both Legend and Tooltip are now default sorted by name.
Tooltip: Add itemSorter=name as a default prop in Tooltip by @PavelVanecek in https://github.com/recharts/recharts/pull/5584
Legend: Add item sorter by @PavelVanecek in https://github.com/recharts/recharts/pull/5587
name by @PavelVanecek in https://github.com/recharts/recharts/pull/5585Brush: add dy prop to Brush by @iamjaeholee in https://github.com/recharts/recharts/pull/5600
Tooltip: Keep Tooltip within viewBox for negativeoffset by @phogel in https://github.com/recharts/recharts/pull/5571Tooltip: Render cursor in JSX order, instead of a portal by @PavelVanecek in https://github.com/recharts/recharts/pull/5586Line/Area: Fix activeDot props type by @PavelVanecek in https://github.com/recharts/recharts/pull/5595Tooltip: re-add onTouchMove tooltip interaction middleware by @ckifer in https://github.com/recharts/recharts/pull/5611Full Changelog: https://github.com/recharts/recharts/compare/v3.0.0-alpha.7...v3.0.0-alpha.8
General: fix mouse position coordinates in charts with an offsetParent by @PavelVanecek in https://github.com/recharts/recharts/pull/5548
Changes between alpha 6 and 7
General: fix mouse position coordinates in charts with an offsetParent by @PavelVanecek in https://github.com/recharts/recharts/pull/5548General: wrap dispatch in useEffect by @PavelVanecek in https://github.com/recharts/recharts/pull/5553Legend: missing dependency in useEffect in SetPolarLegendPayload by @hamirmahal in https://github.com/recharts/recharts/pull/5551Tooltip/Scatter: fix allowDuplicateCategory=false behavior by @PavelVanecek in https://github.com/recharts/recharts/pull/5549Bar: add index back to Bar Rectangle key by @ckifer in https://github.com/recharts/recharts/pull/5560Pie: remove old pie sector keyboard navigation (to be replaced by accessibilityLayer by @ckifer in https://github.com/recharts/recharts/pull/5543
Tooltip: Add types to allow dataKey, value, and name as inputs to itemSorter by @PavelVanecek in https://github.com/recharts/recharts/pull/5555
Full Changelog: https://github.com/recharts/recharts/compare/v3.0.0-alpha.6...v3.0.0-alpha.7
(Using this GH release for releases alpha 0-6)
(Using this GH release for releases alpha 0-6)
Welcome to the recharts where woes of the past such as custom component wrapping and setting Element.displayName are no longer a thing. Please please help us test before beta and stable releases!
Please use this thread for any small issues and create new issues tagged as alpha bugs https://github.com/recharts/recharts/issues/5445
A migration guide and more information can be found here https://github.com/recharts/recharts/wiki/3.0-migration-guide
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Last 2.x patch - releasing since the @babel/runtime vulnerability is showing up in some security scans. Hoping to release 3.0 on 6/22 🚀
Last 2.x patch - releasing since the @babel/runtime vulnerability is showing up in some security scans. Hoping to release 3.0 on 6/22 🚀
X/YAxis: fix issue where recharts class names did not get passed to custom tick components by @MyungAe in https://github.com/recharts/recharts/pull/5840Bar: allow minPointSize function to receive null and undefined values by @eino in https://github.com/recharts/recharts/pull/5947TypeScript: fix issue which caused build errors when allowSyntheticDefaultImports: false by @tfaller in https://github.com/recharts/recharts/pull/5810Full Changelog: https://github.com/recharts/recharts/compare/v2.15.3...v2.15.4
Last patch release before 3.0 🚀
Last patch release before 3.0 🚀
XAxis: fix padding calculation for padding="gap" and padding="no-gap" when XAxis is type number by @jackfletch in https://github.com/recharts/recharts/pull/5759Full Changelog: https://github.com/recharts/recharts/compare/v2.15.2...v2.15.3
Few bugfixes and bug fix backports for 2.x
Few bugfixes and bug fix backports for 2.x
Bar/Rectangle: add index back to Bar Rectangle key to prevent duplicate key issues by @ckifer in https://github.com/recharts/recharts/pull/5561Dot: re-include points object in dotProps by @brodriguezmilla in https://github.com/recharts/recharts/pull/5657Tooltip: add SVGProps to Tooltip payload type to account for svg properties such as opacity passed by the user by @ally1002 in https://github.com/recharts/recharts/pull/5712Tooltip/Bar: fix activeBar prop not working when tooltip shared={false} by @nizans in https://github.com/recharts/recharts/pull/5718General: allow data-* props to be spread on svg elements and not be filtered out by @prtmwrkr in https://github.com/recharts/recharts/pull/5666Full Changelog: https://github.com/recharts/recharts/compare/v2.15.1...v2.15.2
Quick patch release, nothing crazy going on here.
Quick patch release, nothing crazy going on here.
In the meantime please help us test recharts 3.0 alpha https://github.com/recharts/recharts/issues/5445 🚀
Legend - Typescript: add dataKey type to legend formatter props by @lucasassisrosa in https://github.com/recharts/recharts/pull/5511. Fixes https://github.com/recharts/recharts/issues/5508react-smooth version is up to date in package.json for R19 support by @acomanescu in https://github.com/recharts/recharts/pull/5422Full Changelog: https://github.com/recharts/recharts/compare/v2.15.0...v2.15.1
Remove React19 deprecated ReactText type
Final 2.x React 19 support
!!! You still need to override your react-is version to match react/react-dom for React 19 to work with recharts !!! - see thread here - this limitation will be alleviated in recharts 3.0
Add React 19 to peerDependencies - closes https://github.com/recharts/recharts/issues/4558
Bar: fix Bar mouse event types regression - closes https://github.com/recharts/recharts/issues/5308ReactText typeFull Changelog: https://github.com/recharts/recharts/compare/v2.14.1...v2.15.0
X/YAxis: omit unused/accidentally added (in 2.13) ref prop from axis types in https://github.com/recharts/recharts/pull/5295. Resolves https://github.
X/YAxis: omit unused/accidentally added (in 2.13) ref prop from axis types in https://github.com/recharts/recharts/pull/5295. Resolves https://github.com/recharts/recharts/issues/5294Full Changelog: https://github.com/recharts/recharts/compare/v2.14.0...v2.14.1
Small release to get new top level chart events out there. Still working on 3.x, a little slower right now because of the holidays.
Small release to get new top level chart events out there. Still working on 3.x, a little slower right now because of the holidays.
Area/Line/Bar/Scatter/Pie/Radar/RadialBar/Funnel Chart components: add support for top level onContextMenu and onDoubleClick events #5254 by @abarreau in https://github.com/recharts/recharts/pull/5255LabelList: dataKey prop for LabelList should accept any object by @ckifer in https://github.com/recharts/recharts/pull/5252Pie: PieSectorDataItem.payload should be an object rather than an array by @BTOdell in https://github.com/recharts/recharts/pull/5263Full Changelog: https://github.com/recharts/recharts/compare/v2.13.3...v2.14.0
Small change which may (or may not) help when using ResponsiveContainer with React 19. Worth a shot.
Small change which may (or may not) help when using ResponsiveContainer with React 19. Worth a shot.
!! react-is override is still needed for React 19 to work correctly with recharts !! - see https://github.com/recharts/recharts/issues/4558
ResponsiveContainer - swap isElement from react-is with React.isValidElementFull Changelog: https://github.com/recharts/recharts/compare/v2.13.2...v2.13.3
Another fix from 2.13. Categorical charts should have their ref props back.
ref props back.Full Changelog: https://github.com/recharts/recharts/compare/v2.13.1...v2.13.2
Small bug fixes from the 2.13 release
ResponsiveContainer: fix internal bug from 2.13 which causes responsive container to render incorrectly by @ckifer in https://github.com/recharts/recharts/pull/5174Bar: radius prop type fixed to match expected type by @lifeofpavs in https://github.com/recharts/recharts/pull/5116Full Changelog: https://github.com/recharts/recharts/compare/v2.13.0...v2.13.1
React 19 compat, fix annoying defaultProps warnings, bug fixes
React 19 compat, fix annoying defaultProps warnings, bug fixes
React 19 compatibility - see https://github.com/recharts/recharts/issues/4558
peerDependencies still cannot be updated until 3.0 release, but for now R19 beta/RC releases can be used with Recharts under the following conditions:
react-is version matches your react and react-dom versions: use your package manager's override functionality to match your react-is version to your react version or else recharts elements will not show - see https://github.com/recharts/recharts/issues/4558#issuecomment-2135604065CartesianGrid: add support for ry prop to curve the corner of the grid background - progress on https://github.com/recharts/recharts/issues/3062
General: Fix defaultProps usage in function components, removes warnings on all affected components - see https://github.com/recharts/recharts/issues/3615ReferenceLine: fix accidental removal of type annotation by @zackliscio in https://github.com/recharts/recharts/pull/4610Line/Area: fix issue where clipDot would not take effect if it was the only property in dotProps @ckifer in https://github.com/recharts/recharts/pull/4674Tooltip: fix issue where tooltip would not show in certain cases if data was set on the graphical item by @HHongSeungWoo in https://github.com/recharts/recharts/pull/4718X/YAxis: use correct, adapted event types by @ckifer in https://github.com/recharts/recharts/pull/4967Tooltip: defaultIndex out of range error by @ckifer in https://github.com/recharts/recharts/pull/5054Pie: fix duplicate key error @ckifer in https://github.com/recharts/recharts/pull/4958Text: fix duplicate key error by @ckifer in https://github.com/recharts/recharts/pull/5088 closes https://github.com/recharts/recharts/issues/5072Full Changelog: https://github.com/recharts/recharts/compare/v2.12.7...v2.13.0
Some non-breaking bug fixes that need more testing with React 19. Fixes JSX type issue for React 19 when using @types/react@19
Some non-breaking bug fixes that need more testing with React 19. Fixes JSX type issue for React 19 when using @types/react@19
Line/Area: clipDot setting fails to take effect if set as the only DotProp by @ckifer in https://github.com/recharts/recharts/pull/4674 fixes https://github.com/recharts/recharts/issues/4671Tooltip: Tooltip now renders correctly when data is set on the graphical item rather than the higher level chart by @HHongSeungWoo in https://github.com/recharts/recharts/pull/4718 fixes https://github.com/recharts/recharts/issues/4717Pie: fix duplicate key issue when "key" exists in chart data (try not use "key" as a data point) by @ckifer in https://github.com/recharts/recharts/pull/4958 fixes https://github.com/recharts/recharts/issues/4858XAxis/YAxis: Correct Cartesian axis event types by @ckifer in https://github.com/recharts/recharts/pull/4967 fixes https://github.com/recharts/recharts/issues/4959TypeScript: return JSX in a function instead of a class component by @ckifer in https://github.com/recharts/recharts/pull/4970 fixes React 19 type issues https://github.com/recharts/recharts/issues/4558#issuecomment-2330578162Full Changelog: https://github.com/recharts/recharts/compare/v2.13.0-alpha.4...v2.13.0-alpha.5
Additional React 19 fixes - please keep adding reports to https://github.com/recharts/recharts/issues/4558, thanks!
Additional React 19 fixes - please keep adding reports to https://github.com/recharts/recharts/issues/4558, thanks!
ReferenceLine: Re-add ReferenceLine types which caused a regression in alpha.0 by @zackliscio in https://github.com/recharts/recharts/pull/4610Full Changelog: https://github.com/recharts/recharts/compare/v2.13.0-alpha.3...v2.13.0-alpha.4
More React 19 specific fixes. If you are using R19, you must use `overrides`/`resolutions` to match your `react-is` version with your react version
More React 19 specific fixes. If you are using R19, you must use overrides/resolutions to match your react-is version with your react version
Full Changelog: https://github.com/recharts/recharts/compare/v2.13.0-alpha.1...v2.13.0-alpha.3
Nothing published for this version
v2.13.0-alpha.0 contains some fixes for React 19 support v2.13.0-alpha.1 contains what seems to be the rest of them
v2.13.0-alpha.0 contains some fixes for React 19 support v2.13.0-alpha.1 contains what seems to be the rest of them
Fix
Please test this as much as possible using React 16.8 - 19! thank you!
Full Changelog: https://github.com/recharts/recharts/compare/v2.12.7...v2.13.0-alpha.1
Nothing published for this version
Area: re-add calculated area points to the areaDot callback props when it is a function. This was accidentally removed in v2.3. Fixes #4480
Area: re-add calculated area points to the areaDot callback props when it is a function. This was accidentally removed in v2.3. Fixes #4480Brush: guard against undefined property access error when an ariaLabel is not specified. Follow up from https://github.com/recharts/recharts/issues/2093#issuecomment-2098161840Full Changelog: https://github.com/recharts/recharts/compare/v2.12.6...v2.12.7
Your coding agent can read these notes before it upgrades. Set up the MCP server →