# Upgrade v7 to v8

My initial plan was to make this update with as minimal changes as possible. But Livewire evolves quickly and it turned out to become a complete rewrite.

#### Whats new

* All fields (almost) can be used as headless components
* Component to render fields only
* Component to render a form without buttons
* Form in modal component, with new stub, and artisan cmd
* Supports Alpine v3 and php8
* Aliases for fields
* Language files
* Validation errors as stacked Alpine notifications&#x20;
* two new spinner icons, animated with Tailwind
* Default form properties and most methods are protected from frontend
* public saveFoo() is now protected saveFoo()
* The Spatie Tags field is deprecated.&#x20;
* New Tags field&#x20;
* New TagsSearch field (replaces Spatie Tags)
* Added support for $view->slot(...)
* Set field validation attribute name
* Form properties are moved from `mount()` to `formAttr()`
* `DatePickerAlpine` if no default date/time is set + the field is required,  auto-fills the input with current time, formatted to guessed, user timezone.
* Supports both **Tailwind 2 and 3**, read the manual installation steps for tailwind config, laravel mix and theme.

### Requirements

* See [Requirements page ->](#requirements)

### Upgrading steps

* [ ] Upgrade tall-forms
* [ ] Publish language files
* [ ] Publish/merge theme
* [ ] Publish/merge config
* [ ] artisan cache:clear, config:clear, view:clear
* [ ] npm run dev
* [ ] Read upgrade guide, apply changes
* [ ] (publish and merge changed views)
* [ ] (review extended Blade classes)
* [ ] (review custom Fields)
