C# SDK
CSharp-SDK - 4.4.0
July 10, 2026 Local Holdouts Added support for Local Holdouts, enabling holdout experiments to be scoped to specific feature flag rules 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.
CSharp-SDK - 4.3.0
May 11, 2026 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.
CSharp-SDK - 4.2.0
\#420 Nov 13, 2025 \#new-features Added support for Contextual Multi-Armed Bandit (CMAB) Added support for CMAB experiments(Contextual Bandits rules) with new configuration options and cache control. To get decision from CMAB rules, decide and related methods must be used.
CSharp-SDK - 4.1.0
\#410 November 7th, 2024 \#enhancement Added support for batch processing in DecideAll and DecideForKeys , enabling more efficient handling of multiple decisions in the User Profile Service. ( #375 https //github.
CSharp-SDK - 3.11.4
July 26, 2023 Fix Last-Modified date & time format for If-Modified-Since ( #361 https //github. com/optimizely/csharp-sdk/pull/361 ).
CSharp-SDK - 3.11.3
July 18, 2023 Last-Modified in header not found and used to reduce polling payload ( #355 https //github. com/optimizely/csharp-sdk/pull/355 ).
CSharp-SDK - 3.11.2.1
March 24, 2023 NuGet requires a semantic version increase to "republish". Corrections to nuspec generated during signing and upload.
CSharp-SDK - 3.11.2
March 16th, 2023 Update README. md and other non-functional code to reflect that this SDK supports both Optimizely Feature Experimentation and Optimizely Full Stack.
CSharp-SDK - 3.11.1
July 27th, 2022 Handle possible empty string rolloutId in datafile ( #304 https //github. com/optimizely/csharp-sdk/pull/304 ) https //github.
CSharp-SDK - 3.11.0
January 13th, 2022 Add a set of new APIs for overriding and managing user-level flag, experiment and delivery rule decisions. These methods can be used for QA and automated testing purposes.
CSharp-SDK - 3.9.1
\- Duplicate experiment key issue with multiple feature flags. While trying to get variation from the variationKeyMap, it was unable to find because the latest experimentKey was overriding the previous one.
CSharp-SDK - 3.9.0
\- When no error handler is given for HttpProjectConfigManager, then default error handler should be used without raise exception. \[#260]\( https //github.
CSharp-SDK - 3.7.1
November 18th, 2020 \- Add "enabled" field to decision metadata structure. (\[#249]\( https //github.
CSharp-SDK - 3.7.0
November 3rd, 2020 \- Add support for sending flag decisions along with decision metadata. (\[#244]\( https //github.
CSharp-SDK - 3.6.0
October 1st, 2020 \- Add support for version audience condition which follows the semantic version ( http //semver. org http //semver.
CSharp-SDK - 3.5.0
\- Add support for JSON feature variables. (\[#214]\( https //github.
CSharp-SDK - 3.4.1
April 29th, 2020 \- Change FeatureVariable type from enum to string for forward compatibility. \[#211]\( https //github.
CSharp-SDK - 3.1.0
May 9th, 2019 \### New Features Introduced Decision notification listener to be able to record Variation assignments for users activated in an experiment. Feature access for users.
CSharp-SDK - 3.1.1
June 19th, 2019 \### Bug Fixes Build OptimizelySDK. NetStandard16.
CSharp-SDK - 3.0.0
The 3. 0 release improves event tracking and supports additional audience targeting functionality.
CSharp-SDK - 2.2.2
\## January 31, 2019 \### Bug fixes fix(eventtagsutils) fixes bug where values of 0 and 1 are excluded from the event value in the conversion event payload. (\[#132]\( https //github.
CSharp-SDK - 2.2.1
\### Bug fixes Fix package signing for installation via Nuget. Fixes #108 Remove JsonNet.
CSharp-SDK - 2.2.0
\### New Features refactor(interface) Adds IOptimizely interface (\[#93]\( https //github. com/optimizely/csharp-sdk/pull/93 https //github.
CSharp-SDK - v1.2.1
November 6, 2017 \### New Features Package DLL's including third party component DLL's are strongnamed and digitally signed by Optimizely. DecisionService GetVariationForFeatureRollout added.
CSharp-SDK - v1.2.0
October 4, 2017 \### New Features Introduce Numeric Metrics - This allows you to include a floating point value that is used to track numeric values in your experiments. ``` var eventTags = new EventTags() { { "value", 10.
CSharp-SDK - 1.1.0
\- Introduce the user profile service. https //github.