Alpine Release Notes

Last updated: Apr 2, 2026

  • Apr 2, 2026
    • Date parsed from source:
      Apr 2, 2026
    • First seen by Releasebot:
      Apr 2, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.15.11

    Alpine ships fixes and usability updates, including CSP cleanup, smoother x-trap scrollbar behavior, template-based x-sort handles, a new x-anchor.noflip modifier, better x-for warnings, and a morph $refs regression fix.

    What's Changed

    • fix(csp): skip sharedStorage when enumerating globalThis properties by @PierreBultez in #4787
    • Fix x-trap.noscroll layout shift conflict with scrollbar-gutter by @dotfrag in #4512
    • Add support for [x-sort:handle] attributes defined in template tags by @SimoTod in #4483
    • Add x-anchor.noflip modifier by @calebporzio in #4791
    • Warn when x-for template has multiple root elements by @calebporzio in #4752
    • Fix $refs unavailable during morph (v3.15.9 regression) by @calebporzio in #4793

    New Contributors

    • @PierreBultez made their first contribution in #4787
    • @dotfrag made their first contribution in #4512

    Full Changelog: v3.15.10...v3.15.11

    Original source Report a problem
  • Apr 1, 2026
    • Date parsed from source:
      Apr 1, 2026
    • First seen by Releasebot:
      Apr 1, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.15.10

    Alpine fixes x-anchor crash during wire:navigate cleanup.

    Fixed

    Fix x-anchor crash during wire:navigate cleanup #4790

    Original source Report a problem
  • All of your release notes in one feed

    Join Releasebot and get updates from Alpine.js and hundreds of other software products.

  • Mar 27, 2026
    • Date parsed from source:
      Mar 27, 2026
    • First seen by Releasebot:
      Mar 27, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.15.9

    Alpine ships a maintenance release with smoother dialog and focus handling, stronger x-model and x-for behavior, improved morph and x-anchor support, better class and attribute handling, and a handful of bug fixes plus performance updates.

    What's Changed

    • fix(morph): close dialogs properly when removing open attribute by @calebporzio in #4739
    • Update tabbable and focus-trap dependencies in focus plugin by @joshhanley in #4737
    • feat(x-anchor): allow dynamic reference to be used with x-anchor by @maximbelyayev in #4735
    • Handle all types of whitespace in class lists, not just spaces by @calebporzio in #4743
    • docs: clearer variable name in x-bind example by @calebporzio in #4742
    • Fix x-model.parent when inside of x-teleport by @willrowe in #4676
    • feat: x-on.passive.false modifier by @hirasso in #4610
    • Add support for Set objects in x-for loop function by @alfanzain in #4672
    • Add support for custom options and cancelable $dispatch by @nicolagianelli in #4608
    • Fix how x-html handles undefined by @willrowe in #4555
    • move dependencies from monorepo root to correct packages by @Igloczek in #4550
    • Don't assign the normalEvaluator per default by @JeroenBoersma in #4548
    • Fix class setters invocation on nested x-data by @helio3197 in #4528
    • 🐛 Masks model updates by @ekwoka in #4175
    • Allow debouncing/throttling x-model when using x-modelable by @Spitfire972 in #4186
    • UI x-radio: fix keyboard navigation when value of first/last radio option is null by @gdebrauwer in #4308
    • Improve handling of autocomplete values in X-Mask by @robertmarney in #4260
    • ⚡ Improves x-for performance by @ekwoka in #4361
    • Fix x-ref crash during child-element morph by @calebporzio in #4748
    • Fix $watch oldValue for objects by @calebporzio in #4749
    • Escape attribute values in morph setAttribute patch by @joshhanley in #4770
    • Fix x-model setting .value instead of .checked on checkboxes by @ganyicz in #4779
    • Fix x-model.blur crash when input is removed from a form by @joshhanley in #4783

    New Contributors

    • @maximbelyayev made their first contribution in #4735
    • @hirasso made their first contribution in #4610
    • @alfanzain made their first contribution in #4672
    • @nicolagianelli made their first contribution in #4608
    • @Igloczek made their first contribution in #4550
    • @JeroenBoersma made their first contribution in #4548
    • @helio3197 made their first contribution in #4528
    • @Spitfire972 made their first contribution in #4186
    • @robertmarney made their first contribution in #4260

    Full Changelog: v3.15.8...v3.15.9

    Original source Report a problem
  • Feb 2, 2026
    • Date parsed from source:
      Feb 2, 2026
    • First seen by Releasebot:
      Feb 3, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.15.8

    Fixed

    Flush x-model.blur value before form submit handlers run #4729

    Original source Report a problem
  • Feb 2, 2026
    • Date parsed from source:
      Feb 2, 2026
    • First seen by Releasebot:
      Feb 2, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.15.7

    Fixed

    • Fix $watch firing callback when primitive value unchanged #4732
    Original source Report a problem
  • Jan 30, 2026
    • Date parsed from source:
      Jan 30, 2026
    • First seen by Releasebot:
      Jan 31, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.15.6

    Added

    • Add reactive effect transactions #4731
    Original source Report a problem
  • Jan 26, 2026
    • Date parsed from source:
      Jan 26, 2026
    • First seen by Releasebot:
      Jan 26, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.15.5

    Added

    feat(x-model): add .change, .blur, and .enter event modifiers #4728

    Original source Report a problem
  • Jan 13, 2026
    • Date parsed from source:
      Jan 13, 2026
    • First seen by Releasebot:
      Jan 14, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.15.4

    Fixed

    • Fix sort auto evaluation #4716
    • Fix duplicate attribute/value situations
    Original source Report a problem
  • Dec 16, 2025
    • Date parsed from source:
      Dec 16, 2025
    • First seen by Releasebot:
      Dec 23, 2025
    Alpine.js logo

    Alpine by Alpine.js

    v3.15.3

    Changes

    • Improve evaluator #4711
    • fix add support for ShadowRoot in findClosest function and export of injectMagics/initInterceptors #4699
    • fix(docs): initialise data, fix typo in x-on example #4701
    Original source Report a problem
  • Nov 15, 2025
    • Date parsed from source:
      Nov 15, 2025
    • First seen by Releasebot:
      Dec 23, 2025
    Alpine.js logo

    Alpine by Alpine.js

    v3.15.2

    Changes

    • Imrove CSP bundle #4704
    • Add setErrorHandler #4673
    Original source Report a problem

Related products