Dec 10th, 2025
- CMAB (Contextual Multi-Armed Bandit) Support: Added support for CMAB experiments with new configuration options and cache control (#577, #578, #579, #582, #583, #584, #585, #590, #593)
- Add Holdouts Feature: Add Holdout support for feature experimentation (#572, #576)
- Multi-Region Support for Data Hosting: Added SDK support for multi-region data hosting (#573)
-
OptimizelyUserContext: New asynchronous decision-making methods
-
decideAsync(): Asynchronous method to make a decision for a single flag with CMAB support -
decideAllAsync(): Asynchronous method to make decisions for all flags -
decideForKeysAsync(): Asynchronous method to make decisions for multiple flag keys
-
-
Client Initialization:
-
CmabClientConfigcan be injected when initializing the client for custom CMAB configuration -
CmabServicecan be provided toOptimizelyFactoryfor custom CMAB service implementation
-
-
New Decide Options: Added cache control options for CMAB
-
IGNORE_CMAB_CACHE: Skip reading from CMAB cache -
RESET_CMAB_CACHE: Clear and reset CMAB cache before decision -
INVALIDATE_USER_CMAB_CACHE: Invalidate cache entries for specific user
-
https://github.com/optimizely/java-sdk/releases/tag/4.3.0
Article is closed for comments.