
Laravel 5.6.12 Released
Laravel 5.6.12 shipped over the weekend with added support for signed routes and URLs along with quite a few other new additions.
Support for signed routes was added by Taylor Otwell, which provides a few new methods you can use to generate a signed route and a temporary signed route. For example, if you have a named route foo
, you can generate a temporary URL. The following snippet comes from the pull request tests:
Route::get('/foo/{id}', function (Request $request, $id) {
return $request->hasValidSignature() ? 'valid' : 'invalid';
})->name('foo');
URL::temporarySignedRoute('foo', now()->addMinutes(5), ['id' => 1]);
The signed routes come with a new ValidateSignature
middleware that will throw an InvalidSignatureException
if the route signature is tampered with or expires, which results in a 401 status code.
Two new query builder methods were added, fromSub()
and fromRaw()
that help you create a subquery on from
, instead of only being able to use table names.
Next up, is a new “not regex” validation rule that validates that an attribute doesn’t pass a regular expression check.
An “after” callback was added for model factories that allow a user to define an action to be run after the model is created or made using create()
or make()
.
A new “any filled” conditional was added to the request used to determine if any of a group of inputs is filled on the request. Before Laravel 5.6.12, you would do something like this:
if ($request->filled('disk') || $request->filled('site')) {
//
}
Now, it can be changed to use the new method conditional, which will accept an array of inputs or any number of arguments:
if ($request->filledAny(['disk', 'site'])) {
//
}
// Or
if ($request->filledAny('disk', 'site')) {
//
}
Two new assertions were added to the TestResponse
class, assertNotFound()
and assertForbidden()
. These methods are used to assert a 404 status code and a 403 status code respectively.
Last up test helpers were added to assert that a job is queued with a chain.
Here’s the full release notes from the Laravel 5.6 changelog:
v5.6.12 (2018-03-14)
Added
- Added
fromSub()
andfromRaw()
methods to query builder (#23476) - Added “Not Regex” validation rule (#23475)
- Added seed parameter to
Arr::shuffle()
(#23490) - Added after callback to model factories (#23495, d79509d)
- Added
Request::anyFilled()
method (#23499, 896d817) - Added support for signed routes (#23519)
- Added
assertNotFound()
andassertForbidden()
methods toTestResponse
(#23526) - Added test helpers to assert that a job has been queued with a chain (#23531, 696f4d8)
Changed
- Only set id on
NotificationFake
if there is no id set (#23470) - Check whether
fetch()
method exists inApplication::output()
(#23471) - Improve asset loading in
app.stub
(#23479) - Support ignoring a model during a unique validation check (#23524)
- Support multiple model observers (#23507)
LogManager
driver capable of producing logger with any Monolog handler (#23527, d499617)- Support passing model instance to
updateExistingPivot()
(#23535) - Allow for custom
TokenGuard
fields (#23542)
Fixed
- Fixed clearing the cache without a cache directory (#23538)
Newsletter

Join 31,000+ others and never miss out on new tips, tutorials, and more.
Laravel Jobs

- Software Developer
-
Remote (US & Canada)
Alley - 😎 Laravel Developer
-
Remote
Jogg, Inc - Junior, Mid, and Senior Software Engineers. Laravel / Vue. Saint Petersburg, FL
-
Saint Petersburg, FL and Remote
ShineOn - Senior PHP Developer (Laravel)
-
Remote
The Interaction Design Foundation - Fullstack Laravel Engineer (Munich/Remote) 💻
-
Munich, Germany or Remote
AirLST GmbH
PHPUnit Pretty Result Printer Package
PHPUnit is the workhorse for PHP developers everywhere, it’s a tool we all use and use constantly. Because of this sh…
Let’s Encrypt Wildcard SSL Certificates are Here!
Let’s Encrypt announced this week that Wildcard certificates are available through their new ACME2 (Automated C…