4.2.2 (July 28, 2017)
- Fix treatments array in SplitManager

4.2.1 (July 20, 2017)
- Coerce string to regexp for Regexp matcher

4.2.0 (July 18, 2017)
- Add new boolean/regexp matchers
- Add support for split dependency on other splits
- Pass bucketing_key to `match?` method
- Fix IP address fetching
- Remove unneeded dependencies (faraday_middleware, faraday-http-cache)

4.1.0 (April 16, 2017)
- Add new string/set matchers
- Use Rails logger if available. Now we do not pollute STDOUT by default

4.0.0
- Add support for murmur3 algo
- Optimize memory usage

3.3.0
- Add support for traffic allocation

3.2.4
- Fix Faraday compability issue (now compatible with Faraday 0.8.9)
- Provide an interface to run SplitAdapter(start and resume), can be used to resurrect threads in Unicorn and Passenger servers
- Allow passing non-string values to get_treatment/get_treatments
- Better logging when returning CONTROL and label:Exception as well as when restarting threads
- Add exception logging when failed to clear impressions keys or fetch impressions keys
- Fix Redis naming issues (key_name -> keyName)
- Fix negation matcher. Negation had not effect and was ignored.

3.2.3
- Fix Redis namespace issue to align with the spec
- Allocate less memory by not creating Split model to check if Split is archived

3.2.2
- Fix issue when segment_store was never invoked

3.2.0
- Add impression labeling

3.1.3
- Refactor SplitFactory - split it into separate mangers and client classes
- Refactor Utilities to comply style guide
- Allow to store block until ready flag in Redis
- rescue exception when posting impressions threads failed to prevent it to die

3.1.2
- Fix issue with complex key where get_treatment and get_treatments return different values.

3.1.1
- Fix variable not found when posting impression
- Fix infinite loop when posting impression if there is a network glitch

3.1.0
- Add RedisAdapter
- adds manager.split_names()
- add impressions_queue_size to prevent memory leak when Threads pauses due to 'smart' fork.
- do not report latencies for get_treatment is array is all zeros
- Fix deduplication problem when posting impressions
- Change in how factory is construct.
- Detach implementation for local factory and regular one.

3.0.3

- Fix nil ref in manager

3.0.2

- add ability to provide different bucketing/matching keys

3.0.1

- fix segments not deleting from the cache

3.0.0

- add new caching interface
- add replaceable adapters to store cache in
- add first cache adapter: MemoryAdapter
- refactoring

2.0.1

- Supress warnings cause by Net::HTTP when it already exists.

2.0.0

- Add Factory for creation of Client and Manager interface.

1.0.4

- added support for AND combiner on conditions
- added events_uri as config param which defines the metrics post url
- updated metrics post default endpoint to be https://events.split.io/api/

1.0.3
- fixed refresh rate intervals issue
- fixed datetime bug for split definitions created directly from api

1.0.2
- created between_matcher, equal_to_matcher, greater_than_or_equal_to_matcher, less_than_or_equal_to_matcher to support attributes
- refactored whitelist_matcher to support attributes
- tweaked to drop analytics data if the POST get an error response
- added condition to return CONTROL on the deleted features

1.0.1

- .splits to .split for local env
- isTreatment was removed from the API.

1.0.0

- Support multivariate treatment