Alpine.js Release Notes

Follow

28 release notes curated from 1 source by the Releasebot Team. Last updated: Sep 22, 2026

Get this feed:

Alpine.js Products

  • Sep 21, 2026
    • Date parsed from source:
      Sep 21, 2026
    • First seen by Releasebot:
      Sep 22, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.17.4

    Alpine fixes mutation observer recovery and adds a viewport modifier to the resize plugin.

    What's Changed

    • Fix mutation observer recovery after errors by @BillyNoyes in #4908
    • Add viewport modifier to resize plugin by @BillyNoyes in #4910

    New Contributors

    • @BillyNoyes made their first contribution in #4908

    Full Changelog: v3.17.3...v3.17.4

    Original source
  • Sep 14, 2026
    • Date parsed from source:
      Sep 14, 2026
    • First seen by Releasebot:
      Sep 22, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.17.3

    Alpine releases v3.17.3 with parser, loop, and cloning fixes, plus improved x-on and x-model behavior, CI compatibility updates, and dependency bumps for js-yaml and Vitest.

    What's Changed

    • Bump js-yaml from 3.14.1 to 3.15.2 by @dependabot[bot] in #4896
    • Change x-for to allow loops like (foo)in(bar) by @ColonelThirtyTwo in #4897
    • Fix(CspParser): accept reserved words as property/method names and object keys by @MaxencePaulin in #4905
    • Fix: $watch and x-modelable can fire after being unwatched/released by @MaxencePaulin in #4903
    • Fix: skip init() in x-data during clone, matching x-init behavior by @MaxencePaulin in #4901
    • Bump @vitest/mocker and vitest by @dependabot[bot] in #4898
    • Stop x-on and x-model's own modifiers from being read as key names by @dylanpulver in #4891
    • Fix CI compatibility after the Vitest 5 upgrade by @calebporzio in #4906

    New Contributors

    • @ColonelThirtyTwo made their first contribution in #4897
    • @MaxencePaulin made their first contribution in #4905
    • @dylanpulver made their first contribution in #4891

    Full Changelog: v3.17.2...v3.17.3

    Original source
  • All of your release notes in one feed

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

    Create account
  • Sep 7, 2026
    • Date parsed from source:
      Sep 7, 2026
    • First seen by Releasebot:
      Sep 7, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.17.2

    Alpine fixes a decode-uri-component alert, updates browserslist, and improves CSP initialization in sandboxed iframes.

    What's Changed

    Fix decode-uri-component Dependabot alert by @calebporzio in #4889

    Bump browserslist from 4.21.5 to 4.28.8 by @dependabot[bot] in #4890

    Fix CSP initialization in sandboxed iframes by @calebporzio in #4893

    Full Changelog: v3.17.1...v3.17.2

    Original source
  • Aug 31, 2026
    • Date parsed from source:
      Aug 31, 2026
    • First seen by Releasebot:
      Aug 31, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.17.1

    Alpine adds dwell timing to the intersect plugin and clarifies how Alpine effects track reactive dependencies.

    What's Changed

    • Add dwell timing to the intersect plugin by @cyppe in #4884
    • Bump brace-expansion from 1.1.11 to 1.1.18 by @dependabot[bot] in #4882
    • Docs: clarify how Alpine effects track reactive dependencies by @MuslumYilmaz in #4883

    New Contributors

    • @cyppe made their first contribution in #4884
    • @MuslumYilmaz made their first contribution in #4883

    Full Changelog: v3.17.0...v3.17.1

    Original source
  • Aug 30, 2026
    • Date parsed from source:
      Aug 30, 2026
    • First seen by Releasebot:
      Aug 30, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.17.0

    Alpine adds deferInit for async tree suspension and fixes Unicode escapes in CSP string literals.

    What's Changed

    • Fix Unicode escapes in CSP string literals by @dawNotPoi in #4881
    • Add Alpine.deferInit() — suspend a tree until an async prerequisite settles by @calebporzio in #4887

    New Contributors

    • @dawNotPoi made their first contribution in #4881

    Full Changelog: v3.16.3...v3.17.0

    Original source
  • Similar to Alpine.js with recent updates:

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

    Alpine by Alpine.js

    v3.16.3

    Alpine fixes x-modelable and x-mask behavior and updates its PostCSS dependency.

    What's Changed

    • docs: clarify x-modelable value support by @pooridev in #4880
    • Fix x-mask attribute changes on x-model inputs by @joshhanley in #4852
    • Bump postcss from 8.5.6 to 8.5.26 by @dependabot[bot] in #4871

    New Contributors

    • @pooridev made their first contribution in #4880

    Full Changelog: v3.16.2...v3.16.3

    Original source
  • Aug 17, 2026
    • Date parsed from source:
      Aug 17, 2026
    • First seen by Releasebot:
      Aug 18, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.16.2

    Alpine fixes persisted state bugs, runs structural effects sooner, and upgrades @vue/reactivity to Vue 3.5.

    What's Changed

    • Fix fallback storage returning undefined for missing keys by @hamdyelbatal122 in #4867
    • fix(persist): don't persist undefined values by @Xuepoo in #4876
    • Run structural effects before dependent effects by @calebporzio in #4878
    • Upgrade @vue/reactivity to Vue 3.5 by @oddvalue in #4861

    New Contributors

    • @hamdyelbatal122 made their first contribution in #4867
    • @Xuepoo made their first contribution in #4876
    • @oddvalue made their first contribution in #4861

    Full Changelog: v3.16.1...v3.16.2

    Original source
  • Aug 11, 2026
    • Date parsed from source:
      Aug 11, 2026
    • First seen by Releasebot:
      Aug 13, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.16.1

    Alpine fixes Persist compatibility with older Alpine versions in a small patch release.

    What's Changed

    Fix Persist compatibility with older Alpine versions by @calebporzio in #4875

    Full Changelog: v3.16.0...v3.16.1

    Original source
  • Aug 10, 2026
    • Date parsed from source:
      Aug 10, 2026
    • First seen by Releasebot:
      Aug 11, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.16.0

    Alpine ships v3.16.0 with fixes for data loss, x-if and x-for duplication, x-model select syncing, and persisted stores, plus a new .parent modifier for x-intersect and improved release workflows.

    What's Changed

    • Fix data loss when binding objects to regular attributes by @daftspunk in #4826
    • Fix mask resurrecting key in object when it is cleared by @danharrin in #4812
    • Fix x-if and x-for content duplicating during morph by @ganyicz in #4785
    • fix: sync x-model select value after x-for renders options by @ljk0071 in #4769
    • Fix x-bind:value on <option> losing attribute when value is an empty string by @joshhanley in #4831
    • Fix :value bindings not updating custom elements when bound object data mutates by @joshhanley in #4833
    • Add .parent modifier for x-intersect by @kevinruscoe in #4839
    • Upgrade Cypress by @joshhanley in #4849
    • Preserve x-data scope when its expression changes by @calebporzio in #4868
    • Fix persisted single-value stores by @joshhanley in #4859
    • Pass cleanup callback to direct store interceptors by @calebporzio in #4869
    • Split draft and npm release workflows by @calebporzio in #4870
    • Use Node 24 for release workflows by @calebporzio in #4872

    New Contributors

    • @daftspunk made their first contribution in #4826
    • @ljk0071 made their first contribution in #4769
    • @kevinruscoe made their first contribution in #4839

    Full Changelog: v3.15.12...v3.16.0

    Original source
  • Apr 30, 2026
    • Date parsed from source:
      Apr 30, 2026
    • First seen by Releasebot:
      May 1, 2026
    Alpine.js logo

    Alpine by Alpine.js

    v3.15.12

    Alpine ships a polished update with a new .fixed positioning modifier for x-anchor, improved CSP evaluator behavior, x-for and x-sort crash fixes, more consistent x-id handling, teleport leak fixes, and minified ESM builds for each package.

    What's Changed

    • Add .fixed positioning modifier to x-anchor by @nicolagianelli in #4773
    • fix(csp): support MemberExpression assignments in evaluator by @dasm in #4807
    • Fix x-for crashing on null-prototype objects like Object.groupBy() results by @joshhanley in #4825
    • Fix && and || not short-circuiting in CSP evaluator by @joshhanley in #4823
    • Fix x-sort crash when container has a <template> with no .content by @joshhanley in #4819
    • Add minified ESM build output for each package by @joshhanley in #4820
    • Fix x-id evaluation order so $id resolves consistently inside x-data by @joshhanley in #4821
    • Fix @teleport leaking detached nodes on every Livewire render by @joshhanley in #4822

    New Contributors

    • @dasm made their first contribution in #4807

    Full Changelog: v3.15.11...v3.15.12

    Original source
  • 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
  • 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
  • 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
  • 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
  • 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
Releasebot

Curated by the Releasebot team

Releasebot is an aggregator of official release notes from hundreds of software vendors and thousands of sources.

Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.