Android SDK
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 https //github.
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 https //github.
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 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 - 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-beta-RC2
August 9, 2017 \- Release candidate for 1. 4.
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.