4.5.1 (May 16th, 2018) - do not return control when a split has custom attr and I don't pass attributes to get_treatment 4.5.1 (Mar 23rd, 2018) - Fix Forwardable load issue - Fix native extension path issue - Add .jar executable to the gem 4.5.0 (Mar 2nd, 2018) - Move MurmurHash3 implementation inside the gem - Add native Java MurmurHash3 implementation -> now support JRuby 4.4.0 (Feb 5th, 2018) - Add track API 4.3.3 (Feb 22th, 2018) - Allow usage of Redis >= 3.2, not only ~> 3.2 4.3.2 (Dec 19th, 2017) - Add DEFINITION_NOT_FOUND and rename NO_RULE_MATCHED labels 4.3.1 (Nov 10th, 2017) - Do not throw exception when storing impressions on reids and it is not available. Returns CONTROL instead. 4.3.0 (Oct 13th, 2017) - Add impression listener - Add support for client shutdown (destroy()) - Add "time" to the routed impressions - Add support to apply attribute matcher to the traffic type - Add support for string matchers to match on matching keys 4.2.3 (August 4, 2017) - Use ENV vars in producer 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