diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c3bcba29..4c6798a40 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,22 @@ 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.3.0] - November 19, 2025 + +### New Features +- **Added Holdouts support**: Holdouts Feature Experimentation feature is now officially supported. +- **Added configurable prediction endpoint**: Added ability to configure custom prediction endpoint for CMAB ([#1102](https://github.com/optimizely/javascript-sdk/pull/1102)) +- **Added HTTP support in NodeRequestHandler**: Added support for HTTP protocol in addition to HTTPS ([#1104](https://github.com/optimizely/javascript-sdk/pull/1104)) +- **Added TTL support for events in event store**: Events in event store now have configurable time-to-live (TTL) functionality ([#1103](https://github.com/optimizely/javascript-sdk/pull/1103)) +- **Exposed maxRetries option for createBatchEventProcessor**: Added ability to configure maximum retry attempts for batch event processing ([#1106](https://github.com/optimizely/javascript-sdk/pull/1106)) +- **Added customHeaders option to polling config manager**: Added support for custom HTTP headers in polling config manager ([#1107](https://github.com/optimizely/javascript-sdk/pull/1107)) + +### Changed +- **Excluded CMAB from user profile service**: CMAB experiments are now properly excluded from user profile service operations ([#1105](https://github.com/optimizely/javascript-sdk/pull/1105)) + +### Bug Fixes +- **Fixed ODP logging**: Log error instead of silently ignoring when ODP methods are called without providing an OdpManager ([#1108](https://github.com/optimizely/javascript-sdk/pull/1108)) + ## [6.2.0] - October 23, 2025 ### New Features diff --git a/lib/index.browser.tests.js b/lib/index.browser.tests.js index 645739cdb..f3977aba7 100644 --- a/lib/index.browser.tests.js +++ b/lib/index.browser.tests.js @@ -153,7 +153,7 @@ describe('javascript-sdk (Browser)', function() { }); assert.instanceOf(optlyInstance, Optimizely); - assert.equal(optlyInstance.clientVersion, '6.2.0'); + assert.equal(optlyInstance.clientVersion, '6.3.0'); }); it('should set the JavaScript client engine and version', function() { diff --git a/lib/index.node.tests.js b/lib/index.node.tests.js index b52a0f15c..f35715062 100644 --- a/lib/index.node.tests.js +++ b/lib/index.node.tests.js @@ -88,7 +88,7 @@ describe('optimizelyFactory', function() { }); assert.instanceOf(optlyInstance, Optimizely); - assert.equal(optlyInstance.clientVersion, '6.2.0'); + assert.equal(optlyInstance.clientVersion, '6.3.0'); }); // TODO: user will create and inject an event processor // these tests will be refactored accordingly diff --git a/lib/index.react_native.spec.ts b/lib/index.react_native.spec.ts index d8ed60bea..610737395 100644 --- a/lib/index.react_native.spec.ts +++ b/lib/index.react_native.spec.ts @@ -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.2.0'); + expect(optlyInstance.clientVersion).toEqual('6.3.0'); }); it('should set the React Native JS client engine and javascript SDK version', () => { diff --git a/lib/utils/enums/index.ts b/lib/utils/enums/index.ts index fd76d47ec..0364a34b1 100644 --- a/lib/utils/enums/index.ts +++ b/lib/utils/enums/index.ts @@ -41,7 +41,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.2.0'; +export const CLIENT_VERSION = '6.3.0'; /* * Represents the source of a decision for feature management. When a feature diff --git a/package-lock.json b/package-lock.json index 05ce4f677..deb59a64d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@optimizely/optimizely-sdk", - "version": "6.2.0", + "version": "6.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@optimizely/optimizely-sdk", - "version": "6.2.0", + "version": "6.3.0", "license": "Apache-2.0", "dependencies": { "decompress-response": "^7.0.0", diff --git a/package.json b/package.json index 4807ca7b3..cc543dd1b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@optimizely/optimizely-sdk", - "version": "6.2.0", + "version": "6.3.0", "description": "JavaScript SDK for Optimizely Feature Experimentation, Optimizely Full Stack (legacy), and Optimizely Rollouts", "main": "./dist/index.node.min.js", "browser": "./dist/index.browser.es.min.js",