NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4997 most downloaded on npm
This package represents core 'shared' functionality that is shared by analytics packages. This is not designed to be used directly, but internal to analytics-node and analytics-browser.
Last release 5 months ago
29 Apr 2026
Release timing varies
gaps range from 4 weeks to 10 months
Nearly every release is documented
notes for 28 of 28 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
28 releases · first in 2022
Browser (@segment/analytics-next) - Add config-driven response handling for Segment.io delivery (httpConfig with rate-limit/backoff controls). - Impro
#1342 65951526 Thanks @MichaelGHSeg! - Unify and harden HTTP response handling and retry behavior across browser and node SDKs.
Browser (@segment/analytics-next) - Add config-driven response handling for Segment.io delivery (httpConfig with rate-limit/backoff controls). - Improve batching/dispatcher retry semantics for 429 and transient failures. - Use configured protocol for batching requests when apiHost has no scheme, while preserving compatibility for apiHost values that already include http:// or https://.
Node (@segment/analytics-node) - Align publisher retry/status behavior with updated response handling rules. - Add maxTotalBackoffDuration and maxRateLimitDuration settings to control retry ceilings. - Update default retry configuration to increase resilience under transient failures.
Core (@segment/analytics-core) - Standardize backoff defaults used by retry queues.
One column per quarter.
### Patch Changes - #1306 `5b6bdd92` Thanks @chenxzhang! - expose BaseUserTraits
5b6bdd92 Thanks @chenxzhang! - expose BaseUserTraits### Patch Changes - #1212 `7f9d5a00` Thanks @silesky! - Refactor settings * #1212 `7f9d5a00` Thanks @silesky! - Update types / variable names
Prune signalBuffer to maxBufferSize on new session (if different)
### Minor Changes - #1183 `f50bd0f5` Thanks @silesky! - add support for analytics.reset() * #1184 `ccc97f1b` Thanks @silesky! - Update logging
5647624c Thanks @MichaelGHSeg! - Adding support for 429 response from the serverUpdated dependencies [`6fff4114`]:
### Patch Changes - #1274 `a00fa28d` Thanks @silesky! - Add a changedProperties array to navigation signals
1635e42 Thanks @chrisradek! - Fixes an issue introduced in v1.66.0 that caused analytics plugins to be removed from event processing if a destination threw an error while loading.### Minor Changes - #1263 `6753b4b4` Thanks @silesky! - Add anonymousID and timestamp to signals
11a943e2 Thanks @silesky! - - Fix runtime errors for submit
9e6db285 Thanks @danieljackins! - Add sampling logic and block non debug trafficUpdated dependencies [`7b93e7b`]:
7b93e7b]:
### Minor Changes - #1250 `d5829da8` Thanks @silesky! - Transpile to ES5
### Patch Changes - #852 `897f4cc` Thanks @silesky! - Tighten isPlainObject type guard
### Patch Changes - #939 `ee855ba` Thanks @zikaari! - Update Campaign type to be more relaxed
### Minor Changes - #1238 `0596bc45` Thanks @silesky! - Add page data to web signals
e57960e Thanks @danieljackins! - Change segmentio to destination type6cba535 Thanks @danieljackins! - Add Client Hints API support### Patch Changes - #846 `7dcafa2` Thanks @silesky! - Remove browser-specific isOffline() logic from core
### Patch Changes - #835 `9353e09` Thanks @silesky! - Refactor shared validation logic. Create granular error message if user ID does not match string
### Patch Changes - #805 `afb027a` Thanks @silesky! - Upgrade typescript
### Patch Changes - #774 `69154c3` Thanks @zikaari! - Add useQueryString option to InitOptions
### Patch Changes - #1230 `2fc749a1` Thanks @silesky! - Update license key
Allow custom disallow list to override network signals, even if same domain.
8fbe1a0 Thanks @silesky! - Deprecate maxEventsInBatch in favor of our commonly used: flushAt. The purpose is to establish consistency between our SDKs, regardless of language.7b93e7b]:
f476038 Thanks @silesky! - If initialPageview is true, call analytics.page() as early as possible to avoid stale page context.### Patch Changes - #718 `80e0d0a` Thanks @silesky! - Change emitter message to dispatch_start
### Patch Changes - #702 `90b915a` Thanks @silesky! - EventFactory should filter out option keys with undefined values * #709 `108c77e` Thanks @silesk
Updated dependencies [`d9b47c4`, `d9b47c4`]:
Updated dependencies [`1e269614`]:
1e269614]:
Updated dependencies [`8e0162b9`]:
8e0162b9]:
897f4cc]:
### Patch Changes - #1197 `342868cb` Thanks @silesky! - Update signals license
#946 edfb8b5 Thanks @danieljackins! - Include sentAt field in payload
Updated dependencies [ee855ba]:
### Minor Changes - #1181 `6fff4114` Thanks @silesky! - Add HTTPMethods. Do not gate requests based on content-type.
#1001 57be1ac Thanks @silesky! - analytics will not initialize if all of the following conditions are met:
No destinations without a consent mapping (consentSettings.hasUnmappedDestinations == false)
AND
User has not consented to any category present in the consentSettings.allCategories array.
### Patch Changes - #1140 `549b028` Thanks @silesky! - Make network signals more permissive
### Major Changes - #1271 `f2c2b764` Thanks @silesky! - Release package
930af49 Thanks @silesky! - * Rename shouldLoad -> shouldLoadSegment
shouldDisableConsentRequirement setting, in favor of shouldLoad's ctx.abort({loadSegmentNormally: true})shouldLoadWrapper API for waiting for consent script initialization.Your coding agent can read these notes before it upgrades. Set up the MCP server →