Skip to content

Releases: optimizely/javascript-sdk

Release 6.0.0

29 May 18:13
760c72b
Compare
Choose a tag to compare

[6.0.0] - May 29, 2025

Breaking Changes

  • Modularized SDK architecture: The monolithic createInstance call has been split into multiple factory functions for greater flexibility and control.
  • Core functionalities (project configuration, event processing, ODP, VUID, logging, and error handling) are now configured through dedicated components created via factory functions, giving you greater flexibility and control in enabling/disabling certain components and allowing optimizing the bundle size for frontend projects.
  • onReady Promise behavior changed: It now resolves only when the SDK is ready and rejects on initialization errors.
  • event processing is disabled by default and must be explicitly enabled by passing a eventProcessor to the client.
  • Event dispatcher interface updated to use Promises instead of callbacks.
  • Logging is disabled by default and must be explicitly enabled using a logger created via a factory function.
  • VUID tracking is disabled by default and must be explicitly enabled by passing a vuidManager to the client instance.
  • ODP functionality is no longer enabled by default. You must explicitly pass an odpManager to enable it.
  • Dropped support for older browser versions and Node.js versions earlier than 18.0.0.

New Features

Migration Guide

For detailed migration instructions, refer to the Migration Guide.

Documentation

For more details, see the official documentation: JavaScript SDK.

Release 5.3.5

29 Jan 14:31
90ef0d7
Compare
Choose a tag to compare

[5.3.5] - Jan 29, 2025

Bug Fixes

  • Rollout experiment key exclusion from activate method(#949)
  • Using optimizely.readyPromise instead of optimizely.onReady to avoid setTimeout call in edge environments. (#995)

Release 4.10.1

18 Nov 14:32
036a033
Compare
Choose a tag to compare

[4.10.1] - November 18, 2024

Changed

  • update uuid module improt and usage (#961)

Release 5.3.4

28 Jun 15:31
b588824
Compare
Choose a tag to compare

[5.3.4] - Jun 28, 2024

Changed

  • crypto and text encoder polyfill addition for React native (#936)

Release 5.3.3

06 Jun 15:03
4909efb
Compare
Choose a tag to compare

[5.3.3] - June 06, 2024

Changed

  • queueMicroTask fallback addition for embedded environments / unsupported platforms (#933)

Release 5.3.2

21 May 13:41
851b066
Compare
Choose a tag to compare

[5.3.2] - May 20, 2024

Changed

  • Added public facing API for ODP integration information (#930)

Release 5.3.1

20 May 15:04
43fea02
Compare
Choose a tag to compare

[5.3.1] - May 20, 2024

Changed

  • Fix Memory Leak: Closed http request after getting response to release memory immediately (node) (#927)

Release 5.3.1-rc.1

14 May 03:15
2f6dc05
Compare
Choose a tag to compare
Release 5.3.1-rc.1 Pre-release
Pre-release

[5.3.1-rc.1] - May 13, 2024

Changed

  • Fix Memory Leak: Closed http request after getting response to release memory immediately (node) (#927)

Release 5.3.0

08 Apr 12:52
75418da
Compare
Choose a tag to compare

[5.3.0] - April 8, 2024

Changed

  • Refactor: ODP corrections #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]

Full Changelog: v5.2.1...v5.3.0

Release 5.2.1

25 Mar 13:35
53a2042
Compare
Choose a tag to compare

[5.2.1] - March 25, 2024

Bug fixes

  • Fix: empty segments collection is valid (#916)
  • Update vulnerable dependencies (#918)