@splitsoftware/splitio 10.17.4-rc.4 → 10.18.1
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 +21 -12
- package/es/settings/browser.js +3 -3
- package/es/settings/defaults/version.js +1 -1
- package/es/settings/node.js +3 -3
- package/lib/settings/browser.js +3 -3
- package/lib/settings/defaults/version.js +1 -1
- package/lib/settings/node.js +5 -5
- package/package.json +3 -3
- package/src/settings/browser.js +4 -3
- package/src/settings/defaults/version.js +1 -1
- package/src/settings/node.js +4 -3
- package/types/splitio.d.ts +4 -4
package/CHANGES.txt
CHANGED
|
@@ -1,15 +1,24 @@
|
|
|
1
|
-
10.18.
|
|
2
|
-
- Updated
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
10.18.1 (April 20, 2022)
|
|
2
|
+
- Updated some dependencies for vulnerability fixes.
|
|
3
|
+
- Bugfixing - 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).
|
|
4
|
+
- Bugfixing - 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).
|
|
5
|
+
|
|
6
|
+
10.18.0 (April 7, 2022)
|
|
7
|
+
- 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.
|
|
8
|
+
- Added `scheduler.impressionsQueueSize` property to SDK configuration to limit the amount of impressions tracked in memory. Read more in our docs.
|
|
9
|
+
- Added support to accept TLS configuration options to the Redis storage in NodeJS. Read more in our docs.
|
|
10
|
+
- Updated type definitions to specialize the type of the `storage.options` object for Redis storage in NodeJS.
|
|
11
|
+
- Updated some dependencies for vulnerability fixes.
|
|
12
|
+
- Bugfixing - Updated internal isObject utility function, to avoid unexpected behaviors on frameworks and libraries that uses multiple VM contexts, like NuxtJS dev server.
|
|
13
|
+
- Bugfixing - Logging settings (i.e., the `debug` SDK configuration param and factory logger methods) are configurable per factory instance, instead of affecting all factories globally.
|
|
14
|
+
- Bugfixing - Fixed an issue with `connectionTimeout` options params of Redis storage, that was being ignored and not passed down to the underlying ioredis client.
|
|
15
|
+
- Bugfixing - Updated the validation of some SDK configuration params to log errors and throw exceptions with clear descriptions of the invalid setup:
|
|
16
|
+
- 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'.".
|
|
17
|
+
- 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. Fallbacking into default MEMORY storage.".
|
|
18
|
+
- 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.".
|
|
19
|
+
|
|
20
|
+
- NOTABLE CHANGE: since version 10.18.0, the SDK has been refactored to use @splitsoftware/splitio-commons package in order to reuse core modules shared across all JavaScript-based SDKs. Most internal modules have been moved and renamed,
|
|
21
|
+
but it does not imply a breaking change as long as the library is imported via its main entrypoint (e.g., `const { SplitFactory } = require('@splitsoftware/splitio')` or `import { SplitFactory } from '@splitsoftware/splitio'`).
|
|
13
22
|
|
|
14
23
|
10.17.3 (February 25, 2022)
|
|
15
24
|
- Updated format for MySegments keys in LocalStorage, keeping backwards compatibility (issue https://github.com/splitio/javascript-client/issues/638).
|
package/es/settings/browser.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { settingsValidation } from '@splitsoftware/splitio-commons/esm/utils/settingsValidation';
|
|
2
|
-
import { defaults } from './defaults/browser';
|
|
3
2
|
import { validateRuntime } from '@splitsoftware/splitio-commons/esm/utils/settingsValidation/runtime';
|
|
4
|
-
import { validateStorage } from './storage/browser';
|
|
5
|
-
import { validateIntegrations } from './integrations/browser';
|
|
6
3
|
import { validateLogger } from '@splitsoftware/splitio-commons/esm/utils/settingsValidation/logger/builtinLogger';
|
|
7
4
|
import { LocalhostFromObject } from '@splitsoftware/splitio-commons/esm/sync/offline/LocalhostFromObject';
|
|
8
5
|
import { validateConsent } from '@splitsoftware/splitio-commons/esm/utils/settingsValidation/consent';
|
|
6
|
+
import { defaults } from './defaults/browser';
|
|
7
|
+
import { validateStorage } from './storage/browser';
|
|
8
|
+
import { validateIntegrations } from './integrations/browser';
|
|
9
9
|
var params = {
|
|
10
10
|
defaults: defaults,
|
|
11
11
|
acceptKey: true, acceptTT: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export var packageVersion = '10.
|
|
1
|
+
export var packageVersion = '10.18.1';
|
package/es/settings/node.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { settingsValidation } from '@splitsoftware/splitio-commons/esm/utils/settingsValidation';
|
|
2
|
-
import { defaults } from './defaults/node';
|
|
3
|
-
import { validateRuntime } from './runtime/node';
|
|
4
|
-
import { validateStorage } from './storage/node';
|
|
5
2
|
import { validateLogger } from '@splitsoftware/splitio-commons/esm/utils/settingsValidation/logger/builtinLogger';
|
|
6
3
|
import { LocalhostFromFile } from '@splitsoftware/splitio-commons/esm/sync/offline/LocalhostFromFile';
|
|
4
|
+
import { defaults } from './defaults/node';
|
|
5
|
+
import { validateStorage } from './storage/node';
|
|
6
|
+
import { validateRuntime } from './runtime/node';
|
|
7
7
|
var params = {
|
|
8
8
|
defaults: defaults,
|
|
9
9
|
runtime: validateRuntime,
|
package/lib/settings/browser.js
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.settingsFactory = void 0;
|
|
4
4
|
var settingsValidation_1 = require("@splitsoftware/splitio-commons/cjs/utils/settingsValidation");
|
|
5
|
-
var browser_1 = require("./defaults/browser");
|
|
6
5
|
var runtime_1 = require("@splitsoftware/splitio-commons/cjs/utils/settingsValidation/runtime");
|
|
7
|
-
var browser_2 = require("./storage/browser");
|
|
8
|
-
var browser_3 = require("./integrations/browser");
|
|
9
6
|
var builtinLogger_1 = require("@splitsoftware/splitio-commons/cjs/utils/settingsValidation/logger/builtinLogger");
|
|
10
7
|
var LocalhostFromObject_1 = require("@splitsoftware/splitio-commons/cjs/sync/offline/LocalhostFromObject");
|
|
11
8
|
var consent_1 = require("@splitsoftware/splitio-commons/cjs/utils/settingsValidation/consent");
|
|
9
|
+
var browser_1 = require("./defaults/browser");
|
|
10
|
+
var browser_2 = require("./storage/browser");
|
|
11
|
+
var browser_3 = require("./integrations/browser");
|
|
12
12
|
var params = {
|
|
13
13
|
defaults: browser_1.defaults,
|
|
14
14
|
acceptKey: true, acceptTT: true,
|
package/lib/settings/node.js
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.settingsFactory = void 0;
|
|
4
4
|
var settingsValidation_1 = require("@splitsoftware/splitio-commons/cjs/utils/settingsValidation");
|
|
5
|
-
var node_1 = require("./defaults/node");
|
|
6
|
-
var node_2 = require("./runtime/node");
|
|
7
|
-
var node_3 = require("./storage/node");
|
|
8
5
|
var builtinLogger_1 = require("@splitsoftware/splitio-commons/cjs/utils/settingsValidation/logger/builtinLogger");
|
|
9
6
|
var LocalhostFromFile_1 = require("@splitsoftware/splitio-commons/cjs/sync/offline/LocalhostFromFile");
|
|
7
|
+
var node_1 = require("./defaults/node");
|
|
8
|
+
var node_2 = require("./storage/node");
|
|
9
|
+
var node_3 = require("./runtime/node");
|
|
10
10
|
var params = {
|
|
11
11
|
defaults: node_1.defaults,
|
|
12
|
-
runtime:
|
|
13
|
-
storage:
|
|
12
|
+
runtime: node_3.validateRuntime,
|
|
13
|
+
storage: node_2.validateStorage,
|
|
14
14
|
logger: builtinLogger_1.validateLogger,
|
|
15
15
|
localhost: function () { return (0, LocalhostFromFile_1.LocalhostFromFile)(); },
|
|
16
16
|
consent: function () { return undefined; }, // resets settings.userConsent to the default
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@splitsoftware/splitio",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.18.1",
|
|
4
4
|
"description": "Split SDK",
|
|
5
5
|
"files": [
|
|
6
6
|
"README.md",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"node": ">=6"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@splitsoftware/splitio-commons": "1.
|
|
35
|
+
"@splitsoftware/splitio-commons": "1.3.1",
|
|
36
36
|
"@types/google.analytics": "0.0.40",
|
|
37
37
|
"@types/ioredis": "^4.28.0",
|
|
38
38
|
"ioredis": "^4.28.0",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"node-polyfill-webpack-plugin": "^1.1.4",
|
|
62
62
|
"proxyquire": "^2.1.3",
|
|
63
63
|
"puppeteer": "^3.3.0",
|
|
64
|
-
"redis-dumpz": "0.1.
|
|
64
|
+
"redis-dumpz": "0.1.12",
|
|
65
65
|
"redis-server": "1.2.2",
|
|
66
66
|
"replace": "^1.2.1",
|
|
67
67
|
"rimraf": "^3.0.2",
|
package/src/settings/browser.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { settingsValidation } from '@splitsoftware/splitio-commons/src/utils/settingsValidation';
|
|
2
|
-
import { defaults } from './defaults/browser';
|
|
3
2
|
import { validateRuntime } from '@splitsoftware/splitio-commons/src/utils/settingsValidation/runtime';
|
|
4
|
-
import { validateStorage } from './storage/browser';
|
|
5
|
-
import { validateIntegrations } from './integrations/browser';
|
|
6
3
|
import { validateLogger } from '@splitsoftware/splitio-commons/src/utils/settingsValidation/logger/builtinLogger';
|
|
7
4
|
import { LocalhostFromObject } from '@splitsoftware/splitio-commons/src/sync/offline/LocalhostFromObject';
|
|
8
5
|
import { validateConsent } from '@splitsoftware/splitio-commons/src/utils/settingsValidation/consent';
|
|
9
6
|
|
|
7
|
+
import { defaults } from './defaults/browser';
|
|
8
|
+
import { validateStorage } from './storage/browser';
|
|
9
|
+
import { validateIntegrations } from './integrations/browser';
|
|
10
|
+
|
|
10
11
|
const params = {
|
|
11
12
|
defaults,
|
|
12
13
|
acceptKey: true, acceptTT: true, // Client with bound key and optional TT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const packageVersion = '10.
|
|
1
|
+
export const packageVersion = '10.18.1';
|
package/src/settings/node.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { settingsValidation } from '@splitsoftware/splitio-commons/src/utils/settingsValidation';
|
|
2
|
-
import { defaults } from './defaults/node';
|
|
3
|
-
import { validateRuntime } from './runtime/node';
|
|
4
|
-
import { validateStorage } from './storage/node';
|
|
5
2
|
import { validateLogger } from '@splitsoftware/splitio-commons/src/utils/settingsValidation/logger/builtinLogger';
|
|
6
3
|
import { LocalhostFromFile } from '@splitsoftware/splitio-commons/src/sync/offline/LocalhostFromFile';
|
|
7
4
|
|
|
5
|
+
import { defaults } from './defaults/node';
|
|
6
|
+
import { validateStorage } from './storage/node';
|
|
7
|
+
import { validateRuntime } from './runtime/node';
|
|
8
|
+
|
|
8
9
|
const params = {
|
|
9
10
|
defaults,
|
|
10
11
|
runtime: validateRuntime,
|
package/types/splitio.d.ts
CHANGED
|
@@ -1048,10 +1048,10 @@ declare namespace SplitIO {
|
|
|
1048
1048
|
integrations?: BrowserIntegration[],
|
|
1049
1049
|
/**
|
|
1050
1050
|
* User consent status. Possible values are `'GRANTED'`, which is the default, `'DECLINED'` or `'UNKNOWN'`.
|
|
1051
|
-
* - `'GRANTED'`: the user
|
|
1052
|
-
* - `'DECLINED'`: the user
|
|
1053
|
-
* - `'UNKNOWN'`: the user
|
|
1054
|
-
* them or not if the consent status is updated to 'GRANTED' or 'DECLINED' respectively. The status can be updated at any time with the `
|
|
1051
|
+
* - `'GRANTED'`: the user grants consent for tracking events and impressions. The SDK sends them to Split cloud.
|
|
1052
|
+
* - `'DECLINED'`: the user declines consent for tracking events and impressions. The SDK does not send them to Split cloud.
|
|
1053
|
+
* - `'UNKNOWN'`: the user neither grants nor declines consent for tracking events and impressions. The SDK tracks them in its internal storage, and eventually either sends
|
|
1054
|
+
* them or not if the consent status is updated to 'GRANTED' or 'DECLINED' respectively. The status can be updated at any time with the `UserConsent.setStatus` factory method.
|
|
1055
1055
|
*
|
|
1056
1056
|
* @typedef {string} userConsent
|
|
1057
1057
|
* @default 'GRANTED'
|