Laravel 5.7.23 Released
Published on by Paul Redmond
The Laravel team and contributors released Laravel v5.7.23 yesterday, along with a fix release for the ResetPassword
notification in v5.7.24.
The bulk of the new changes are in v5.7.23:
First, the AbstractPaginator::getOptions()
was added to retrieve the original paginator options which are now stored in an $options
property.
Next, an orWhere
proxy method was added for scopes in the EloquentBuilder
, with a new class introduced to Illuminate\Support
called HigherOrderBuilderProxy
to proxy scope calls onto the query builder. Given the scopes one
, two
, and three
, you can write the following:
$model->newQuery() ->one() ->orWhere->two() ->orWhere->three();
You can now configure the app
path for your application, which was previously only possible through subclassing the Application
class. In the bootstrap/app.php
file after the application instance is created:
$app = new Illuminate\Foundation\Application( $_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)); $app->useAppPath(__DIR__ . '/../src/App');
The last new feature in v5.7.23 is a configuration for the stack
logger:
'stack' => [ 'driver' => 'stack', 'channels' => ['single'], 'ignore_exceptions' => true,],
When set to true
, the handlers are wrapped in Monolog’s WhatFailureGroupHandler
handler. Their wrapper/special handlers documentation describes this handler as follows:
This handler extends the GroupHandler ignoring exceptions raised by each child handler. This allows you to ignore issues where a remote tcp connection may have died, but you do not want your entire application to crash and may wish to continue to log to other handlers.
Next, v5.7.24 was tagged to fix the ResetPassword
notification’s call to Lang::getFromJson()
. See the PR #27351 for details. Users should upgrade to v5.7.24.
You can see the full list of fixes below, and the whole diff between 5.7.22 and 5.7.23 on GitHub. The full release notes for Laravel 5.7 are available in the GitHub 5.7 changelog:
v5.7.24 (2019-01-30)
Fixed
v5.7.23 (2019-01-29)
Added
- Added
AbstractPaginator::getOptions()
method (#27273) - Added
Communication link failure
toDetectsLostConnections
trait (#27307) - Added
orWhere()
proxy
forscopes
toEloquentBuilder
(#27281, 2e6fe85) - Allow the
app path
to be configured (#27332, d73e672) - Added config for using
WhatFailureGroupHandler
whenStackDriver
created for Logger (#27308 ,6a92651)
Fixed
- Fixed
QueueableCollection
serialization of Eloquent Models when usingBinary IDs
(#27271) - Replaced
newModelQuery()
withnewQueryWithoutRelationships()
forUPDATE
/DELETE
queries (#27277)