From 6704042eacd10d3b9727b997d3223911d52c527d Mon Sep 17 00:00:00 2001 From: Matjaz Pirnovar Date: Tue, 30 Sep 2025 11:38:38 -0700 Subject: [PATCH 1/2] Add CMAB v2.2.0 changelog to clean release branch - Based release branch on clean master (no holdouts) - Added CMAB v2.2.0 features to changelog with September 30, 2025 date - Includes reviewer-approved changelog content without non-public API items - Ready for CMAB v2.2.0 release --- CHANGELOG.MD | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CHANGELOG.MD b/CHANGELOG.MD index b6ed5f2b..1fc25962 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -4,6 +4,25 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [2.2.0] - September 30, 2025 + +### New Features +- **CMAB (Contextual Multi-Armed Bandit) Support**: Added comprehensive support for CMAB experiments, enabling dynamic optimization based on user context and real-time learning +- **Multi-Region Data Hosting Support**: Added SDK support for multi-region data hosting to improve performance and comply with data residency requirements + +#### CMAB-Related Changes +- **Client Factory**: `WithCmabConfig(*cmab.Config) OptionFunc` - New option for setting CMAB configuration +- **Event Metadata**: `CmabUUID` field added to DecisionMetadata for CMAB tracking +- **New Decide Options** for CMAB cache control: + - `IgnoreCMABCache` - Ignore CMAB cache and make fresh requests + - `ResetCMABCache` - Reset the entire CMAB cache + - `InvalidateUserCMABCache` - Invalidate CMAB cache entries for specific user + +#### Enhanced Decision Notifications +- **Enhanced Decision Notifications**: Decision notification listener payload now includes: + - `experimentId` field for experiment identification + - `variationId` field for variation identification + ## [2.1.0] - November 8, 2024 ### Enhancements From 75b2dd070db378406fe72e0a7ed53b26849ef348 Mon Sep 17 00:00:00 2001 From: Matjaz Pirnovar Date: Tue, 30 Sep 2025 12:05:55 -0700 Subject: [PATCH 2/2] update changelog --- CHANGELOG.MD | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 1fc25962..8277230b 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -5,23 +5,15 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). ## [2.2.0] - September 30, 2025 - -### New Features -- **CMAB (Contextual Multi-Armed Bandit) Support**: Added comprehensive support for CMAB experiments, enabling dynamic optimization based on user context and real-time learning -- **Multi-Region Data Hosting Support**: Added SDK support for multi-region data hosting to improve performance and comply with data residency requirements - -#### CMAB-Related Changes -- **Client Factory**: `WithCmabConfig(*cmab.Config) OptionFunc` - New option for setting CMAB configuration -- **Event Metadata**: `CmabUUID` field added to DecisionMetadata for CMAB tracking -- **New Decide Options** for CMAB cache control: - - `IgnoreCMABCache` - Ignore CMAB cache and make fresh requests - - `ResetCMABCache` - Reset the entire CMAB cache - - `InvalidateUserCMABCache` - Invalidate CMAB cache entries for specific user - -#### Enhanced Decision Notifications -- **Enhanced Decision Notifications**: Decision notification listener payload now includes: - - `experimentId` field for experiment identification - - `variationId` field for variation identification + + ### New Features + - **CMAB (Contextual Multi-Armed Bandit) Support**: Added support for CMAB experiments with new configuration options and cache control ([#399](https://github.com/optimizely/go-sdk/pull/399), [#401](https://github.com/optimizely/go-sdk/pull/401), [#402](https://github.com/optimizely/go-sdk/pull/402), [#403](https://github.com/optimizely/go-sdk/pull/403), [#408](https://github.com/optimizely/go-sdk/pull/408), [#409](https://github.com/optimizely/go-sdk/pull/409), [#411](https://github.com/optimizely/go-sdk/pull/411), [#412](https://github.com/optimizely/go-sdk/pull/412), [#416](https://github.com/optimizely/go-sdk/pull/416)) + - **Multi-Region Support for Data Hosting**: Added SDK support for multi-region data hosting ([#414](https://github.com/optimizely/go-sdk/pull/414)) + + ### API Changes + - **Client Factory**: `WithCmabConfig(*CmabConfig) OptionFunc` - New option for CMAB configuration ([#412](https://github.com/optimizely/go-sdk/pull/412), [#419](https://github.com/optimizely/go-sdk/pull/419)) + - **New Decide Options**: `IgnoreCMABCache`, `ResetCMABCache`, `InvalidateUserCMABCache` for CMAB cache control ([#401](https://github.com/optimizely/go-sdk/pull/401)) + - **Enhanced Decision Notifications**: Added `experimentId` and `variationId` fields to decision notification payload ([#406](https://github.com/optimizely/go-sdk/pull/406)) ## [2.1.0] - November 8, 2024