Skip to content

Releases: optimizely/java-sdk

Release 4.5.0

Choose a tag to compare

@muzahidul-opti muzahidul-opti released this 07 Jul 14:35
c389de2

[4.5.0]

July 7, 2026

New Features

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.
See Holdouts docs for more information.

  • Add localHoldouts to datafile for backward compatibility (#633)

Fixes

  • Use attribute id instead of key for CMAB prediction requests (#635)
  • Normalize decision event campaign_id, variation_id, and entity_id (#634)

Release 4.4.2

Choose a tag to compare

@jaeopt jaeopt released this 29 May 19:50
aea8778

[4.4.2]

May 29, 2026

Fixes

  • Include commonIdentifiers when counting identifiers in identifyUser (#631)

Release 4.4.1

Choose a tag to compare

@jaeopt jaeopt released this 28 May 20:35
8812751

[4.4.1]

May 28, 2026

Fixes

  • Block ODP identify event for single identifier (#629)
  • Add local holdouts support (#628)

Release 4.4.0

Choose a tag to compare

@jaeopt jaeopt released this 05 May 21:06
5752354

[4.4.0]

May 4, 2026

New Features

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.
See Feature Rollout docs for more information.

  • Remove experiment type validation from config parsing (#602)
  • Add Feature Rollout support (#601)

Fixes and Improvements

  • Remove legacy flag-level holdout fields (#604)

Release 4.3.1

Choose a tag to compare

@FarhanAnjum-opti FarhanAnjum-opti released this 20 Jan 14:14
9d3e1c9

[4.3.1]

Jan 20th, 2025

Fixes

  • [FSSDK-12030] Exclude CMAB from UserProfileService (#595)
  • [FSSDK-11953] Fix missing bucketing reasons in CMAB decision path (#592)

Release 4.3.0

Choose a tag to compare

@muzahidul-opti muzahidul-opti released this 11 Dec 06:14
ade5a4d

[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 support
    • decideAllAsync(): Asynchronous method to make decisions for all flags
    • decideForKeysAsync(): Asynchronous method to make decisions for multiple flag keys
  • Client Initialization:

    • CmabClientConfig can be injected when initializing the client for custom CMAB configuration
    • CmabService can be provided to OptimizelyFactory for 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

Release 4.2.2

Choose a tag to compare

@muzahidul-opti muzahidul-opti released this 28 May 15:11
746e815

[4.2.2]

May 28th, 2025

Fixes

  • Add experimentId and variationId to decision notification (#569).

Release 4.2.1

Choose a tag to compare

@muzahidul-opti muzahidul-opti released this 20 Feb 10:12

[4.2.1]

Feb 19th, 2025

Fixes

  • Fix big integer conversion (#556).

Release 4.2.0

Choose a tag to compare

@raju-opti raju-opti released this 06 Nov 14:12
a763358

[4.2.0]

November 6th, 2024

New Features

  • Batch UPS lookup and save calls in decideAll and decideForKeys methods (#549).

Release 4.1.1

Choose a tag to compare

@jaeopt jaeopt released this 09 May 00:37
7cd42fc

[4.1.1]

May 8th, 2024

Fixes

  • Fix logx events discarded for staled connections with httpclient connection pooling (#545).