Never Miss a Laravel Release 🚀
The Laravel team released version 12.35.0, introducing a cache failover driver, deferred queue dispatching, and more.
Failover Cache
Taylor Otwell contributed a failover cache driver, which automatically attempts to use configured stores when the primary cache store fails. For example, setting failover as the cache driver will use the database cache store. If it fails for any reason, the array store would be used next in the following example:
'failover' => [ 'driver' => 'failover', 'stores' => [ 'database', 'array', ],],
When you've configured the failover driver, you would then update the ENV value as follows:
CACHE_STORE=failover
See the Cache documentation for more details.
Deferred Queue
Taylor Otwell contributed a deferred queue, which is similar to a "sync" queue, except jobs are processed after the HTTP response is sent to the user.
RecordDelivery::dispatch($order)->onConnection('deferred');
See the Queues documentation for details.
Clickable File Reference for Thrown Exception
Jason McCreary added a file reference and line number to the thrown exception on the local exception page.
Neovim
Md. Arif Dewan added Neovim to supported editor links found in ResolvesDumpSource.php. You can configure the app.editor value to neovim to generate Neovim links on the local error page.
return [ 'editor' => 'neovim',];
Release notes
You can see the complete list of new features and updates below and the diff between 12.34.0 and 12.35.0 on GitHub. The following release notes are directly from the changelog:
v12.35.0
- [12.x] Fix
DB::update()with subqueries is not supported for all databases by @crynobone in https://github.com/laravel/framework/pull/57381 - [12.x] Ensure custom validation messages work for AnyOf, Can and Enum by @jackbayliss in https://github.com/laravel/framework/pull/57356
- Added Neovim editor support in ResolvesDumpSource by @cseknowledge in https://github.com/laravel/framework/pull/57392
- Add clickable file reference for thrown exception by @jasonmccreary in https://github.com/laravel/framework/pull/57400
- [12.x] Render newlines in query tooltip by @faisuc in https://github.com/laravel/framework/pull/57310
- [12.x] Add SQS FIFO and fair queue messageGroup() method support by @patrickcarlohickman in https://github.com/laravel/framework/pull/57421
- [12.x] Use MariaDB idiomatic
json_value()by @crishoj in https://github.com/laravel/framework/pull/57417 - Deferred queue by @taylorotwell in https://github.com/laravel/framework/pull/57428
- Fix validate integer php doc type annotation by @tei0110 in https://github.com/laravel/framework/pull/57435
- [12.x] Fix passing countable to Number::format() by @riesjart in https://github.com/laravel/framework/pull/57434
- [12.x] Update
Route::middlewareto accept null by @avosalmon in https://github.com/laravel/framework/pull/57436 - Only replace first basePath occurrence in dump source href by @fritz-c in https://github.com/laravel/framework/pull/57458
- [12.x] Add missing @throws annotations to Encrypter class by @sumaiazaman in https://github.com/laravel/framework/pull/57451
- [12.x] Add missing @throws annotations to Database Connection class by @sumaiazaman in https://github.com/laravel/framework/pull/57452
- [12.x] Test Improvements by @crynobone in https://github.com/laravel/framework/pull/57461
- Prevent TypeError in validateDigits when attribute value is an array by @elyass-dehghan in https://github.com/laravel/framework/pull/57471
- Bump vite from 7.1.6 to 7.1.11 in /src/Illuminate/Foundation/resources/exceptions/renderer by @dependabot[bot] in https://github.com/laravel/framework/pull/57460
- Failover cache by @taylorotwell in https://github.com/laravel/framework/pull/57430
- Must collect the unparsed event and payload when deferring events by @moshe-autoleadstar in https://github.com/laravel/framework/pull/57453