C# SDK
CSharp-SDK - 4.5.0
September 3, 2026 Holdout Targeted Delivery Exclusion Holdouts can now be configured to exclude Targeted Delivery rules, so users held out of experiments still receive their Targeted Delivery experiences. This gives you a cleaner measure of experiment impact without holding users back from ongoing rollouts.
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.10.0
Add new public properties to OptimizelyConfig . ( #265 https //github.
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.8.0
Introducing a new primary interface for retrieving feature flag status, configuration and associated experiment decisions for users ( #248 https //github. com/optimizely/csharp-sdk/pull/248 , #250 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.4.0
January 23rd, 2020 Added a new API to get project configuration static data. Call GetOptimizelyConfig() to get a snapshot of project configuration static data.
CSharp-SDK - 3.3.0
September 26th, 2019 Configuration manager is set to PollingProjectConfigManager and for datafile will be started by default. Requests to download and update datafile are made in a separate thread and are scheduled with fixed delay.
CSharp-SDK - 3.2.0
July 22nd, 2019 Added support for automatic datafile management via HttpProjectConfigManager for framework 4. 0 or above The HttpProjectConfigManager https //github.
CSharp-SDK - 3.1.0
May 9th, 2019 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 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
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
Fix package signing for installation via Nuget. Fixes #108 Remove JsonNet.
CSharp-SDK - 2.2.0
refactor(interface) Adds IOptimizely interface ( #93 https //github. com/optimizely/csharp-sdk/pull/93 ) feat(api) Accepting all types for attributes values ( #102 https //github.
CSharp-SDK - 2.1.0
June 28, 2018 Introduces support for bot filtering. ( #79 https //github.
CSharp-SDK - 2.0.1
June 20, 2018 Fix events are not sent from the SDK for a variation in a feature test if the feature is disabled. https //github.
CSharp-SDK - 2.0.0
April 16, 2018 This major release of the Optimizely SDK introduces APIs for Feature Management. Introduces the IsFeatureEnabled API to determine whether to show a feature to a user or not.
CSharp-SDK - 2.0.0-beta1
April 3, 2018 This major release of the Optimizely SDK introduces APIs for Feature Management. Introduces the IsFeatureEnabled API to determine whether to show a feature to a user or not.
CSharp-SDK - v1.2.1
November 6, 2017 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 Introduce Numeric Metrics - This allows you to include a floating point value that is used to track numeric values in your experiments. Introduce Forced Variation - This allows you to force users into variations programmatically in real time for QA purposes without requiring datafile downloads from the network.