Android SDK
Android-SDK - 5.4.0
September 2, 2026 Holdout Targeted Delivery Exclusion Holdouts can now be configured to exclude Targeted Delivery rules, so users held out of experiments still receive their Targeted Delivery experiences. This gives you a cleaner measure of experiment impact without holding users back from ongoing rollouts.
Android-SDK - 5.3.0
July 8, 2026 Local Holdouts Added support for Local Holdouts, enabling holdout experiments to be scoped to specific feature flags rather than applied globally. Local Holdouts let you measure the true incremental impact of individual features by holding out a subset of users from specific rollouts while still serving them other experiences.
Android-SDK - 5.2.1
June 1, 2026 Upgrade dependency to Java SDK 4. 4.
Android-SDK - 5.2.0
May 11, 2026 Feature Rollout Added support for Feature Rollouts, a new experiment type combining Targeted Delivery simplicity with A/B test measurement capabilities. Feature Rollouts enable progressive rollouts with full impact analytics, metric tracking, and confidence intervals.
Android-SDK - 5.1.1
\#511 January 20th, 2025 \#enhancements-and-fixes Upgrade Java Core SDK to 4. 3.
Android-SDK - 5.1.0
\#510 December 19th, 2025 \#new-features This release introduces new primary features Contextual Multi-Armed Bandit (CMAB) and Holdouts . Contextual Multi-Armed Bandit (CMAB) Add support for CMAB experiments with new configuration options and cache control (#514).
Android-SDK - 5.0.1
\#501 May 30th, 2025 \#functionality-enhancements Add experimentId and variationId to decision notification ( #509 https //github. com/optimizely/android-sdk/pull/509 ).
Android-SDK - 5.0.0
\#500 November 25th, 2024 \#breaking-changes VUID configuration is now independent of ODP ( #497 https //github. com/optimizely/android-sdk/pull/497 ) When VUID is disabled vuid is not generated or saved.
Android-SDK - 4.1.0
\#410 November 13th, 2024 \#new-features Batch UPS lookup and save calls in decideAll and decideForKeys methods ( #498 https //github. com/optimizely/android-sdk/pull/498 ).
Android-SDK - 4.0.4
\#404 September 18th, 2024 \#bug-fixes R8 configuration breaks Gson use at runtime ( #493 https //github. com/optimizely/android-sdk/pull/493 ).
Android-SDK - 4.0.2
\#402 August 20th, 2024 Forward exceptions for unexpected response from ODP ( #488 https //github. com/optimizely/android-sdk/pull/488 ).
Android-SDK - 4.0.1
\#401 July 31st, 2024 Forward exceptions for ODP fetch segments ( #483 https //github. com/optimizely/android-sdk/pull/483 ).
Android-SDK - 3.13.4
March 16th, 2023 Update README. md and other non-functional code to reflect that this SDK supports both Optimizely Feature Experimentation and Optimizely Full Stack.
Android-SDK - 3.13.3
December 2nd, 2022 Set timeouts to UrlConnections for DatafileClient and EventClient so resources can be released when connection fails ( #432 https //github. com/optimizely/android-sdk/pull/432 ).
Android-SDK - 3.13.2
April 7th, 2022 Fix for Android 12 support (PendingIntent flag requirement when built with targetSdkVersion=31+) ( #400 https //github. com/optimizely/android-sdk/pull/400 ).
Android-SDK - 3.13.1
February 3rd, 2022 Move background-watchers file read to a background thread when DatafileRescheduler is invoked. This will fix a potential source of ANRs ( #401 https //github.
Android-SDK - 3.13.2
April 7th, 2022 Fix for Android 12 support (PendingIntent flag requirement when built with targetSdkVersion=31+) ( #400 https //github. com/optimizely/android-sdk/pull/400 ).
Android-SDK - 3.13.1
February 3rd, 2022 Move background-watchers file read to a background thread when DatafileRescheduler is invoked. This will fix a potential source of ANRs ( #401 https //github.
Android-SDK - 3.13.0
January 11th, 2022 This release updates the SDK to use the Optimizely Java SDK 3. 10.
Android-SDK - 3.12.0
December 9th, 2021 Add reachability checking for datafile-fetch and event-dispatch ( #389 https //github. com/optimizely/android-sdk/pull/389 ).
Android-SDK - 3.11.1
October 4th, 2021 Support long lists of event attributes (100) and/or large event batch size (100) over the WorkManager Data 10KB size limit ( 386 https //github. com/optimizely/android-sdk/pull/386 ).
Android-SDK - 3.11.0
September 16th, 2021 This release updates the SDK to use the Optimizely Java SDK 3. 9.
Android-SDK - 3.10.2
June 2nd, 2021 Android devices with API-19 and lower are set to use TLS1. 2 for both datafile download and event upload ( 373 https //github.
Android-SDK - 3.10.1
March 8th, 2021 Switch publish repository to MavenCentral (bintray/jcenter sunset). Fix app crashing when the rollout length is zero (see the Optimizely Java SDK release 3.
Android-SDK - 3.10.0
February 24th, 2021 PR #360 https //github. com/optimizely/android-sdk/pull/360 Deprecate and remove job scheduler in favor of the androidx work manager.
Android-SDK - 3.9.0
February 9th, 2021 Upgrade the android and get all tests passing #356 https //github. com/optimizely/android-sdk/pull/356 Add a new set of decide apis #352 https //github.
Android-SDK - 3.7.0
September 30th, 2020 This build has support for audience evaluation by version. It also supports number 'greater than or equal to' and 'less than or equal to'.
Android-SDK - 3.8.0
November 20th, 2020 Add support for upcoming application-controlled introduction of tracking for non-experiment Flag decisions. For a complete list see the release notes https //github.
Android-SDK - 3.6.0
July 13th, 2020 This build has support for Feature JSON. It also includes an update to the test application with feature flag example and package level log setting.
Android-SDK - 3.5.2
June 18th, 2020 Upgrade to latest stable build tools 29. 0.
Android-SDK - 3.5.1
April 29th, 2020 Change FeatureVariable type from enum to string for forward compatibility (upgrade the core java-sdk to 3. 4.
Android-SDK - 3.5.0
March 13th, 2020 This release includes an enhancement of SDK initialization API to enable SDK updated on cached datafile change. It also fixes known bugs.
Android-SDK - 3.4.0
January 31st, 2020 This release includes a new API to access project configuration data. Added a new API to get project configuration static data.
Android-SDK - 3.1.2
January 7th, 2020 Add keep for log4j to proguard rules. https //github.
Android-SDK - 3.3.0
October 31st, 2019 This minor release includes event processing with batching. It uses the Optimizely java sdk version 3.
Android-SDK - 3.2.0
August 21st 2019 This minor release updates the SDK to use the Optimizely Java SDK 3. 2.
Android-SDK - 3.2.1
August 29th 2019 This is a patch release which includes the following Make the initialize method with a flag to download to cache public from protected. In the other initialize methods, we always download to cache.
Android-SDK - 3.1.1
July 23rd, 2019 SourceClear flagged jackson-databind 2. 9.
Android-SDK - 3.1.0
May 13th, 2019 This minor release updates the SDK to use the Optimizely Java SDK 3. 1.
Android-SDK - 3.0.1
April 23, 2019 This patch release fixes some git hub issues mentioned below. The Logger security exception is handled a little more cleanly for logging.
Android-SDK - 3.0.0
February 14, 2019 The 3. 0 release improves event tracking and supports additional audience targeting functionality.
Android-SDK - 2.1.4
Februrary 8th, 2019 This is a patch release. Fix for User Profile Service.
Android-SDK - 2.1.3
December 6th, 2018 This is a patch release. upgrade to Optimizely Java SDK 2.
Android-SDK - 3.0.0-RC2
November 20th, 2018 This is the release candidate for the 3. 0 SDK, which includes a number of improvements to audience targeting along with a few bug fixes.
Android-SDK - 3.0.0-RC
November 9, 2018 This is a RC candidate for major release 3. 0.
Android-SDK - 2.1.2
November 8, 2018 This is a patch release. Fix job scheduler exception when scheduling a repeatable job in the background ( #236 https //github.
Android-SDK - 2.1.1
fix builder error that passe in possible null projectId (#226) update credits (#219) version updates from source clear (#220) fix deploy (#217) Enabling source clear (#216) Travis CI for Android (#215) https //github. com/optimizely/android-sdk/releases/tag/2.
Android-SDK - 2.1.0
August 2nd, 2018 This release is the 2. x general availability launch of the Android SDK, which includes a number of significant new features that are now stable and fully supported.
Android-SDK - 2.0.0-beta5
July 23, 2018 Pull from the correct datafile location when using SDK Key. (#207) https //github.
Android-SDK - 2.0.0-beta4
June 22, 2018 Fix impression sent from feature experiment variation toggled off. (#205) https //github.
Android-SDK - 2.0.0-beta3
June 12, 2018 This beta release of the Optimizely SDK introduces APIs for Feature Management. Introduces the isFeatureEnabled API to determine whether to show a feature to a user or not.
Android-SDK - 2.0.0-beta2
May 17th, 2018 This major release of the Optimizely SDK introduces APIs for Feature Management. It also introduces some breaking changes listed below.
Android-SDK - 2.0.0 Beta 1
March 29th, 2018 This major release of the Optimizely SDK introduces APIs for Feature Management. It also introduces some breaking changes listed below.
Android-SDK - 1.6.0
This release adds support for bucketing id (By passing in $opt bucketing id in the attribute map, you can override the user id as the bucketing variable. This is useful when wanting a set of users to share the same experience such as two players in a game).
Android-SDK - 1.4.0-alpha
This is a breaking change. Dependent on optimizely/java-sdk 1.
Android-SDK - 1.3.1
Handle exceptions in top-level APIs https //github. com/optimizely/android-sdk/releases/tag/1.
Android-SDK - 1.3.0
Add getter for ProjectConfig https //github. com/optimizely/android-sdk/releases/tag/1.
Android-SDK - 1.2.0
Add event tags to the track API Deprecated eventValue parameter from the track API. Use event tags to pass in event value instead Update to java-core 1.
Android-SDK - 1.0.0
GA release https //github. com/optimizely/android-sdk/releases/tag/1.
Android-SDK - 0.5.0
Bug Fixes Persist experiment and variation IDs instead of keys in the AndroidUserProfile Breaking Changes Change live variable getter signature from getVariableFloat to getVariableDouble https //github. com/optimizely/android-sdk/releases/tag/0.
Android-SDK - 0.5.0-SNAPSHOT
https //github. com/optimizely/android-sdk/releases/tag/0.
Android-SDK - 0.4.1
Bug Fixes Add try catches around Cache. java and Client.
Android-SDK - 0.4.0
New Features Add support for IP anonymization Breaking Changes Rename AndroidUserExperimentRecord to AndroidUserProfile Change position of activateExperiment parameter in live variable getters https //github. com/optimizely/android-sdk/releases/tag/0.
Android-SDK - 0.3.0
Add support for live variables https //github. com/optimizely/android-sdk/releases/tag/0.
Android-SDK - 0.2.2
Changes the initialization API from start to initialize Fixes crash with ICS and old db manager constructor Fixes concurrency map crash https //github. com/optimizely/android-sdk/releases/tag/0.
Android-SDK - 0.2.1
Fixes issue with OptimizelyStartedListener potentially not being called. https //github.
Android-SDK - Android X 0.1.3
October 27, 2016 Bug Fixes Now service intervals can be changed after they are scheduled the first time. If a service is scheduled when rescheduling the old service will be unscheduled.
Android-SDK - 0.1.3 Beta
https //github. com/optimizely/android-sdk/releases/tag/0.