From 9ef6e361b08204ecd3f446938bebba4fcf5e6d99 Mon Sep 17 00:00:00 2001 From: Jae Kim Date: Fri, 30 Oct 2026 11:50:13 -0700 Subject: [PATCH 1/2] [FSSDK-13375] update CHANGELOG for ruby v5.6.0 --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66d9bf61..288e10a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # Optimizely Ruby SDK Changelog +## 5.6.0 +October 30, 2026 + +### Changed + +**Local Holdouts: rule evaluation continues after a holdout hit**: +When a user matches a local holdout on a rule, the SDK now excludes the user from that rule only +and continues evaluating the remaining rules, instead of returning the holdout variation and skipping +the rest of the flag. Each local holdout hit sends its own holdout impression event (using the +existing event format), regardless of `sendFlagDecisions`. Global holdouts are unchanged. + +- Fix ODP event duplicate symbol/string key JSON error ([#408](https://github.com/optimizely/ruby-sdk/pull/408)) +- Continue rule evaluation after local holdout hit ([#407](https://github.com/optimizely/ruby-sdk/pull/407)) + ## 5.5.0 September 2, 2026 From 0653ab8838115fe09e8dcddac7310eb40f895638 Mon Sep 17 00:00:00 2001 From: Jae Kim Date: Fri, 30 Oct 2026 11:50:21 -0700 Subject: [PATCH 2/2] [FSSDK-13375] bump version to 5.6.0 --- lib/optimizely/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/optimizely/version.rb b/lib/optimizely/version.rb index 06ca020f..62cee450 100644 --- a/lib/optimizely/version.rb +++ b/lib/optimizely/version.rb @@ -17,5 +17,5 @@ # module Optimizely CLIENT_ENGINE = 'ruby-sdk' - VERSION = '5.5.0' + VERSION = '5.6.0' end