-
#1342
65951526Thanks @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 (httpConfigwith rate-limit/backoff controls). - Improve batching/dispatcher retry semantics for 429 and transient failures. - Use configuredprotocolfor batching requests whenapiHosthas no scheme, while preserving compatibility forapiHostvalues that already includehttp://orhttps://. -
Node (
@segment/analytics-node) - Align publisher retry/status behavior with updated response handling rules. - AddmaxTotalBackoffDurationandmaxRateLimitDurationsettings 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.
-
-
#1365
5eb12a17Thanks @MichaelGHSeg! - Fix closeAndFlush silently dropping in-flight events on timeout.- Cancel pending retry sleeps via AbortController when closeAndFlush times out, instead of silently swallowing the timeout error.
- Raise default closeAndFlush timeout floor to 75s (was 12.5s) so it survives at least one Retry-After: 60 cycle.
- Add
http_responseemitter event for observing API response status codes and headers.
-
Updated dependencies [
65951526]:- @segment/analytics-core@1.8.3
- #1348
99cd853bThanks @MichaelGHSeg! - Remove node-fetch dependency in favor of native globalThis.fetch (available since Node 18, package requires >= 20)
-
#1307
5ae083f4Thanks @neelkanth-kaushik! - # Updated Node.js version to ^20 across the repository- .github/workflows/ci.yml
- package.json
- packages/node/package.json
- Updated dependencies [
5b6bdd92]:- @segment/analytics-core@1.8.2
- #1156
9ece2726Thanks @mrmckeb! - Improves support for TypeScript'sexactOptionalPropertyTypesby allowingundefinedto be passed to optional properties.
- Updated dependencies [
5647624c]:- @segment/analytics-core@1.7.0
-
#1043
95fd2fdThanks @silesky! - This ensures backward compatibility with analytics-node by modifying '@segment/analytics-core'. Specifically, the changes prevent the generation of a messageId if it is already set. This adjustment aligns with the behavior outlined in analytics-node's source code here.While this is a core release, only the node library is affected, as the browser has its own EventFactory atm.
- Updated dependencies [
95fd2fd,d212633]:- @segment/analytics-core@1.5.0
- @segment/analytics-generic-utils@1.2.0
- #935
833ade8Thanks @MichaelGHSeg! - Removing support for Node.js 14 and 16 as they are EOL
-
#935
833ade8Thanks @MichaelGHSeg! - Support for Segment OAuth2OAuth2 must be enabled from the Segment dashboard. You will need a PEM format private/public key pair. Once you've uploaded your public key, you will need the OAuth Client Id, the Key Id, and your private key. You can set these in the new OAuthSettings type and provide it in your Analytics configuration.
Note: This introduces a breaking change only if you have implemented a custom HTTPClient. HTTPClientRequest
data: Record<string, any>has changed tobody: string. Processing data into a string now occurs before calls tomakeRequest
- #1008
e57960eThanks @danieljackins! - Change segmentio to destination type
- #1015
8fbe1a0Thanks @silesky! - DeprecatemaxEventsInBatchin favor of our commonly used:flushAt. The purpose is to establish consistency between our SDKs, regardless of language.
- Updated dependencies [
7b93e7b]:- @segment/analytics-generic-utils@1.1.1
- @segment/analytics-core@1.4.1
- Updated dependencies [
d9b47c4,d9b47c4]:- @segment/analytics-core@1.4.0
- @segment/analytics-generic-utils@1.1.0
-
#974
c879377Thanks @silesky! - Refactor to get createDeferred from @segment/analytics-generic-utils lib -
Updated dependencies [
c879377]:- @segment/analytics-generic-utils@1.0.0
- Updated dependencies [
897f4cc]:- @segment/analytics-core@1.3.2
-
#946
edfb8b5Thanks @danieljackins! - Include sentAt field in payload -
Updated dependencies [
ee855ba]:- @segment/analytics-core@1.3.1