Zum Inhalt springen

Laravel Release Notes

604 Einträge aus 4 Quellen. Zuletzt aktualisiert:

Folge Laravel, um die Release Notes in deinen Feed zu holen.

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel Framework von Laravel

Neue Methode Http::batch im Laravel Framework 12.x

Mit Http::batch lassen sich bei parallelen HTTP-Requests Callbacks wie before, progress, catch, then und finally in den Ablauf jedes Aufrufs einhängen.

Pull request by @WendellAdriel

$responses = Http::batch(fn (Batch $batch) => [
    $batch->get('http://localhost/first'),
    $batch->get('http://localhost/second'),
    $batch->get('http://localhost/third'),
])->before(function (Batch $batch) {
    // This runs before the first HTTP request is executed.
})->progress(function (Batch $batch, int|string $key, Response $response) {
    // This runs after each successful HTTP request from the Batch.
})->catch(function (Batch $batch, int|string $key, Response|RequestException $response) {
    // This runs after each failed HTTP request from the Batch.
})->then(function (Batch $batch, array $results) {
    // This runs ONLY IF all the HTTP requests from the Batch are successful and the batch is not cancelled.
})->finally(function (Batch $batch, array $results) {
    // This runs after all the HTTP requests from the Batch finish and the batch is not cancelled.
})->send();

The new Http::batch method allows you to hook into the lifecycle of each HTTP call when making multiple requests in parallel.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel Framework von Laravel

Benchmark unterstützt jetzt Macros

Illuminate\Support\Benchmark nutzt nun den Macroable-Trait, sodass sich beliebige Macros registrieren lassen.

Pull request by @1tim22

use Closure;
use Illuminate\Support\Benchmark;
use Illuminate\Support\Facades\Log;

Benchmark::macro('log', fn (Closure $callback) =>
    Log::debug(Benchmark::measure($callback))
);

Benchmark::log(fn () => sleep(1));

Benchmark is now updated with the Macroable trait to allow arbitrary macro registration.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel Framework von Laravel

Option --whisper für schedule:work

Die Option --whisper von schedule:work wird an schedule:run weitergereicht und blendet die Meldung „No scheduled commands are ready to run“ aus, was Logs und Terminalausgaben übersichtlicher macht.

Pull request by @thojo0

You can now pass a --whisper option to the schedule:work command. The option is passed through to the schedule:run command, which hides the "No scheduled commands are ready to run" message from the output, producing cleaner logs and terminal output and reducing noise for monitoring tools.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel Framework von Laravel

Session-Cache im Laravel Framework 12.x

Der neue Session-Cache speichert Daten pro Nutzersitzung getrennt vom globalen Anwendungs-Cache und räumt sie auf, wenn die Session abläuft oder zerstört wird.

Pull request by @joaopalopes24

$discount = $request->session()->cache()->get('discount');

$request->session()->cache()->put(
    'discount', 10, now()->addMinutes(5)
);

The new session cache provides a convenient way to cache data that is scoped to an individual user session. Unlike the global application cache, session cache data is automatically isolated per session and is cleaned up when the session expires or is destroyed.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel Framework von Laravel

Attribute #[UseResource] und #[UseResourceCollection] für Models

Resource-Klassen lassen sich nun per PHP-Attribut #[UseResource(...)] und #[UseResourceCollection(...)] direkt an Eloquent-Models definieren.

Pull request by @Lukasss93

use App\Http\Resources\MyCustomNameResource;
use App\Http\Resources\MyCustomNameCollectionResource;

#[UseResource(MyCustomNameResource::class)]
#[UseResourceCollection(MyCustomNameCollectionResource::class)]
class MyModel extends Model {
    //
}

// Now you can call:
$model->toResource();
$collection->toResourceCollection();

You can now define resources classes directly on your Eloquent models using PHP attributes.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel Framework von Laravel

Option --json für schedule:list

Der Befehl schedule:list akzeptiert jetzt das Flag --json, um Daten geplanter Tasks maschinenlesbar für Monitoring und Integrationen auszugeben.

Pull request by @dxnter

[
    {
        "expression": "0 0 15 * *",
        "repeat_seconds": null,
        "command": "php artisan backup:run",
        "description": "Run daily backup process",
        "next_due_date": "2025-09-15 00:00:00 +00:00",
        "next_due_date_human": "5 days from now",
        "timezone": "UTC",
        "has_mutex": false
    }
]

The schedule:list command now accepts a --json flag to allow programmatic consumption of scheduled task data for monitoring and integration purposes.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel Framework von Laravel

Neues Argument prependCount für Str::plural()

Str::plural akzeptiert nun das Argument prependCount, das die Anzahl automatisch dem Wort voranstellt.

Pull request by @caseydwyer

{{-- Instead of: --}}
We had {{ number_format($attendees->count()) . ' ' . Str::plural('attendee', $attendees->count()) }} at Laracon 2025.

{{-- Now we can: --}}
We had {{ Str::plural('attendee', $attendees->count(), prependCount: true) }} at Laracon 2025.

The Str::plural helper now accepts a new argument, prependCount, that will prepend the count to the string automatically.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel Framework von Laravel

Überarbeitete lokale Fehlerseite und Trusted Publishing für NPM

Die lokale Exception-Seite wurde überarbeitet, um Fehler klarer und handlungsorientierter darzustellen, und alle NPM-Pakete werden nun per Trusted Publishing veröffentlicht, sodass die Herkunft des Releases prüfbar ist.

Pull request by @avosalmon

New local exception page

The exception page was given a refresh, making local errors clearer and more actionable.

This month, we switched all of our NPM packages over to Trusted Publishing. Now you'll know where the latest release originated and you can verify that it came from us.

NPM provenance statement

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Inertia: Neue Komponente <InfiniteScroll>

Für React, Vue und Svelte gibt es eine neue <InfiniteScroll>-Komponente, mit der sich Infinite-Scroll-Oberflächen durch Umschließen der Einträge einfach erstellen lassen.

Pull request by @pascalbaljet

<template>
    <InfiniteScroll data="users">
        <div v-for="user in users.data" :key="user.id">{{ user.name }}</div>
    </InfiniteScroll>
</template>

A new <InfiniteScroll> component was introduced for React, Vue, and Svelte that allows you to easily create infinite scroll interfaces by wrapping your items in the new component.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Inertia: Zusammenführen verschachtelter Prop-Pfade und Inertia::scroll()

Zwischen Inertia::merge() und Inertia::deepMerge() gibt es nun mit append() und prepend() eine feiner steuerbare Merge-Option sowie die neue Funktion Inertia::scroll() für paginierte Ressourcen.

Pull request by @pascalbaljet

A new middle ground was added between Inertia::merge() and Inertia::deepMerge() so you can have fine-grained control over what should be merged.

The front-end will replace the entire object, except the data array. The new items will be appended to the existing items:

Inertia::merge(User::paginate())->append('data');

There's also prepend(), and you can also combine multiple calls:

Inertia::merge($complexObject)
    ->append('users', matchOn: 'username')
    ->prepend('messages.data');

Then there's a new Inertia::scroll() function which you can pass paginated resources:

Inertia::scroll(User::paginate());

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Inertia: Öffentliche Progress-Indicator-API

Die internen Methoden des Progress-Indikators sind jetzt öffentlich verfügbar und erlauben Entwicklern die Steuerung der Fortschrittsanzeige.

Pull request by @pascalbaljet

import { progress } from "@inertiajs/vue3";

progress.start(); // Begin progress animation
progress.set(0.25); // Set to 25% complete
progress.finish(); // Complete and fade out
progress.reset(); // Reset to start
progress.remove(); // Complete and remove from DOM
progress.hide(); // Hide progress bar
progress.reveal(); // Show progress bar

progress.isStarted(); // Returns boolean
progress.getStatus(); // Returns current percentage or null

The internal methods used to drive the Progress indicator are now exposed publicly, giving developers control over the progress bar.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Boost: Befehl boost:update und Guidelines von Drittpaketen

Boost kann sich mit dem neuen Befehl boost:update selbst aktualisieren, und Drittpakete können über die Datei resources/boost/guidelines/core.blade.php automatisch eigene Guidelines registrieren.

Pull request by @nunomaduro

Boost can now self-update with the new boost:update command. In addition, third-party packages can now auto-register their own guidelines by including a resources/boost/guidelines/core.blade.php file in their package.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Boost: Guidelines lassen sich überschreiben

Nutzer können Guideline-Dateien überschreiben, sodass Boost in bestimmten Fällen ihre eigenen statt der mitgelieferten Guidelines verwendet.

Pull request by @ashleyhindle

Users can now override guideline files, specifying that Boost should use their guidelines in specific instances instead of the default guidelines that come with Boost.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Echo: Neue Methode stopListeningForNotification

Mit der neuen Methode stopListeningForNotification lässt sich das Lauschen auf Benachrichtigungen beenden, ohne den Channel zu verlassen.

Pull request by @thoresuenert

const callback = (notification) => {
    console.log(notification.type);
};

// Start listening...
Echo.private(`App.Models.User.${userId}`).notification(callback);

// Stop listening (callback must be the same)...
Echo.private(`App.Models.User.${userId}`).stopListeningForNotification(
    callback
);

A new stopListeningForNotification method was added to stop listening for notifications without leaving the channel.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Fortify: Session wird bei Registrierung neu erzeugt

Bei der Registrierung eines Benutzers werden Session und CSRF-Token nun neu generiert.

Pull request by @valorin

The session and session and CSRF token are now regenerated on user registration.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Installer: Prüfung auf neue Version bei laravel new

Der Installer prüft bei laravel new auf Packagist, ob eine neuere Version verfügbar ist.

Pull request by @joetannenbaum

The installer now checks if there are updates available on Packagist to ensure you are using the latest version when running laravel new.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Installer: Unterstützung für PNPM und Yarn

Der Installer erkennt Lock-Dateien von PNPM und Yarn und greift auf NPM zurück, falls keine gefunden wird.

Pull request by @adrum

The installer now detects lock files for the PNPM and Yarn package managers, falling back to NPM if neither are found.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Installer: Git-Repository als eigenes Starter Kit

Bei laravel new kann mit --using ein Git-Repository als eigenes Starter Kit angegeben werden.

Pull request by @adrum

laravel new --using https://gitub.com/user/project

You can specify a git repo as a custom starter kit when running laravel new.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Erste offizielle Beta von Laravel MCP

Das Paket Laravel MCP erscheint erstmals als offizielle Beta und ermöglicht den schnellen Aufbau von MCP-Servern, über die KI-Clients per Model Context Protocol mit Laravel-Anwendungen interagieren.

https://github.com/laravel/mcp

Laravel MCP allows you to rapidly build MCP servers for your Laravel applications. MCP servers allow AI clients to interact with your Laravel application through the Model Context Protocol.

Originalquelle(öffnet in neuem Tab)Problem melden