@splitsoftware/splitio 11.2.1-rc.3 → 11.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGES.txt +68 -67
- package/cjs/settings/defaults/version.js +1 -1
- package/cjs/settings/node.js +3 -0
- package/esm/settings/defaults/version.js +1 -1
- package/esm/settings/node.js +3 -0
- package/package.json +2 -2
- package/src/settings/defaults/version.js +1 -1
- package/src/settings/node.js +4 -0
package/CHANGES.txt
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
11.
|
|
2
|
-
- Updated @splitsoftware/splitio-commons package to version 2.
|
|
1
|
+
11.3.0 (May 16, 2025)
|
|
2
|
+
- Updated @splitsoftware/splitio-commons package to version 2.3.0, which optimizes the Redis storage to:
|
|
3
3
|
- Avoid lazy require of the `ioredis` dependency when the SDK is initialized, and
|
|
4
4
|
- Flag the SDK as ready from cache immediately to allow queueing feature flag evaluations before SDK_READY event is emitted.
|
|
5
|
+
- Bugfix - Enhanced HTTP client module to implement timeouts for failing requests that might otherwise remain pending indefinitely on some Fetch API implementations.
|
|
5
6
|
|
|
6
7
|
11.2.0 (March 28, 2025)
|
|
7
8
|
- Added a new optional argument to the client `getTreatment` methods to allow passing additional evaluation options, such as a map of properties to append to the generated impressions sent to Split backend. Read more in our docs.
|
|
@@ -16,17 +17,17 @@
|
|
|
16
17
|
- Updated @splitsoftware/splitio-commons package to version 2.1.0.
|
|
17
18
|
|
|
18
19
|
11.0.4 (January 9, 2025)
|
|
19
|
-
-
|
|
20
|
+
- Bugfix - Updated @splitsoftware/splitio-commons package to version 2.0.3, which properly handles rejected promises when using targeting rules with segment matchers in consumer modes (e.g., Redis and Pluggable storages).
|
|
20
21
|
|
|
21
22
|
11.0.3 (December 4, 2024)
|
|
22
|
-
-
|
|
23
|
+
- Bugfix - Updated @splitsoftware/splitio-commons package to version 2.0.2 that sanitizes the `SplitSDKMachineName` header value to avoid exceptions on HTTP/S requests when it contains non ISO-8859-1 characters (Related to issue https://github.com/splitio/javascript-client/issues/847).
|
|
23
24
|
|
|
24
25
|
11.0.2 (November 25, 2024)
|
|
25
26
|
- Updated bloom-filters and fetch-mock dependencies for vulnerability fixes.
|
|
26
|
-
-
|
|
27
|
+
- Bugfix - Updated @splitsoftware/splitio-commons package to version 2.0.1 that fixes an issue with the SDK_UPDATE event on Node.js, where it was not being emitted if there was an empty segment and the SDK received a feature flag update notification.
|
|
27
28
|
|
|
28
29
|
11.0.1 (November 11, 2024)
|
|
29
|
-
-
|
|
30
|
+
- Bugfix - Revert removal of TypeScript `SplitIO` namespace at `/types/splitio.d.ts` to allow explicit imports of types from the JavaScript SDK package. E.g., `import type { IBrowserSettings } from '@splitsoftware/splitio/types/splitio';`.
|
|
30
31
|
|
|
31
32
|
11.0.0 (November 1, 2024)
|
|
32
33
|
- Added support for targeting rules based on large segments for browsers (client-side API).
|
|
@@ -35,7 +36,7 @@
|
|
|
35
36
|
- Renamed distribution folders from `/lib` to `/cjs` for CommonJS build, and `/es` to `/esm` for ECMAScript Modules build.
|
|
36
37
|
- BREAKING CHANGES:
|
|
37
38
|
- NOTE: Refer to ./MIGRATION-GUIDE.md for instructions on how to migrate your codebase from version 0.x to 1.0.0.
|
|
38
|
-
- Dropped support for Split Proxy below version 5.9.0
|
|
39
|
+
- Dropped support for Split Proxy below version 5.9.0 when the SDK runs in the browser (client-side API). The SDK now requires Split Proxy 5.9.0 or above for browser usage.
|
|
39
40
|
- Dropped support for Node.js v6. The SDK now requires Node.js v14 or above.
|
|
40
41
|
- Removed TypeScript `SplitIO` namespace from `@splitsoftware/splitio/types/splitio`. Reverted in 11.0.1.
|
|
41
42
|
- Removed internal ponyfills for the `Map` and `Set` global objects, dropping support for IE and other outdated browsers. The SDK now requires the runtime environment to support these features natively or provide a polyfill.
|
|
@@ -55,8 +56,8 @@
|
|
|
55
56
|
- Updated the internal imports of 'os' and 'ioredis' modules for Node.js, to use EcmaScript 'import' rather than CommonJS 'require' for the ES modules build. This avoids runtime errors on some scenarios when bundling the SDK into a .mjs file or importing it from a .mjs file.
|
|
56
57
|
- Updated eventsource dependency for Node.js. The eventsource v1.1.2 dependency was removed, and the SDK now uses an embedded adaptation that can accept an HTTP(S) agent option, like other HTTP(S) requests.
|
|
57
58
|
- Updated @splitsoftware/splitio-commons package to version 1.16.0 that includes some vulnerability and bug fixes.
|
|
58
|
-
-
|
|
59
|
-
-
|
|
59
|
+
- Bugfix - Restored some input validation error logs that were removed in version 10.24.0. The logs inform the user when the `getTreatment(s)` methods are called with an invalid value as feature flag name or flag set name.
|
|
60
|
+
- Bugfix - Fixed localhost mode to emit SDK_UPDATE when mocked feature flags are updated in the `features` object map of the config object (Related to issue https://github.com/splitio/javascript-browser-client/issues/119).
|
|
60
61
|
|
|
61
62
|
10.26.0 (May 6, 2024)
|
|
62
63
|
- Updated @splitsoftware/splitio-commons package to version 1.14.0 that includes minor updates:
|
|
@@ -66,7 +67,7 @@
|
|
|
66
67
|
|
|
67
68
|
10.25.2 (March 26, 2024)
|
|
68
69
|
- Updated some transitive dependencies for vulnerability fixes.
|
|
69
|
-
-
|
|
70
|
+
- Bugfix - Added tslib as an explicit dependency to avoid issues with some package managers that don't resolve it automatically as a transitive dependency from @splitsoftware/splitio-commons (Related to issue https://github.com/splitio/javascript-client/issues/795).
|
|
70
71
|
|
|
71
72
|
10.25.1 (January 16, 2024)
|
|
72
73
|
- Updated @splitsoftware/splitio-commons package to version 1.13.1 and some transitive dependencies for vulnerability fixes.
|
|
@@ -89,8 +90,8 @@
|
|
|
89
90
|
- Added `defaultTreatment` property to the `SplitView` object returned by the `split` and `splits` methods of the SDK manager (Related to issue https://github.com/splitio/javascript-commons/issues/225).
|
|
90
91
|
- Updated @splitsoftware/splitio-commons package to version 1.12.0 that includes vulnerability fixes, flag sets support, and other improvements.
|
|
91
92
|
- Updated Redis adapter to handle timeouts and queueing of some missing commands: 'hincrby', 'popNRaw', and 'pipeline.exec'.
|
|
92
|
-
-
|
|
93
|
-
-
|
|
93
|
+
- Bugfix - Fixed manager methods in consumer modes to return results in a promise when the SDK is not operational (not ready or destroyed).
|
|
94
|
+
- Bugfix - Fixed SDK key validation in Node.js to ensure the SDK_READY_TIMED_OUT event is emitted when a client-side type SDK key is provided instead of a server-side one (Related to issue https://github.com/splitio/javascript-client/issues/768).
|
|
94
95
|
|
|
95
96
|
10.23.1 (September 22, 2023)
|
|
96
97
|
- Updated @splitsoftware/splitio-commons package to version 1.9.1. This update removes the handler for 'unload' DOM events, that can prevent browsers from being able to put pages in the back/forward cache for faster back and forward loads (Related to issue https://github.com/splitio/javascript-client/issues/759).
|
|
@@ -102,7 +103,7 @@
|
|
|
102
103
|
10.22.6 (July 6, 2023)
|
|
103
104
|
- Updated some transitive dependencies for vulnerability fixes.
|
|
104
105
|
- Updated @splitsoftware/splitio-commons package to version 1.8.3 that includes the following bug fix:
|
|
105
|
-
-
|
|
106
|
+
- Bugfix - The `destroy` method has been updated to immediately flag the SDK client as destroyed, to prevent access to the storage when `getTreatment` and `track` methods are called after the SDK is destroyed.
|
|
106
107
|
|
|
107
108
|
10.22.5 (May 15, 2023)
|
|
108
109
|
- Updated @splitsoftware/splitio-commons package to version 1.8.2 that includes minor improvements.
|
|
@@ -116,13 +117,13 @@
|
|
|
116
117
|
|
|
117
118
|
10.22.3 (December 16, 2022)
|
|
118
119
|
- Updated some transitive dependencies for vulnerability fixes.
|
|
119
|
-
-
|
|
120
|
+
- Bugfix - Upgrade @splitsoftware/splitio-commons package to version 1.7.3 which includes a memory leak fix for localhost mode (Related to issue https://github.com/splitio/javascript-commons/issues/181) among other improvements.
|
|
120
121
|
|
|
121
122
|
10.22.2 (November 3, 2022)
|
|
122
|
-
-
|
|
123
|
+
- Bugfix - Replaced bloom filter dependency that caused dependency conflicts (with farmhash lib) in AWS Lambda. This change only affects Node.js flavor.
|
|
123
124
|
|
|
124
125
|
10.22.1 (October 14, 2022)
|
|
125
|
-
-
|
|
126
|
+
- Bugfix - Upgrade @splitsoftware/splitio-commons package to version 1.7.2, that handles `Navigator.sendBeacon` API exceptions in the browser, and fallback to regular Fetch/XHR transport in case of error.
|
|
126
127
|
|
|
127
128
|
10.22.0 (October 5, 2022)
|
|
128
129
|
- Added a new impressions mode for the SDK called NONE, to be used in factory when there is no desire to capture impressions on an SDK factory to feed Split's analytics engine. Running NONE mode, the SDK will only capture unique keys evaluated for a particular feature flag instead of full blown impressions.
|
|
@@ -131,14 +132,14 @@
|
|
|
131
132
|
and avoid calling the storage for cached feature flags when the SDK is not ready or ready from cache, among other improvements.
|
|
132
133
|
|
|
133
134
|
10.21.1 (July 25, 2022)
|
|
134
|
-
-
|
|
135
|
+
- Bugfix - Added missed type definitions `enabled` from `sync`.
|
|
135
136
|
|
|
136
137
|
10.21.0 (July 22, 2022)
|
|
137
138
|
- Added `autoRequire` configuration option to the Google Analytics to Split integration, which takes care of requiring the splitTracker plugin on trackers dynamically created by Google tag managers (See https://help.split.io/hc/en-us/articles/360040838752#set-up-with-gtm-and-gtag.js).
|
|
138
139
|
- Updated browser listener to push remaining impressions and events on 'visibilitychange' and 'pagehide' DOM events, instead of 'unload', which is not reliable in modern mobile and desktop Web browsers.
|
|
139
140
|
- Updated the synchronization flow to be more reliable in the event of an edge case generating delay in cache purge propagation, keeping the SDK cache properly synced.
|
|
140
141
|
- Updated some dependencies for vulnerability fixes.
|
|
141
|
-
-
|
|
142
|
+
- Bugfix - Moved js-yaml dependency from @splitsoftware/splitio-commons to avoid resolution to an incompatible version on certain npm versions when installing third-party dependencies that also define js-yaml as transitive dependency (Related to issue https://github.com/splitio/javascript-client/issues/662).
|
|
142
143
|
|
|
143
144
|
10.20.0 (June 29, 2022)
|
|
144
145
|
- Added a new config option to control the tasks that listen or poll for updates on feature flags and segments, via the new config `sync.enabled`. Running online Split will always pull the most recent updates upon initialization, this only affects updates fetching on a running instance. Useful when a consistent session experience is a must or to save resources when updates are not being used.
|
|
@@ -147,21 +148,21 @@
|
|
|
147
148
|
|
|
148
149
|
10.19.1 (Jun 13, 2022)
|
|
149
150
|
- Updated eventsource dependency range to ^1.1.2 to avoid a vulnerability and dependency resolution to a vulnerable version of url-parse transitive dependency.
|
|
150
|
-
-
|
|
151
|
+
- Bugfix - Updated submitters logic, to avoid dropping impressions and events that are being tracked while POST request is pending.
|
|
151
152
|
|
|
152
153
|
10.19.0 (May 24, 2022)
|
|
153
154
|
- Added `scheduler.telemetryRefreshRate` property to SDK configuration, and deprecated `scheduler.metricsRefreshRate` property.
|
|
154
155
|
- Updated SDK telemetry storage, metrics and updater to be more effective and send less often.
|
|
155
|
-
-
|
|
156
|
+
- Bugfix - Updated default values for `scheduler.impressionsRefreshRate` config parameter: 300s for OPTIMIZED impression mode and 60s for DEBUG impression mode,
|
|
156
157
|
in both Browser and Node.js (previously it was 60s and 300s in Browser and Node.js respectively, equal for DEBUG and OPTIMIZED impression modes).
|
|
157
158
|
|
|
158
159
|
10.18.2 (May 6, 2022)
|
|
159
|
-
-
|
|
160
|
+
- Bugfix - Removed "ip" dependency to use an inline copy of it that fixes an error when using it in Node.js v18 (https://github.com/indutny/node-ip/issues/113).
|
|
160
161
|
|
|
161
162
|
10.18.1 (April 20, 2022)
|
|
162
163
|
- Updated some dependencies for vulnerability fixes.
|
|
163
|
-
-
|
|
164
|
-
-
|
|
164
|
+
- Bugfix - Updated @splitsoftware/splitio-commons package to avoid an error when requiring some third-party dependencies used by the package (Related to issue https://github.com/splitio/javascript-client/issues/662).
|
|
165
|
+
- Bugfix - Updated `ready` method to rejects the promise with an Error object instead of a string value (Related to issue https://github.com/splitio/javascript-client/issues/654).
|
|
165
166
|
|
|
166
167
|
10.18.0 (April 7, 2022)
|
|
167
168
|
- Added user consent feature to allow delaying or disabling the data tracking from SDK until user consent is explicitly granted or declined. Read more in our docs.
|
|
@@ -169,10 +170,10 @@
|
|
|
169
170
|
- Added support to accept TLS configuration options to the Redis storage in Node.js. Read more in our docs.
|
|
170
171
|
- Updated type definitions to specialize the type of the `storage.options` object for Redis storage in Node.js.
|
|
171
172
|
- Updated some dependencies for vulnerability fixes.
|
|
172
|
-
-
|
|
173
|
-
-
|
|
174
|
-
-
|
|
175
|
-
-
|
|
173
|
+
- Bugfix - Updated internal isObject utility function, to avoid unexpected behaviors on frameworks and libraries that uses multiple VM contexts, like NuxtJS dev server.
|
|
174
|
+
- Bugfix - Logging settings (i.e., the `debug` SDK configuration param and factory logger methods) are configurable per factory instance, instead of affecting all factories globally.
|
|
175
|
+
- Bugfix - Fixed an issue with `connectionTimeout` options params of Redis storage, that was being ignored and not passed down to the underlying ioredis client.
|
|
176
|
+
- Bugfix - Updated the validation of some SDK configuration params to log errors and throw exceptions with clear descriptions of the invalid setup:
|
|
176
177
|
- If passing a non-string value to `sync.impressionsMode`, the SDK logs the error: "you passed an invalid impressionsMode config param. It should be one of the following values: 'OPTIMIZED', 'DEBUG'. Defaulting to 'OPTIMIZED'.".
|
|
177
178
|
- If passing 'REDIS' storage type without setting `mode` to 'consumer', the SDK logs the error: "The provided REDIS storage is invalid for this mode. It requires 'consumer' mode. Fallback into default MEMORY storage.".
|
|
178
179
|
- If passing 'consumer' mode without setting `storage.type` to 'REDIS', the SDK throws an exception with message: "A REDIS storage is required on consumer mode.".
|
|
@@ -186,20 +187,20 @@
|
|
|
186
187
|
|
|
187
188
|
10.17.2 (January 31, 2022)
|
|
188
189
|
- Updated some dependencies for vulnerability fixes.
|
|
189
|
-
-
|
|
190
|
+
- Bugfix - Fixed internal handling of Fetch API promise rejection, to avoid unhandled exceptions on some Web browsers (issue https://github.com/splitio/javascript-client/issues/621)
|
|
190
191
|
|
|
191
192
|
10.17.1 (January 13, 2022)
|
|
192
193
|
- Updated some transitive dependencies for vulnerability fixes.
|
|
193
|
-
-
|
|
194
|
+
- Bugfix - Fixed internal handling of SDK_READY_FROM_CACHE event, to avoid CSP issues in browsers.
|
|
194
195
|
|
|
195
196
|
10.17.0 (January 3, 2022)
|
|
196
197
|
- Added support to SDK clients on browser to optionally bind attributes to the client, keeping these loaded within the SDK along with the user ID, for easier usage when requesting flag.
|
|
197
|
-
-
|
|
198
|
+
- Bugfix - Fixed an issue returning dynamic configs when the treatment name contains a dot (".").
|
|
198
199
|
|
|
199
200
|
10.16.1 (October 25, 2021)
|
|
200
201
|
- Updated some internal modules to optimize the time efficiency of feature flag evaluations (i.e., `getTreatment(s)` method calls).
|
|
201
202
|
- Updated some dependencies for vulnerability fixes (ioredis, @babel/cli, eslint, eslint-plugin-compat).
|
|
202
|
-
-
|
|
203
|
+
- Bugfix - Fixed localhost mode with localStorage, to use a mock in memory instead of localStorage API directly but keep emitting emit SDK_READY_FROM_CACHE event.
|
|
203
204
|
|
|
204
205
|
10.16.0 (September 28, 2021)
|
|
205
206
|
- Updated localhost mode to emit SDK_READY_FROM_CACHE event in Browser when using localStorage (issue https://github.com/splitio/react-client/issues/34).
|
|
@@ -213,9 +214,9 @@
|
|
|
213
214
|
10.15.9 (Aug 13, 2021)
|
|
214
215
|
- Updated some dependencies with vulnerability fixes.
|
|
215
216
|
- Updated some log messages related to HTTP request errors.
|
|
216
|
-
-
|
|
217
|
-
-
|
|
218
|
-
-
|
|
217
|
+
- Bugfix - Fixed internal promise wrapper to avoid an error with Meteor framework.
|
|
218
|
+
- Bugfix - Fixed type definitions for `ISettings['features']` (issue #560).
|
|
219
|
+
- Bugfix - Name remaining anonymous functions that generate warnings when transpiling for IE11 (issue #557)
|
|
219
220
|
|
|
220
221
|
10.15.8 (June 11, 2021)
|
|
221
222
|
- Updated listener for 'unload' DOM events to close any remaining streaming connections.
|
|
@@ -224,7 +225,7 @@
|
|
|
224
225
|
10.15.7 (June 3, 2021)
|
|
225
226
|
- Updated some dependencies with vulnerability fixes.
|
|
226
227
|
- Removed "utfx" dependency to use an inline copy of it with the minimum features used by the SDK (issue #544).
|
|
227
|
-
-
|
|
228
|
+
- Bugfix - Fixed some issues of localhost mode:
|
|
228
229
|
- Support localhost mode on multiple SDK instances. Each instance handles its own mocked features, instead of sharing the same mock.
|
|
229
230
|
- SDK_UPDATE is emitted only once if mocked features changes.
|
|
230
231
|
- On shared clients, SDK_UPDATE event is now emitted if mocked features changes.
|
|
@@ -234,7 +235,7 @@
|
|
|
234
235
|
- Updated ioredis version now that their incompatibility with Node.js <10 was already fixed.
|
|
235
236
|
- Updated Karma and a transitive dependency with vulnerabilities.
|
|
236
237
|
- Updated dev dependency on redis-dump to redis-dumpz package to be able to fix a vulnerability on Redis transitive dependency.
|
|
237
|
-
-
|
|
238
|
+
- Bugfix - Name two anonymous functions that generate warnings when transpiling for IE11 (issue #535)
|
|
238
239
|
|
|
239
240
|
10.15.5 (Apr 29, 2021)
|
|
240
241
|
- Updated some dependencies, including a vulnerability fix.
|
|
@@ -244,12 +245,12 @@
|
|
|
244
245
|
- Updated SSE error handling.
|
|
245
246
|
- Extended publishers tracking to support multi-region infrastructure.
|
|
246
247
|
- Enforced revalidation for requests stored in local caches, like proxies or browsers.
|
|
247
|
-
-
|
|
248
|
+
- Bugfix - In Node.js, fetch new segments captured due to streaming notifications.
|
|
248
249
|
- Updated some dependencies, including a vulnerability fix.
|
|
249
250
|
|
|
250
251
|
10.15.3 (Feb 10, 2021)
|
|
251
252
|
- Updated type definitions to remove `@types/node` dependency and avoid conflicts between Node.js and DOM type definitions.
|
|
252
|
-
-
|
|
253
|
+
- Bugfix - Handle issue importing node-fetch library (issue #505).
|
|
253
254
|
|
|
254
255
|
10.15.2 (Dec 3, 2020)
|
|
255
256
|
- Updated requests for `/testImpressions/beacon` to include the impressions mode.
|
|
@@ -257,9 +258,9 @@
|
|
|
257
258
|
10.15.1 (Nov 12, 2020)
|
|
258
259
|
- Updated the version for ioredis in the package.json to be fixed to 4.18.0 given after 4.19.0 it requires Node.js 10, in case this SDK is installed without considering our package-lock.json file on an old Node.js.
|
|
259
260
|
- Updated TypeScript declarations to include the `urls` settings object (to connect to Split Synchronizer in proxy mode) for the non-async settings where it would be applicable.
|
|
260
|
-
-
|
|
261
|
-
-
|
|
262
|
-
-
|
|
261
|
+
- Bugfix - Updating some imports of hashing utilities to use safe relative paths and avoid module resolution issues.
|
|
262
|
+
- Bugfix - Updating logic to avoid a corner case issue with the sendHitTask callback handling of the GOOGLE_ANALYTICS_TO_SPLIT integration.
|
|
263
|
+
- Bugfix - Updating the package.json version import to be compatible with latest standards (Related to issue https://github.com/splitio/javascript-client/pull/495, thanks @andrew-t-james-hm).
|
|
263
264
|
|
|
264
265
|
10.15.0 (Oct 6, 2020)
|
|
265
266
|
- Added impressions dedupe logic to avoid sending duplicated impressions:
|
|
@@ -273,15 +274,15 @@
|
|
|
273
274
|
- `DEBUG`: will send every impression generated to Split.
|
|
274
275
|
- Updated JSON bulk properties for Impressions to decrease the payload size.
|
|
275
276
|
- Updated `ImpressionsTracker` and `ImpressionTracker` to be only one and be used for both type of evaluations: `getTreatment` and `getTreatments`.
|
|
276
|
-
-
|
|
277
|
+
- Bugfix - added URI encoding of user keys to avoid HTTP errors when fetching MySegments for keys with special characters.
|
|
277
278
|
|
|
278
279
|
10.14.2 (Sep 18, 2020)
|
|
279
280
|
- Updated `node-fetch` dependency to fix a vulnerability.
|
|
280
|
-
-
|
|
281
|
+
- Bugfix - updated the feature detection of Set global constructor to avoid possible reference errors.
|
|
281
282
|
|
|
282
283
|
10.14.1 (Aug 13, 2020)
|
|
283
284
|
- Updated push streaming support for Node.js to optimize requests to Split services.
|
|
284
|
-
-
|
|
285
|
+
- Bugfix - Replaced the use of `for...in` statements since it iterates over enumerable properties on the prototype chain, which might be polluted by code external to the library.
|
|
285
286
|
|
|
286
287
|
10.14.0 (Jul 31, 2020)
|
|
287
288
|
- Added `sync.splitFilters` property to SDK configuration to pass a list of filters for the feature flags that will be downloaded. Read more in our docs.
|
|
@@ -315,7 +316,7 @@
|
|
|
315
316
|
- Updated logging error messages priority to significantly reduce the amount of error level logs that can't be silenced.
|
|
316
317
|
- Updated axios to 0.19.2 and few other minor updates on dev dependencies.
|
|
317
318
|
- Updated default metricsRefreshRate from 60s to 120s and reduced the log level from ERROR to INFO for telemetry post failures.
|
|
318
|
-
-
|
|
319
|
+
- Bugfix - Emit SDK_UPDATE in localhost only when mock was actually updated.
|
|
319
320
|
|
|
320
321
|
10.10.0 (Jan 10, 2020)
|
|
321
322
|
- Added SDK_READY_FROM_CACHE event, which will be emitted in LocalStorage mode when the SDK finds feature flag definitions in the storage of the browser.
|
|
@@ -323,12 +324,12 @@
|
|
|
323
324
|
- Updated multiple dependencies and dev dependencies (@types/node, axios, core-js, events, sinon, tape and the babel cli, core, preset-env, register and plugin-transform-runtime)
|
|
324
325
|
|
|
325
326
|
10.9.2 (Nov 20, 2019)
|
|
326
|
-
- Bugfixing - When using Redis, return expire result to avoid race condition with redis disconnection due to a client destroy.
|
|
327
327
|
- Sonar - Removed extra parameter from function invocation to remove the only bug highlighted by Sonar.
|
|
328
|
+
- Bugfix - When using Redis, return expire result to avoid race condition with redis disconnection due to a client destroy.
|
|
328
329
|
|
|
329
330
|
10.9.1 (Nov 7, 2019)
|
|
330
|
-
- Bugfixing - Avoid certain keys (containing one of three keywords) on the browser to generate a request to the wrong endpoint.
|
|
331
331
|
- Added SonarQube integration.
|
|
332
|
+
- Bugfix - Avoid certain keys (containing one of three keywords) on the browser to generate a request to the wrong endpoint.
|
|
332
333
|
|
|
333
334
|
10.9.0 (Oct 24, 2019)
|
|
334
335
|
- Added listener for 'unload' DOM events to push remaining impressions and events when the browser page is closed or reloaded.
|
|
@@ -351,8 +352,8 @@
|
|
|
351
352
|
|
|
352
353
|
10.8.2 (Jul 26, 2019)
|
|
353
354
|
- Added `/src` folder to the npm package distribution for users that needs to transpile the package themselves.
|
|
354
|
-
- Bugfixing - Incorrect warnings caused by TrafficType storage counter when a Split is updated for inMemory and LocalStorage mode.
|
|
355
355
|
- Updated three dev dependencies to remove vulnerability warnings when running npm audit (lodash, set-value, mixin-deep).
|
|
356
|
+
- Bugfix - Incorrect warnings caused by TrafficType storage counter when a Split is updated for inMemory and LocalStorage mode.
|
|
356
357
|
|
|
357
358
|
10.8.1 (May 31, 2019)
|
|
358
359
|
- Updated axios version to 0.19.0 to remove a DoS vulnerability (not affecting the SDK but worth updating).
|
|
@@ -361,13 +362,13 @@
|
|
|
361
362
|
- Added support for optional event properties via our client.track() method. Read more in our docs!
|
|
362
363
|
|
|
363
364
|
10.7.2 (May 15, 2019)
|
|
364
|
-
-
|
|
365
|
+
- Bugfix - Fixing ES6 import syntax for LabelConstants module.
|
|
365
366
|
|
|
366
367
|
10.7.1 (May 10, 2019)
|
|
367
368
|
- Added Block Until Ready functionality support for consumer clients (Redis mode on Node.js) to make integration code work the same between modes.
|
|
368
369
|
- Added more Input and Usage Validation rules, including an extra label for impressions when the SDK is not ready.
|
|
369
370
|
- Updated the SDK Redis adapter to handle pending commands when disconnecting from the Redis server.
|
|
370
|
-
-
|
|
371
|
+
- Bugfix - Clearing up readyTimeout after we don't need it anymore. It also fixes the misleading SDK_READY_TIMED_OUT error log when using Redis.
|
|
371
372
|
|
|
372
373
|
10.7.0 (Apr 30, 2019)
|
|
373
374
|
- Added Block Until Ready functionality to the manager, shared with the main client. Now you can subscribe to SDK events or use the .ready() promise from the manager as well.
|
|
@@ -391,11 +392,11 @@
|
|
|
391
392
|
- Updated default values on configuration for Node.js.
|
|
392
393
|
- startup.readyTimeout default value went up from 0s (no timeout limit) to 15s.
|
|
393
394
|
- startup.retriesOnFailureBeforeReady default value went up from 0 (no retries) to 1.
|
|
394
|
-
-
|
|
395
|
-
-
|
|
395
|
+
- Bugfix - Preventing "Uncaught in promise (undefined)" error for .ready() promise when no error handlers are attached to it.
|
|
396
|
+
- Bugfix - Always throw JS errors inside callbacks attached to the SDK, so developers don't miss them.
|
|
396
397
|
|
|
397
398
|
10.5.1 (Dec 20, 2018)
|
|
398
|
-
-
|
|
399
|
+
- Bugfix - Fixing an issue where a Split with Traffic Allocation set to one would return the default treatment for 100% of the traffic (instead of 99%).
|
|
399
400
|
|
|
400
401
|
10.5.0 (Nov 7, 2018)
|
|
401
402
|
- Added custom impression listener feature, so customers can receive all the impressions data on a callback to handle as they place.
|
|
@@ -405,8 +406,8 @@
|
|
|
405
406
|
will go to Redis and be sent to Split by the synchronizer.
|
|
406
407
|
- Added a wrapper on top of ioredis to better handle operations and reduce unwanted library effects.
|
|
407
408
|
- Removed unnecessary keys/scans on Redis.
|
|
408
|
-
-
|
|
409
|
-
-
|
|
409
|
+
- Bugfix - Calling factory.client on the browser with the same key used on configuration created a new unnecessary instance.
|
|
410
|
+
- Bugfix - Fixing multiple instances of the client without specific scheduler configurations cause overflow on timeout values.
|
|
410
411
|
|
|
411
412
|
10.4.0 (Oct 4, 2018)
|
|
412
413
|
- Removed dependency for logging library.
|
|
@@ -416,8 +417,8 @@
|
|
|
416
417
|
- Added automatic cleanup and data flush for Node.js on SIGTERM signals.
|
|
417
418
|
- Updated default value for startup.requestTimeoutBeforeReady on the Browser from 0.8 seconds to 1.5 seconds to match startup.readyTimeout.
|
|
418
419
|
- Updated dependency versions.
|
|
419
|
-
-
|
|
420
|
-
-
|
|
420
|
+
- Bugfix - Capturing uncaught exception on some http and network errors.
|
|
421
|
+
- Bugfix - IE - Producer names logged as undefined.
|
|
421
422
|
|
|
422
423
|
10.3.3 (Aug 8, 2018)
|
|
423
424
|
- Removing logplease dependency hosted on GitHub.
|
|
@@ -442,7 +443,7 @@
|
|
|
442
443
|
- Removed global polyfills.
|
|
443
444
|
|
|
444
445
|
10.1.1 (March 20, 2018)
|
|
445
|
-
-
|
|
446
|
+
- Bugfix - getTreatment will return 'control' and the impression registered
|
|
446
447
|
will have label 'exception' when there is a Redis Exception.
|
|
447
448
|
|
|
448
449
|
10.1.0 (March 8, 2018)
|
|
@@ -461,10 +462,10 @@
|
|
|
461
462
|
- Adding trafficType as an optional core setting. If provided on the browser it will be bound to the client as the key.
|
|
462
463
|
- TypeScript declarations polishing.
|
|
463
464
|
- Updated SDK labels.
|
|
464
|
-
-
|
|
465
|
-
-
|
|
466
|
-
-
|
|
467
|
-
-
|
|
465
|
+
- Bugfix - Shared clients (browser) were ready even if the main client was not.
|
|
466
|
+
- Bugfix - Shared clients (browser) from different SDK instances should be separate.
|
|
467
|
+
- Bugfix - When using SDK key with wrong permissions, Node.js was throwing a false ready event (without segments).
|
|
468
|
+
- Bugfix - Localhost mode was trying to flush impressions when client.destroy was invoked.
|
|
468
469
|
|
|
469
470
|
9.3.7 (Dec 22, 2017)
|
|
470
471
|
- Updated SDK labels.
|
|
@@ -490,7 +491,7 @@
|
|
|
490
491
|
- Adding support for Node.js v0.10.X
|
|
491
492
|
|
|
492
493
|
9.3.1 (Jul 28, 2017)
|
|
493
|
-
-
|
|
494
|
+
- Bugfix - Fixed a bug on Manager API which was not retrieving the right treatments for a Split on some cases.
|
|
494
495
|
|
|
495
496
|
9.3.0 (Jul 25, 2017)
|
|
496
497
|
- Several new matchers have been released:
|
|
@@ -499,10 +500,10 @@
|
|
|
499
500
|
- Regex Matchers
|
|
500
501
|
|
|
501
502
|
9.2.2 (Jul 20, 2017)
|
|
502
|
-
-
|
|
503
|
+
- Bugfix - Added support into the SDK to flush impressions before destroy the instance.
|
|
503
504
|
|
|
504
505
|
9.2.1 (May 19, 2017)
|
|
505
|
-
-
|
|
506
|
+
- Bugfix - Issue with dependency that exposes untranspiled code through cjs require, causes
|
|
506
507
|
problems on IE and Node.js 3.
|
|
507
508
|
|
|
508
509
|
9.2.0 (May 11, 2017)
|
|
@@ -549,10 +550,10 @@
|
|
|
549
550
|
- Added Time Tracker logs. When logs are enabled, we log how much time takes to complete
|
|
550
551
|
SDK important tasks, like getting ready, downloading important information or pushing
|
|
551
552
|
metrics and impressions to Split.
|
|
552
|
-
-
|
|
553
|
+
- Bugfix - Return correct label when consulted Split is not found.
|
|
553
554
|
|
|
554
555
|
9.1.1 (May 03, 2017)
|
|
555
|
-
-
|
|
556
|
+
- Bugfix - Fixed invalid behavior when using native Fetch API and comparing statusText
|
|
556
557
|
instead of resp.ok
|
|
557
558
|
|
|
558
559
|
9.1.0 (April 21, 2017)
|
package/cjs/settings/node.js
CHANGED
|
@@ -6,11 +6,14 @@ var builtinLogger_1 = require("@splitsoftware/splitio-commons/cjs/utils/settings
|
|
|
6
6
|
var node_1 = require("./defaults/node");
|
|
7
7
|
var node_2 = require("./storage/node");
|
|
8
8
|
var node_3 = require("./runtime/node");
|
|
9
|
+
var FLAG_SPEC_VERSION = '1.1';
|
|
9
10
|
var params = {
|
|
10
11
|
defaults: node_1.defaults,
|
|
11
12
|
runtime: node_3.validateRuntime,
|
|
12
13
|
storage: node_2.validateStorage,
|
|
13
14
|
logger: builtinLogger_1.validateLogger,
|
|
15
|
+
flagSpec: function () { return FLAG_SPEC_VERSION; }
|
|
16
|
+
// In Node.js the SDK ignores `config.integrations`, so a validator for integrations is not required
|
|
14
17
|
};
|
|
15
18
|
function settingsFactory(config) {
|
|
16
19
|
var settings = (0, settingsValidation_1.settingsValidation)(config, params);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export var packageVersion = '11.
|
|
1
|
+
export var packageVersion = '11.3.0';
|
package/esm/settings/node.js
CHANGED
|
@@ -3,11 +3,14 @@ import { validateLogger } from '@splitsoftware/splitio-commons/esm/utils/setting
|
|
|
3
3
|
import { defaults } from './defaults/node';
|
|
4
4
|
import { validateStorage } from './storage/node';
|
|
5
5
|
import { validateRuntime } from './runtime/node';
|
|
6
|
+
var FLAG_SPEC_VERSION = '1.1';
|
|
6
7
|
var params = {
|
|
7
8
|
defaults: defaults,
|
|
8
9
|
runtime: validateRuntime,
|
|
9
10
|
storage: validateStorage,
|
|
10
11
|
logger: validateLogger,
|
|
12
|
+
flagSpec: function () { return FLAG_SPEC_VERSION; }
|
|
13
|
+
// In Node.js the SDK ignores `config.integrations`, so a validator for integrations is not required
|
|
11
14
|
};
|
|
12
15
|
export function settingsFactory(config) {
|
|
13
16
|
var settings = settingsValidation(config, params);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@splitsoftware/splitio",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.3.0",
|
|
4
4
|
"description": "Split SDK",
|
|
5
5
|
"files": [
|
|
6
6
|
"README.md",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"node": ">=14.0.0"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@splitsoftware/splitio-commons": "2.
|
|
41
|
+
"@splitsoftware/splitio-commons": "2.3.0",
|
|
42
42
|
"bloom-filters": "^3.0.4",
|
|
43
43
|
"ioredis": "^4.28.0",
|
|
44
44
|
"js-yaml": "^3.13.1",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const packageVersion = '11.
|
|
1
|
+
export const packageVersion = '11.3.0';
|
package/src/settings/node.js
CHANGED
|
@@ -5,11 +5,15 @@ import { defaults } from './defaults/node';
|
|
|
5
5
|
import { validateStorage } from './storage/node';
|
|
6
6
|
import { validateRuntime } from './runtime/node';
|
|
7
7
|
|
|
8
|
+
const FLAG_SPEC_VERSION = '1.1';
|
|
9
|
+
|
|
8
10
|
const params = {
|
|
9
11
|
defaults,
|
|
10
12
|
runtime: validateRuntime,
|
|
11
13
|
storage: validateStorage,
|
|
12
14
|
logger: validateLogger,
|
|
15
|
+
flagSpec: () => FLAG_SPEC_VERSION
|
|
16
|
+
// In Node.js the SDK ignores `config.integrations`, so a validator for integrations is not required
|
|
13
17
|
};
|
|
14
18
|
|
|
15
19
|
export function settingsFactory(config) {
|