From c9ed5894e00e3925712c2fdfbb7b47830f0b3547 Mon Sep 17 00:00:00 2001 From: Jae Kim Date: Fri, 30 Oct 2026 10:55:35 -0700 Subject: [PATCH 1/2] [FSSDK-13375] update CHANGELOG for python v5.8.0 Co-Authored-By: Claude Opus 5.5 (1M context) --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f36a597..78bed535 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Optimizely Python SDK Changelog +## 5.8.0 +October 30th, 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. + +- Continue rule evaluation after local holdout hit ([#525](https://github.com/optimizely/python-sdk/pull/525)) +- Remove dead Python 3.7 typing guards ([#526](https://github.com/optimizely/python-sdk/pull/526)) + +--- + ## 5.7.0 September 2nd, 2026 From e0c6bd4e540c8631970f1814dc502596d16cfd5d Mon Sep 17 00:00:00 2001 From: Jae Kim Date: Fri, 30 Oct 2026 10:55:40 -0700 Subject: [PATCH 2/2] [FSSDK-13375] bump version to 5.8.0 Co-Authored-By: Claude Opus 5.5 (1M context) --- optimizely/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/optimizely/version.py b/optimizely/version.py index 88def819..ea301762 100644 --- a/optimizely/version.py +++ b/optimizely/version.py @@ -11,5 +11,5 @@ # See the License for the specific language governing permissions and # limitations under the License. -version_info = (5, 7, 0) +version_info = (5, 8, 0) __version__ = '.'.join(str(v) for v in version_info)