From 33743d193c12ad09a9ae84c91d3ed1ff7773ad15 Mon Sep 17 00:00:00 2001 From: Emiliano Sanchez Date: Wed, 17 Sep 2025 14:30:41 -0300 Subject: [PATCH 1/2] Upgrade JS SDK --- .github/workflows/ci-cd.yml | 4 +-- CHANGES.txt | 4 +++ package-lock.json | 58 ++++++++++++++++++------------------- package.json | 4 +-- 4 files changed, 37 insertions(+), 33 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 0d1ac13..b05a68e 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -77,7 +77,7 @@ jobs: -Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }} - name: Store assets - if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/development') + if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/inlocalstorage') uses: actions/upload-artifact@v4 with: name: assets @@ -88,7 +88,7 @@ jobs: name: Upload assets runs-on: ubuntu-latest needs: build - if: github.event_name == 'push' && github.ref == 'refs/heads/development' + if: github.event_name == 'push' && github.ref == 'refs/heads/inlocalstorage' strategy: matrix: environment: diff --git a/CHANGES.txt b/CHANGES.txt index abc0d2e..1827849 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,7 @@ +2.5.0 (September 18, 2025) + - Updated @splitsoftware/splitio package to version 11.6.0 that includes minor updates: + - Added `storage.wrapper` configuration option to allow the SDK to use a custom storage wrapper for the storage type `LOCALSTORAGE`. Default value is `window.localStorage`. + 2.4.0 (September 10, 2025) - Updated @splitsoftware/splitio package to version 11.5.0 that includes minor updates: - Added `initialRolloutPlan` configuration option, which allows preloading the SDK storage with a snapshot of the rollout plan and support server-side rendering (SSR) with the SDK ready from cache in the initial render. diff --git a/package-lock.json b/package-lock.json index e2a707d..122b257 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "@splitsoftware/splitio-react", - "version": "2.4.0", + "version": "2.4.1-rc.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@splitsoftware/splitio-react", - "version": "2.4.0", + "version": "2.4.1-rc.0", "license": "Apache-2.0", "dependencies": { - "@splitsoftware/splitio": "11.5.0", + "@splitsoftware/splitio": "11.5.1-rc.1", "memoize-one": "^5.1.1", "shallowequal": "^1.1.0", "tslib": "^2.3.1" @@ -778,9 +778,9 @@ "dev": true }, "node_modules/@ioredis/commands": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.3.1.tgz", - "integrity": "sha512-bYtU8avhGIcje3IhvF9aSjsa5URMZBHnwKtOvXsT4sfYy9gppW11gLPT/9oNqlJZD47yPKveQFTAFWpHjKvUoQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.4.0.tgz", + "integrity": "sha512-aFT2yemJJo+TZCmieA7qnYGQooOS7QfNmYrzGtsYd3g9j5iDP8AimYYAesf79ohjbLG12XxC4nG5DyEnC88AsQ==", "license": "MIT" }, "node_modules/@istanbuljs/load-nyc-config": { @@ -1583,12 +1583,12 @@ } }, "node_modules/@splitsoftware/splitio": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio/-/splitio-11.5.0.tgz", - "integrity": "sha512-5er3WeTiPkLQ4v8B/s0g4+L07/vXKiRc5ZHPWZE0WaGXbTVkYWHKxtgNMWif6nb13EBTSxoZPloBMx+Q2utbcw==", + "version": "11.5.1-rc.1", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio/-/splitio-11.5.1-rc.1.tgz", + "integrity": "sha512-FayUlXiriHHoth4Xd2EKQT0/zzpHngnkmcJ4wy6kTUsQJ+7xHve0czl2lFqG8FLet/mosdu5BSCbRWMDvgnSxw==", "license": "Apache-2.0", "dependencies": { - "@splitsoftware/splitio-commons": "2.5.0", + "@splitsoftware/splitio-commons": "2.5.1-rc.0", "bloom-filters": "^3.0.4", "ioredis": "^4.28.0", "js-yaml": "^3.13.1", @@ -1601,9 +1601,9 @@ } }, "node_modules/@splitsoftware/splitio-commons": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-2.5.0.tgz", - "integrity": "sha512-46PN2ix62/eHi4LpuBlS/hN1zcuKzLRTznHaUawehDWz3faSvHLTgIN/AplhJ5p43gSuan/5GyQ9dny/ig0eaQ==", + "version": "2.5.1-rc.0", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-2.5.1-rc.0.tgz", + "integrity": "sha512-AsVEWC8o3CYKSZ4zxAQI756YkOlgWu1jVFKAjxFViZ4snv9V5nDIr0ObiJkVXDg+FGg3W264tSx9bO3RTvbd1Q==", "license": "Apache-2.0", "dependencies": { "@types/ioredis": "^4.28.0", @@ -5496,9 +5496,9 @@ } }, "node_modules/ioredis": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.30.0.tgz", - "integrity": "sha512-P9F4Eo6zicYsIJbEy/mPJmSxKY0rVcmiy5H8oXPxPDotQRCvCBjBuI5QWoQQanVE9jdeocnum5iqYAHl4pHdLA==", + "version": "4.30.1", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.30.1.tgz", + "integrity": "sha512-17Ed70njJ7wT7JZsdTVLb0j/cmwHwfQCFu+AP6jY7nFKd+CA7MBW7nX121mM64eT8S9ekAVtYYt8nGQPmm3euA==", "license": "MIT", "dependencies": { "@ioredis/commands": "^1.0.2", @@ -11463,9 +11463,9 @@ "dev": true }, "@ioredis/commands": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.3.1.tgz", - "integrity": "sha512-bYtU8avhGIcje3IhvF9aSjsa5URMZBHnwKtOvXsT4sfYy9gppW11gLPT/9oNqlJZD47yPKveQFTAFWpHjKvUoQ==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.4.0.tgz", + "integrity": "sha512-aFT2yemJJo+TZCmieA7qnYGQooOS7QfNmYrzGtsYd3g9j5iDP8AimYYAesf79ohjbLG12XxC4nG5DyEnC88AsQ==" }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", @@ -12095,11 +12095,11 @@ } }, "@splitsoftware/splitio": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio/-/splitio-11.5.0.tgz", - "integrity": "sha512-5er3WeTiPkLQ4v8B/s0g4+L07/vXKiRc5ZHPWZE0WaGXbTVkYWHKxtgNMWif6nb13EBTSxoZPloBMx+Q2utbcw==", + "version": "11.5.1-rc.1", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio/-/splitio-11.5.1-rc.1.tgz", + "integrity": "sha512-FayUlXiriHHoth4Xd2EKQT0/zzpHngnkmcJ4wy6kTUsQJ+7xHve0czl2lFqG8FLet/mosdu5BSCbRWMDvgnSxw==", "requires": { - "@splitsoftware/splitio-commons": "2.5.0", + "@splitsoftware/splitio-commons": "2.5.1-rc.0", "bloom-filters": "^3.0.4", "ioredis": "^4.28.0", "js-yaml": "^3.13.1", @@ -12109,9 +12109,9 @@ } }, "@splitsoftware/splitio-commons": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-2.5.0.tgz", - "integrity": "sha512-46PN2ix62/eHi4LpuBlS/hN1zcuKzLRTznHaUawehDWz3faSvHLTgIN/AplhJ5p43gSuan/5GyQ9dny/ig0eaQ==", + "version": "2.5.1-rc.0", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-2.5.1-rc.0.tgz", + "integrity": "sha512-AsVEWC8o3CYKSZ4zxAQI756YkOlgWu1jVFKAjxFViZ4snv9V5nDIr0ObiJkVXDg+FGg3W264tSx9bO3RTvbd1Q==", "requires": { "@types/ioredis": "^4.28.0", "tslib": "^2.3.1" @@ -15039,9 +15039,9 @@ "dev": true }, "ioredis": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.30.0.tgz", - "integrity": "sha512-P9F4Eo6zicYsIJbEy/mPJmSxKY0rVcmiy5H8oXPxPDotQRCvCBjBuI5QWoQQanVE9jdeocnum5iqYAHl4pHdLA==", + "version": "4.30.1", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.30.1.tgz", + "integrity": "sha512-17Ed70njJ7wT7JZsdTVLb0j/cmwHwfQCFu+AP6jY7nFKd+CA7MBW7nX121mM64eT8S9ekAVtYYt8nGQPmm3euA==", "requires": { "@ioredis/commands": "^1.0.2", "cluster-key-slot": "^1.1.0", diff --git a/package.json b/package.json index 38fe84d..e1fd913 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@splitsoftware/splitio-react", - "version": "2.4.0", + "version": "2.4.1-rc.0", "description": "A React library to easily integrate and use Split JS SDK", "main": "cjs/index.js", "module": "esm/index.js", @@ -63,7 +63,7 @@ }, "homepage": "https://github.com/splitio/react-client#readme", "dependencies": { - "@splitsoftware/splitio": "11.5.0", + "@splitsoftware/splitio": "11.5.1-rc.1", "memoize-one": "^5.1.1", "shallowequal": "^1.1.0", "tslib": "^2.3.1" From 7885c9ab675fafcd9d0f2b2bca25d4f4952afd71 Mon Sep 17 00:00:00 2001 From: Emiliano Sanchez Date: Thu, 18 Sep 2025 15:04:23 -0300 Subject: [PATCH 2/2] Update links to docs --- .github/workflows/ci-cd.yml | 4 ++-- MIGRATION-GUIDE.md | 2 +- README.md | 38 ++++++++++++++++++------------------ package-lock.json | 34 ++++++++++++++++---------------- package.json | 4 ++-- src/SplitFactoryProvider.tsx | 2 +- src/types.ts | 10 +++++----- src/useSplitClient.ts | 2 +- src/useSplitManager.ts | 2 +- src/useSplitTreatments.ts | 2 +- src/useTrack.ts | 2 +- 11 files changed, 51 insertions(+), 51 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index b05a68e..0d1ac13 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -77,7 +77,7 @@ jobs: -Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }} - name: Store assets - if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/inlocalstorage') + if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/development') uses: actions/upload-artifact@v4 with: name: assets @@ -88,7 +88,7 @@ jobs: name: Upload assets runs-on: ubuntu-latest needs: build - if: github.event_name == 'push' && github.ref == 'refs/heads/inlocalstorage' + if: github.event_name == 'push' && github.ref == 'refs/heads/development' strategy: matrix: environment: diff --git a/MIGRATION-GUIDE.md b/MIGRATION-GUIDE.md index d7f5a84..1faac7d 100644 --- a/MIGRATION-GUIDE.md +++ b/MIGRATION-GUIDE.md @@ -341,7 +341,7 @@ We recommend migrating to the new versions `useSplitClient`, `useSplitTreatments - They accept an options object as parameter, instead of a list of parameters as their deprecated counterparts. The options object can contain the same parameters as the old hooks, plus some extra optional parameters: `updateOnSdkReady`, `updateOnSdkReadyFromCache`, `updateOnSdkTimedout`, and `updateOnSdkUpdate`, which control when the hook updates the component. For example, you can set `updateOnSdkUpdate` to `true`, which is `false` by default, to update the component when an `SDK_UPDATE` event is emitted. This is useful when you want to avoid unnecessary re-renders of your components. -- They return an object containing the SDK status properties. These properties are described in the ['Subscribe to events and changes' section](https://help.split.io/hc/en-us/articles/360038825091-React-SDK#subscribe-to-events-and-changes) and enable conditional rendering of components based on the SDK status, eliminating the need to access the Split context or use the client's `ready` promise or event listeners. For example, you can show a loading spinner until the SDK is ready, and use the `treatments` result to render the variants of your app once the SDK is ready. +- They return an object containing the SDK status properties. These properties are described in the ['Subscribe to events and changes' section](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/react-sdk/#subscribe-to-events-and-changes) and enable conditional rendering of components based on the SDK status, eliminating the need to access the Split context or use the client's `ready` promise or event listeners. For example, you can show a loading spinner until the SDK is ready, and use the `treatments` result to render the variants of your app once the SDK is ready. The usage of the new hooks is shown below: diff --git a/README.md b/README.md index 6566361..30aec4c 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ function MyApp() { } ``` -Please refer to [our official docs](https://help.split.io/hc/en-us/articles/360038825091-React-SDK) to learn about all the functionality provided by our SDK and the configuration options available for tailoring it to your current application setup. +Please refer to [our official docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/react-sdk/) to learn about all the functionality provided by our SDK and the configuration options available for tailoring it to your current application setup. ## Submitting issues @@ -74,24 +74,24 @@ To learn more about Split, contact hello@split.io, or get started with feature f Split has built and maintains SDKs for: -* .NET [Github](https://github.com/splitio/dotnet-client) [Docs](https://help.split.io/hc/en-us/articles/360020240172--NET-SDK) -* Android [Github](https://github.com/splitio/android-client) [Docs](https://help.split.io/hc/en-us/articles/360020343291-Android-SDK) -* Angular [Github](https://github.com/splitio/angular-sdk-plugin) [Docs](https://help.split.io/hc/en-us/articles/6495326064397-Angular-utilities) -* Elixir thin-client [Github](https://github.com/splitio/elixir-thin-client) [Docs](https://help.split.io/hc/en-us/articles/26988707417869-Elixir-Thin-Client-SDK) -* Flutter [Github](https://github.com/splitio/flutter-sdk-plugin) [Docs](https://help.split.io/hc/en-us/articles/8096158017165-Flutter-plugin) -* GO [Github](https://github.com/splitio/go-client) [Docs](https://help.split.io/hc/en-us/articles/360020093652-Go-SDK) -* iOS [Github](https://github.com/splitio/ios-client) [Docs](https://help.split.io/hc/en-us/articles/360020401491-iOS-SDK) -* Java [Github](https://github.com/splitio/java-client) [Docs](https://help.split.io/hc/en-us/articles/360020405151-Java-SDK) -* JavaScript [Github](https://github.com/splitio/javascript-client) [Docs](https://help.split.io/hc/en-us/articles/360020448791-JavaScript-SDK) -* JavaScript for Browser [Github](https://github.com/splitio/javascript-browser-client) [Docs](https://help.split.io/hc/en-us/articles/360058730852-Browser-SDK) -* Node.js [Github](https://github.com/splitio/javascript-client) [Docs](https://help.split.io/hc/en-us/articles/360020564931-Node-js-SDK) -* PHP [Github](https://github.com/splitio/php-client) [Docs](https://help.split.io/hc/en-us/articles/360020350372-PHP-SDK) -* PHP thin-client [Github](https://github.com/splitio/php-thin-client) [Docs](https://help.split.io/hc/en-us/articles/18305128673933-PHP-Thin-Client-SDK) -* Python [Github](https://github.com/splitio/python-client) [Docs](https://help.split.io/hc/en-us/articles/360020359652-Python-SDK) -* React [Github](https://github.com/splitio/react-client) [Docs](https://help.split.io/hc/en-us/articles/360038825091-React-SDK) -* React Native [Github](https://github.com/splitio/react-native-client) [Docs](https://help.split.io/hc/en-us/articles/4406066357901-React-Native-SDK) -* Redux [Github](https://github.com/splitio/redux-client) [Docs](https://help.split.io/hc/en-us/articles/360038851551-Redux-SDK) -* Ruby [Github](https://github.com/splitio/ruby-client) [Docs](https://help.split.io/hc/en-us/articles/360020673251-Ruby-SDK) +* .NET [Github](https://github.com/splitio/dotnet-client) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/net-sdk/) +* Android [Github](https://github.com/splitio/android-client) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/android-sdk/) +* Angular [Github](https://github.com/splitio/angular-sdk-plugin) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/angular-utilities/) +* Elixir thin-client [Github](https://github.com/splitio/elixir-thin-client) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/elixir-thin-client-sdk/) +* Flutter [Github](https://github.com/splitio/flutter-sdk-plugin) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/flutter-plugin/) +* GO [Github](https://github.com/splitio/go-client) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/go-sdk/) +* iOS [Github](https://github.com/splitio/ios-client) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/ios-sdk/) +* Java [Github](https://github.com/splitio/java-client) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/java-sdk/) +* JavaScript [Github](https://github.com/splitio/javascript-client) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/javascript-sdk/) +* JavaScript for Browser [Github](https://github.com/splitio/javascript-browser-client) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/browser-sdk/) +* Node.js [Github](https://github.com/splitio/javascript-client) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/nodejs-sdk/) +* PHP [Github](https://github.com/splitio/php-client) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/php-sdk/) +* PHP thin-client [Github](https://github.com/splitio/php-thin-client) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/php-thin-client-sdk/) +* Python [Github](https://github.com/splitio/python-client) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/python-sdk/) +* React [Github](https://github.com/splitio/react-client) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/react-sdk/) +* React Native [Github](https://github.com/splitio/react-native-client) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/react-native-sdk/) +* Redux [Github](https://github.com/splitio/redux-client) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/redux-sdk/) +* Ruby [Github](https://github.com/splitio/ruby-client) [Docs](https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/ruby-sdk/) For a comprehensive list of open source projects visit our [Github page](https://github.com/splitio?utf8=%E2%9C%93&query=%20only%3Apublic%20). diff --git a/package-lock.json b/package-lock.json index 122b257..d2c6e9f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "@splitsoftware/splitio-react", - "version": "2.4.1-rc.0", + "version": "2.5.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@splitsoftware/splitio-react", - "version": "2.4.1-rc.0", + "version": "2.5.0", "license": "Apache-2.0", "dependencies": { - "@splitsoftware/splitio": "11.5.1-rc.1", + "@splitsoftware/splitio": "11.6.0", "memoize-one": "^5.1.1", "shallowequal": "^1.1.0", "tslib": "^2.3.1" @@ -1583,12 +1583,12 @@ } }, "node_modules/@splitsoftware/splitio": { - "version": "11.5.1-rc.1", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio/-/splitio-11.5.1-rc.1.tgz", - "integrity": "sha512-FayUlXiriHHoth4Xd2EKQT0/zzpHngnkmcJ4wy6kTUsQJ+7xHve0czl2lFqG8FLet/mosdu5BSCbRWMDvgnSxw==", + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio/-/splitio-11.6.0.tgz", + "integrity": "sha512-48sksG00073Nltma/BxpH6xHVZmoBjank40EU4h+XqrMGm0qM3jGngPO9R/iWAHdSduUWAoMJVJYA68AtvKgeQ==", "license": "Apache-2.0", "dependencies": { - "@splitsoftware/splitio-commons": "2.5.1-rc.0", + "@splitsoftware/splitio-commons": "2.6.0", "bloom-filters": "^3.0.4", "ioredis": "^4.28.0", "js-yaml": "^3.13.1", @@ -1601,9 +1601,9 @@ } }, "node_modules/@splitsoftware/splitio-commons": { - "version": "2.5.1-rc.0", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-2.5.1-rc.0.tgz", - "integrity": "sha512-AsVEWC8o3CYKSZ4zxAQI756YkOlgWu1jVFKAjxFViZ4snv9V5nDIr0ObiJkVXDg+FGg3W264tSx9bO3RTvbd1Q==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-2.6.0.tgz", + "integrity": "sha512-0xODXLciIvHSuMlb8eukIB2epb3ZyGOsrwS0cMuTdxEvCqr7Nuc9pWDdJtRuN1UwL/jIjBnpDYAc8s6mpqLX2g==", "license": "Apache-2.0", "dependencies": { "@types/ioredis": "^4.28.0", @@ -12095,11 +12095,11 @@ } }, "@splitsoftware/splitio": { - "version": "11.5.1-rc.1", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio/-/splitio-11.5.1-rc.1.tgz", - "integrity": "sha512-FayUlXiriHHoth4Xd2EKQT0/zzpHngnkmcJ4wy6kTUsQJ+7xHve0czl2lFqG8FLet/mosdu5BSCbRWMDvgnSxw==", + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio/-/splitio-11.6.0.tgz", + "integrity": "sha512-48sksG00073Nltma/BxpH6xHVZmoBjank40EU4h+XqrMGm0qM3jGngPO9R/iWAHdSduUWAoMJVJYA68AtvKgeQ==", "requires": { - "@splitsoftware/splitio-commons": "2.5.1-rc.0", + "@splitsoftware/splitio-commons": "2.6.0", "bloom-filters": "^3.0.4", "ioredis": "^4.28.0", "js-yaml": "^3.13.1", @@ -12109,9 +12109,9 @@ } }, "@splitsoftware/splitio-commons": { - "version": "2.5.1-rc.0", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-2.5.1-rc.0.tgz", - "integrity": "sha512-AsVEWC8o3CYKSZ4zxAQI756YkOlgWu1jVFKAjxFViZ4snv9V5nDIr0ObiJkVXDg+FGg3W264tSx9bO3RTvbd1Q==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-2.6.0.tgz", + "integrity": "sha512-0xODXLciIvHSuMlb8eukIB2epb3ZyGOsrwS0cMuTdxEvCqr7Nuc9pWDdJtRuN1UwL/jIjBnpDYAc8s6mpqLX2g==", "requires": { "@types/ioredis": "^4.28.0", "tslib": "^2.3.1" diff --git a/package.json b/package.json index e1fd913..e168d84 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@splitsoftware/splitio-react", - "version": "2.4.1-rc.0", + "version": "2.5.0", "description": "A React library to easily integrate and use Split JS SDK", "main": "cjs/index.js", "module": "esm/index.js", @@ -63,7 +63,7 @@ }, "homepage": "https://github.com/splitio/react-client#readme", "dependencies": { - "@splitsoftware/splitio": "11.5.1-rc.1", + "@splitsoftware/splitio": "11.6.0", "memoize-one": "^5.1.1", "shallowequal": "^1.1.0", "tslib": "^2.3.1" diff --git a/src/SplitFactoryProvider.tsx b/src/SplitFactoryProvider.tsx index fe6b18e..05bbbca 100644 --- a/src/SplitFactoryProvider.tsx +++ b/src/SplitFactoryProvider.tsx @@ -24,7 +24,7 @@ import { SplitFactory } from '@splitsoftware/splitio/client'; * NOTE: Either pass a `factory` instance or a `config` object as props. If both props are passed, the `config` prop will be ignored. * Pass the same reference to the `config` or `factory` object rather than a new instance on each render, to avoid unnecessary props changes and SDK re-initializations. * - * @see {@link https://help.split.io/hc/en-us/articles/360038825091-React-SDK#2-instantiate-the-sdk-and-create-a-new-split-client} + * @see {@link https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/react-sdk/#2-instantiate-the-sdk-and-create-a-new-split-client} */ export function SplitFactoryProvider(props: ISplitFactoryProviderProps) { const { diff --git a/src/types.ts b/src/types.ts index 96836c8..9493cd5 100644 --- a/src/types.ts +++ b/src/types.ts @@ -82,8 +82,8 @@ export interface ISplitContextValues extends ISplitStatus, IUpdateProps { * * NOTE: This property is available for accessing factory methods not covered by the library hooks, * such as Logging configuration and User Consent. - * @see {@link https://help.split.io/hc/en-us/articles/360020448791-JavaScript-SDK#logging}), - * @see {@link https://help.split.io/hc/en-us/articles/360020448791-JavaScript-SDK#user-consent} + * @see {@link https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/javascript-sdk/#logging}), + * @see {@link https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/javascript-sdk/#user-consent} */ factory?: SplitIO.IBrowserSDK; @@ -94,7 +94,7 @@ export interface ISplitContextValues extends ISplitStatus, IUpdateProps { * - `useSplitTreatments` hook to evaluate feature flags. * - `useTrack` hook to track events. * - * @see {@link https://help.split.io/hc/en-us/articles/360020448791-JavaScript-SDK#2-instantiate-the-sdk-and-create-a-new-split-client} + * @see {@link https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/javascript-sdk/#2-instantiate-the-sdk-and-create-a-new-split-client} */ client?: SplitIO.IBrowserClient; } @@ -114,7 +114,7 @@ export interface ISplitFactoryProviderProps extends IUpdateProps { /** * Config object used to instantiate a Split factory. - * @see {@link https://help.split.io/hc/en-us/articles/360020448791-JavaScript-SDK#configuration} + * @see {@link https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/javascript-sdk/#configuration} */ config?: SplitIO.IBrowserSettings; @@ -174,7 +174,7 @@ export interface IUseSplitManagerResult extends ISplitContextValues { /** * Split manager instance. * - * @see {@link https://help.split.io/hc/en-us/articles/360020448791-JavaScript-SDK#manager} + * @see {@link https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/javascript-sdk/#manager} */ manager?: SplitIO.IManager; } diff --git a/src/useSplitClient.ts b/src/useSplitClient.ts index 7d78b91..923a4e3 100644 --- a/src/useSplitClient.ts +++ b/src/useSplitClient.ts @@ -14,7 +14,7 @@ import { ISplitContextValues, IUseSplitClientOptions } from './types'; * const { factory, client, isReady, isReadyFromCache, hasTimedout, lastUpdate } = useSplitClient({ splitKey: 'user_id' }); * ``` * - * @see {@link https://help.split.io/hc/en-us/articles/360020448791-JavaScript-SDK#advanced-instantiate-multiple-sdk-clients} + * @see {@link https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/javascript-sdk/#advanced-instantiate-multiple-sdk-clients} */ export function useSplitClient(options: IUseSplitClientOptions = {}): ISplitContextValues { const context = useSplitContext(); diff --git a/src/useSplitManager.ts b/src/useSplitManager.ts index c797290..bea98d0 100644 --- a/src/useSplitManager.ts +++ b/src/useSplitManager.ts @@ -12,7 +12,7 @@ import { useSplitContext } from './SplitContext'; * const { manager, isReady, isReadyFromCache, lastUpdate, ... } = useSplitManager(); * ``` * - * @see {@link https://help.split.io/hc/en-us/articles/360020448791-JavaScript-SDK#manager} + * @see {@link https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/javascript-sdk/#manager} */ export function useSplitManager(): IUseSplitManagerResult { // @TODO refactor next lines to `const context = useSplitClient();` when `SplitClient` is removed diff --git a/src/useSplitTreatments.ts b/src/useSplitTreatments.ts index 25ddd85..5b672f0 100644 --- a/src/useSplitTreatments.ts +++ b/src/useSplitTreatments.ts @@ -16,7 +16,7 @@ import { useSplitClient } from './useSplitClient'; * const { treatments: { feature_1, feature_2 }, isReady, isReadyFromCache, hasTimedout, lastUpdate, ... } = useSplitTreatments({ names: ['feature_1', 'feature_2']}); * ``` * - * @see {@link https://help.split.io/hc/en-us/articles/360020448791-JavaScript-SDK#get-treatments-with-configurations} + * @see {@link https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/javascript-sdk/#get-treatments-with-configurations} */ export function useSplitTreatments(options: IUseSplitTreatmentsOptions): ISplitTreatmentsChildProps { const context = useSplitClient({ ...options, attributes: undefined }); diff --git a/src/useTrack.ts b/src/useTrack.ts index a71058f..26b9c0c 100644 --- a/src/useTrack.ts +++ b/src/useTrack.ts @@ -8,7 +8,7 @@ const noOpFalse = () => false; * * @returns The track method of the Split client for the provided user key. If the client is not available, the result is a no-op function that returns false. * - * @see {@link https://help.split.io/hc/en-us/articles/360020448791-JavaScript-SDK#track} + * @see {@link https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/javascript-sdk/#track} */ export function useTrack(splitKey?: SplitIO.SplitKey): SplitIO.IBrowserClient['track'] { // All update options are false to avoid re-renders. The track method doesn't need the client to be operational.