Laravel 8.75 Released
Published on by Paul Redmond
The Laravel team released 8.75 with on-demand gate authorization, a fulltext index implementation for PostgreSQL, the ability to filter non-null array values, and the latest changes in the v8.x branch.
On-demand Gate Authorization
@Italo contributed on-demand gate authorization. This change allows the gate to permit or forbid a procedure by a condition, instead of using the gate to register a one-time ability or using verbose checks.
use Illuminate\Auth\Access\AuthorizationException;use App\Models\Wallet; // Before$wallet = Wallet::find(1); if ($wallet->overQuota()) { throw new AuthorizationException("This action exceeds your cuota");} // After$wallet = Wallet::find(1); // Forbids an action...Gate::forbid($wallet->overQuota(), "This action exceeds your cuota"); // or permits an action.Gate::permit($wallet->underQuota(), "This action exceeds your quota");
Fulltext Index for PostgreSQL
Tobias Petry contributed PostgreSQL support for fulltext search. Currently, it supports a single column. Check out Pull Request #39875 for commentary around this feature and implementation details.
Filter Non-null Array Values
@Saya contributed an Arr::whereNotNull()
method which filters out null values from an array:
Arr::whereNotNull([null, 0, false, '', null, []]);// returns [0, false, '', []]
Added Scheduler Integration Tests
Chris Morrell contributed scheduler integration tests, including coverage for scheduled callbacks and scheduled commands. If you want to learn more, check out Pull Request #39862.
Release Notes
You can see the complete list of new features and updates below and the diff between 8.74.0 and 8.75.0 on GitHub. The following release notes are directly from the changelog:
v8.75.0
Added
- Added
Illuminate/Support/Testing/Fakes/NotificationFake::assertSentTimes()
(667cca8) - Added Conditionable trait to ComponentAttributeBag (#39861)
- Added scheduler integration tests (#39862)
- Added on-demand gate authorization (#39789)
- Added countable interface to eloquent factory sequence (#39907, 1638472a, #39915)
- Added Fulltext index for PostgreSQL (#39875)
- Added method filterNulls() to Arr (#39921)
Fixed
- Fixes AsEncrypted traits not respecting nullable columns (#39848, 4c32bf8)
- Fixed http client factory class exists bugfix (#39851)
- Fixed calls to Connection::rollBack() with incorrect case (#39874)
- Fixed bug where columns would be guarded while filling Eloquent models during unit tests (#39880)
- Fixed for dropping columns when using MSSQL as database (#39905)