Laravel 7.11 Released
Published on by Paul Redmond
The Laravel team released v7.11.0 with support for email Unicode validation, a split() “stringable” method, two “or where in raw” query build methods, and all the latest updates to the 7.x branch.
Support for FILTER_FLAG_EMAIL_UNICODE
@mpyw contributed email validation with the FILTER_FLAG_EMAIL_UNICODE
flag. This is useful to allow unicode in the local part of the email, but not the domain part:
$request->validate([ 'email' => 'email:filter_unicode']);
Note: the email:filter
rule now disallows Unicode in both the local and domain part, and email:rfc
allows them in both.
Add split() to Stringable class
Nicolas Perraut contributed a split()
method to Stringable as a proxy to preg_split()
to allow splitting by regex instead of explode()
:
Str::of('hypertext language, programming') ->split('/[\s,]+/'); /*Illuminate\Support\Collection {#3523 all: [ "hypertext", "language", "programming", ],}*/
Add “or where in raw” clause for integers
@jrking4 contributed the orWhereIntegerInRaw()
and orWhereIntegerNotInRaw()
query builder methods for the “or where in raw” conditions:
$builder ->where('id', '=', 1) ->orWhereIntegerInRaw('id', ['1a', 2])
Release Notes
You can see the full list of new features and updates below and the diff between 7.10.0 and 7.11.0 on GitHub. You can see them all in the latest v7 changelog:
v7.11.0
Added
- Added support for FILTER_FLAG_EMAIL_UNICODE via “email:filter_unicode” in email validator (#32711, 43a1ed1)
- Added
Illuminate\Support\Stringable::split()
(#32713, 19c5054) - Added
orWhereIntegerInRaw()
andorWhereIntegerNotInRaw()
toIlluminate\Database\Query\Builder
(#32710) - Added
Illuminate\Cache\DatabaseStore::add()
(7fc452b)
Fixed
- Fixed belongsToMany child relationship solving (c5e88be)
- Allow overriding the MySQL server version for strict mode (#32708)
- Added boolean to types that don’t need character options (#32716)
- Fixed
Illuminate\Foundation\Testing\PendingCommand
that do not resolve ‘OutputStyle::class’ from the container (#32687) - Clear resolved event facade on
Illuminate\Foundation\Testing\Concerns\MocksApplicationServices::withoutEvents()
(d1e7f85)