From b8d28a1e7ebe3716d968a769ad8d381bd6ff5cf3 Mon Sep 17 00:00:00 2001 From: Emmanuel Zamora Date: Thu, 2 Nov 2023 16:40:42 -0300 Subject: [PATCH 1/4] [SDKS-7657] Update commons version & changes file --- CHANGES.txt | 10 ++++++++++ package-lock.json | 18 +++++++++--------- package.json | 4 ++-- src/settings/defaults.ts | 2 +- types/splitio.d.ts | 5 +++++ 5 files changed, 27 insertions(+), 12 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 173789e..7ad126e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,13 @@ +0.12.0 (November XX, 2023) + - 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): + - Added new variations of the get treatment methods to support evaluating flags in given flag set/s. + - getTreatmentsByFlagSet and getTreatmentsByFlagSets + - getTreatmentsWithConfigByFlagSets and getTreatmentsWithConfigByFlagSets + - Added a new optional Split Filter configuration option. This allows the SDK and Split services to only synchronize the flags in the specified flag sets, avoiding unused or unwanted flags from being synced on the SDK instance, bringing all the benefits from a reduced payload. + - Note: Only applicable when the SDK is in charge of the rollout data synchronization. When not applicable, the SDK will log a warning on init. + - Added `sets` property to the `SplitView` object returned by the `split` and `splits` methods of the SDK manager to expose flag sets on flag views. + - Updated @splitsoftware/splitio-commons package to version 1.11.0. + 0.11.0 (October 31, 2023) - 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). - Updated @splitsoftware/splitio-commons package to version 1.10.0 that includes vulnerability fixes, and adds the `defaultTreatment` property to the `SplitView` object. diff --git a/package-lock.json b/package-lock.json index bb072df..4f90bd9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "@splitsoftware/splitio-browserjs", - "version": "0.11.0", + "version": "0.11.1-rc.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@splitsoftware/splitio-browserjs", - "version": "0.11.0", + "version": "0.11.1-rc.0", "license": "Apache-2.0", "dependencies": { - "@splitsoftware/splitio-commons": "1.10.1-rc.0", + "@splitsoftware/splitio-commons": "1.10.1-rc.3", "@types/google.analytics": "0.0.40", "unfetch": "^4.2.0" }, @@ -1499,9 +1499,9 @@ "dev": true }, "node_modules/@splitsoftware/splitio-commons": { - "version": "1.10.1-rc.0", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-1.10.1-rc.0.tgz", - "integrity": "sha512-bot9NEg0u/suJ4gSqIWfkiRLhTc3NL6Veq1GQiD5J+dh0x/STUwUfV3pnJ+cUuPPclC1teJxAqxMdmyFKSx+NA==", + "version": "1.10.1-rc.3", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-1.10.1-rc.3.tgz", + "integrity": "sha512-eqJxAMtqFK7fXFKL8gMGfRsMBdxrYI9tIGUHHpY1NcyeKkn4OWqAOZMhX6z2qLdBArzHi34Li0Lb72o+Bh1Tqg==", "dependencies": { "tslib": "^2.3.1" }, @@ -10589,9 +10589,9 @@ "dev": true }, "@splitsoftware/splitio-commons": { - "version": "1.10.1-rc.0", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-1.10.1-rc.0.tgz", - "integrity": "sha512-bot9NEg0u/suJ4gSqIWfkiRLhTc3NL6Veq1GQiD5J+dh0x/STUwUfV3pnJ+cUuPPclC1teJxAqxMdmyFKSx+NA==", + "version": "1.10.1-rc.3", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-1.10.1-rc.3.tgz", + "integrity": "sha512-eqJxAMtqFK7fXFKL8gMGfRsMBdxrYI9tIGUHHpY1NcyeKkn4OWqAOZMhX6z2qLdBArzHi34Li0Lb72o+Bh1Tqg==", "requires": { "tslib": "^2.3.1" } diff --git a/package.json b/package.json index e8ad4f9..d4a7276 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@splitsoftware/splitio-browserjs", - "version": "0.11.0", + "version": "0.11.1-rc.0", "description": "Split SDK for JavaScript on Browser", "main": "cjs/index.js", "module": "esm/index.js", @@ -64,7 +64,7 @@ "bugs": "https://github.com/splitio/javascript-browser-client/issues", "homepage": "https://github.com/splitio/javascript-browser-client#readme", "dependencies": { - "@splitsoftware/splitio-commons": "1.10.1-rc.0", + "@splitsoftware/splitio-commons": "1.10.1-rc.3", "@types/google.analytics": "0.0.40", "unfetch": "^4.2.0" }, diff --git a/src/settings/defaults.ts b/src/settings/defaults.ts index 05a9bcf..7ba68ce 100644 --- a/src/settings/defaults.ts +++ b/src/settings/defaults.ts @@ -2,7 +2,7 @@ import { LogLevels, isLogLevelString } from '@splitsoftware/splitio-commons/src/ import { ConsentStatus, LogLevel } from '@splitsoftware/splitio-commons/src/types'; import { CONSENT_GRANTED } from '@splitsoftware/splitio-commons/src/utils/constants'; -const packageVersion = '0.11.0'; +const packageVersion = '0.11.1-rc.0'; /** * In browser, the default debug level, can be set via the `localStorage.splitio_debug` item. diff --git a/types/splitio.d.ts b/types/splitio.d.ts index 1ad5c4f..5b896e4 100644 --- a/types/splitio.d.ts +++ b/types/splitio.d.ts @@ -499,6 +499,11 @@ declare namespace SplitIO { configs: { [treatmentName: string]: string }, + /** + * List of sets of the feature flag. + * @property {string[]} sets + */ + sets: string[], /** * The default treatment of the feature flag. * @property {string} defaultTreatment From 5f1987f3b5eb444147346ebc2635c05bdca803b6 Mon Sep 17 00:00:00 2001 From: Emmanuel Zamora Date: Thu, 2 Nov 2023 16:42:44 -0300 Subject: [PATCH 2/4] update ci to upload assets --- .github/workflows/ci-cd.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 4cf6618..0e3b8dd 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -47,7 +47,7 @@ jobs: run: BUILD_BRANCH=$(echo "${GITHUB_REF#refs/heads/}") npm run build - name: Store assets - if: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/sdks-7668' || github.ref == 'refs/heads/main') }} + if: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/sdks-7657' || github.ref == 'refs/heads/main') }} uses: actions/upload-artifact@v3 with: name: assets @@ -58,7 +58,7 @@ jobs: name: Upload assets runs-on: ubuntu-20.04 needs: build - if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/sdks-7668' }} + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/sdks-7657' }} strategy: matrix: environment: From 1c01930c87805be4e3adfe330128e965f1389a33 Mon Sep 17 00:00:00 2001 From: Emmanuel Zamora Date: Thu, 2 Nov 2023 16:49:18 -0300 Subject: [PATCH 3/4] Fix ts-tests --- ts-tests/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/ts-tests/index.ts b/ts-tests/index.ts index aad7795..59dea67 100644 --- a/ts-tests/index.ts +++ b/ts-tests/index.ts @@ -136,6 +136,7 @@ splitView = { configs: { off: '{"dimensions":"{\"height\":20,\"width\":40}"}' }, + sets: ['set_a','set_b'], defaultTreatment: 'off' }; splitViews = [splitView]; From 61d5bf0891df4dd2177ebf9491aa1455f2826587 Mon Sep 17 00:00:00 2001 From: Emmanuel Zamora Date: Fri, 3 Nov 2023 19:00:48 -0300 Subject: [PATCH 4/4] prepare release v0.12.0 --- .github/workflows/ci-cd.yml | 4 ++-- CHANGES.txt | 2 +- package-lock.json | 18 +++++++++--------- package.json | 4 ++-- src/settings/defaults.ts | 2 +- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 0e3b8dd..070db7d 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -47,7 +47,7 @@ jobs: run: BUILD_BRANCH=$(echo "${GITHUB_REF#refs/heads/}") npm run build - name: Store assets - if: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/sdks-7657' || github.ref == 'refs/heads/main') }} + if: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/development' || github.ref == 'refs/heads/main') }} uses: actions/upload-artifact@v3 with: name: assets @@ -58,7 +58,7 @@ jobs: name: Upload assets runs-on: ubuntu-20.04 needs: build - if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/sdks-7657' }} + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/development' }} strategy: matrix: environment: diff --git a/CHANGES.txt b/CHANGES.txt index 7ad126e..c9e43cb 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,4 @@ -0.12.0 (November XX, 2023) +0.12.0 (November 3, 2023) - 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): - Added new variations of the get treatment methods to support evaluating flags in given flag set/s. - getTreatmentsByFlagSet and getTreatmentsByFlagSets diff --git a/package-lock.json b/package-lock.json index 4f90bd9..3e4b2b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "@splitsoftware/splitio-browserjs", - "version": "0.11.1-rc.0", + "version": "0.12.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@splitsoftware/splitio-browserjs", - "version": "0.11.1-rc.0", + "version": "0.12.0", "license": "Apache-2.0", "dependencies": { - "@splitsoftware/splitio-commons": "1.10.1-rc.3", + "@splitsoftware/splitio-commons": "1.11.0", "@types/google.analytics": "0.0.40", "unfetch": "^4.2.0" }, @@ -1499,9 +1499,9 @@ "dev": true }, "node_modules/@splitsoftware/splitio-commons": { - "version": "1.10.1-rc.3", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-1.10.1-rc.3.tgz", - "integrity": "sha512-eqJxAMtqFK7fXFKL8gMGfRsMBdxrYI9tIGUHHpY1NcyeKkn4OWqAOZMhX6z2qLdBArzHi34Li0Lb72o+Bh1Tqg==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-1.11.0.tgz", + "integrity": "sha512-JxXltOwFrTSDgvuM4MTzrNzxYEX2YSaNLNM/STtehLNRC20O7rYgUrEWT3xcvVOgGMwouyFOpGpNL94TthN2Aw==", "dependencies": { "tslib": "^2.3.1" }, @@ -10589,9 +10589,9 @@ "dev": true }, "@splitsoftware/splitio-commons": { - "version": "1.10.1-rc.3", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-1.10.1-rc.3.tgz", - "integrity": "sha512-eqJxAMtqFK7fXFKL8gMGfRsMBdxrYI9tIGUHHpY1NcyeKkn4OWqAOZMhX6z2qLdBArzHi34Li0Lb72o+Bh1Tqg==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-1.11.0.tgz", + "integrity": "sha512-JxXltOwFrTSDgvuM4MTzrNzxYEX2YSaNLNM/STtehLNRC20O7rYgUrEWT3xcvVOgGMwouyFOpGpNL94TthN2Aw==", "requires": { "tslib": "^2.3.1" } diff --git a/package.json b/package.json index d4a7276..f9da37a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@splitsoftware/splitio-browserjs", - "version": "0.11.1-rc.0", + "version": "0.12.0", "description": "Split SDK for JavaScript on Browser", "main": "cjs/index.js", "module": "esm/index.js", @@ -64,7 +64,7 @@ "bugs": "https://github.com/splitio/javascript-browser-client/issues", "homepage": "https://github.com/splitio/javascript-browser-client#readme", "dependencies": { - "@splitsoftware/splitio-commons": "1.10.1-rc.3", + "@splitsoftware/splitio-commons": "1.11.0", "@types/google.analytics": "0.0.40", "unfetch": "^4.2.0" }, diff --git a/src/settings/defaults.ts b/src/settings/defaults.ts index 7ba68ce..a5b9567 100644 --- a/src/settings/defaults.ts +++ b/src/settings/defaults.ts @@ -2,7 +2,7 @@ import { LogLevels, isLogLevelString } from '@splitsoftware/splitio-commons/src/ import { ConsentStatus, LogLevel } from '@splitsoftware/splitio-commons/src/types'; import { CONSENT_GRANTED } from '@splitsoftware/splitio-commons/src/utils/constants'; -const packageVersion = '0.11.1-rc.0'; +const packageVersion = '0.12.0'; /** * In browser, the default debug level, can be set via the `localStorage.splitio_debug` item.