CSharp-SDK - 3.3.0
## 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](https://github.com/optimizely/csharp-sdk#using-appconfig-in-optimizelyfactory).
### 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`