News

HTTP Client Request Attributes in Laravel 12.42

Published
HTTP Client Request Attributes in Laravel 12.42 image

Release updates

Never miss a Laravel release

Get an email whenever a new Laravel release lands.

The Laravel team released version 12.42, featuring HTTP client request attributes, support for Enums in Translator replacements, schema builder index methods, and more.

HTTP Client Request Attributes

Luke Kuzmish contributed a withAttributes() method to define attribute data on a PendingRequest instance. You can then retrieve it later using the attributes() method:

$response = Http::withAttributes(['name' => 'first'])
    ->get('https://example.com/test');

$response->attributes(); // ['name' => 'first']

See Pull Request #58038 for implementation details and discussion.

Support for Enums in Translator Replacements

Hossein Hosni contributed an update that supports Enums in Translator replacements:

$t = new Translator($loader, 'en');
$t->get('string_backed_enum', ['month' => Month::February]);
// Laravel 12 was released in :month 2025
// Laravel 12 was released in February 2025

See Pull Request #58048 for implementation details.

Schema Builder Index Checks

Jack Bayliss contributed whenTableHasIndex and whenTableDoesntHaveIndex methods to run code based on whether a table has an index or not:

use Illuminate\Support\Facades\Schema;

// Before
public function up(): void
{
    if (! Schema::hasIndex('product', 'name')) {
        Schema::table('product', function (Blueprint $table) {
            $table->index('name', 'index_name');
        });
    }
}

// After
public function up(): void
{
    Schema::whenTableHasIndex('product', 'name', function (Blueprint $table) {
        $table->index('name', 'index_name');
    });

    // You can also pass the index type...
    Schema::whenTableDoesntHaveIndex('product', 'name', function (Blueprint $table) {
        $table->index('name', 'index_name');
    },  'unique');
}

See Pull Request #58005 for implementation details.

Release notes

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

v12.42.0

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 →
Live Props for Real-Time Updates in Inertia.js v3.11 image

Live Props for Real-Time Updates in Inertia.js v3.11

Read article
Cooldown Dependency Policy now in Composer 2.11 image

Cooldown Dependency Policy now in Composer 2.11

Read article
Email Sending and Testing for Laravel in One Account image

Email Sending and Testing for Laravel in One Account

Read article
Decide with Jev: Tie Every AI Check to the Exact Draft image

Decide with Jev: Tie Every AI Check to the Exact Draft

Read article
PIE 1.5 Changes PHP Extension Installs in CI image

PIE 1.5 Changes PHP Extension Installs in CI

Read article
Delete Expired Sessions in Laravel With a Scheduled Command image

Delete Expired Sessions in Laravel With a Scheduled Command

Read article