What's Changed 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. New features feat(Bar): support data prop directly on Bar, like Line/Area/Scatter by @pratik-desgn in #7599 [feat] Text textPath plus allow angling polar labels by @PavelVanecek in #7658 Bugfixes fix(Pie): make maxRadius actually constrain percentage-based radii by @pratik-desgn in #7594 fix(Pie): interpolate paddingAngle during animation by @pratik-desgn in #7593 Added effect in cartesian YAxis to update width to initial size on data change by @Elaskin in #7347 fix: infinite loop in reduceCSSCalc when a value contains $& by @jcross in #7610 fix(Brush): honor a selection of the first data point only by @kdelay in #7618 fix(Sankey): skip links that point back along the current path by @jcross in #7619 fix(BarStack): expand clip path so bar strokes are not clipped by @ostapondo in #7606 fix: guard reduceCSSCalc against ReDoS from pathological calc() input by @bunlongheng in #7620 fix(axis): stop a two-tick axis whose domain crosses zero from overflowing the stack by @Jaybhade in #7622 fix(Bar): stop stacked minPointSize inflation from overlapping neighboring segments by @pratik-desgn in #7600 fix(Bar): apply the theme strokeDasharray like the other graphical items by @kdelay in #7638 fix(Rectangle): keep the rectangle mounted while it animates to zero by @adarshsm in #7596 fix(Bar): stop spurious re-animation on unrelated re-renders by @StefanCodes17 in #7644 fix(types): export prop interfaces referenced by public component props by @MahinAnowar in #7642 Stop hasDuplicate reporting Object.prototype keys as duplicates by @MahinAnowar in #7655 fix(useElementOffset): prevent measurement feedback loops by @yoan-md in #7671 fix(Treemap): give nest breadcrumbs a stable key by @MahinAnowar in #7669 Documentation docs: fix dead React link in README by @aliabbas-muhammadi in #7648 docs: fix dead UMD install links in README by @aliabbas-muhammadi in #7653 Render source code in SSG so that agents can read it straight from the HTML by @PavelVanecek in #7652 docs(polygon): add description for Polygon component by @Medyooo in #7667 docs(brush): add descriptions for Brush props by @Medyooo in #7675 fix: show editor cursor in dark mode by @PavelVanecek in #7673 [docs] Annotation controls dark theme support by @PavelVanecek in #7682 New Contributors @pratik-desgn made their first contribution in #7594 @Elaskin made their first contribution in #7347 @jcross made their first contribution in #7610 @kdelay made their first contribution in #7618 @ostapondo made their first contribution in #7606 @bunlongheng made their first contribution in #7620 @Jaybhade made their first contribution in #7622 @aliabbas-muhammadi made their first contribution in #7648 @adarshsm made their first contribution in #7596 @StefanCodes17 made their first contribution in #7644 @Medyooo made their first contribution in #7667 @yoan-md made their first contribution in #7671 Full Changelog : v3.10.1...v3.11.0-canary.0
Read more →What's Changed fix(Pie): pass computed innerRadius/outerRadius to Label children via PolarLabelContextProvider by @0007aadil in #7458 chore(deps): bump immer from 11.1.9 to 11.1.15 by @dependabot [bot] in #7575 fix(tooltip): fall back to index-based search when label-based search returns undefined for allowDuplicatedCategory=false by @hxy-asdw in #7573 fix(bar): keep barGap correct when maxBarSize clamps the bar width ( #2774 ) by @sobol-sudo in #7582 New Contributors @0007aadil made their first contribution in #7458 @hxy-asdw made their first contribution in #7573 @sobol-sudo made their first contribution in #7582 Full Changelog : v3.10.0...v3.10.1
Read more →What's Changed Legend position 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/ Legend position and offset by @PavelVanecek in #7564 XAxis auto height XAxis now supports height="auto" prop, similar to YAxis width="auto". feat(XAxis): support height="auto" to size the axis to its tick labels by @kimlj in #7570 Other features feat(Sankey): support accessibilityLayer, title and desc props by @MahinAnowar in #7546 Bugfixes fix: clear stale active bar layer state by @pupuking723 in #7547 fix(Brush): slide snaps back to original position on mouseup when start/endIndex are controlled by @MaksZhukov in #7542 fix(Tooltip): find the active sector in the angle-axis wrap-around gap by @MahinAnowar in #7550 fix(Brush): keep controlled startIndex/endIndex on data updates by @momomuchu in #7530 Fix Legend type by @PavelVanecek in #7560 fix(Label): pass computed position attributes to custom label content by @MahinAnowar in #7549 fix(CartesianAxis): skip renderedTicks dispatch when tick values are unchanged by @kimlj in #7565 fix: prevent getBandSizeOfAxis from collapsing band size due to floating-point tick gaps by @xianjianlf2 in #7556 fix(Area): connectNulls connects across stacked points where every series is null by @kimlj in #7566 New Contributors @MahinAnowar made their first contribution in #7546 @MaksZhukov made their first contribution in #7542 @momomuchu made their first contribution in #7530 @kimlj made their first contribution in #7565 @xianjianlf2 made their first contribution in #7556 Full Changelog : v3.9.2...v3.10.0
Read more →What's Changed docs: clarify custom labels and ticks need SVG elements by @ishaanlabs-gg in #7524 chore(deps): bump immer from 11.1.8 to 11.1.9 by @dependabot [bot] in #7526 fix(Sankey): avoid exponential depth traversal on dense graphs by @dm-gthb in #7479 New Contributors @ishaanlabs-gg made their first contribution in #7524 @dm-gthb made their first contribution in #7479 Full Changelog : v3.9.1...v3.9.2
Read more →What's Changed perf: optimize ScatterChart hover by reducing re-renders from O(n) to O(1) by @roy7 in #7133 fix(YAxis): render explicit ticks when a non-literal domain can't resolve on empty data ( #7362 ) by @nlenepveu in #7393 fix: avoid Sankey nodes overlapping skipped-depth links by @pupuking723 in #7471 Add stacked bar chart with horizontal threshold line example by @nijuse in #7495 fix(DefaultLegendContent): omit empty value from legend icon aria-label by @greymoth-jp in #7501 chore(deps): bump immer from 10.2.0 to 11.1.8 by @dependabot [bot] in #7452 fix(getNiceTickValues): remove trailing duplicate tick when allowDecimals=false by @JSap0914 in #7482 Fix/per graphical item formatter prop by @shreedharbhat98 in #7287 New Contributors @pupuking723 made their first contribution in #7471 @nijuse made their first contribution in #7495 @greymoth-jp made their first contribution in #7501 @JSap0914 made their first contribution in #7482 Full Changelog : v3.9.0...v3.9.1
Read more →What's Changed Animations 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/ Animation guide by @PavelVanecek in #7179 Animation tests by @PavelVanecek in #7255 New animation props by @PavelVanecek in #7215 test: cover legacy animation length changes by @PavelVanecek in #7283 test: add sparse animation path tests for Line component by @PavelVanecek in #7295 Export and document interpolate function by @PavelVanecek in #7293 test: enhance line animation tests for ComposedChart and responsive by @PavelVanecek in #7289 Manual animations on website by @PavelVanecek in #7483 Add new example where chart animates by scroll by @PavelVanecek in #7484 fix: preserve single-value line dash gaps during animation by @puneetdixit200 in #7405 Add animate-by-scroll example and update docs by @PavelVanecek in #7487 Add custom fillOpacity on hover website example by @PavelVanecek in #7489 honorable mention to @robjampar for PR #6973 which ended up declined but it introduced the starting idea for the new animation props New features other than animations Expose and document chart layout hooks and layout types in public API by @Copilot in #7265 feat: allow HTML attributes passthrough on ResponsiveContainer by @techcodie in #7168 feat: add nodeInset and nodeGap properties to Treemap for better la… by @MaximSrour in #7044 feat(PieChart): add dataKey to Legend payload by @Harikrushn9118 in #7137 Bugfixes fix: preserve valid falsy custom names (0, "") in tooltips by @vamsi2246 in #7175 fix(ResponsiveContainer): Fix erroneous console warning on init by @andypoorman in #7174 fix(DataUtils): improve isPercent validation to exclude invalid formats by @vamsi2246 in #7178 fix(BarChart): render stacked bars when all values are 0 ( #6235 ) by @andypoorman in #7199 fix(Sankey): prevent NaN node positions when link values sum to zero by @Mridul012 in #7185 fix(Funnel): prevent NaN coordinate layout crash when all values are zero by @Mridul012 in #7184 fixes an issue where XAxis and YAxis padding were ignored by the clipping mask when allowDataOverflow={true} was used alongside a restricted domain by @emiedonmokumo in #7232 fix: use originalDataIndex for tooltip dispatch in Bar by @mayrang in #7273 fix: resolve TypeScript 6 deprecation errors in tsconfig files by @shreedharbhat98 in #7285 fix(bar): use Math.round instead of bitwise truncation for bar positioning by @EduardF1 in #7297 fix(types): propagate Tooltip types in chart helper contexts by @mixelburg in #7125 fix(Legend): prevent overlap with chart on container resize by @maroKanatani in #7201 test(YAxis): failing repro for #7362 — function domain doesn't render ticks on empty/all-null data by @nlenepveu in #7384 Tree-shaking 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: https://recharts.github.io/recharts/canary/www/en-US/examples/BundleSizeTreemap/ https://recharts.github.io/recharts/canary/www/en-US/examples/BundleSizeSunburst/ Improve bundle tracing and tree-shaking for Shape defaults by @PavelVanecek in #7348 Refactor Shape props to reduce bundle sizes by @PavelVanecek in #7349 Types: switch Shape from spread to separate prop object by @PavelVanecek in #7351 Documentation updates docs: clarify valid types for axis tick prop by @Harikrushn9118 in #7191 style: update layout gaps and add new navigation links by @PavelVanecek in #7412 www: show deployed commit hash in footer across production and staging builds by @Copilot in #7258 Replace old bundle-viz with two new chart examples by @PavelVanecek in #7390 Remove our custom storybook plugins by @PavelVanecek in #7382 feat: add PolarAngleAxis component storybook story by @whatfontisthis in #7243 feat: add LabelList component Storybook story by @whatfontisthis in #7244 docs: add Windows install workaround to DEVELOPING.md by @harsh-05 in #7324 docs: add @SInCE 3.9 annotation to hooks by @PavelVanecek in #7326 Add @SInCE annotation to useChartLayout by @PavelVanecek in #7360 Add since annotation to useActiveTooltipDataPoints by @PavelVanecek in #7338 devops: upload test results to Flakiness.io by @aslushnikov in #7359 Omnidoc: add API examples support and enhance example discovery by @PavelVanecek in #7342 Dedup website examples by @PavelVanecek in #7340 Remove Area.baseLine type by @PavelVanecek in #7317 docs: add session storage support for controls state by @PavelVanecek in #7279 fix(Scatter): use HTTPS in JSDoc links by @Parth10P in #7192 Update copyright year to 2026 by @ojhawkins in #7288 Fix Legend props not appearing in omnidoc website by @Copilot in #7203 docs: add Deno to install instructions by @bartlomieju in #7473 New Contributors @MaximSrour made their first contribution in #7044 @vamsi2246 made their first contribution in #7175 @andypoorman made their first contribution in #7174 @Mridul012 made their first contribution in #7185 @emiedonmokumo made their first contribution in #7232 @mayrang made their first contribution in #7273 @legions-developer made their first contribution in #7280 @ojhawkins made their first contribution in #7288 @EduardF1 made their first contribution in #7297 @harsh-05 made their first contribution in #7324 @aslushnikov made their first contribution in #7359 @maroKanatani made their first contribution in #7201 @techcodie made their first contribution in #7168 @whatfontisthis made their first contribution in #7243 @nlenepveu made their first contribution in #7384 @bartlomieju made their first contribution in #7473 @puneetdixit200 made their first contribution in #7405 Full Changelog : v3.8.1...v3.9.0-canary.0
Read more →What's Changed 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. Animations 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! Animation guide by @PavelVanecek in #7179 Animation tests by @PavelVanecek in #7255 New animation props by @PavelVanecek in #7215 test: cover legacy animation length changes by @PavelVanecek in #7283 test: add sparse animation path tests for Line component by @PavelVanecek in #7295 Export and document interpolate function by @PavelVanecek in #7293 test: enhance line animation tests for ComposedChart and responsive by @PavelVanecek in #7289 honorable mention to @robjampar for PR #6973 which ended up declined but it introduced the starting idea for the new animation props New features Expose and document chart layout hooks and layout types in public API by @Copilot in #7265 feat: allow HTML attributes passthrough on ResponsiveContainer by @techcodie in #7168 feat: add nodeInset and nodeGap properties to Treemap for better la… by @MaximSrour in #7044 feat(PieChart): add dataKey to Legend payload by @Harikrushn9118 in #7137 Bugfixes fix: preserve valid falsy custom names (0, "") in tooltips by @vamsi2246 in #7175 fix(ResponsiveContainer): Fix erroneous console warning on init by @andypoorman in #7174 fix(DataUtils): improve isPercent validation to exclude invalid formats by @vamsi2246 in #7178 fix(BarChart): render stacked bars when all values are 0 ( #6235 ) by @andypoorman in #7199 fix(Sankey): prevent NaN node positions when link values sum to zero by @Mridul012 in #7185 fix(Funnel): prevent NaN coordinate layout crash when all values are zero by @Mridul012 in #7184 fixes an issue where XAxis and YAxis padding were ignored by the clipping mask when allowDataOverflow={true} was used alongside a restricted domain by @emiedonmokumo in #7232 fix: use originalDataIndex for tooltip dispatch in Bar by @mayrang in #7273 fix: resolve TypeScript 6 deprecation errors in tsconfig files by @shreedharbhat98 in #7285 fix(bar): use Math.round instead of bitwise truncation for bar positioning by @EduardF1 in #7297 fix(types): propagate Tooltip types in chart helper contexts by @mixelburg in #7125 fix(Legend): prevent overlap with chart on container resize by @maroKanatani in #7201 test(YAxis): failing repro for #7362 — function domain doesn't render ticks on empty/all-null data by @nlenepveu in #7384 Tree-shaking 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: https://recharts.github.io/recharts/canary/www/en-US/examples/BundleSizeTreemap/ https://recharts.github.io/recharts/canary/www/en-US/examples/BundleSizeSunburst/ Improve bundle tracing and tree-shaking for Shape defaults by @PavelVanecek in #7348 Refactor Shape props to reduce bundle sizes by @PavelVanecek in #7349 Types: switch Shape from spread to separate prop object by @PavelVanecek in #7351 Documentation updates docs: clarify valid types for axis tick prop by @Harikrushn9118 in #7191 style: update layout gaps and add new navigation links by @PavelVanecek in #7412 www: show deployed commit hash in footer across production and staging builds by @Copilot in #7258 Replace old bundle-viz with two new chart examples by @PavelVanecek in #7390 Remove our custom storybook plugins by @PavelVanecek in #7382 feat: add PolarAngleAxis component storybook story by @whatfontisthis in #7243 feat: add LabelList component Storybook story by @whatfontisthis in #7244 docs: add Windows install workaround to DEVELOPING.md by @harsh-05 in #7324 docs: add @SInCE 3.9 annotation to hooks by @PavelVanecek in #7326 Add @SInCE annotation to useChartLayout by @PavelVanecek in #7360 Add since annotation to useActiveTooltipDataPoints by @PavelVanecek in #7338 devops: upload test results to Flakiness.io by @aslushnikov in #7359 Omnidoc: add API examples support and enhance example discovery by @PavelVanecek in #7342 Dedup website examples by @PavelVanecek in #7340 Remove Area.baseLine type by @PavelVanecek in #7317 docs: add session storage support for controls state by @PavelVanecek in #7279 fix(Scatter): use HTTPS in JSDoc links by @Parth10P in #7192 Update copyright year to 2026 by @ojhawkins in #7288 Fix Legend props not appearing in omnidoc website by @Copilot in #7203 New Contributors @MaximSrour made their first contribution in #7044 @vamsi2246 made their first contribution in #7175 @andypoorman made their first contribution in #7174 @Mridul012 made their first contribution in #7185 @emiedonmokumo made their first contribution in #7232 @mayrang made their first contribution in #7273 @legions-developer made their first contribution in #7280 @ojhawkins made their first contribution in #7288 @EduardF1 made their first contribution in #7297 @harsh-05 made their first contribution in #7324 @aslushnikov made their first contribution in #7359 @maroKanatani made their first contribution in #7201 @techcodie made their first contribution in #7168 @whatfontisthis made their first contribution in #7243 @nlenepveu made their first contribution in #7384 Full Changelog : v3.8.1...v3.9.0-canary.0
Read more →What's Changed Bugfixes! fix(z-index): prevent elements from disappearing during dynamic zIndex transitions by @VIDHITTS in #7006 fix: prevent tooltip flicker in syncMethod="value" with mismatched data arrays by @roy7 in #7020 docs: add missing SVG props documentation to PolarGrid #3400 by @ramanverse in #6987 fix: add cursor prop type to BaseChartProps by @mixelburg in #7065 fix: restore arrow key navigation when active index is outside zoomed… by @AbishekRaj2007 in #7086 Add test for ticks spacing by @VIDHITTS in #7082 fix(Pie): skip minAngle redistribution when no segment needs it by @Harikrushn9118 in #7097 fix(DefaultLegendContent): use entry.value for aria-label when formatter returns React element by @mixelburg in #7109 fix(PolarRadiusAxis): update ticks prop type by @PavelVanecek in #7112 fix: PieChart double padding gap when a data item has value 0 by @Copilot in #7113 Add boxplot example by @PavelVanecek in #7130 [fix] Update ticks calculator and domain extension by @PavelVanecek in #7146 fix: guard against non-function d3-scale exports in getD3ScaleFromType by @tdebarochez in #7123 fix: stackOffset expand should not override numerical XAxis domain by @SeaL773 in #7152 fix: resolve keyboard navigation and tooltip issues for Pie charts ( #6921 ) by @olagokemills in #7140 fix(Tooltip): prevent crash on sparse or undefined payload entries by @Om-Mishra09 in #7149 fix(RechartsWrapper): prevent ResizeObserver memory leak on ref update by @Om-Mishra09 in #7161 New Contributors @AbishekRaj2007 made their first contribution in #7086 @tdebarochez made their first contribution in #7123 @SeaL773 made their first contribution in #7152 @olagokemills made their first contribution in #7140 Full Changelog : v3.8.0...v3.8.1
Read more →What's Changed 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 Feat Hooks : New hooks (see above) by @PavelVanecek in #6960 Annotations : export getRelativeCoordinate helper function by @PavelVanecek in #6942 Legend : Add label style prop in Legend by @devoldemar in #7012 XAxis/YAxis : new niceTIcks prop - specify 'none' | 'auto' | 'equidistant' | 'nice' for different behaviors by @MaxGhenis in #7009 General : Add event throttling controls to chart props by @PavelVanecek in #6924 Fix Pie : fix: enable tooltip synchronization for PieChart by @VIDHITTS in #6989 Pie : fix: sync pie tooltip/legend color with per-sector fill by @2YH02 in #6977 Bar : Fix activeBar highlighting with missing/null data by @Copilot in #7001 Bar : Support Bar CSS transitions by @PavelVanecek in #6920 XAxis/YAxis : respect user-provided textAnchor prop on XAxis/YAxis by @pierreeurope in #7028 Tooltip : Close tooltip on blur by @gVguy in #6958 General : fix error when onMouseEnter/Leave={undefined} by @SvetlanaVesna in #6969 Animation : [animations] auto disable primitives animations based on user system preferences by @cloud-walker in #6956 Animation/Line : fix: prevent animated line flicker with round/square strokeLinecap by @roy7 in #7022 Performance : filter zero-dimension rectangles early by @MendyLanda in #6800 Bump minimum @reduxjs/toolkit to 1.9.0 by @Copilot in #6934 Types Bar : Add generics to Bar by @PavelVanecek in #7015 RadialBar : shape type and selector stability by @PavelVanecek in #6917 LabelList/Area : Enhance type definitions for LabelList and Area components by @PavelVanecek in #6936 Pie Fix Pie event handlers type by @PavelVanecek in #6944 Pie/RadialBar : Fix event types for Pie and RadialBar by @PavelVanecek in #6965 PolarAngleAxis : Fix PolarAngleAxis event types, add tests for remaining components by @PavelVanecek in #7000 Tooltip : payload type from any by @PavelVanecek in #6925 XAxis/YAxis : update event types for XAxis and YAxis, add type tests by @PavelVanecek in #7004 General : Add external generics to Area by @PavelVanecek in #6993 General : Add optional explicit generics to graphical items and charts by @PavelVanecek in #7035 General : New feature - typed charts helper by @PavelVanecek in #7071 General : Fix mouse event type by @PavelVanecek in #6939 Docs Add tests, documentation, and website example for Treemap nesting ( #4 … by @VIDHITTS in #6971 docs: add computeWaterfallData utility for waterfall charts by @MaxGhenis in #7011 docs: add ErrorBar dataPointFormatter storybook examples by @mixelburg in #7026 [dark mode] line chart examples by @cloud-walker in #6916 fix(storybook): use flat dataset for Simple and WithTooltip Treemap stories ( #6364 ) by @Harikrushn9118 in #7072 docs: Dark mode homepage by @cloud-walker in #7063 New Contributors @gVguy made their first contribution in #6958 @SvetlanaVesna made their first contribution in #6969 @VIDHITTS made their first contribution in #6971 @2YH02 made their first contribution in #6977 @MaxGhenis made their first contribution in #7011 @mixelburg made their first contribution in #7026 @roy7 made their first contribution in #7022 @devoldemar made their first contribution in #7012 @MendyLanda made their first contribution in #6800 @pierreeurope made their first contribution in #7028 @haritamar made their first contribution in #7068 Full Changelog : v3.7.0...v3.8.0
Read more →What's Changed 📢 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. ‼️ Feat New Hooks useIsTooltipActive : returns if the tooltip is active by @PavelVanecek in #6880 useActiveTooltipCoordinate : returns current tooltip coordinate by @PavelVanecek in #6880 Other Tooltip : allow offset prop to accept Coordinate object by @bigsaigon333 in #6868 X/YAxis add new axis type: "auto" by @PavelVanecek in #6823 sets the type to "category" for categorical axes, and "number" for numeric axis. X/YAxis : replace tick: any with explicit type by @PavelVanecek in #6911 Bar/TypeScript : add BarShapeProps type to fix Bar.shape type by @PavelVanecek in #6900 TypeScript : add missing useful type exports for content , shape functions, etc. @PavelVanecek in #6852 Fix BarChart : fix stackOffset=sign for charts with 3 or more positive values in one series by @PavelVanecek in #6807 BarStack : fix circular dependency when building with vite by @jkr2255 in #6777 BarStack : fix BarStack clipPath in charts with stackOffset=sign by @PavelVanecek in #6806 BarStack : apply bar stack radius to active bars by @PavelVanecek in #6906 Chore Enabled strict tsconfig by @PavelVanecek in #6842 Docs We'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 🚀 Dark mode 🕶️ by @cloud-walker in #6828 Thanks @cloud-walker Recharts devtools has been added to all website examples for easier issue debugging New Contributors @jkr2255 made their first contribution in #6777 @cloud-walker made their first contribution in #6824 @bigsaigon333 made their first contribution in #6868 @huangkevin-apr made their first contribution in #6872 Full Changelog : v3.6.0...v3.7.0
Read more →Access Recharts changelog updates through our uniform API. Same JSON structure across all sources — no adapter-specific parsing needed.
GET https://watchchangelog.com/api/v1/entries?source=recharts.releases{
"source": "recharts.releases",
"vendor": "Recharts",
"id": "tag:github.com,2008:Repository/40345658/v3.11.0-canary.0",
"published_at": "2026-08-23T19:52:49.000Z",
"title": "v3.11.0-canary.0",
"url": "https://github.com/recharts/recharts/releases/tag/v3.11.0-canary.0",
"summary": "What's Changed 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. New features feat(Bar): support data prop directly on Bar, like Line/Area/Scatter by @pratik-desgn in #7599 [feat] Text textPath plus allow angling polar labels by @PavelVanecek in #7658 Bugfixes fix(Pie): make maxRadius actually constrain percentage-based radii by @pratik-desgn in #7594 fix(Pie): interpolate paddingAngle during animation by @pratik-desgn in #7593 Added effect in cartesian YAxis to update width to initial size on data change by @Elaskin in #7347 fix: infinite loop in reduceCSSCalc when a value contains $& by @jcross in #7610 fix(Brush): honor a selection of the first data point only by @kdelay in #7618 fix(Sankey): skip links that point back along the current path by @jcross in #7619 fix(BarStack): expand clip path so bar strokes are not clipped by @ostapondo in #7606 fix: guard reduceCSSCalc against ReDoS from pathological calc() input by @bunlongheng in #7620 fix(axis): stop a two-tick axis whose domain crosses zero from overflowing the stack by @Jaybhade in #7622 fix(Bar): stop stacked minPointSize inflation from overlapping neighboring segments by @pratik-desgn in #7600 fix(Bar): apply the theme strokeDasharray like the other graphical items by @kdelay in #7638 fix(Rectangle): keep the rectangle mounted while it animates to zero by @adarshsm in #7596 fix(Bar): stop spurious re-animation on unrelated re-renders by @StefanCodes17 in #7644 fix(types): export prop interfaces referenced by public component props by @MahinAnowar in #7642 Stop hasDuplicate reporting Object.prototype keys as duplicates by @MahinAnowar in #7655 fix(useElementOffset): prevent measurement feedback loops by @yoan-md in #7671 fix(Treemap): give nest breadcrumbs a stable key by @MahinAnowar in #7669 Documentation docs: fix dead React link in README by @aliabbas-muhammadi in #7648 docs: fix dead UMD install links in README by @aliabbas-muhammadi in #7653 Render source code in SSG so that agents can read it straight from the HTML by @PavelVanecek in #7652 docs(polygon): add description for Polygon component by @Medyooo in #7667 docs(brush): add descriptions for Brush props by @Medyooo in #7675 fix: show editor cursor in dark mode by @PavelVanecek in #7673 [docs] Annotation controls dark theme support by @PavelVanecek in #7682 New Contributors @pratik-desgn made their first contribution in #7594 @Elaskin made their first contribution in #7347 @jcross made their first contribution in #7610 @kdelay made their first contribution in #7618 @ostapondo made their first contribution in #7606 @bunlongheng made their first contribution in #7620 @Jaybhade made their first contribution in #7622 @aliabbas-muhammadi made their first contribution in #7648 @adarshsm made their first contribution in #7596 @StefanCodes17 made their first contribution in #7644 @Medyooo made their first contribution in #7667 @yoan-md made their first contribution in #7671 Full Changelog : v3.10.1...v3.11.0-canary.0",
"tags": [
"Recharts",
"recharts.releases",
"visualization",
"charts",
"react"
]
}Sign up to access the full changelog API. All public sources are free — no credit card required.
Sign Up Free →+3 more
+2 more
+2 more
+2 more
+2 more