## 0.6.0 (April 4, 2013)

Features:

  - Support for Ruby 2.0.0 (@phoet, #142)
  - Multiple Goals (@liujin, #109)
  - Ignoring IPs using Regular Expressions (@waynemoore, #119)
  - Added ability to add more bots to the default list (@themgt, #140)
  - Allow custom configuration of user blocking logic (@phoet , #148)

Bugfixes:

  - Fixed regression in handling of config files (@iangreenleaf, #115)
  - Fixed completion rate increases for experiments users aren't participating in (@philnash, #67)
  - Handle exceptions from invalid JSON in cookies (@iangreenleaf, #126)

Misc:

  - updated minimum json version requirement
  - Refactor Yaml Configuration (@rtwomey, #124)
  - Refactoring of Experiments (@iangreenleaf @tamird, #117 #118)
  - Added more known Bots, including Pingdom, Bing, YandexBot (@julesie, @zinkkrysty)
  - Improved Readme (@iangreenleaf @phoet)

## 0.5.0 (January 28, 2013)

Features:

  - Persistence Adapters: Cookies and Session (@patbenatar, #98)
  - Configure experiments from a hash (@iangreenleaf, #97)
  - Pluggable sampling algorithms (@woodhull, #105)

Bugfixes:

  - Fixed negative number of non-finished rates (@philnash, #83)
  - Fixed behaviour of finished(:reset => false) (@philnash, #88)
  - Only take into consideration positive z-scores (@thomasmaas, #96)
  - Amended ab_test method to raise ArgumentError if passed integers or symbols as
    alternatives (@buddhamagnet, #81)

## 0.4.6 (October 28, 2012)

Features:

  - General code quality improvements (@buddhamagnet, #79)

Bugfixes:

  - Don't increment the experiment counter if user has finished (@dimko, #78)
  - Fixed an incorrect test (@jaywengrow, #74)

## 0.4.5 (August 30, 2012)

Bugfixes:

  - Fixed header gradient in FF/Opera (@philnash, #69)
  - Fixed reseting of experiment in session (@apsoto, #43)

## 0.4.4 (August 9, 2012)

Features:

  - Allow parameter overrides, even without Redis. (@bhcarpenter, #62)

Bugfixes:

  - Fixes version number always increasing when alternatives are changed (@philnash, #63)
  - updated guard-rspec to version 1.2

## 0.4.3 (July 8, 2012)

Features:

  - redis failover now recovers from all redis-related exceptions

## 0.4.2 (June 1, 2012)

Features:

  - Now works with v3.0 of redis gem

Bugfixes:

  - Fixed redis failover on Rubinius

## 0.4.1 (April 6, 2012)

Features:

  - Added configuration option to disable Split testing (@ilyakatz, #45)

Bugfixes:

  - Fix weights for existing experiments (@andreas, #40)
  - Fixed dashboard range error (@andrew, #42)

## 0.4.0 (March 7, 2012)

**IMPORTANT**

If using ruby 1.8.x and weighted alternatives you should always pass the control alternative through as the second argument with any other alternatives as a third argument because the order of the hash is not preserved in ruby 1.8, ruby 1.9 users are not affected by this bug.

Features:

  - Experiments now record when they were started (@vrish88, #35)
  - Old versions of experiments in sessions are now cleaned up
  - Avoid users participating in multiple experiments at once (#21)

Bugfixes:

  - Overriding alternatives doesn't work for weighted alternatives (@layflags, #34)
  - confidence_level helper should handle tiny z-scores (#23)

## 0.3.3 (February 16, 2012)

Bugfixes:

  - Fixed redis failover when a block was passed to ab_test (@layflags, #33)

## 0.3.2 (February 12, 2012)

Features:

  - Handle redis errors gracefully (@layflags, #32)

## 0.3.1 (November 19, 2011)

Features:

  - General code tidy up (@ryanlecompte, #22, @mocoso, #28)
  - Lazy loading data from Redis (@lautis, #25)

Bugfixes:

  - Handle unstarted experiments (@mocoso, #27)
  - Relaxed Sinatra version requirement (@martinclu, #24)


## 0.3.0 (October 9, 2011)

Features:

  - Redesigned dashboard (@mrappleton, #17)
  - Use atomic increments in redis for better concurrency (@lautis, #18)
  - Weighted alternatives

Bugfixes:

  - Fix to allow overriding of experiments that aren't on version 1


## 0.2.4 (July 18, 2011)

Features:

  - Added option to finished to not reset the users session

Bugfixes:

  - Only allow strings as alternatives, fixes strange errors when passing true/false or symbols

## 0.2.3 (June 26, 2011)

Features:

  - Experiments can now be deleted from the dashboard
  - ab_test helper now accepts a block
  - Improved dashboard

Bugfixes:

  - After resetting an experiment, existing users of that experiment will also be reset

## 0.2.2 (June 11, 2011)

Features:

  - Updated redis-namespace requirement to 1.0.3
  - Added a configuration object for changing options
  - Robot regex can now be changed via a configuration options
  - Added ability to ignore visits from specified IP addresses
  - Dashboard now shows percentage improvement of alternatives compared to the control
  - If the alternatives of an experiment are changed it resets the experiment and uses the new alternatives

Bugfixes:

  - Saving an experiment multiple times no longer creates duplicate alternatives

## 0.2.1 (May 29, 2011)

Bugfixes:

  - Convert legacy sets to lists to avoid exceptions during upgrades from 0.1.x

## 0.2.0 (May 29, 2011)

Features:

  - Override an alternative via a url parameter
  - Experiments can now be reset from the dashboard
  - The first alternative is now considered the control
  - General dashboard usability improvements
  - Robots are ignored and given the control alternative

Bugfixes:

  - Alternatives are now store in a list rather than a set to ensure consistent ordering
  - Fixed diving by zero errors

## 0.1.1 (May 18, 2011)

Bugfixes:

  - More Robust conversion rate display on dashboard
  - Ensure `Split::Version` is available everywhere, fixed dashboard

## 0.1.0 (May 17, 2011)

Initial Release