Laravel 9.26 Released
Published on by Paul Redmond
The Laravel team released 9.26 with a Vite asset helper, Closure support to dispatch conditionals, min and max digit validation rules, and more:
Vite asset URL helper
Tim MacDonald contributed a Vite asset URL helper to generate a URL in Blade. Given the following code in your app's JS entrypoint, Vite will process all images and fonts in these paths:
import.meta.glob([ '../images/**', '../fonts/**',]);
Now, using the Vite asset helper method, it will point to your project's build assets within a blade template:
<img src="{{ Vite::asset('resources/images/logo.jpeg') }}"> {{-- <img src="http://asset-url.com/build/assets/logo.1ddf943b.jpeg"> --}}
See Processing Static Assets With Vite in the Vite documentation for further details.
Add Closure support to dispatch conditionals
@Italo contributed the usage of a Closure
to dispatch jobs conditionally. The entire job instance is passed to the closure:
// Dispatches jobMyQueuableJob::dispatchIf( fn ($job) => true, $name); // Will not dispatchMyQueuableJob::dispatchUnless( fn ($job) => false, $name);
Min and max digits validation
Dan Harrin contributed min_digits
and max_digits
built-in validation rules. These rules require the integer under validation must have a minimum or maximum length of value:
Validator::validate([ 'number' => 1000,], [ 'number' => [ // Passes as `1000` has 4 digits 'min_digits:3', 'max_digits:5', // Fails as `1000` is greater than 5 'min:3', 'max:5', ],])
Added support for additional "where" methods in route groups
Ollie Read contributed support for all remaining where*
methods available on routes to route groups:
Route::whereIn(['foo', 'bar'], ['one', 'two']) ->prefix('/{foo}/{bar}') ->group(function () { // ... });
Release Notes
You can see the complete list of new features and updates below and the diff between 9.25.0 and 9.26.0 on GitHub.