- #1356
bd498512Thanks @laksh-twilio! - Fixes #1336 NullAnalytics was accidentally removed from the public exports in commit b611746 (PR #1090) when exports were changed from wildcard to explicit. This restores the export for users who need NullAnalytics in their test code.
- #1357
a70d9e69Thanks @chenxzhang! - Rename middleware chunk name to avoid collision with Next.js middleware entrypoint
- #1341
6477267fThanks @MichaelGHSeg! - Emit analytics_js.integration.invoke.error metric for destination load and build failures that were previously silent
- Updated dependencies [
5b6bdd92]:- @segment/analytics-core@1.8.2
- #1276
37df4c96Thanks @danieljackins! - Fix retry behavior
- Updated dependencies [
f2c2b764]:- @segment/analytics-page-tools@1.0.0
- #1262
c91efe39Thanks @vbetivu-ellation! - Add the possibility to configure the Request "credentials" option. Currently, the library only uses the default "same-site" value, which does not include cookies for cross-origin requests.
- #1246
ee838db5Thanks @silesky! - Fix argument resolver bug where the following would not set the correct options:analytics.page( null, 'foo', { url: "https://foo.com" }, { context: { __eventOrigin: { type: 'Signal' } } // would not be set correctly )
-
#1204
8e0162b9Thanks @silesky! - - Make Segment.io config type-safe- Add new
headerssetting, along withpriority.
analytics.load("<YOUR_WRITE_KEY>", { integrations: { 'Segment.io': { deliveryStrategy: { strategy: "standard" // also works for 'batching' config: { headers: { 'x-api-key': 'foo' } or () => {...} priority: 'low', }, }, }, }, } )
- Add new
-
#1189
9883151fThanks @MichaelGHSeg! - Added missing telemetry metric. -
Updated dependencies [
7f9d5a00,7f9d5a00]:- @segment/analytics-core@1.8.1
- #1166
9e6db285Thanks @danieljackins! - Add sampling logic and block non debug traffic
- #1160
bedea03bThanks @MichaelGHSeg! - Adding apiHost to the readonly data available from Analytics.settings
- #1157
3f58366bThanks @MichaelGHSeg! - Refactoring CDN Url to be available from analytics settings
- #1084
5647624cThanks @MichaelGHSeg! - Adding support for 429 response from the server
- Updated dependencies [
5647624c]:- @segment/analytics-core@1.7.0
- #1125
7aed96eThanks @silesky! - Update init to allow for asset path overriding and fix debugging experience
- #1121
d98dcd2Thanks @silesky! - Fix enrichment plugins not waiting for .load to resolve when plugin is registered manually
- #1100
e60f625Thanks @danieljackins! - Flush large keepalive requests
- #1088
2299e9aThanks @silesky! - Refactor to change interface name fromlegacySettings->cdnSettings, in order to clarify code.
- #1090
b611746Thanks @silesky! - - Add public settings API- Do not expose loadLegacySettings / loadCDNSettings (private API)
- #1080
e884b61Thanks @silesky! - Addresses an issue where, if one of the non-destination actions fails to load/is blocked, the entire SDK fails to load. This is most notable in GA4, where, if GA was blocked, Segment initialization would fail.
- #1045
3c37defThanks @silesky! - - Remove validation plugin- Remove
spark-md5dependency - Update messageId algorithm to be consistent with node (analytics-next-[epoch time]-[uuid])
- Browser Validation:
- Throws errors in the EventFactory (not just in a plugin) if the event is invalid
- Remove
- #1053
fd09fbcThanks @silesky! - Allow*in integration name field to apply middleware to all destinations plugins.addDestinationMiddleware('*', ({ ... }) => { ... })
- #1037
e435279Thanks @danieljackins! - Allow custom metrics endpoint on load
- #945
d212633Thanks @zikaari! - Load destinations lazily and start sending events as each becomes available instead of waiting for all to load first
-
#1036
f65c131Thanks @danieljackins! - Fix schema-filter bug -
Updated dependencies [
95fd2fd,d212633]:- @segment/analytics-core@1.5.0
- @segment/analytics-generic-utils@1.2.0
- #1032
5c1511fThanks @zikaari! - Support loading analytics into a custom global variable when using snippet version 5.2.1 or later
- #1008
e57960eThanks @danieljackins! - Change segmentio to destination type
- #1023
b5b929eThanks @silesky! - Deprecate AnalyticsNode class (in favor of the standalone @segment/analytics-node)
-
#1009
f476038Thanks @silesky! - If initialPageview is true, capture page context as early as possible -
Updated dependencies [
7b93e7b]:- @segment/analytics-generic-utils@1.1.1
- @segment/analytics-core@1.4.1
- #992
a72f473Thanks @silesky! - Add 'disable' boolean option to allow for disabling Segment in a testing environment.
-
#1001
57be1acThanks @silesky! - add hasUnmappedDestinations property to types -
Updated dependencies [
d9b47c4,d9b47c4]:- @segment/analytics-core@1.4.0
- @segment/analytics-generic-utils@1.1.0
- #852
897f4ccThanks @silesky! - - Capture page context information faster, so context.campaign and context.page are more resilient to quick navigation changes.- Parse UTM params into context.campaign if users pass an object to a page call.
- Updated dependencies [
897f4cc]:- @segment/analytics-core@1.3.2
- #956
f5cdb82Thanks @danieljackins! - Set timezone and allow userAgentData to be overridden
- #928
7f4232cThanks @oscb! - AddsglobalAnalyticsKeyoption for setting custom global window buffers
- #949
fcf42f6Thanks @silesky! - Fix regression where we no longer export UniversalStorage (used in destinations)
- Updated dependencies [
ee855ba]:- @segment/analytics-core@1.3.1
- #908
1b95946Thanks @oscb! - Adds storage option in analytics client to specify priority of storage (e.g use cookies over localstorage)
- #932
b1584fcThanks @oscb! -sentAtis not set at batch upload time once per the whole batch. Individual eventsentAtproperty is stripped when doing batch uploading.
- #915
7072377Thanks @danieljackins! - Fix batching after page navigation
- #888
f3183f2Thanks @danieljackins! - Fix query string parsing bug that was causing events containing the 'search' property with a non string value to be dropped
- #864
6cba535Thanks @danieljackins! - Add Client Hints API support
- Updated dependencies [
6cba535]:- @segment/analytics-core@1.3.0
- #867
2b3e5e4Thanks @zikaari! - Device mode destination filters will now filter properties within arrays, just like they do in cloud mode
- #861
99402e9Thanks @chrisradek! - Fixes issue related to how retried events are stored in localStorage to prevent analytics.js from reading events for a different writeKey when that writeKey is used on the same domain as the current analytics.js.
- Updated dependencies [
7dcafa2]:- @segment/analytics-core@1.2.5
- #838
55a48a0Thanks @silesky! - Refactor page enrichment to only call page defaults once, and simplify logic
-
#839
fdc004bThanks @silesky! - Fixes a utm-parameter parsing bug where overridden page.search properties would not be reflected in the context.campaign objectanalytics.page(undefined, undefined, {search: "?utm_source=123&utm_content=content" ) analytics.track("foo", {url: "....", search: "?utm_source=123&utm_content=content" ) // should result in a context.campaign of: { source: 123, content: 'content'}
-
#835
9353e09Thanks @silesky! - Refactor shared validation logic. Create granular error message if user ID does not match string type. -
Updated dependencies [
9353e09]:- @segment/analytics-core@1.2.4
-
Updated dependencies [
afb027a]:- @segment/analytics-core@1.2.3
- #800
fe98d5eThanks @silesky! - Fix staging-only bug where integrations URL would not respect CDN URL overrides
- Updated dependencies [
69154c3]:- @segment/analytics-core@1.2.2
-
#758
ef47e9eThanks @zikaari! - Remove direct wirings for Segment Inspector -
Updated dependencies [
43897d6]:- @segment/analytics-core@1.2.1
- #738
fed489cThanks @silesky! - Make trait fields nullable. Type traits for group() differently than identify() call.
- #722
61688e2Thanks @silesky! - Improve core interfaces. Refactor analytics-next to use shared EventQueue, dispatch, and other methods. Augment Browser interface with traits and context options type.
-
#742
e29a21aThanks @silesky! - Fix webdriver.io interception bug. Refactor to use native fetch where unfetch is unavailable. -
Updated dependencies [
fed489c,61688e2]:- @segment/analytics-core@1.2.0
- #714
9fc8f43Thanks @chrisradek! - Improves Segment.io retries to include exponential backoff and work across page loads.
-
#721
779e66bThanks @pooyaj! - Expose universal storage directly on analytics object -
Updated dependencies [
80e0d0a]:- @segment/analytics-core@1.1.6
-
#710
ef5cd39Thanks @chrisradek! - Fixes an issue impacting a small number of destinations where explicitly enabling or disabling an integration on load would not work as expected. -
Updated dependencies [
90b915a,108c77e]:- @segment/analytics-core@1.1.5
- Updated dependencies [
ecb4b8d]:- @segment/analytics-core@1.1.4
- Updated dependencies [
0b9f4d7]:- @segment/analytics-core@1.1.3
- #688
c21734eThanks @arielsilvestri! - Fixes issue where options object would not be properly assigned if properties arg was explicitly undefined
- #666
5269a3eThanks @ryder-wendt! - Do not throw errors if localStorage becomes unavailable
- Updated dependencies [
98d1b12]:- @segment/analytics-core@1.1.2
-
#655
5e3f077Thanks @silesky! - Fix analytics reset clears anonymous ID bug -
#637
b335096Thanks @silesky! - Add ability to delay initialization
- #635
222d4ecThanks @chrisradek! - Adds a new load optiondisableAutoISOConversionsthat turns off converting ISO strings in event fields to Dates for integrations.
-
Updated dependencies [
409cae4]:- @segment/analytics-core@1.1.1
- #619
6c35799Thanks @silesky! - Do not expose jquery / zepto as ambient globals. Add dom.iterable lib to typescript.
- #629
21f05adThanks @danieljackins! - Fix bug where destination middleware were applying to other plugin types
- #597
18dc5b0Thanks @danieljackins! - Added destination filter support to action destinations
- #611
29c3bd7Thanks @chrisradek! - Fixes analytics.reset() so that it clears group data.
-
#613
503bea2Thanks @silesky! - fix change detection bug and add ability to detect tab focus loss events -
Updated dependencies [
4644afc,598fc31,ce90543,7b5d3df]:- @segment/analytics-core@1.1.0
- #573
6203c20Thanks @arielsilvestri! - Enhances console error logging when requests to settings api fail
- #582
ebafeceThanks @chrisradek! - Updates error message when sending metrics fails to indicate that metrics failed to send.
- #577
8d48bdcThanks @chrisradek! - Fixes an issue where the 'secure' cookie setting was not being applied correctly when specified.
- #578
ab8cea3Thanks @silesky! - Loosen SegmentEvent and Traits typescript interface (Fixes #570, #575).
- #567
5cd9358Thanks @silesky! - Do not allow the "user" method to change its return types over its lifecycle. We should always return a promise for wrapped methods in AnalyticsBrowser, regardless if the underlying Analytics method is sync or async.
- #561
1af2a9fThanks @silesky! - Add 'screen', 'register', 'deregister', 'user' method and 'VERSION' property on AnalyticsBrowser. Allow buffering of 'screen', 'register', 'deregister' methods for snippet users.
- Updated dependencies [
93c8f1f]:- @segment/analytics-core@1.0.1
- #541
2e0a91cThanks @silesky! - Export AnalyticsSnippet type and add directions (for snippet users).
- #505
b9c6356Thanks @chrisradek! - Addscontext.failedDelivery()to improve detection of events that could not be delivered due to plugin errors.