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
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
v3.15.10
Alpine fixes x-anchor crash during wire:navigate cleanup.
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
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
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
v3.15.7
Fixed
- Fix $watch firing callback when primitive value unchanged #4732
- Jan 30, 2026
- Date parsed from source:Jan 30, 2026
- First seen by Releasebot:Jan 31, 2026
v3.15.6
- Jan 26, 2026
- Date parsed from source:Jan 26, 2026
- First seen by Releasebot:Jan 26, 2026
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
v3.15.4
Fixed
- Fix sort auto evaluation #4716
- Fix duplicate attribute/value situations
- Dec 16, 2025
- Date parsed from source:Dec 16, 2025
- First seen by Releasebot:Dec 23, 2025
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
- Nov 15, 2025
- Date parsed from source:Nov 15, 2025
- First seen by Releasebot:Dec 23, 2025
v3.15.2