From c6e53d1e0466522eced9977a747eac251311afbc Mon Sep 17 00:00:00 2001 From: Md Junaed Hossain <169046794+junaed-optimizely@users.noreply.github.com> Date: Fri, 6 Mar 2026 23:04:32 +0600 Subject: [PATCH 1/3] [FSSDK-10777] release --- CHANGELOG.md | 11 +++++++++++ package.json | 2 +- src/client.spec.ts | 2 +- src/client.ts | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b4907a..d9f6f59 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## [3.4.0] - Mar 6, 2026 + +### New Features +- Added a server-safe bundle that is automatically resolved when imported in React Server Components, excluding client-only React APIs ([#318](https://github.com/optimizely/react-sdk/pull/318)) +- Added `qualifiedSegments` prop to `OptimizelyProvider` for passing pre-fetched ODP segments, enabling synchronous ODP-based decisions during SSR ([#318](https://github.com/optimizely/react-sdk/pull/318)) +- Added `getQualifiedSegments` utility for fetching ODP audience segments server-side ([#318](https://github.com/optimizely/react-sdk/pull/318)) + +### Enhancements +- Improved `useExperiment`, `useFeature`, and `useDecision` hooks to compute decisions when config and user context (including segments) are available, without waiting for `onReady` ([#318](https://github.com/optimizely/react-sdk/pull/318)) +- Added comprehensive server-side rendering integration guide covering SSR, SSG, and App Router patterns ([#318](https://github.com/optimizely/react-sdk/pull/318)) + ## [3.3.1] - Dec 8, 2025 ### Changed diff --git a/package.json b/package.json index 1450232..d0d0ec4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@optimizely/react-sdk", - "version": "3.3.1", + "version": "3.4.0", "description": "React SDK for Optimizely Feature Experimentation, Optimizely Full Stack (legacy), and Optimizely Rollouts", "homepage": "https://github.com/optimizely/react-sdk", "repository": "https://github.com/optimizely/react-sdk", diff --git a/src/client.spec.ts b/src/client.spec.ts index c30f0ce..badcffa 100644 --- a/src/client.spec.ts +++ b/src/client.spec.ts @@ -178,7 +178,7 @@ describe('ReactSDKClient', () => { expect(createInstanceSpy).toHaveBeenCalledWith({ ...config, clientEngine: 'react-sdk', - clientVersion: '3.3.1', + clientVersion: '3.4.0', }); }); diff --git a/src/client.ts b/src/client.ts index b564884..9988a01 100644 --- a/src/client.ts +++ b/src/client.ts @@ -47,7 +47,7 @@ export interface OnReadyResult extends ResolveResult { } const REACT_SDK_CLIENT_ENGINE = 'react-sdk'; -const REACT_SDK_CLIENT_VERSION = '3.3.1'; +const REACT_SDK_CLIENT_VERSION = '3.4.0'; export const DefaultUser: UserInfo = { id: null, From 1492d15e5201feb9879e9f1695085f92fc4b631e Mon Sep 17 00:00:00 2001 From: Md Junaed Hossain <169046794+junaed-optimizely@users.noreply.github.com> Date: Fri, 6 Mar 2026 23:16:10 +0600 Subject: [PATCH 2/3] [FSSDK-10777] changelog update --- CHANGELOG.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d9f6f59..51ef151 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,13 +3,13 @@ ## [3.4.0] - Mar 6, 2026 ### New Features -- Added a server-safe bundle that is automatically resolved when imported in React Server Components, excluding client-only React APIs ([#318](https://github.com/optimizely/react-sdk/pull/318)) -- Added `qualifiedSegments` prop to `OptimizelyProvider` for passing pre-fetched ODP segments, enabling synchronous ODP-based decisions during SSR ([#318](https://github.com/optimizely/react-sdk/pull/318)) -- Added `getQualifiedSegments` utility for fetching ODP audience segments server-side ([#318](https://github.com/optimizely/react-sdk/pull/318)) +- Add a server-safe bundle that is automatically resolved when imported in React Server Components, excluding client-only React APIs ([#318](https://github.com/optimizely/react-sdk/pull/318)) +- Add `qualifiedSegments` prop to `OptimizelyProvider` for passing pre-fetched ODP segments, enabling synchronous ODP-based decisions during SSR ([#318](https://github.com/optimizely/react-sdk/pull/318)) +- Add `getQualifiedSegments` utility for fetching ODP audience segments server-side ([#318](https://github.com/optimizely/react-sdk/pull/318)) ### Enhancements -- Improved `useExperiment`, `useFeature`, and `useDecision` hooks to compute decisions when config and user context (including segments) are available, without waiting for `onReady` ([#318](https://github.com/optimizely/react-sdk/pull/318)) -- Added comprehensive server-side rendering integration guide covering SSR, SSG, and App Router patterns ([#318](https://github.com/optimizely/react-sdk/pull/318)) +- Improve `useExperiment`, `useFeature`, and `useDecision` hooks to compute decisions when config and user context (including segments) are available, without waiting for `onReady` ([#318](https://github.com/optimizely/react-sdk/pull/318)) +- Add comprehensive server-side rendering integration guide covering SSR, SSG, and App Router patterns ([#318](https://github.com/optimizely/react-sdk/pull/318)) ## [3.3.1] - Dec 8, 2025 From 518b964fd40dc646eec5dbf17bcfe01a481c302e Mon Sep 17 00:00:00 2001 From: Md Junaed Hossain <169046794+junaed-optimizely@users.noreply.github.com> Date: Mon, 9 Mar 2026 18:37:31 +0600 Subject: [PATCH 3/3] [FSSDK-10777] changelog update --- CHANGELOG.md | 2 +- README.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51ef151..0f58836 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## [3.4.0] - Mar 6, 2026 +## [3.4.0] - Mar 9, 2026 ### New Features - Add a server-safe bundle that is automatically resolved when imported in React Server Components, excluding client-only React APIs ([#318](https://github.com/optimizely/react-sdk/pull/318)) diff --git a/README.md b/README.md index 75906c2..6df1eb2 100644 --- a/README.md +++ b/README.md @@ -471,9 +471,9 @@ const segments = await getQualifiedSegments(userId, datafile); > **Caching recommendation:** The ODP segment fetch adds latency to server rendering. Consider caching the result per user to avoid re-fetching on every request. -### React Server Components +### React Server Components (v3.4.0+) -The SDK can also be used directly in React Server Components without `OptimizelyProvider`. Create an instance, set the user, wait for readiness, and make decisions — all within an `async` server component: +Since version 3.4.0, the SDK can be used directly in React Server Components without `OptimizelyProvider`. Create an instance, set the user, wait for readiness, and make decisions — all within an `async` server component: ```tsx import { createInstance } from '@optimizely/react-sdk';