The core of Livewire has been totally rewritten from scratch. Rewriting the core was a huge undertaking, but it was necessary to accomplish everything that’s included in this release. The new core architecture will also be much easier to maintain for Caleb and the Livewire core contributors.
The v3 core now utilizes Alpine to its full potential. Instead of including code for applying DOM updates, adding event listeners, etc.
in both Livewire and Alpine, Livewire v3 utilizes Alpine for the heavy lifting. By registering Alpine plugins, Livewire now allows Alpine to do the heavy lifting while still providing the syntactic sugar you’ve come to love.
This also means Alpine is now included by default with Livewire, so there’s no need to load Alpine via a CDN or NPM. It’s automatically injectedIn the past, I considered nesting Livewire components an anti-pattern or something to avoid when possible because of potential performance implications. In v3, that won’t be the case!With reactive props, bundled requests, the new $parent property, and other improvements, v3 is improving component nesting quite a bit.We’ll cover some of these improvements in more detail later in this post.