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

Envoy: Stories können andere Stories aufrufen

In Envoy können Stories nun andere Stories referenzieren, sodass sich komplexe Deployment-Abläufe aus wiederverwendbaren Bausteinen zusammensetzen lassen.

Pull request by @vpratfr

Stories can now reference other stories, making it easy to compose complex deployment workflows from reusable building blocks:

@story('deploy')
    build
    migrate
@endstory

@story('full-deploy')
    deploy
    clear-caches
    notify-team
@endstory

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Livewire Starter Kit: Blaze-Compiler integriert

Das Livewire Starter Kit wird jetzt mit Caleb Porzios Compiler Blaze ausgeliefert, was den Kompilierungsaufwand um bis zu 97 % reduziert.

Pull request by @joetannenbaum

The Livewire starter kit now ships with Caleb Porzio's Blaze compiler, resulting in up to 97% reduction in compilation overhead.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

MCP: Bild- und Audio-Inhalte mit Storage-Anbindung

MCP-Tools können nun Bilder und Audio zurückgeben, und die neue Methode Response::fromStorage() erkennt den Content-Type über das Laravel-Filesystem automatisch und übernimmt die Base64-Kodierung.

Pull request by @pushpak1300

MCP tools can now return images and audio natively. A new Response::fromStorage() method auto-detects content type from your Laravel filesystem and handles the base64 encoding for you:

// From raw binary data
Response::image($rawBytes, 'image/png');
Response::audio($rawBytes, 'audio/wav');

// From any Laravel disk with automatic MIME detection
Response::fromStorage('photos/avatar.jpg');
Response::fromStorage('recordings/clip.mp3', disk: 's3');

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Passport: Neues Attribut TokenCan für Controller-Methoden

Mit dem neuen Attribut TokenCan lassen sich erforderliche Token-Scopes direkt an Controller-Methoden deklarieren.

Pull request by @axlon

A new TokenCan attribute lets you declare required token scopes directly on controller methods:

class PhotoController
{
    #[TokenCan('read')]
    public function index() { /* ... */ }

    #[TokenCan('write')]
    public function store() { /* ... */ }
}

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Passport: Eigene Middleware für Passport-Routen

Über die Konfiguration lassen sich nun eigene Middleware zu den von Passport registrierten Routen hinzufügen, etwa für eine UUID-Validierung der client_id.

Pull request by @timacdonald

You can now add custom middleware to Passport's registered routes via config - great for enforcing rules like UUID validation on client_id before it ever hits the database.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Pint: Neue Regel Pint/phpdoc_type_annotations_only

Die optionale Regel Pint/phpdoc_type_annotations_only entfernt alle PHPDoc-Kommentare außer Typ-Annotationen, ist per pint.json aktivierbar und schließt das Verzeichnis config standardmäßig aus.

An opt-in rule that strips all PHPDoc comments except type annotations. Enable it in your pint.json:

{
    "Pint/phpdoc_type_annotations_only": true
}

Before:

/**
 * Register any application services.
 */
public function register(): void

After:

public function register(): void

Type annotations like @var list<string> are preserved. The config directory is excluded by default. Best suited for new projects - enable with care on existing codebases.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Pint: Verbesserte Regel fully_qualified_strict_types

Die nun im Laravel-Preset standardmäßig aktive Regel fully_qualified_strict_types wandelt voll qualifizierte Klassennamen in PHPDoc-Annotationen automatisch in reguläre Imports um.

Now enabled by default in the Laravel preset, this improvement automatically converts fully qualified class names in PHPDoc annotations to regular imports:

+ use Database\Factories\UserFactory;

  class User extends Authenticatable
  {
-     /** @use HasFactory<\Database\Factories\UserFactory> */
+     /** @use HasFactory<UserFactory> */
      use HasFactory, Notifiable;

This applies automatically when you update Pint.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Precognition 2.x: Eingebauter fetch-Client statt Axios

Precognition v2 nutzt einen eingebauten fetch-basierten HTTP-Client und braucht Axios nicht mehr zwingend, wodurch die Bundle-Größe um bis zu 50 % sinkt, und für Axios gibt es einen Adapter.

Pull request by @pascalbaljet

Precognition v2 ships with a built-in fetch-based HTTP client, dropping Axios as a hard dependency and reducing bundle size by up to 50%. The new client handles XSRF tokens, FormData conversion, and AbortController support out of the box. If you still need Axios for interceptors or other features, an adapter is provided:

import { client, axiosAdapter } from "laravel-precognition";

client.useHttpClient(axiosAdapter());

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Prompts: Neuer Datatable-Prompt

Der neue Datatable-Prompt ermöglicht das Durchsuchen und Auswählen aus tabellarischen Daten per Pfeiltasten, mit Suche über alle Spalten per / oder einer eigenen filter-Closure.

Pull request by @joetannenbaum

A brand new prompt for browsing, searching, and selecting from tabular data. Navigate with arrow keys, press / to search across all columns, or pass a filter closure for custom logic:

$selected = datatable(
    label: 'Select a team member',
    headers: ['Name', 'Twitter', 'Role'],
    rows: [
        'taylor' => ['Taylor Otwell', '@taylorotwell', 'CEO'],
        'jess'   => ['Jess Archer', '@jessarchercodes', 'Developer'],
    ],
);

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Prompts: Title Prompt für den Terminal-Fenstertitel

Mit title() lässt sich der Titel des Terminalfensters während der Ausführung jederzeit setzen und aktualisieren.

Pull request by @joetannenbaum

Set and update the terminal window title at any point during execution:

title('Deploying to Cloud...');
// ... work happens ...
title('Deployed!');

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Prompts: Stream Prompt für Textausgabe im Terminal

Mit stream() wird Text mit automatischem Zeilenumbruch und Einblendeffekt ins Terminal gestreamt, etwa für KI-Antworten in Echtzeit.

Pull request by @joetannenbaum

Stream text to the terminal with automatic word wrapping and a pleasant fade-in effect - perfect for displaying AI responses in real time:

$stream = stream();

foreach ($events as $event) {
    $stream->append($event->delta);
}

$stream->close();

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Prompts: Task Prompt mit Spinner und scrollbaren Logzeilen

Mit task() wird die Ausgabe einer laufenden Aufgabe mit Spinner, Live-Aktualisierung des Labels und scrollbaren Logzeilen angezeigt, inklusive ANSI-Escape-Sequenzen und teilweiser Zeilenausgabe.

Pull request by @joetannenbaum

Display output from a running task with a spinner, real-time label updates, and scrollable log lines. Handles ANSI escape sequences and supports partial-line output for streaming.

task('Installing dependencies', function (Logger $log) {
    Process::run(
        'composer install',
        fn ($type, $output) => $log->line($output)
    );
});

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Prompts: Autocomplete Prompt

Der neue autocomplete-Prompt schlägt während der Eingabe passende Werte vor und erlaubt weiterhin freien Text, wobei eine statische Liste oder eine Closure für dynamische Vorschläge übergeben werden kann.

Pull request by @joetannenbaum

A new prompt that suggests matching values as the user types while still allowing free-form text input. Accepts a static list or a closure for dynamic suggestions.

$key = autocomplete(
    label: 'New config key',
    options: collect(Arr::dot(config()->all()))->keys()->all(),
    placeholder: 'e.g. app.name, mail.from, database.default',
    required: true,
);

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Prompts: Dynamische Zusatzinfo bei Select-Prompts

Select-, multiselect- und search-Prompts unterstützen über den neuen Parameter info ein Zusatzinfo-Panel zum aktuell markierten Eintrag, wobei ein String oder eine Closure übergeben werden kann.

Pull request by @joetannenbaum

Select, multiselect, and search prompts now support a secondary info panel. Pass a string or closure to the new info parameter to show context about the currently highlighted item.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Prompts: Notify Prompt für Desktop-Benachrichtigungen

Mit notify() lassen sich native Desktop-Benachrichtigungen aus CLI-Befehlen senden, unterstützt auf macOS (über osascript) und Linux (über notify-send).

Pull request by @joetannenbaum

Send native desktop notifications straight from your CLI commands. Supports macOS (via osascript) and Linux (via notify-send):

notify('Build complete', 'Deployed to production');

// With macOS-specific options
notify(
    title: 'Build complete',
    body: 'Deployed to production',
    sound: 'Glass',
);

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Reverb: Rate Limiting pro Anwendung

Reverb unterstützt jetzt Rate Limiting pro Anwendung auf Basis des Laravel-Rate-Limiters, um den WebSocket-Server vor Missbrauch zu schützen.

Pull request by @joedixon

Reverb now supports per-application rate limiting, using Laravel's built-in rate limiter under the hood. Configure limits per app to protect your WebSocket server from abuse.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Scout: Operatoren in where()-Klauseln des Builders

Der Query Builder von Scout akzeptiert in where($field, $operator, $value) nun Operatoren, sodass Bereichsabfragen ohne engine-spezifische Callbacks möglich sind.

Pull request by @gdebrauwer

Scout's query builder now accepts operators in where() clauses, making range queries straightforward without dropping into engine-specific callbacks:

User::search('taylor')
    ->where('created_at', '>', now()->subMonth()->timestamp)
    ->get();

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

VS Code Extension: Livewire-Routen mit Komponenten verlinkt

Mit Route::livewire() registrierte Routen verlinken direkt auf die Livewire-Komponente, per Klick auf den Routennamen springt man zur Komponentendatei und beim Hover erscheint die vollständige Hover-Karte der Komponente.

Pull request by @TitasGailius

Routes registered with Route::livewire() now link directly to the Livewire component. Clicking a route name navigates to the component file, and hovering shows the full component hover card.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

VS Code Extension: Übersetzungsschlüssel auf mittleren Ebenen

Zwischenliegende Übersetzungsschlüssel wie __('validation.attributes') liefern nun klickbare Links und Hover-Infos ohne falsche Diagnosen, während zuvor nur die tiefsten Schlüssel erkannt wurden.

Pull request by @TitasGailius

Intermediate translation keys like __('validation.attributes') now produce clickable links and hover info without false diagnostics. Previously only the deepest leaf keys were recognized.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Laravel

Boost: Skill laravel-best-practices hinzugefügt

Boost enthält einen neuen integrierten Skill mit über 125 Best Practices in 21 Kategorien als Referenz für KI-Agents.

Pull request by @pushpak1300

A new built-in skill covering 125+ best practices across 21 categories, from database performance and security to caching, testing, and deployment. Your AI agent now has a comprehensive reference for writing idiomatic Laravel code.

Originalquelle(öffnet in neuem Tab)Problem melden