# What changed in pretty-ms

> 18 changes in pretty-ms 9 to 10 from its official release notes, upgrade guides and advisories: 7 breaking. Each one cited. Sources checked 2026-10-17. HTML: https://unstale.sh/npm/pretty-ms/

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

## pretty-ms 10

### Breaking changes

- After a year, days are padded to 3 digits so their width does not change between 9 and 100 days. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)
- With hideSeconds, colonNotation always shows hours; a one-minute duration now displays as 0:01. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)
- unitCount is ignored with colonNotation, so dropping a field no longer changes the meaning of the remaining fields. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)
- Fractional numbers are read to 15 significant digits, while integer numbers and bigints are exact at any size. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)
- Fractional seconds no longer round up into the next unit; for example, 1999.999999 now displays as 1.9s. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)
- Decimal milliseconds now round half up correctly; 1.005 with two digits displays as 1.01ms. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)
- Node.js 22 is now required. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)

### Fixes and other changes

- Sub-millisecond fields are corrected, including phantom nanoseconds and inaccurate microsecond values. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)
- For a duration under a minute, hideSeconds now shows the seconds instead of 0ms. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)
- Days, hours, and minutes are corrected for very large durations. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)
- Values outside 0–100 no longer throw a RangeError, and NaN no longer displays as NaNs. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)
- Negative zero, such as -0ms, is no longer shown. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)
- A nonzero duration is no longer displayed as 0ms. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)
- Seconds retain precision for large durations and high digit counts. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)
- Values outside 0–100 no longer throw a RangeError, and NaN no longer displays as NaNs. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)
- When seconds cannot show the value, subSecondsAsDecimals no longer displays 0ms; 50 now displays as 50ms. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)
- unitCount: NaN no longer returns an empty string. (10.0.0) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v10.0.0)

## pretty-ms 9

### Fixes and other changes

- Prevents milliseconds from rounding up to 1000ms. (9.3.1) — [release notes](https://github.com/sindresorhus/pretty-ms/releases/tag/v9.3.1)
