@splitsoftware/splitio-browserjs 1.2.0 → 1.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 CHANGED
@@ -1,3 +1,8 @@
1
+ 1.3.0 (May 28, 2025)
2
+ - Added support for rule-based segments. These segments determine membership at runtime by evaluating their configured rules against the user attributes provided to the SDK.
3
+ - Added support for feature flag prerequisites. This allows customers to define dependency conditions between flags, which are evaluated before any allowlists or targeting rules.
4
+ - Updated @splitsoftware/splitio-commons package to version 2.4.0.
5
+
1
6
  1.2.0 (March 31, 2025)
2
7
  - 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.
3
8
  - Added two new configuration options for the SDK's `InLocalStorage` module to control the behavior of the persisted rollout plan cache in the browser:
@@ -8,10 +13,10 @@
8
13
 
9
14
  1.1.0 (January 17, 2025)
10
15
  - Added support for the new impressions tracking toggle available on feature flags, both respecting the setting and including the new field being returned on `SplitView` type objects. Read more in our docs.
11
- - Bugfixing - Updated @splitsoftware/splitio-commons package to version 2.1.0, which properly handles rejected promises when using targeting rules with segment matchers in consumer modes (e.g., Redis and Pluggable storages).
16
+ - Bugfix - Updated @splitsoftware/splitio-commons package to version 2.1.0, which properly handles rejected promises when using targeting rules with segment matchers in consumer modes (e.g., Redis and Pluggable storages).
12
17
 
13
18
  1.0.1 (November 11, 2024)
14
- - Bugfixing - Revert removal of TypeScript `SplitIO` namespace at `/types/splitio.d.ts` to allow explicit imports of types from the Browser SDK package. E.g., `import type { IClientSideSettings } from '@splitsoftware/splitio-browserjs/types/splitio';`.
19
+ - Bugfix - Revert removal of TypeScript `SplitIO` namespace at `/types/splitio.d.ts` to allow explicit imports of types from the Browser SDK package. E.g., `import type { IClientSideSettings } from '@splitsoftware/splitio-browserjs/types/splitio';`.
15
20
 
16
21
  1.0.0 (November 1, 2024)
17
22
  - Added support for targeting rules based on large segments.
@@ -33,8 +38,8 @@
33
38
 
34
39
  0.14.1 (June 14, 2024)
35
40
  - Updated @splitsoftware/splitio-commons package to version 1.16.0 that includes some vulnerability and bug fixes.
36
- - Bugfixing - Restored some input validation error logs that were removed in version 0.12.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.
37
- - Bugfixing - 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).
41
+ - Bugfix - Restored some input validation error logs that were removed in version 0.12.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.
42
+ - 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).
38
43
 
39
44
  0.14.0 (May 6, 2024)
40
45
  - Updated @splitsoftware/splitio-commons package to version 1.14.0 that includes minor updates:
@@ -44,7 +49,7 @@
44
49
 
45
50
  0.13.2 (March 26, 2024)
46
51
  - Updated some transitive dependencies for vulnerability fixes.
47
- - Bugfixing - 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).
52
+ - 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).
48
53
 
49
54
  0.13.1 (January 18, 2024)
50
55
  - Updated @splitsoftware/splitio-commons package to version 1.13.1 and some transitive dependencies for vulnerability fixes.
@@ -53,7 +58,7 @@
53
58
  - Added support for Flag Sets in "consumer" and "partial consumer" modes (pluggable storage).
54
59
  - Updated SDK cache for browsers using localStorage, to clear cached feature flag definitions before initiating the synchronization process if the cache was previously synchronized with a different SDK key (i.e., a different environment) or different Split Filter criteria, to avoid using invalid cached data when the SDK is ready from cache.
55
60
  - Updated @splitsoftware/splitio-commons package to version 1.12.1 that includes flag sets support for consumer modes, and other improvements.
56
- - Bugfixing - Fixed manager methods in consumer modes to return results in a promise when the SDK is not operational (not ready or destroyed).
61
+ - Bugfix - Fixed manager methods in consumer modes to return results in a promise when the SDK is not operational (not ready or destroyed).
57
62
 
58
63
  0.12.0 (November 3, 2023)
59
64
  - Added support for Flag Sets on the SDK, which enables grouping feature flags and interacting with the group rather than individually (more details in our documentation):
@@ -80,7 +85,7 @@
80
85
  - Updated some transitive dependencies for vulnerability fixes.
81
86
  - Updated @splitsoftware/splitio-commons package to version 1.8.3 that includes:
82
87
  - Updated SDK_READY_TIMED_OUT event to be emitted immediately when a connection error occurs using pluggable storage (i.e., when the wrapper `connect` promise is rejected) in consumer and partial consumer modes.
83
- - Bugfixing - The `destroy` method has been updated to immediately flag the SDK client as destroyed, to prevent unexpected behaviors when `getTreatment` and `track` methods are called synchronously after `destroy` method is called.
88
+ - Bugfix - The `destroy` method has been updated to immediately flag the SDK client as destroyed, to prevent unexpected behaviors when `getTreatment` and `track` methods are called synchronously after `destroy` method is called.
84
89
 
85
90
  0.9.5 (May 15, 2023)
86
91
  - Updated @splitsoftware/splitio-commons package to version 1.8.2 that includes minor improvements.
@@ -90,7 +95,7 @@
90
95
 
91
96
  0.9.4 (May 4, 2023)
92
97
  - Updated some transitive dependencies for vulnerability fixes.
93
- - Bugfixing - Updated `unfetch` package as a runtime dependency, required when using the "full" import (`import { SplitFactory } from '@splitsoftware/splitio-browserjs/full'`).
98
+ - Bugfix - Updated `unfetch` package as a runtime dependency, required when using the "full" import (`import { SplitFactory } from '@splitsoftware/splitio-browserjs/full'`).
94
99
 
95
100
  0.9.3 (March 20, 2023)
96
101
  - Updated @splitsoftware/splitio-commons package to version 1.8.1 that includes minor improvements.
@@ -98,10 +103,10 @@
98
103
 
99
104
  0.9.2 (December 16, 2022)
100
105
  - Updated some transitive dependencies for vulnerability fixes.
101
- - Bugfixing - 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.
106
+ - 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.
102
107
 
103
108
  0.9.1 (October 14, 2022)
104
- - Bugfixing - 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.
109
+ - 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.
105
110
 
106
111
  0.9.0 (October 5, 2022)
107
112
  - 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.
@@ -118,23 +123,23 @@
118
123
  - 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.
119
124
  - Updated telemetry logic to track the anonymous config for user consent flag set to declined or unknown.
120
125
  - Updated submitters logic, to avoid duplicating the post of impressions to Split cloud when the SDK is destroyed while its periodic post of impressions is running.
121
- - Bugfixing - Updated submitters logic, to avoid dropping impressions and events that are being tracked while POST request is pending.
126
+ - Bugfix - Updated submitters logic, to avoid dropping impressions and events that are being tracked while POST request is pending.
122
127
 
123
128
  0.6.0 (May 24, 2022)
124
129
  - Added `scheduler.telemetryRefreshRate` property to SDK configuration.
125
130
  - Updated SDK telemetry storage, metrics and updater to be more effective and send less often.
126
- - Bugfixing - Updated default values for `scheduler.impressionsRefreshRate` config parameter: 300s for OPTIMIZED impression mode and 60s for DEBUG impression mode (previously it was 60s for both).
131
+ - Bugfix - Updated default values for `scheduler.impressionsRefreshRate` config parameter: 300s for OPTIMIZED impression mode and 60s for DEBUG impression mode (previously it was 60s for both).
127
132
 
128
133
  0.5.0 (April 7, 2022)
129
134
  - 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.
130
135
  - Added `scheduler.impressionsQueueSize` property to SDK configuration to limit the amount of impressions tracked in memory. Read more in our docs.
131
136
  - Updated format for MySegments keys in LocalStorage, keeping backwards compatibility (issue https://github.com/splitio/javascript-client/issues/638).
132
137
  - Updated some dependencies for vulnerability fixes.
133
- - Bugfixing - Updated internal isObject utility function, to avoid unexpected behaviors on frameworks and libraries that uses multiple VM contexts, like NuxtJS dev server.
134
- - Bugfixing - Fixed validation of `core.key` SDK configuration param, to parse it into a string and log a warning when passing a number (Related to issue https://github.com/splitio/react-native-client/issues/19).
135
- - Bugfixing - Fixed validation of `sync.impressionsMode` SDK configuration param, to avoid an exception on SplitFactory instantiation when passing a non-string value.
136
- - Bugfixing - Fixed streaming synchronization issue when using multiple clients.
137
- - Bugfixing - Fixed issue with internal Map ponyfill that results in logger not working properly on IE11 browser.
138
+ - Bugfix - Updated internal isObject utility function, to avoid unexpected behaviors on frameworks and libraries that uses multiple VM contexts, like NuxtJS dev server.
139
+ - Bugfix - Fixed validation of `core.key` SDK configuration param, to parse it into a string and log a warning when passing a number (Related to issue https://github.com/splitio/react-native-client/issues/19).
140
+ - Bugfix - Fixed validation of `sync.impressionsMode` SDK configuration param, to avoid an exception on SplitFactory instantiation when passing a non-string value.
141
+ - Bugfix - Fixed streaming synchronization issue when using multiple clients.
142
+ - Bugfix - Fixed issue with internal Map ponyfill that results in logger not working properly on IE11 browser.
138
143
 
139
144
  0.4.1 (February 22, 2022)
140
145
  - Updated karma and some transitive dependencies for vulnerability fixes.
@@ -150,7 +155,7 @@
150
155
  - Updated @splitsoftware/splitio-commons dependency to version 1.1.0, which includes:
151
156
  - Updated multiple modules due to general polishing and improvements, including the replacement of default exports with named exports,
152
157
  to avoid runtime errors with some particular configurations of Webpack projects.
153
- - Bugfixing - Fixed issue returning dynamic configs if treatment name contains a dot (".").
158
+ - Bugfix - Fixed issue returning dynamic configs if treatment name contains a dot (".").
154
159
 
155
160
  0.2.0 (October 20, 2021)
156
161
  - Added localhost mode support (Read more in our docs here: https://help.split.io/hc/en-us/articles/360058730852-Browser-SDK#localhost-mode).
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.defaults = void 0;
4
4
  var index_1 = require("@splitsoftware/splitio-commons/cjs/logger/index");
5
5
  var constants_1 = require("@splitsoftware/splitio-commons/cjs/utils/constants");
6
- var packageVersion = '1.2.0';
6
+ var packageVersion = '1.3.0';
7
7
  /**
8
8
  * In browser, the default debug level, can be set via the `localStorage.splitio_debug` item.
9
9
  * Acceptable values are: 'DEBUG', 'INFO', 'WARN', 'ERROR', 'NONE'.
@@ -1,6 +1,6 @@
1
1
  import { LogLevels, isLogLevelString } from '@splitsoftware/splitio-commons/esm/logger/index';
2
2
  import { CONSENT_GRANTED } from '@splitsoftware/splitio-commons/esm/utils/constants';
3
- var packageVersion = '1.2.0';
3
+ var packageVersion = '1.3.0';
4
4
  /**
5
5
  * In browser, the default debug level, can be set via the `localStorage.splitio_debug` item.
6
6
  * Acceptable values are: 'DEBUG', 'INFO', 'WARN', 'ERROR', 'NONE'.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@splitsoftware/splitio-browserjs",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "Split SDK for JavaScript on Browser",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -59,7 +59,7 @@
59
59
  "bugs": "https://github.com/splitio/javascript-browser-client/issues",
60
60
  "homepage": "https://github.com/splitio/javascript-browser-client#readme",
61
61
  "dependencies": {
62
- "@splitsoftware/splitio-commons": "2.2.0",
62
+ "@splitsoftware/splitio-commons": "2.4.0",
63
63
  "tslib": "^2.3.1",
64
64
  "unfetch": "^4.2.0"
65
65
  },
@@ -2,7 +2,7 @@ import type SplitIO from '@splitsoftware/splitio-commons/types/splitio';
2
2
  import { LogLevels, isLogLevelString } from '@splitsoftware/splitio-commons/src/logger/index';
3
3
  import { CONSENT_GRANTED } from '@splitsoftware/splitio-commons/src/utils/constants';
4
4
 
5
- const packageVersion = '1.2.0';
5
+ const packageVersion = '1.3.0';
6
6
 
7
7
  /**
8
8
  * In browser, the default debug level, can be set via the `localStorage.splitio_debug` item.