---
title: Ruby-SDK - 5.2.0
slug: feature-experimentation/release-notes/ruby-sdk-5-2-0
docTags: 
createdAt: 2026-07-20T15:45:28.047Z
---

## 5.2.0

[#520](docId\:NTtV_V9YsLFvQ-jBLkopA)

November 13th, 2025

### New Features

[#new-features](docId\:NTtV_V9YsLFvQ-jBLkopA)

- Added CMAB client implementation to support contextual multi-armed bandit decisioning. ([#364](https://github.com/optimizely/ruby-sdk/pull/364))
- Implemented CMAB service to manage contextual decision logic. ([#367](https://github.com/optimizely/ruby-sdk/pull/367))
- Added SDK multi-region support for data hosting. ([#365](https://github.com/optimizely/ruby-sdk/pull/365))

### Enhancements

[#enhancements](docId\:NTtV_V9YsLFvQ-jBLkopA)

- Added `experiment_id` and `variation_id` to event payloads. ([#361](https://github.com/optimizely/ruby-sdk/pull/361))
- Updated project config to track CMAB properties. ([#362](https://github.com/optimizely/ruby-sdk/pull/362))
- Added `remove` method in LRU Cache for CMAB service. ([#366](https://github.com/optimizely/ruby-sdk/pull/366))
- Implemented Decision Service methods to handle CMAB logic. ([#369](https://github.com/optimizely/ruby-sdk/pull/369))
- Updated impression events to include CMAB UUID. ([#370](https://github.com/optimizely/ruby-sdk/pull/370))
- Exposed CMAB prediction endpoint in URL template. ([#378](https://github.com/optimizely/ruby-sdk/pull/378))

### Bug Fixes

[#bug-fixes](docId\:NTtV_V9YsLFvQ-jBLkopA)

- Fixed Rubocop failures on Ruby 3.0.0. ([#371](https://github.com/optimizely/ruby-sdk/pull/371))
- Fixed concurrency issue in CMAB service. ([#375](https://github.com/optimizely/ruby-sdk/pull/375))
- Minor bugbash updates and stability improvements. ([#377](https://github.com/optimizely/ruby-sdk/pull/377))

[https://github.com/optimizely/ruby-sdk/releases/tag/v5.2.0](https://github.com/optimizely/ruby-sdk/releases/tag/v5.2.0)
