# What changed in entities

> 22 changes in entities 7 to 8 from its official release notes, upgrade guides and advisories: 5 breaking, 1 deprecations. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/entities/

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

## entities 8

### Breaking changes

- Default decoding preserves XML numeric code points such as `&#x80;`, yielding U+0080 instead of `€`. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)
- XML numeric code points such as `&#x80;` now yield U+0080 instead of `€`. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)
- Deprecated functions and polyfills have been removed, so code relying on them must be updated. (8.0.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.0.0)
- entities is now ESM-only, affecting how developers import and use the package. (8.0.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.0.0)
- The minimum supported Node.js version is now 20.19.0. (8.0.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.0.0)

### Deprecations

- Use `String.prototype.codePointAt` instead of `getCodePoint` from `entities/escape`. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)

### Performance

- The full bundle is 19% smaller (18% gzipped), targeting ES2022. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)
- Default decoding is 1.44× faster. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)
- Decoding is 1.19× faster. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)
- Decoding is 1.18× faster. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)
- Decoding is 1.14× faster. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)
- Decoding is 1.46× faster. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)
- Default encoding is 2.46× faster for mostly ASCII 4 KiB prose, but takes about 6% longer on the short, dense benchmark input. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)
- Encoding mostly ASCII 4 KiB prose is 2.46× faster; XML encoding takes about 6% longer on the short, dense benchmark input. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)
- Encoding mostly ASCII 4 KiB prose is 2.46× faster. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)
- Escaping is 1.23× faster. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)
- Escaping is 1.33× faster. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)
- Escaping is 1.49× faster. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)

### Fixes and other changes

- Preserves unterminated names such as `&Xi$`, rather than incorrectly decoding them to `Â`. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)
- Preserves interrupted references such as `&notin<`, rather than incorrectly decoding them to `¬in<`. (8.1.0) — [release notes](https://github.com/fb55/entities/releases/tag/v8.1.0)

## entities 7

### Tooling

- Test files are excluded from the published package. (7.0.1) — [release notes](https://github.com/fb55/entities/releases/tag/v7.0.1)

### Fixes and other changes

- Fixes an issue that broke streaming for htmlparser2. (7.0.1) — [release notes](https://github.com/fb55/entities/releases/tag/v7.0.1)
