[4.3.0]
Dec 10th, 2025
New Features
- 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)
API Changes
-
OptimizelyUserContext: New asynchronous decision-making methods
decideAsync(): Asynchronous method to make a decision for a single flag with CMAB supportdecideAllAsync(): Asynchronous method to make decisions for all flagsdecideForKeysAsync(): Asynchronous method to make decisions for multiple flag keys
-
Client Initialization:
CmabClientConfigcan be injected when initializing the client for custom CMAB configurationCmabServicecan be provided toOptimizelyFactoryfor custom CMAB service implementation
-
New Decide Options: Added cache control options for CMAB
IGNORE_CMAB_CACHE: Skip reading from CMAB cacheRESET_CMAB_CACHE: Clear and reset CMAB cache before decisionINVALIDATE_USER_CMAB_CACHE: Invalidate cache entries for specific user