Split v4.0.2 Release Notes

Release Date: 2022-12-02 // over 1 year ago
  • ๐Ÿ›  Bugfixes:

    • Stop crashing on non-hash json (@knarewski, #697)
    • ๐Ÿš… Handle when Rails is partially loaded as a Gem (@TSMMark, #687)

    ๐Ÿ”‹ Features:

    • โž• Add support for redis-client, which does not automatically cast types to strings (@knarewski, #696)
    • โž• Add ability to initialize experiments (@robin-phung, #673)

    Misc:

    • ๐Ÿ›  Fix default branch name and gem metadata indentation (@ursm, #693)
    • โšก๏ธ Update actions/checkout to v3 (@andrehjr, #683)
    • Enforce double quotes (@andrehjr, #682)
    • ๐Ÿ›  Fix Rubocop Style/* Offenses (@andrehjr, #681)
    • Enable rubocop on Github Actions (@andrehjr, #680)
    • ๐Ÿ›  Fix all Layout issues on the project (@andrehjr, #679)
    • ๐Ÿ›  Fix Style/HashSyntax offenses (@andrehjr, #678)
    • โœ‚ Remove usage of deprecated implicit block expectation from specs (@andrehjr, #677)
    • โœ‚ Remove appraisals configuration (@andrehjr, #676)
    • โž• Add Ruby 3.1 (@andrehjr, #675)
    • ๐Ÿ’Ž Encapsulate Split::Algorithms at our own module to avoid explicit calling rubystats everywhere (@andrehjr, #674)

Previous changes from v4.0.1

  • ๐Ÿ›  Bugfixes:

    • ๐Ÿ“‡ ab_test must return metadata on error or if split is disabled/excluded user (@andrehjr, #622)
    • Fix versioned experiments when used with allow_multiple_experiments=control (@andrehjr, #613)
    • Only block Pinterest bot (@huoxito, #606)
    • 0๏ธโƒฃ Respect experiment defaults when loading experiments in initializer. (@mattwd7, #599)
    • โœ‚ Removes metadata key when it updated to nil (@andrehjr, #633)
    • ๐Ÿ‘ฎ Force experiment does not count for metrics (@andrehjr, #637)
    • Fix cleanup_old_versions! misbehaviour (@serggl, #661)

    ๐Ÿ”‹ Features:

    • Make goals accessible via on_trial_complete callbacks (@robin-phung, #625)
    • ๐Ÿ’Ž Replace usage of SimpleRandom with RubyStats(Used for Beta Distribution RNG) (@andrehjr, #616)
    • Introduce enable/disable experiment cohorting (@robin-phung, #615)
    • Add on_experiment_winner_choose callback (@GenaMinenkov, #574)
    • โž• Add Split::Cache to reduce load on Redis (@rdh, #648)
    • Caching based optimization in the experiment#save path (@amangup, #652)
    • โž• Adds config option for cookie domain (@joedelia, #664)

    Misc:

    • โฌ‡๏ธ Drop support for Ruby < 2.5 (@andrehjr, #627)
    • โฌ‡๏ธ Drop support for Rails < 5 (@andrehjr, #607)
    • โฌ†๏ธ Bump minimum required redis to 4.2 (@andrehjr, #628)
    • โœ‚ Removed repeated loading from config (@robin-phung, #619)
    • Simplify RedisInterface usage when persisting Experiment alternatives (@andrehjr, #632)
    • โœ‚ Remove redis_url impl. Deprecated on version 2.2 (@andrehjr, #631)
    • Remove thread_safe config as redis-rb is thread_safe by default (@andrehjr, #630)
    • ๐Ÿ›  Fix typo of in Split::Trial class variable (TomasBarry, #644)
    • โšก๏ธ Single HSET to update values, instead of multiple ones (@andrehjr, #640)
    • ๐Ÿ‘‰ Use Redis#hmset to keep compatibility with Redis < 4.0 (@andrehjr, #659)
    • โœ‚ Remove 'set' parsing for alternatives. Sets were used as storage and deprecated on 0.x (@andrehjr, #639)
    • โž• Adding documentation related to what is stored on cookies. (@andrehjr, #634)
    • Keep railtie defined under the Split gem namespace (@avit, #666)
    • โšก๏ธ Update RSpec helper to support block syntax (@clowder, #665)