# What changed in d3-format

> 7 changes in d3-format 2 to 3 from its official release notes, upgrade guides and advisories: 4 breaking. Each one cited. Sources checked 2026-10-27. HTML: https://unstale.sh/npm/d3-format/

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

## d3-format 3

### Breaking changes

- Formats zero as `0` instead of `0.0`. (3.1.1) — [release notes](https://github.com/d3/d3-format/releases/tag/v3.1.1)
- The package now requires Node.js 12 or higher. (3.0.0) — [release notes](https://github.com/d3/d3-format/releases/tag/v3.0.0)
- The package adopts the module type, affecting how Node.js interprets its files. (3.0.0) — [release notes](https://github.com/d3/d3-format/releases/tag/v3.0.0)

### Fixes and other changes

- Fixes handling of parentheses when using formatPrefix. (3.1.1) — [release notes](https://github.com/d3/d3-format/releases/tag/v3.1.1)
- Returns NaN when step is zero. (3.1.1) — [release notes](https://github.com/d3/d3-format/releases/tag/v3.1.1)
- Prevents the s format from sometimes applying an erroneous suffix to NaN or ±Infinity. (3.1.1) — [release notes](https://github.com/d3/d3-format/releases/tag/v3.1.1)

## d3-format 2

### Breaking changes

- The default minus sign changes from hyphen-minus (-) to minus sign (−). (2.0.0) — [release notes](https://github.com/d3/d3-format/releases/tag/v2.0.0)
