Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [6.4.0] - May 4, 2026

### New Features

**Feature Rollout**: Added support for Feature Rollouts, a new experiment type
combining Targeted Delivery simplicity with A/B test measurement capabilities.
Feature Rollouts enable progressive rollouts with full impact analytics, metric tracking,
and confidence intervals.
See [Feature Rollout docs](https://support.optimizely.com/hc/en-us/articles/45552846481037-Run-Feature-Rollouts-in-Feature-Experimentation) for more information.

- Add Feature Rollout support ([#1140](https://github.com/optimizely/javascript-sdk/pull/1140))

### Changed
- Updated `uuid` dependency from `^10.0.0` to `^13.0.2`

### Bug Fixes
- Export `UserProfileServiceAsync` type


## [6.3.1] - January 26, 2026

### Changed
Expand Down
1 change: 1 addition & 0 deletions lib/export_types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ export type {
Event,
DatafileOptions,
UserProfileService,
UserProfileServiceAsync,
UserProfile,
ListenerPayload,
OptimizelyDecision,
Expand Down
2 changes: 1 addition & 1 deletion lib/index.browser.tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ describe('javascript-sdk (Browser)', function() {
});

assert.instanceOf(optlyInstance, Optimizely);
assert.equal(optlyInstance.clientVersion, '6.3.1');
assert.equal(optlyInstance.clientVersion, '6.4.0');
});

it('should set the JavaScript client engine and version', function() {
Expand Down
2 changes: 1 addition & 1 deletion lib/index.node.tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ describe('optimizelyFactory', function() {
});

assert.instanceOf(optlyInstance, Optimizely);
assert.equal(optlyInstance.clientVersion, '6.3.1');
assert.equal(optlyInstance.clientVersion, '6.4.0');
});
// TODO: user will create and inject an event processor
// these tests will be refactored accordingly
Expand Down
2 changes: 1 addition & 1 deletion lib/index.react_native.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ describe('javascript-sdk/react-native', () => {
expect(optlyInstance).toBeInstanceOf(Optimizely);
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
expect(optlyInstance.clientVersion).toEqual('6.3.1');
expect(optlyInstance.clientVersion).toEqual('6.4.0');
});

it('should set the React Native JS client engine and javascript SDK version', () => {
Expand Down
2 changes: 1 addition & 1 deletion lib/utils/enums/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ export const CONTROL_ATTRIBUTES = {
export const JAVASCRIPT_CLIENT_ENGINE = 'javascript-sdk';
export const NODE_CLIENT_ENGINE = 'node-sdk';
export const REACT_NATIVE_JS_CLIENT_ENGINE = 'react-native-js-sdk';
export const CLIENT_VERSION = '6.3.1';
export const CLIENT_VERSION = '6.4.0';

/*
* Represents the source of a decision for feature management. When a feature
Expand Down
Loading
Loading