diff --git a/CHANGES.txt b/CHANGES.txt index 30803120..7cd078dd 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,6 @@ +11.0.3 (December 4, 2024) + - Bugfixing - 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). + 11.0.2 (November 25, 2024) - Updated bloom-filters and fetch-mock dependencies for vulnerability fixes. - Bugfixing - 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. diff --git a/package-lock.json b/package-lock.json index b7bc496e..a6959f97 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "@splitsoftware/splitio", - "version": "11.0.2", + "version": "11.0.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@splitsoftware/splitio", - "version": "11.0.2", + "version": "11.0.3", "license": "Apache-2.0", "dependencies": { - "@splitsoftware/splitio-commons": "2.0.1", + "@splitsoftware/splitio-commons": "2.0.2", "bloom-filters": "^3.0.4", "ioredis": "^4.28.0", "js-yaml": "^3.13.1", @@ -351,9 +351,9 @@ "dev": true }, "node_modules/@splitsoftware/splitio-commons": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-2.0.1.tgz", - "integrity": "sha512-ZSGiU5+cP9ZG5Klh8pD43Bi4UHeoGfvz6bW1TMh4fm357pkxsGcNc+LJohGntE5SZh68StIGgQmuAcRONWNoAw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-2.0.2.tgz", + "integrity": "sha512-r2m3kwWnSuROT+7zTzhWBrM0DMRBGJNQcTyvXw8zLPPmBs/PnmAnxCy7uRpfMHOGbP9Q3Iju0bU/H5dG8svyiw==", "dependencies": { "@types/ioredis": "^4.28.0", "tslib": "^2.3.1" @@ -7537,9 +7537,9 @@ "dev": true }, "@splitsoftware/splitio-commons": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-2.0.1.tgz", - "integrity": "sha512-ZSGiU5+cP9ZG5Klh8pD43Bi4UHeoGfvz6bW1TMh4fm357pkxsGcNc+LJohGntE5SZh68StIGgQmuAcRONWNoAw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-2.0.2.tgz", + "integrity": "sha512-r2m3kwWnSuROT+7zTzhWBrM0DMRBGJNQcTyvXw8zLPPmBs/PnmAnxCy7uRpfMHOGbP9Q3Iju0bU/H5dG8svyiw==", "requires": { "@types/ioredis": "^4.28.0", "tslib": "^2.3.1" diff --git a/package.json b/package.json index 57161bc1..d62fd35b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@splitsoftware/splitio", - "version": "11.0.2", + "version": "11.0.3", "description": "Split SDK", "files": [ "README.md", @@ -38,7 +38,7 @@ "node": ">=14.0.0" }, "dependencies": { - "@splitsoftware/splitio-commons": "2.0.1", + "@splitsoftware/splitio-commons": "2.0.2", "bloom-filters": "^3.0.4", "ioredis": "^4.28.0", "js-yaml": "^3.13.1", diff --git a/src/__tests__/nodeSuites/lazy-init.spec.js b/src/__tests__/nodeSuites/lazy-init.spec.js index 68e92e8f..bee1efbc 100644 --- a/src/__tests__/nodeSuites/lazy-init.spec.js +++ b/src/__tests__/nodeSuites/lazy-init.spec.js @@ -34,6 +34,9 @@ export default function (settings, fetchMock, t) { fetchMock.postOnce('https://not-called/api/testImpressions/bulk', 200); fetchMock.postOnce('https://not-called/api/events/bulk', 200); + // Validate that init and destroy are idempotent + for (let i = 0; i < 3; i++) { splitio.init(); splitio.init(); splitio.destroy(); splitio.destroy(); } + splitio.init(); await splitio.client().ready(); assert.true(splitio.client().__getStatus().isReady, 'Split SDK is ready'); @@ -79,6 +82,9 @@ export default function (settings, fetchMock, t) { fetchMock.postOnce('https://not-called/api/testImpressions/bulk', 200); fetchMock.postOnce('https://not-called/api/events/bulk', 200); + // Validate that init and destroy are idempotent + for (let i = 0; i < 3; i++) { splitio.init(); splitio.init(); splitio.destroy(); splitio.destroy(); } + splitio.init(); await splitio.client().ready(); assert.true(splitio.client().__getStatus().isReady, 'Split SDK is ready'); diff --git a/src/settings/defaults/version.js b/src/settings/defaults/version.js index 2cbad8dd..c1fb4080 100644 --- a/src/settings/defaults/version.js +++ b/src/settings/defaults/version.js @@ -1 +1 @@ -export const packageVersion = '11.0.2'; +export const packageVersion = '11.0.3';