News

Laravel 8.75 Released

Published
Laravel 8.75 Released image

Release updates

Never miss a Laravel release

Get an email whenever a new Laravel release lands.

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)

Changed

  • Add proper paging offset when possible to sql server (#39863)
  • Correct pagination message in src/Illuminate/Pagination/resources/views/tailwind.blade.php (#39894)
Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Validate and Convert HEIC Images in Laravel image

Validate and Convert HEIC Images in Laravel

Read article
Saga Lara Flow: Durable Workflows and Compensating Transactions on Laravel Queues image

Saga Lara Flow: Durable Workflows and Compensating Transactions on Laravel Queues

Read article
Reject Unexpected Array Keys with Laravel Validation image

Reject Unexpected Array Keys with Laravel Validation

Read article
Major performance improvements & security patches for Filament v4.12 and v5.7! image

Major performance improvements & security patches for Filament v4.12 and v5.7!

Read article
Laravel Boost Project Rules: Teach Agents Your Conventions image

Laravel Boost Project Rules: Teach Agents Your Conventions

Read article
Extract an Image's Dominant Color in Laravel image

Extract an Image's Dominant Color in Laravel

Read article