# What changed in supercluster

> 16 changes in supercluster 6 to 9 from its official release notes, upgrade guides and advisories: 7 breaking, 3 new APIs and options. Each one cited. Sources checked 2026-10-25. HTML: https://unstale.sh/npm/supercluster/

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

## supercluster 9

### Breaking changes

- Tile tags are typed as possibly null or undefined, so consumers must guard before use. (9.1.0) — [release notes](https://github.com/mapbox/supercluster/releases/tag/v9.1.0)
- Options is a named type export; replace Supercluster.Options<P, C> with an import type from supercluster. (9.1.0) — [release notes](https://github.com/mapbox/supercluster/releases/tag/v9.1.0)
- maxZoom is now hard-capped at 30; values above 30 are no longer practical to use. (9.0.0) — [release notes](https://github.com/mapbox/supercluster/releases/tag/v9.0.0)

### New APIs and options

- Adds getTileRaw(z, x, y), returning tiles with each feature's coordinates inline instead of nested in geometry arrays. (9.1.0) — [release notes](https://github.com/mapbox/supercluster/releases/tag/v9.1.0)
- Supercluster adds support for MultiPoint features. (9.0.0) — [release notes](https://github.com/mapbox/supercluster/releases/tag/v9.0.0)

### Performance

- On a sample 1M points index, transient allocation is 94% lower, peak heap 57% lower, retained memory 65% lower, and runtime 23% faster. (9.0.0) — [release notes](https://github.com/mapbox/supercluster/releases/tag/v9.0.0)

### Behavior and default changes

- Internal coordinate precision improves by 6 bits (64 times). (9.0.0) — [release notes](https://github.com/mapbox/supercluster/releases/tag/v9.0.0)

### Tooling

- Remove the separately installed @types/supercluster package because TypeScript declarations now ship with the package. (9.1.0) — [release notes](https://github.com/mapbox/supercluster/releases/tag/v9.1.0)

### Fixes and other changes

- The bundled declarations allow load() to accept MultiPoint features as well as Point features. (9.1.0) — [release notes](https://github.com/mapbox/supercluster/releases/tag/v9.1.0)

## supercluster 8

### Breaking changes

- The package drops its CommonJS entry point and switches to ESM only for Node and bundlers, with a UMD bundle for browsers. (8.0.0) — [release notes](https://github.com/mapbox/supercluster/releases/tag/v8.0.0)
- IE11 is no longer supported; developers can still transpile on their end to keep it. (8.0.0) — [release notes](https://github.com/mapbox/supercluster/releases/tag/v8.0.0)

### Performance

- Clustering performance improves by about 15–20%. (8.0.0) — [release notes](https://github.com/mapbox/supercluster/releases/tag/v8.0.0)
- Memory footprint is reduced by up to 60%. (8.0.0) — [release notes](https://github.com/mapbox/supercluster/releases/tag/v8.0.0)

## supercluster 7

### Breaking changes

- Adjusted generated cluster id values to avoid collisions when combined with generateId. (7.0.0) — [release notes](https://github.com/mapbox/supercluster/releases/tag/v7.0.0)

### New APIs and options

- Added an option to generate numeric feature.id values for input features that don't have one. (7.0.0) — [release notes](https://github.com/mapbox/supercluster/releases/tag/v7.0.0)

## supercluster 6

### Breaking changes

- The map/reduce option was removed; Supercluster now uses the first mapped item of the cluster as the initial value. (6.0.0) — [release notes](https://github.com/mapbox/supercluster/releases/tag/v6.0.0)
