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

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
The Laracon Archive image

The Laracon Archive

Read article
Group Adjacent Collection Items in Laravel with chunkBy() image

Group Adjacent Collection Items in Laravel with chunkBy()

Read article
Laravel queue:work Now Prints Why the Worker Stopped image

Laravel queue:work Now Prints Why the Worker Stopped

Read article
Sidecar Brings Statamic's Control Panel to Your Existing Markdown Sites image

Sidecar Brings Statamic's Control Panel to Your Existing Markdown Sites

Read article
Collections chunkBy() and Storage Path Hardening in Laravel 13.30 image

Collections chunkBy() and Storage Path Hardening in Laravel 13.30

Read article
Forte: Parse and Rewrite Laravel Blade Templates image

Forte: Parse and Rewrite Laravel Blade Templates

Read article