Install

Works with Drupal: ^10 || ^11

Using Composer to manage Drupal site dependencies

Alternative installation files

Download tar.gz 35.08 KB
MD5: 66e67c3bc7ff3af31af2803b651f048c
SHA-1: 978499167e462950bdca0832208f3db4d21742fa
SHA-256: ffe84581e850eb34a3468a80107a3b1669f6e897bec75c0ddee9c41a2c85f774
Download zip 54.31 KB
MD5: 55f249e1c9a1041d556bf61550d1bb87
SHA-1: f61ec1d8ec35d5df38d49554f1dadeca7569a47e
SHA-256: 7e3459d942867b49181c2a8ac16721ac0d22bb11f81cc9bf055804325d3f47ae

Release notes

Improvements

  • A/B testing logic is now strictly limited to the canonical node route (entity.node.canonical), preventing interference with administrative and editorial workflows.
  • Fixed an issue where editing nodes participating in experiments could trigger unintended redirections.
  • Redirects now correctly respect the current content language, ensuring proper behavior when using language switchers or accessing translated content.
  • Canonical URLs are now language-aware for improved SEO consistency in multilingual setups.

New features

  • Explicit preview mode for variants

    Users with the preview server-side ab variants permission can preview variant pages without redirection using:
    ?ab_preview=1
  • Editorial bypass mode

    Introduced a new permission:
    bypass server-side ab testing

    Authenticated users with this permission can:

    • Browse variant pages without being redirected
    • Access main pages without being assigned to a variant

    This provides a smoother editorial experience when reviewing experiment content.

Behavior

  • Public behavior remains unchanged:
    • Variant pages continue to redirect to the experiment main page
    • Users are assigned deterministically as before
  • Preview mode:
    • Explicit (opt-in via query parameter)
    • Permission-based
    • Does not affect normal users
  • Editorial bypass:
    • Applies only to authenticated users with the appropriate permission
    • Skips both assignment and redirection logic
    • Does not affect public traffic or caching behavior

Developer notes

  • Multilingual handling now uses content language (LanguageInterface::TYPE_CONTENT) to ensure consistent behavior across translated routes.
  • Experiment logic remains fully cache-aware and compatible with Dynamic Page Cache via the ab_testing cache context.
  • No configuration changes required.
Created by: emartos
Created on: 6 Apr 2026 at 20:13 UTC
Last updated: 6 Apr 2026 at 20:13 UTC
Bug fixes
New features

Other releases