Skip to content

Releases: optimizely/csharp-sdk

3.9.0

30 Mar 16:33
a436510
Compare
Choose a tag to compare

Bug Fixes:

  • When no error handler is given for HttpProjectConfigManager, then default error handler should be used without raise exception. #260
  • .Net Standard 2.0 was missing Configuration manager library in nugget package. #262

3.8.0

30 Mar 16:32
8b12cd7
Compare
Choose a tag to compare

Release 3.7.1

18 Nov 18:49
9f6a4f4
Compare
Choose a tag to compare

3.7.1

November 18th, 2020

New Features

  • Add "enabled" field to decision metadata structure. (#249)

Release 3.7.0

09 Nov 21:56
780452d
Compare
Choose a tag to compare

3.7.0

November 3rd, 2020

New Features

  • Add support for sending flag decisions along with decision metadata. (#244)

Release 3.6.0

01 Oct 17:22
bbdb629
Compare
Choose a tag to compare

3.6.0

October 1st, 2020

New Features

  • Add support for version audience condition which follows the semantic version (http://semver.org) (#236, #242)

  • Add support for datafile accessor #240.

  • datafileAccessToken supported from App.config (#237)

Bug Fixes:

  • No rollout rule in datafile, should return false when IsFeatureEnabled is called. (#235)
  • NewDefaultInstance method of OptimizelyFactory class, set ErrorHandler not to raise exception while handling error (#241)
  • Audience evaluation logs revised (#229)

Release 3.5.0

07 Jul 23:09
cd9e93f
Compare
Choose a tag to compare

3.5.0

July 7th, 2020

New Features

  • Add support for JSON feature variables. (#214, #216, #217)
  • Add support for authenticated datafiles. (#222)
  • Add gzip support for framework 4.5 or above. (#218)

Bug Fixes:

  • Adjust audience evaluation log level to debug. (#221)

Release 3.4.1

30 Apr 02:12
39f7409
Compare
Choose a tag to compare

3.4.1

April 29th, 2020

Bug Fixes:

  • Change FeatureVariable type from enum to string for forward compatibility. #211
  • GetFeatureVariableDouble was returning 0 for FR culture. Fixed this issue by returning Invariant culture. #209

Release 3.4.0

24 Jan 18:32
Compare
Choose a tag to compare

3.4.0

January 23rd, 2020

New Features

  • Added a new API to get project configuration static data.
    • Call GetOptimizelyConfig() to get a snapshot of project configuration static data.
    • It returns an OptimizelyConfig instance which includes a datafile revision number, all experiments, and feature flags mapped by their key values.
    • Added caching for GetOptimizelyConfig - OptimizelyConfig object will be cached and reused for the lifetime of the datafile
    • For details, refer to our documentation page: https://docs.developers.optimizely.com/full-stack/docs/optimizelyconfig-csharp.

Bug Fixes:

  • Blocking timeout was not being assigned. When not providing any value, it was just logging not setting up periodinterval and blocking timeout value. #202

Release 3.3.0

08 Oct 18:18
Compare
Choose a tag to compare

3.3.0

September 26th, 2019

New Features:

  • 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.
  • Added support for event batching via the event processor.
  • Events generated by methods like Activate, Track, and IsFeatureEnabled will be held in a queue until the configured batch size is reached, or the configured flush interval has elapsed. Then, they will be combined into a request and sent to the event dispatcher.
  • To configure event batching, set the MaxEventBatchSize and MaxEventFlushInterval properties in the OptimizelyFactory using OptimizelyFactory.SetBatchSize(int batchSize) and OptimizelyFactory.SetFlushInterval(TimeSpan flushInterval) and then creating using OptimizelyFactory.NewDefaultInstance.
  • Event batching is enabled by default. eventBatchSize defaults to 10. eventFlushInterval defaults to 30000 milliseconds.
  • Updated the Dispose method representing the process of closing the instance. When Dispose is called, any events waiting to be sent as part of a batched event request will be immediately batched and sent to the event dispatcher.
  • If any such requests were sent to the event dispatcher, Stop waits for provided TimeoutInterval before stoping, so that events get successfully dispatched.
  • OptimizelyFactory now provides support of setting configuration variables from App.config, User will now be able to provide configuration variables of HttpConfigManager and BatchEventProcessor in App.config. Steps of usage are provided in README.md.

Deprecated

  • EventBuilder was deprecated and now we will be using UserEventFactory and EventFactory to create LogEvent Object.
  • Deprecated Track notifications in favor of explicit LogEvent notification.
  • New features will no longer be supported on .net standard 1.6 and .net 3.5

Release 3.2.0

23 Jul 00:39
e6a9b68
Compare
Choose a tag to compare

3.2.0

July 22nd, 2019

New Features:

  • Added support for automatic datafile management via HttpProjectConfigManager for framework 4.0 or above:
    • The HttpProjectConfigManager is an implementation of the abstract
      PollingProjectConfigManager class.
      • Users must first build the HttpProjectConfigManager with an SDK key and then and provide that instance to the Optimizely instance.
      • An initial datafile can be provided to the HttpProjectConfigManager to bootstrap before making HTTP requests for the hosted datafile.
      • Requests for the datafile are made in a separate thread and are scheduled with fixed delay.
      • Configuration updates can be subscribed to via the NotificationCenter built with the HttpProjectConfigManager.
      • Optimizely instance must be disposed after the use or HttpProjectConfigManager must be disposed after the use to release resources.
  • The OptimizelyFactory provides basic methods for instantiating the Optimizely SDK with a minimal number of parameters. Check README.md for more details.