Livewire 4.3.4
So Livewire 4.3.4 just dropped, and I've been poking at it all morning. TL;DR: it's a bug-bash release with one juicy refactor under the hood, and the 3.x branch got some love too. Let's dig in.
The wire:model Blues Are (Mostly) Over
Remember that infuriating bug where wire:model.blur would resurrect array entries you'd just deleted? Yeah, that one's fixed — backported to both 3.x and 4.x (PR #10370). And while they were in there, they also stopped wire:model.live.blur from firing redundant requests (PR #10284). My forms feel snappier already, I swear.
Stale Snapshots, Squashed
Overlapping wire:model.live requests could leave you with stale reactive snapshots — you type fast, the response lags, and boom, wrong state. PR #10061 fixes the race. This is the kind of bug that's been haunting people with slow connections and autocomplete-heavy inputs, so if that's you: upgrade, period.
The HandleSynths Refactor
Internally, 4.3.4 extracts synth orchestration into a dedicated HandleSynths mechanism (PR #10276) and gives BaseRenderless its own feature (PR #10346). Don't worry — this is an internal cleanup, not a breaking change. It's the kind of groundwork that makes future releases faster to ship.
Validation TypeErrors, Fixed
If your rules(), messages(), or validationAttributes() methods return a Collection, Livewire was throwing a TypeError. Now it handles Collections gracefully instead of exploding mid-validation. Small fix, but it unblocks a surprisingly common pattern.
Upgrade Notes
composer require livewire/livewire:^4.3.4 — no config changes, no migration steps, nothing to rewrite. If you're on 4.x, this is a drop-in upgrade. If you're still on 3.x, the 3.x branch got the array-entry fix too, so nobody's left out in the cold. Go get it.