September 26th, 2019
### New Features:
- Added non-typed `get_feature_variable` method ([#190](https://github.com/optimizely/ruby-sdk/pull/190)) as a more idiomatic approach to getting values of feature variables.
- Typed `get_feature_variable` methods will still be available for use.
- Added support for event batching via the event processor.
- Events generated by methods like `activate`, `track`, and `is_feature_enabled` will be held in a queue until the configured batch size is reached, or the configured flush interval has elapsed. Then, they will be batched into a single payload and sent to the event dispatcher.
- To configure event batching, set the `batch_size` and `flush_interval` properties in the `OptimizelyFactory` using `OptimizelyFactory.max_event_batch_size(batch_size, logger)` and `OptimizelyFactory.max_event_flush_interval(flush_interval, logger)` and then create `OptimizelyFactory.custom_instance`.
- Event batching is enabled by default. `batch_size` defaults to `10`. `flush_interval` defaults to `30000` milliseconds.
- Added the `close` method representing the process of closing the instance. When `close` 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.
- `EventBuilder` was deprecated and now we will be using `UserEventFactory` and `EventFactory` to create logEvents.
- `LogEvent` was deprecated from `Activate` and `Track` notifications in favor of explicit `LogEvent` notification.