News

Laravel 12.43 Released

Published
Laravel 12.43 Released image

Release updates

Never miss a Laravel release

Get an email whenever a new Laravel release lands.

The Laravel team released version 12.43, featuring new Eloquent collection methods to merge attribute visibility across a collection, make the HTTP client response macroable, and more.

As with most Laravel releases, there are tons of contributions, and we thank all those involved in continually making Laravel better. Let's look at what's new in Laravel 12.43!

Eloquent Collections mergeHidden() and mergeVisible() Methods

Mahmoud Ramadan contributed mergeHidden() and mergeVisible() methods to Eloquent collections, allowing you to adjust attributes across an entire collection:

use App\Models\User;
 
$users = User::withWhereHas('comments')->get();
 
$users->mergeVisible(['updated_at']);

Make the HTTP Client Response Class Macroable

Kevin Bui contributed the Macroable trait to the HTTP client Response class:

use Illuminate\Http\Client\Response;
 
Response::macro(
'movieFields',
fn () => $this->collect()->only('title', 'year', 'runtime', 'director', 'plot')
);
 
$response = Http::get(...);
$response->movieFields();

Make PendingDispatch::afterResponse conditional

@kenneth-saey contributed an update to the PendingDispatch afterResponse() method that allows you to conditionally dispatch a job after the response is sent to the browser:

// Before
 
if (app()->environment('local')) {
MyJob::dispatch($myData)
->afterResponse();
} else {
MyJob::dispatch($myData);
}
 
 
// After
MyJob::dispatch($myData)
->afterResponse(! app()->environment('local'));

Let Storage::fake() Accept an Enum Disk Name

Bert Bredewold contributed the ability to pass an Enum for the disk name when using the storage fake. This puts the fake() method in alignment with the Storage::disk() method:

// New in Laravel 12.43
Storage::fake(Disk::Local);
 
// Already possible before Laravel 12.43
Storage::disk(Disk::Local);

Test Response assertFailedDependency Helper

Artyom Osepyan contributed a test assertion for HTTP 424 Failed Dependency client error response code. The Failed Dependency response indicates that the method could not be performed on the resource because the requested action depended on another action, and that action failed.

$this->assertFailedDependency();
 
// Equivalent to
$this->assertStatus(424);

Release notes

You can see the complete list of new features and updates below and the diff between 12.42.0 and 12.43.0 on GitHub. The following release notes are directly from the changelog:

v12.43.0

Paul Redmond photo

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

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article