diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e669ca75..6a2fccd58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,15 @@ 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). -## [Unreleased] +## [5.3.0] - April 8, 2024 + +### Changed +- Refactor: ODP corrections [#920](https://github.com/optimizely/javascript-sdk/pull/920) including + - ODPManager should not be running and scheduling timer if ODP is not integrated to the project (which causes memory leak if one sdk instance is created per request) + - CreateUserContext should work even when called before the datafile is downloaded and should send the `identify` ODP events after datafile download completes + - Other automatic odp events (vuid registration, client initialized) should also be sent after datafile is available and should not be dropped if batching is disabled. + - [see PR for more] + ## [5.2.1] - March 25, 2024 diff --git a/lib/index.browser.tests.js b/lib/index.browser.tests.js index e9b5283e5..2fec99f18 100644 --- a/lib/index.browser.tests.js +++ b/lib/index.browser.tests.js @@ -193,7 +193,7 @@ describe('javascript-sdk (Browser)', function() { optlyInstance.onReady().catch(function() {}); assert.instanceOf(optlyInstance, Optimizely); - assert.equal(optlyInstance.clientVersion, '5.2.1'); + assert.equal(optlyInstance.clientVersion, '5.3.0'); }); it('should set the JavaScript client engine and version', function() { diff --git a/lib/index.lite.tests.js b/lib/index.lite.tests.js index 44da77f11..d28c953c1 100644 --- a/lib/index.lite.tests.js +++ b/lib/index.lite.tests.js @@ -76,7 +76,7 @@ describe('optimizelyFactory', function() { optlyInstance.onReady().catch(function() {}); assert.instanceOf(optlyInstance, Optimizely); - assert.equal(optlyInstance.clientVersion, '5.2.1'); + assert.equal(optlyInstance.clientVersion, '5.3.0'); }); }); }); diff --git a/lib/index.node.tests.js b/lib/index.node.tests.js index 0ceed3057..75d23963c 100644 --- a/lib/index.node.tests.js +++ b/lib/index.node.tests.js @@ -90,7 +90,7 @@ describe('optimizelyFactory', function() { optlyInstance.onReady().catch(function() {}); assert.instanceOf(optlyInstance, Optimizely); - assert.equal(optlyInstance.clientVersion, '5.2.1'); + assert.equal(optlyInstance.clientVersion, '5.3.0'); }); describe('event processor configuration', function() { diff --git a/lib/utils/enums/index.ts b/lib/utils/enums/index.ts index 3f7bee937..58691d8c4 100644 --- a/lib/utils/enums/index.ts +++ b/lib/utils/enums/index.ts @@ -221,7 +221,7 @@ export const NODE_CLIENT_ENGINE = 'node-sdk'; export const REACT_CLIENT_ENGINE = 'react-sdk'; export const REACT_NATIVE_CLIENT_ENGINE = 'react-native-sdk'; export const REACT_NATIVE_JS_CLIENT_ENGINE = 'react-native-js-sdk'; -export const CLIENT_VERSION = '5.2.1'; +export const CLIENT_VERSION = '5.3.0'; export const DECISION_NOTIFICATION_TYPES = { AB_TEST: 'ab-test', diff --git a/package-lock.json b/package-lock.json index 0e90154c4..9b20baf7d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@optimizely/optimizely-sdk", - "version": "5.2.1", + "version": "5.3.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@optimizely/optimizely-sdk", - "version": "5.2.1", + "version": "5.3.0", "license": "Apache-2.0", "dependencies": { "decompress-response": "^4.2.1", diff --git a/package.json b/package.json index cd15db28b..a668acc95 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@optimizely/optimizely-sdk", - "version": "5.2.1", + "version": "5.3.0", "description": "JavaScript SDK for Optimizely Feature Experimentation, Optimizely Full Stack (legacy), and Optimizely Rollouts", "module": "dist/optimizely.browser.es.js", "main": "dist/optimizely.node.min.js", diff --git a/tests/index.react_native.spec.ts b/tests/index.react_native.spec.ts index afc59cc56..eed2fe69c 100644 --- a/tests/index.react_native.spec.ts +++ b/tests/index.react_native.spec.ts @@ -90,7 +90,7 @@ describe('javascript-sdk/react-native', () => { expect(optlyInstance).toBeInstanceOf(Optimizely); // @ts-ignore - expect(optlyInstance.clientVersion).toEqual('5.2.1'); + expect(optlyInstance.clientVersion).toEqual('5.3.0'); }); it('should set the React Native JS client engine and javascript SDK version', () => {