NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2486 most downloaded on npm
Data-Driven Documents
Last release 3 years ago
no release in 18 months
Release timing varies
gaps range from 9 days to 9 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
15 years old
273 releases · first in 2011
Fix bug when initializing nodes with fixed positions in force simulations.
Fix corruption when *quadtree*.cover is coincident with the current extent.
One column per quarter.
Add d3.autoType for automatic type inference when parsing!
Fix d3.timeMinute and d3.timeHour for historical times.
Fix rendering glitch with *arc*.cornerRadius.
Add *iterations* argument to *simulation*.tick. Thanks, @vasturiano!
Fix upper histogram bin threshold in some cases.
Use currentColor instead of black for axes.
Fix treatment of degenerate domains in d3.scaleSequential.
* Add d3.interpolateSinebow.
Add ~ option to d3.format to trim insignificant zeros. Thanks, @vasturiano!
~ option to d3.format to trim insignificant zeros. Thanks, @vasturiano!* Add *color*.hex. * Add d3.piecewise.
Switch from D65 to D50 for Lab and HCL color spaces. Thanks, @danburzo!
Replaced by 5.1.0.
Replaced by 5.1.0.
Fix occasional overlap and hang in d3.packSiblings. Thanks, @robinhouston!
Remove d3-request; add d3-fetch.
D3 now includes new categorical color schemes from ColorBrewer, along with ColorBrewer’s excellent diverging, sequential single-hue and sequential multi-hue color schemes. The twenty-color schemes were removed because their grouped design often falsely implied non-existent relationships in the data: a shared hue can imply that the encoded data are part of a group (a super-category), while the relative lightness can falsely imply order.
For more on what’s new, read CHANGES.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Moved to https://github.com/d3/d3/releases/tag/v5.0.0
Moved to https://github.com/d3/d3/releases/tag/v5.0.0
Fix d3.format’s SI format for locales with currency suffixes.
Pin to earlier version of UglifyJS to fix minified bundle.
Point unpkg and jsDelivr to the minified bundle.
Add f, Q, s, u and V time format specifiers. Thanks, @BrianMitchL @krukon!
f, Q, s, u and V time format specifiers. Thanks, @BrianMitchL @krukon!Add d3.forceRadial. Thanks, @nbremer!
Fix d3.timer sleeping for too long when timer invocation is expensive.
Fix DSV parsing when the last field is empty (e.g., foo,bar,).
foo,bar,).browser field in package.json with unpkg and jsdeliver. (#3138)prepublish script with prepublishOnly.Add d3.areaRadial; deprecate d3.radialArea.
Fix d3.linkRadial to use radians rather than degrees.
Change *selection*.style to return the inline style, if present.
Fix d3.ticks to always return the most-precise representable values in IEEE 754!
Fix primary touch location on secondary touchend when zooming.
Fix the Mercator projection’s built-in clipping when *projection*.rotate is used.
Fix string coercion in *transition*.style and *transition*.attr. Thanks, @sghall!
Fix the Mercator projection’s built-in clipping when _projection_.center is used.
Allow d3.pairs to take an optional reducer.
Fix d3.geoBounds for certain line geometries.
Nothing published for this version
Fix overlapping circles in d3.pack and d3.packSiblings.
Fix calculation of clock skew when page is backgrounded before timers are scheduled.
- Fix d3.event export on Node.
Fix d3.interpolateRgb.gamma’s opacity interpolation.
Fix handling of zoom gestures that start with multiple touches.
Add _identity_.reflectX and _identity_.reflectY to d3.geoIdentity.
Deprecate d3.geoClipExtent; use d3.geoIdentity’s clipExtent instead.
Fix reporting of _interrupt_ transition events.
Fix bug where calling _collide_.radius had no effect.
Fix hang in _interval_.every(…).range given invalid dates.
Fix cache invalidation bug in d3.geoAlbersUsa.
Fix a crash if brush selection is cleared via _brush_.move during a gesture.
Chained transitions no longer sometimes interrupt their preceding transition.
Fix d3.geoStereographic’s invert.
All modules now expose a module entry point (rollup/rollup-plugin-node-resolve#48).
module entry point (rollup/rollup-plugin-node-resolve#48).Add _projection_.fitExtent and _projection_.fitSize. Thanks, @veltman!
Deprecate the optional _step_ argument to _time_.ticks; use _interval_.every instead.
Export raw geographic projections.
D3 is now modular, composed of many small libraries that you can also use independently. Each library has its own repo and release cycle for faster de
D3 is now modular, composed of many small libraries that you can also use independently. Each library has its own repo and release cycle for faster development. The modular approach also improves the process for custom bundles and plugins.
There are a lot of improvements in 4.0: there were about as many commits in 4.0 as in all prior versions of D3. Some changes make D3 easier to learn and use, such as immutable selections. But there are lots of new features, too! These are covered in detail in the release notes; here are a few highlights.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →