# What changed in @segment/analytics-node

> 11 changes in @segment/analytics-node 2 to 3 from its official release notes, upgrade guides and advisories: 3 breaking, 4 new APIs and options. Each one cited. Sources checked 2026-10-23. HTML: https://unstale.sh/npm/@segment/analytics-node/

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

## @segment/analytics-node 3

### Breaking changes

- The package requires Node.js 20 or later, so applications using it must run on a supported Node.js version. (3.0.0) — [release notes](https://github.com/segmentio/analytics-next/releases/tag/%40segment/analytics-node%403.0.0)

### New APIs and options

- Adds an emitter event for observing API response status codes and headers. (3.1.0) — [release notes](https://github.com/segmentio/analytics-next/releases/tag/%40segment/analytics-node%403.1.0)
- Adds a setting to control the rate-limit retry ceiling. (3.1.0) — [release notes](https://github.com/segmentio/analytics-next/releases/tag/%40segment/analytics-node%403.1.0)
- Adds a setting to control the total retry backoff ceiling. (3.1.0) — [release notes](https://github.com/segmentio/analytics-next/releases/tag/%40segment/analytics-node%403.1.0)

### Behavior and default changes

- Raises the default timeout floor to 75 seconds from 12.5 seconds so it survives at least one Retry-After: 60 cycle. (3.1.0) — [release notes](https://github.com/segmentio/analytics-next/releases/tag/%40segment/analytics-node%403.1.0)
- Aligns publisher retry and status behavior with updated response handling rules. (3.1.0) — [release notes](https://github.com/segmentio/analytics-next/releases/tag/%40segment/analytics-node%403.1.0)
- Updates the default retry configuration to increase resilience under transient failures. (3.1.0) — [release notes](https://github.com/segmentio/analytics-next/releases/tag/%40segment/analytics-node%403.1.0)

### Fixes and other changes

- Cancels pending retry sleeps with AbortController when the call times out, instead of silently swallowing the timeout error and dropping in-flight events. (3.1.0) — [release notes](https://github.com/segmentio/analytics-next/releases/tag/%40segment/analytics-node%403.1.0)

## @segment/analytics-node 2

### Breaking changes

- For custom HTTPClient implementations, the data field changed to body, which is a string; data processing now occurs before calls to makeRequest. (2.0.0) — [release notes](https://github.com/segmentio/analytics-next/releases/tag/%40segment/analytics-node%402.0.0)
- Support for Node.js 14 and 16 was removed because they are EOL. (2.0.0) — [release notes](https://github.com/segmentio/analytics-next/releases/tag/%40segment/analytics-node%402.0.0)

### New APIs and options

- Segment OAuth2 is supported through the new OAuthSettings type, which can be provided in Analytics configuration. (2.0.0) — [release notes](https://github.com/segmentio/analytics-next/releases/tag/%40segment/analytics-node%402.0.0)
