diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 8c36339..070db7d 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -44,7 +44,7 @@ jobs: run: npm run test - name: npm build - run: BUILD_BRANCH=$(echo "${GITHUB_REF#refs/heads/}") BUILD_COMMIT=${{ github.sha }} npm run build + run: BUILD_BRANCH=$(echo "${GITHUB_REF#refs/heads/}") npm run build - name: Store assets if: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/development' || github.ref == 'refs/heads/main') }} diff --git a/.github/workflows/sonar-scan.yml b/.github/workflows/sonar-scan.yml index 0fdf600..93c8eeb 100644 --- a/.github/workflows/sonar-scan.yml +++ b/.github/workflows/sonar-scan.yml @@ -32,7 +32,7 @@ jobs: run: npm run check - name: npm Build - run: BUILD_BRANCH=$(echo "${GITHUB_REF#refs/heads/}") BUILD_COMMIT=${{ github.sha }} npm run build + run: BUILD_BRANCH=$(echo "${GITHUB_REF#refs/heads/}") npm run build - name: SonarQube Scan (Push) if: github.event_name == 'push' diff --git a/CHANGES.txt b/CHANGES.txt index 346fc0b..4052426 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,7 @@ +0.10.0 (July 18, 2023) + - Updated @splitsoftware/splitio-commons package to version 1.9.0 that includes minor improvements: + - Updated streaming architecture implementation to apply feature flag updates from the notification received which is now enhanced, improving efficiency and reliability of the whole update system. + 0.9.6 (June 29, 2023) - Updated some transitive dependencies for vulnerability fixes. - Updated @splitsoftware/splitio-commons package to version 1.8.3 that includes: diff --git a/package-lock.json b/package-lock.json index b1772cc..6a06ef4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "@splitsoftware/splitio-browserjs", - "version": "0.9.6", + "version": "0.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@splitsoftware/splitio-browserjs", - "version": "0.9.6", + "version": "0.10.0", "license": "Apache-2.0", "dependencies": { - "@splitsoftware/splitio-commons": "1.8.3", + "@splitsoftware/splitio-commons": "1.9.0", "@types/google.analytics": "0.0.40", "unfetch": "^4.2.0" }, @@ -2732,9 +2732,9 @@ "dev": true }, "node_modules/@splitsoftware/splitio-commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-1.8.3.tgz", - "integrity": "sha512-AbLiJU8+9zhyZ0Cwran1L8OTB0VIXOsWeygDRj1Pnr1OaD0jok+2nmqKjBu+vvY2pA6RridxYVZiTKg488IL+w==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-1.9.0.tgz", + "integrity": "sha512-2QoWvGOk/LB+q2TglqGD0w/hcUKG4DZwBSt5NtmT1ODGiLyCf2wbcfG/eBR9QlUnLisJ62dj6vOQsVUB2kiHOw==", "dependencies": { "tslib": "^2.3.1" }, @@ -9641,9 +9641,9 @@ } }, "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -13230,9 +13230,9 @@ "dev": true }, "@splitsoftware/splitio-commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-1.8.3.tgz", - "integrity": "sha512-AbLiJU8+9zhyZ0Cwran1L8OTB0VIXOsWeygDRj1Pnr1OaD0jok+2nmqKjBu+vvY2pA6RridxYVZiTKg488IL+w==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-1.9.0.tgz", + "integrity": "sha512-2QoWvGOk/LB+q2TglqGD0w/hcUKG4DZwBSt5NtmT1ODGiLyCf2wbcfG/eBR9QlUnLisJ62dj6vOQsVUB2kiHOw==", "requires": { "tslib": "^2.3.1" } @@ -18441,9 +18441,9 @@ } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true }, "serialize-javascript": { diff --git a/package.json b/package.json index 289ec6e..da7acab 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@splitsoftware/splitio-browserjs", - "version": "0.9.6", + "version": "0.10.0", "description": "Split SDK for JavaScript on Browser", "main": "cjs/index.js", "module": "esm/index.js", @@ -26,7 +26,7 @@ "build:esm": "rimraf esm && tsc -outDir esm && ./scripts/build_esm_replace_imports.sh", "build:cjs": "rimraf cjs && tsc -outDir cjs -m CommonJS && ./scripts/build_cjs_replace_imports.sh", "build:umd-visualizer": "rollup --config rollup.visualizer.config.js", - "build:umd": "rollup --config rollup.ci.config.js --branch=$BUILD_BRANCH --commit_hash=$BUILD_COMMIT", + "build:umd": "rollup --config rollup.ci.config.js --branch=$BUILD_BRANCH", "build:ga-to-split-autorequire": "terser ./node_modules/@splitsoftware/splitio-commons/src/integrations/ga/autoRequire.js --mangle --output ./scripts/ga-to-split-autorequire.js", "test": "npm run test:unit && npm run test:e2e", "test:unit": "jest", @@ -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.8.3", + "@splitsoftware/splitio-commons": "1.9.0", "@types/google.analytics": "0.0.40", "unfetch": "^4.2.0" }, diff --git a/rollup.ci.config.js b/rollup.ci.config.js index 30717ac..617c997 100644 --- a/rollup.ci.config.js +++ b/rollup.ci.config.js @@ -3,7 +3,7 @@ import terser from '@rollup/plugin-terser'; export default env => { - const fileName = (outputSuffix) => `split-browser-${env.branch !== 'main' ? `dev-${env.commit_hash || VERSION}` : VERSION}${outputSuffix ? `.${outputSuffix}` : ''}`; + const fileName = (outputSuffix) => `split-browser-${env.branch !== 'main' ? 'dev-' + VERSION : VERSION}${outputSuffix ? '.' + outputSuffix : ''}`; const createRollupConfig = (input, outputSuffix) => ({ input, diff --git a/src/__tests__/browserSuites/telemetry.spec.js b/src/__tests__/browserSuites/telemetry.spec.js index 80f1ac1..03eeb21 100644 --- a/src/__tests__/browserSuites/telemetry.spec.js +++ b/src/__tests__/browserSuites/telemetry.spec.js @@ -71,7 +71,7 @@ export default async function telemetryBrowserSuite(fetchMock, assert) { // @TODO check if iDe value is correct assert.deepEqual(data, { - mE: {}, hE: { sp: { 500: 1 }, ms: { 500: 1 } }, tR: 0, aR: 0, iQ: 4, iDe: 1, iDr: 0, spC: 31, seC: 1, skC: 1, eQ: 1, eD: 0, sE: [], t: [] + mE: {}, hE: { sp: { 500: 1 }, ms: { 500: 1 } }, tR: 0, aR: 0, iQ: 4, iDe: 1, iDr: 0, spC: 31, seC: 1, skC: 1, eQ: 1, eD: 0, sE: [], t: [], ufs: { sp: 0, ms: 0 } }, 'metrics/usage JSON payload should be the expected'); finish.next(); @@ -91,7 +91,7 @@ export default async function telemetryBrowserSuite(fetchMock, assert) { // @TODO check if iDe value is correct assert.deepEqual(data, { mL: {}, mE: {}, hE: {}, hL: {}, // errors and latencies were popped - tR: 0, aR: 0, iQ: 4, iDe: 1, iDr: 0, spC: 31, seC: 1, skC: 1, eQ: 1, eD: 0, sE: [], t: [] + tR: 0, aR: 0, iQ: 4, iDe: 1, iDr: 0, spC: 31, seC: 1, skC: 1, eQ: 1, eD: 0, sE: [], t: [], ufs: { sp: 0, ms: 0 } }, '2nd metrics/usage JSON payload should be the expected'); return 200; }); diff --git a/src/settings/defaults.ts b/src/settings/defaults.ts index 170c852..9095011 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.9.6'; +const packageVersion = '0.10.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 df7016b..1396942 100644 --- a/types/splitio.d.ts +++ b/types/splitio.d.ts @@ -137,7 +137,7 @@ interface ILoggerAPI { */ interface IUserConsentAPI { /** - * Set or update the user consent status. Possible values are `true` and `false`, which represent user consent `'GRANTED'` and `'DECLINED'` respectively. + * Sets or updates the user consent status. Possible values are `true` and `false`, which represent user consent `'GRANTED'` and `'DECLINED'` respectively. * - `true ('GRANTED')`: the user has granted consent for tracking events and impressions. The SDK will send them to Split cloud. * - `false ('DECLINED')`: the user has declined consent for tracking events and impressions. The SDK will not send them to Split cloud. * @@ -149,7 +149,7 @@ interface IUserConsentAPI { */ setStatus(userConsent: boolean): boolean; /** - * Get the user consent status. + * Gets the user consent status. * * @function getStatus * @returns {ConsentStatus} The user consent status.