Improved

Ruby SDK v2.0.0

View on GitHub

New Features and Improvements

  • Experience Version-Based Bucketing Layout

    • The bucketing layout is now selected by experience.version, allowing for more granular control over experiment segmentation.
  • Anchored Bucketing Layout

    • Introduced anchored bucketing layout under contract v12, offering enhanced stability in bucketing logic.
  • Enhanced Rails Demo with Experiment Preview Links

    • Experiment preview links and debug_token are now integrated into the Rails demo, providing better visibility and testing capabilities.
  • Improved Event/State Preview Parity

    • Implemented naive-fold summation to enhance preview event/state parity, ensuring consistent experiment previews.

Bug Fixes

  • Rubocop and Data-Only Guard Enhancements

    • Addressed code review issues by implementing data-only guards, coercing preview IDs, and aligning with Rubocop standards. #41
  • Run Experiences Preview Target Fix

    • The preview target is now correctly forced in run_experiences, aligning behavior across all runs.
  • Steep RBS Declaration for Force Preview

    • Added force_preview_in_run_all to RBS and ensured previews are passed as non-nil arguments, resolving type system issues.
  • RBS Signature Compliance in Redactor

    • Retained URL_QUERY_PATTERN to meet RBS signature requirements, ensuring compatibility with type checking.
  • ReDoS Vulnerability Fixes in URL Redactor

    • Enhanced the URL query-stripping regex to prevent polynomial ReDoS vulnerabilities through more efficient regex patterns.