Releases: optimizely/java-sdk
Releases · optimizely/java-sdk
Release 3.3.3
Release 3.3.2
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
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
3.3.0
October 1st, 2019
New Features:
- Introduced
EventProcessorinterface withBatchEventProcessorimplementation. - Introduced
LogEventnotification. - Added
BatchEventProcessoras the default implementation within theOptimizelyFactoryclass.
Deprecated
LogEventwas deprecated fromTrackNotificationandActivateNotificationnotifications in favor of explicitLogEventnotification.
Release 3.2.1
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
3.4.0-beta
July 24th, 2019
New Features:
- Introduced
EventProcessorinterface withBatchEventProcessorimplementation. - Introduced
LogEventnotification. - Added
BatchEventProcessoras the default implementation within theOptimizelyFactoryclass.
Deprecated
LogEventwas deprecated fromTrackNotificationandActivateNotificationnotifications in favor of explicitLogEventnotification.
Release 3.2.0
3.2.0
June 26th, 2019
New Features:
- Added support for automatic datafile management via
HttpProjectConfigManager:- The
HttpProjectConfigManager
is part of thecore-httpclient-implpackage and is an implementation of the abstract
PollingProjectConfigManagerclass. - Users must first build the
HttpProjectConfigManagerwith an SDK key and then and provide that instance to the Optimizely.Builder. - An initial datafile can be provided to the
HttpProjectConfigManagerto 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#addUpdateConfigNotificationHandleror by subscribing to
the NotificationCenter built with theHttpProjectConfigManager.
- The
- Added
AsyncEventHandler.Builderto be consistent with other Optimizely resources. - The
OptimizelyFactory
was included in thecore-httpclient-implpackage and provides basic methods for instantiating the Optimizely SDK with a minimal number of parameters. - Default configuration options for
HttpProjectConfigManagerandAsyncEventHandlercan be overwritten using Java system properties, environment variables or via anoptimizely.propertiesfile
to avoid hard coding the configuration options.
Deprecated
Optimizely.builder(String, EventHandler)was deprecated in favor of pure builder methodswithConfigManagerandwithEventHandler.
Release 3.2.0-alpha
3.2.0-alpha
May 23rd, 2019
New Features:
- Added support for automatic datafile management via
HttpProjectConfigManager:- The
HttpProjectConfigManager
is part of thecore-httpclient-implpackage and is an implementation of the abstract
PollingProjectConfigManagerclass. - Users must first build the
HttpProjectConfigManagerwith an SDK key and then and provide that instance to the Optimizely.Builder. - An initial datafile can be provided to the
HttpProjectConfigManagerto 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#addUpdateConfigNotificationHandleror by subscribing to
the NotificationCenter built with theHttpProjectConfigManager.
- The
- Added
AsyncEventHandler.Builderto be consistent with other Optimizely resources. - The
OptimizelyFactory
was included in thecore-httpclient-implpackage and provides basic methods for instantiating the Optimizely SDK with a minimal number of parameters. - Default configuration options for
HttpProjectConfigManagerandAsyncEventHandlercan be overwritten using Java system properties, environment variables or via anoptimizely.propertiesfile
to avoid hard coding the configuration options.
Deprecated
Optimizely.builder(String, EventHandler)was deprecated in favor of pure builder methodswithConfigManagerandwithEventHandler.
Release 3.1.0
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,addTrackNotificationListenerandaddNotificationListenerAPIs onNotificationCenter.
Release 3.0.1
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)