Why Livewire v2 removed Turbolink?

Any idea Why Livewire v2 removed Turbolink? and how can we now create that SPA-like feeling for the user without lots of hacks and tweaks?

It wasn’t completely removed but just not included out of the box. It is now in its own package.

See https://laravel-livewire.com/docs/2.x/upgrading#turbolinks

From README:

If you are using Turbolinks AND Livewire on the same page, this plugin is required.

Livewire Version 1 supported Turbolinks internally. Livewire Version 2 has removed internal support and extracted it into this plugin.

The goal of this adapter is to provide full Turbolinks support in Livewire. However, because certain current and future features may be incompatible, we’ve extracted this into a seperate package with the goal of keeping Turbolinks expectations, bugs, and fixes, isolated and away from the core of Livewire.

To that end, there are loose plans to add a Turbolinks-esque set of functionality to Livewire itself, but there are no immediate plans.

For the forseeable future, this adapter will remain a valid option for Livewire users hoping to user Turbolinks in their apps.