# What changed in d3

> 15 changes in d3 4 to 7 from its official release notes, upgrade guides and advisories: 11 breaking, 1 new APIs and options. Each one cited. Sources checked 2026-11-05. HTML: https://unstale.sh/npm/d3/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## d3 7

### Breaking changes

- Reverts the fix for collinear diagrams, changing how d3-delaunay handles them. (7.9.2) — [release notes](https://github.com/d3/d3/releases/tag/v7.9.2)
- The published package now provides an ES module bundle instead of separate source files. (7.9.1) — [release notes](https://github.com/d3/d3/releases/tag/v7.9.1)
- D3 now requires Node.js 12 or higher. (7.0.0) — [release notes](https://github.com/d3/d3/releases/tag/v7.0.0)
- D3 adopts type: module, changing its package module format. (7.0.0) — [release notes](https://github.com/d3/d3/releases/tag/v7.0.0)

## d3 6

### Breaking changes

- Support for Bower is removed. (6.0.0) — [release notes](https://github.com/d3/d3/releases/tag/v6.0.0)
- d3.clientPoint is removed. (6.0.0) — [release notes](https://github.com/d3/d3/releases/tag/v6.0.0)
- d3.mouse is removed. (6.0.0) — [release notes](https://github.com/d3/d3/releases/tag/v6.0.0)
- d3.touch is removed. (6.0.0) — [release notes](https://github.com/d3/d3/releases/tag/v6.0.0)
- d3.touches is removed. (6.0.0) — [release notes](https://github.com/d3/d3/releases/tag/v6.0.0)

### New APIs and options

- D3 adopts ES2015, including support for iterables and collections such as Map and Set. (6.0.0) — [release notes](https://github.com/d3/d3/releases/tag/v6.0.0)

## d3 5

### Breaking changes

- Removed the twenty-color categorical schemes because their grouped design could falsely imply relationships or order in data. (5.0.0) — [release notes](https://github.com/d3/d3/releases/tag/v5.0.0)

### Fixes and other changes

- Fixed duplicate installation of D3 modules at different versions. (5.0.0) — [release notes](https://github.com/d3/d3/releases/tag/v5.0.0)

## d3 4

### Breaking changes

- D3 is composed of independently usable libraries, each with its own repository and release cycle; the modular approach also improves custom bundles and plugins. (4.0.0) — [release notes](https://github.com/d3/d3/releases/tag/v4.0.0)

### Performance

- Homogenous transitions, such as those sharing interpolators across elements, perform better. (4.0.0) — [release notes](https://github.com/d3/d3/releases/tag/v4.0.0)

### Fixes and other changes

- Transition state persistence and enforcement were improved. (4.0.0) — [release notes](https://github.com/d3/d3/releases/tag/v4.0.0)
