Skip to content

Releases: recharts/recharts

v3.11.0-canary.3

v3.11.0-canary.3 Pre-release
Pre-release

Choose a tag to compare

@PavelVanecek PavelVanecek released this 09 Sep 10:58

What's Changed

Full Changelog: v3.11.0-canary.2...v3.11.0-canary.3

v3.11.0-canary.2

v3.11.0-canary.2 Pre-release
Pre-release

Choose a tag to compare

@PavelVanecek PavelVanecek released this 08 Sep 11:25

What's Changed

Full Changelog: v3.11.0-canary.1...v3.11.0-canary.2

v3.11.0-canary.1

v3.11.0-canary.1 Pre-release
Pre-release

Choose a tag to compare

@PavelVanecek PavelVanecek released this 08 Sep 09:20

What's Changed

All changes included in 3.11.0-canary.0 plus:

Themes

Bugfixes

  • Fix package-lock.json desync breaking npm ci (missing nested esbuild subtree) by @PavelVanecek in #7691
  • fix(XAxis): equidistantPreserveEnd renders a single tick when the end label overflows by @ChristianK43 in #7697
  • fix(util): keep LRUCache within maxSize and refresh recency for undefined values by @MahinAnowar in #7715
  • fix: declare @types/react as an optional peer dependency by @tifandotme in #7710
  • fix(radar): keep radar points on their angle axis ticks when the angle range ascends by @giaBaoJS in #7708
  • fix(PolarGrid): drop the duplicate radial line where the angle axis wraps around by @giaBaoJS in #7727

Documentation

  • docs(sector): add description for Sector component by @Medyooo in #7693
  • docs: add locale formatting examples to tickFormatter and Tooltip for… by @Medyooo in #7692
  • fix(omnidoc): strip LinkToApi and resolve correct story name in generated Storybook MDX by @SanyaGubrani in #7712
  • docs(PolarGrid): add missing description for radialLines prop by @Chandu-Putta in #7728
  • refactor(test-vr): migrate VR tests to the Playwright story gallery by @visheshgubrani in #7714

New Contributors

Full Changelog: v3.11.0-canary.0...v3.11.0-canary.1

v3.11.0-canary.0

v3.11.0-canary.0 Pre-release
Pre-release

Choose a tag to compare

@PavelVanecek PavelVanecek released this 23 Aug 19:52

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

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

New Contributors

Full Changelog: v3.10.1...v3.11.0-canary.0

v3.10.1

Choose a tag to compare

@PavelVanecek PavelVanecek released this 25 Jul 15:19

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

Full Changelog: v3.10.0...v3.10.1

v3.10.0

Choose a tag to compare

@PavelVanecek PavelVanecek released this 20 Jul 20:30

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/

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

Full Changelog: v3.9.2...v3.10.0

v3.9.2

Choose a tag to compare

@PavelVanecek PavelVanecek released this 04 Jul 03:06

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

Full Changelog: v3.9.1...v3.9.2

v3.9.1

Choose a tag to compare

@PavelVanecek PavelVanecek released this 30 Jun 11:19

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

Full Changelog: v3.9.0...v3.9.1

v3.9.0

Choose a tag to compare

@PavelVanecek PavelVanecek released this 23 Jun 13:18
8c1cce7

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/

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:

Documentation updates

New Contributors

Full Changelog: v3.8.1...v3.9.0-canary.0

v3.9.0-canary.0

v3.9.0-canary.0 Pre-release
Pre-release

Choose a tag to compare

@PavelVanecek PavelVanecek released this 07 Jun 01:54

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!

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:

Documentation updates

New Contributors

Full Changelog: v3.8.1...v3.9.0-canary.0