Skip to content

Releases: optimizely/javascript-sdk

Release 4.1.0-beta

16 Jun 18:49
0e67f1c

Choose a tag to compare

Release 4.1.0-beta Pre-release
Pre-release

[4.1.0-beta] - June 16, 2020

New Features

  • Added support for JSON feature variables: new methods getFeatureVariableJson and getAllFeatureVariables (#467, #470)
  • Added support for authenticated datafiles when running in Node.js. Pass datafileAccessToken within datafileOptions to request an authenticated datafile using the token (#498, #502):
    const optimizelySDK = require('@optimizely/optimizely-sdk');
    var optimizelyClientInstance = optimizely.createInstance({
      sdkKey: '<Your SDK key>',
      datafileOptions: {
        datafileAccessToken: '<Your datafile access token>',
      }
    });

Bug fixes

  • Fixed audience evaluation log level: changed from INFO to DEBUG (#496)

Release 4.0.0

30 Apr 20:56
619dfbc

Choose a tag to compare

[4.0.0] - April 30, 2020

New Features

  • Removed lodash dependency
  • ES module entry point for the browser - "module" property of package.json points to dist/optimizely.browser.es.min.js (#445)

Breaking Changes

  • Removed Promise polyfill from browser entry point (417).
  • Changed functionality of JSON schema validation in all entry points (442).
    • Previously, skipJSONValidation flag was used by the user to specify whether the JSON object should be validated.
    • Now, skipJSONValidation has been removed entirely from all entry points. Instead, a user will need to import jsonSchemaValidator from @optimizely/optimizely-sdk/dist/optimizely.json_schema_validator.min.js and pass it to createInstance to perform validation as shown below:
    const optimizelySDK = require('@optimizely/optimizely-sdk');
    const jsonSchemaValidator = require('@optimizely/optimizely-sdk/dist/optimizely.json_schema_validator.min');
    
    // Require JSON schema validation for the datafile
    var optimizelyClientInstance = optimizely.createInstance({
      datafile: datafile,
      jsonSchemaValidator: jsonSchemaValidator,
    });
  • Dropped support for Node.js version <8 (#456)

Bug fixes

  • Changed track() to log a warning instead of an error when the event isn't in the datafile (#418)
  • Fixed return type for close method in TypeScript type definitions (#410)
  • Node.js datafile manager uses gzip,deflate compression for requests (#456)

Release 4.0.0-rc.2

24 Apr 19:12
6876656

Choose a tag to compare

Release 4.0.0-rc.2 Pre-release
Pre-release

[4.0.0-rc.2] - April 24, 2020

Bug fixes

  • Allow multiple instances to be created from the same datafile object (#462)

Release 4.0.0-rc.1

17 Apr 21:53
a093132

Choose a tag to compare

Release 4.0.0-rc.1 Pre-release
Pre-release

[4.0.0-rc.1] - April 17, 2020

New Features

  • ES module entry point for the browser - "module" property of package.json points to dist/optimizely.browser.es.min.js (#445)

Breaking Changes:

  • Dropped support for Node.js version <8 (#456)

Bug fixes

  • Node.js datafile manager uses gzip,deflate compression for requests (#456)

Release 4.0.0-alpha.1

02 Apr 17:16
babe5d7

Choose a tag to compare

Release 4.0.0-alpha.1 Pre-release
Pre-release

[4.0.0-alpha.1] - April 2, 2020

Breaking Changes:

  • Removed Promise polyfill from browser entry point (417)

Release 3.6.0-alpha.1

05 Mar 16:42
026a21c

Choose a tag to compare

Release 3.6.0-alpha.1 Pre-release
Pre-release

[3.6.0-alpha.1] - March 4, 2020

New Features

  • Changed track() to log a warning instead of an error when the event isn't in the datafile (#418)

Release 3.5.0

20 Feb 21:09
653296d

Choose a tag to compare

[3.5.0] - February 20th, 2020

Bug fixes

  • Fixed default event dispatcher not used in React Native entry point (#383)
  • Fixed errors in getOptimizelyConfig TypeScript type definitions (#406)

New Features

  • Promise returned from close tracks the state of in-flight event dispatcher requests (#404)

Release 3.4.1

29 Jan 00:49
9039df2

Choose a tag to compare

[3.4.1] - January 28th, 2020

Bug fixes

  • Added getOptimizelyConfig and related types to TypeScript type definitions(#390).

Release 3.4.0

21 Jan 23:18
6fd2901

Choose a tag to compare

[3.4.0] - January 21th, 2020

Bug fixes

  • Fixed incorrect payload for decision notification triggered by calling getVariation on a feature test in a mutex group(#375)

New Features

  • Added a new API to get project configuration static data.
    • Call getOptimizelyConfig() to get a snapshot of project configuration static data.
    • It returns an OptimizelyConfig instance which includes a datafile revision number, all experiments, and feature flags mapped by their key values.
    • Added caching for getOptimizelyConfig - OptimizelyConfig object will be cached and reused for the lifetime of the datafile.
    • For details, refer to our documentation page: https://docs.developers.optimizely.com/full-stack/docs/optimizelyconfig-javascript-node.

Removed Features

  • Removed support for 'launched' experiment status.
    • Previously, experiments with status 'running' or 'launched' would return non-null variations from activate and getVariation, and generate impression events from activate.
    • Now, only 'running' experiments will return non-null variations and generate impressions.

Release 3.4.0-beta

18 Dec 19:21
6999786

Choose a tag to compare

Release 3.4.0-beta Pre-release
Pre-release

[3.4.0-beta] - December 18th, 2019

Bug fixes

  • Fixed incorrect payload for decision notification triggered by calling getVariation on a feature test in a mutex group(#375)

New Features