Release Notes
Laravel Nova Release Notes
Nova 5 continues the improvements made in Nova 4.x by introducing support for tab panels, searchable select filters, dependent field improvements, third party component improvements, and dependency modernization with support for Inertia.js 2.x.
Modernizing Dependencies
Nova 5 removes support for Laravel 8.x and 9.x, while also requiring PHP 8.1+. This dependency upgrade allows for deeper integration with the Laravel ecosystem, including Fortify, Prompts, and Pennant.
Furthermore, Nova’s frontend code has been updated to utilize Vue 3.5, Heroicons 2.x, and Inertia.js 2.x. Please refer to the Nova upgrade guide for a detailed description of these changes and how they affect your application.
Tab Panels
Nova 5 further improves the resource UI with the introduction of Tabs Panels on the resource detail and form pages:
For example, the code snippet above will generate the following tabs:
To learn more about adding tab panels to your Nova resources, check out the tab documentation.
Fields & Filters Improvements
New Dependent Computed Field via Field::computed()
method
Nova 5 introduces an enhanced computed
method that builds upon the previous computed fields feature. While computed fields have always been valuable for displaying additional resource information, they previously lacked a unique $attribute
identifier, which limited their use as dependent fields. This limitation has been resolved in Nova 5:
More information on computed fields can be found within the computed field documentation.
New Field::immutable()
method
While readonly fields disable a field’s input and prevent form submission of its value, immutable fields offer more flexibility. By invoking the immutable
method on a field, you can prevent users from modifying the field’s value while still allowing it to be submitted with the form.
You may also pass a boolean argument to the immutable
method to dynamically control whether a field should be immutable:
Further reading is available on the documentation.
Other Field Improvements
- Enums may now be used as
Select::options()
- Searchable select filters are now supported
- JSON
Repeater
fields are now displayed on the resource detail page
Separate Policy Classes for Nova Resources
In previous Nova releases, Nova resources shared authorization policies with your user-facing application. This approach to authorization can present problems if your application’s authorization logic differs from how resource authorization should be handled for Nova operations.
In Nova 5, you may now create a separate policy class that is only used for operations that are triggered via Nova:
To enable the new policy you need to add the following code:
Further reading is available on the Authorization documentation.
Was this page helpful?