Skip to content

Releases: optimizely/java-sdk

Release 3.3.3

15 Nov 02:12
13c27ff

Choose a tag to compare

3.3.3

November 14th, 2019

New Features:

  • Require EventHandler in BatchEventProcessor builder. (#333)
  • Defend against invalid BatchEventProcessor configuration overrides. i(#331)

Release 3.3.2

23 Oct 19:16
c1ac795

Choose a tag to compare

3.3.2

October 23rd, 2019

New Features:

  • The BatchEventProcessor was refactored for performance so that it ends up hanging on the blocking queue if there is nothing to processes. (#343)

Release 3.3.1

11 Oct 20:54
38d6606

Choose a tag to compare

3.3.1

October 11th, 2019

New Features:

  • java.util.Supplier is not supported below Android API 24. In order to support Android 22 which still has more than 10% market share, we have changed our implementation to use our own config supplier interface.

Release 3.3.0

02 Oct 00:34
4f7304a

Choose a tag to compare

3.3.0

October 1st, 2019

New Features:

  • Introduced EventProcessor interface with BatchEventProcessor implementation.
  • Introduced LogEvent notification.
  • Added BatchEventProcessor as the default implementation within the OptimizelyFactory class.

Deprecated

  • LogEvent was deprecated from TrackNotification and ActivateNotification notifications in favor of explicit LogEvent notification.

Release 3.2.1

19 Aug 22:41

Choose a tag to compare

3.2.1

August 19th, 2019

New Features:

  • Add clear deprecation path from factory builder method.
  • Make Optimizely#withDatafile public.

Release 3.4.0-beta

24 Jul 19:50
88d0e6a

Choose a tag to compare

Release 3.4.0-beta Pre-release
Pre-release

3.4.0-beta

July 24th, 2019

New Features:

  • Introduced EventProcessor interface with BatchEventProcessor implementation.
  • Introduced LogEvent notification.
  • Added BatchEventProcessor as the default implementation within the OptimizelyFactory class.

Deprecated

  • LogEvent was deprecated from TrackNotification and ActivateNotification notifications in favor of explicit LogEvent notification.

Release 3.2.0

26 Jun 21:39

Choose a tag to compare

3.2.0

June 26th, 2019

New Features:

  • Added support for automatic datafile management via HttpProjectConfigManager:
    • The HttpProjectConfigManager
      is part of the core-httpclient-impl package and is an implementation of the abstract
      PollingProjectConfigManager class.
    • Users must first build the HttpProjectConfigManager with an SDK key and then and provide that instance to the Optimizely.Builder.
    • An initial datafile can be provided to the HttpProjectConfigManager to bootstrap before making http requests for the hosted datafile.
    • Requests for the datafile are made in a separate thread and are scheduled with fixed delay.
    • Configuration updates can be subscribed to via the Optimizely#addUpdateConfigNotificationHandler or by subscribing to
      the NotificationCenter built with the HttpProjectConfigManager.
  • Added AsyncEventHandler.Builder to be consistent with other Optimizely resources.
  • The OptimizelyFactory
    was included in the core-httpclient-impl package and provides basic methods for instantiating the Optimizely SDK with a minimal number of parameters.
  • Default configuration options for HttpProjectConfigManager and AsyncEventHandler can be overwritten using Java system properties, environment variables or via an optimizely.properties file
    to avoid hard coding the configuration options.

Deprecated

  • Optimizely.builder(String, EventHandler) was deprecated in favor of pure builder methods withConfigManager and withEventHandler.

Release 3.2.0-alpha

23 May 21:36
3fbabc2

Choose a tag to compare

Release 3.2.0-alpha Pre-release
Pre-release

3.2.0-alpha

May 23rd, 2019

New Features:

  • Added support for automatic datafile management via HttpProjectConfigManager:
    • The HttpProjectConfigManager
      is part of the core-httpclient-impl package and is an implementation of the abstract
      PollingProjectConfigManager class.
    • Users must first build the HttpProjectConfigManager with an SDK key and then and provide that instance to the Optimizely.Builder.
    • An initial datafile can be provided to the HttpProjectConfigManager to bootstrap before making http requests for the hosted datafile.
    • Requests for the datafile are made in a separate thread and are scheduled with fixed delay.
    • Configuration updates can be subscribed to via the Optimizely#addUpdateConfigNotificationHandler or by subscribing to
      the NotificationCenter built with the HttpProjectConfigManager.
  • Added AsyncEventHandler.Builder to be consistent with other Optimizely resources.
  • The OptimizelyFactory
    was included in the core-httpclient-impl package and provides basic methods for instantiating the Optimizely SDK with a minimal number of parameters.
  • Default configuration options for HttpProjectConfigManager and AsyncEventHandler can be overwritten using Java system properties, environment variables or via an optimizely.properties file
    to avoid hard coding the configuration options.

Deprecated

  • Optimizely.builder(String, EventHandler) was deprecated in favor of pure builder methods withConfigManager and withEventHandler.

Release 3.1.0

06 May 23:34

Choose a tag to compare

3.1.0

May 6th, 2019

New Features:

  • Introduced Decision notification listener to be able to record:
    • Variation assignments for users activated in an experiment.
    • Feature access for users.
    • Feature variable value for users.
  • Added APIs to be able to conveniently add Decision notification handler (addDecisionNotificationHandler) and Track notification handler (addTrackNotificationHandler).

Bug Fixes:

  • Feature variable APIs return default variable value when featureEnabled property is false. (#274)

Deprecated

  • Activate notification listener is deprecated as of this release. Recommendation is to use the new Decision notification listener. Activate notification listener will be removed in the next major release.
  • addActivateNotificationListener, addTrackNotificationListener and addNotificationListener APIs on NotificationCenter.

Release 3.0.1

23 Apr 21:08
0c8a8ad

Choose a tag to compare

3.0.1

April 23, 2019

This is a simple fix so that older versions of org.json can still parse the datafile.

Bug Fix

We use org.json.JSONArray. Older versions do not support the iterator. In order to ensure that the datafile is still parsable if you use a older version, we changed to use the get method instead of the iterator.
(#283)