Zum Hauptinhalt springen
Der März 2026 war ein historischer Monat für das Laravel-Ökosystem. Laravel 13 wurde offiziell veröffentlicht, und zahlreiche große Features wie das First-Party-AI-SDK, JSON:API-Ressourcen und Inertia v3 wurden gemeinsam vorgestellt. Quelle: Laravel March Product Updates

Laravel Framework

Laravel AI SDK

Laravel 13 führt ein First-Party-AI-SDK ein und stellt eine einheitliche API für Textgenerierung, Tool-aufrufende Agenten, Embeddings, Audio, Bilder und Vector-Store-Integrationen bereit. Anbieterunabhängige KI-Funktionen lassen sich mit einer konsistenten, Laravel-nativen Developer Experience aufbauen.
use Laravel\Ai\Facades\Ai;

$response = Ai::text('gpt-4o')->generate('What is Laravel?');

JSON:API-Ressourcen

JSON:API-Ressourcen wurden als First-Party-Funktion in Laravel eingeführt. Responses konform zur JSON:API-Spezifikation lassen sich nun einfach zurückgeben; Serialisierung von Ressourcenobjekten, Einbindung von Relationen, Sparse Fieldsets, Links und JSON:API-konforme Response-Header werden automatisch verarbeitet.
use Laravel\JsonApi\Resources\JsonApiResource;

class UserResource extends JsonApiResource
{
    public function toAttributes(Request $request): array
    {
        return [
            'name' => $this->name,
            'email' => $this->email,
        ];
    }
}

Verstärkter Schutz vor Request-Forgery

Als Sicherheitsverbesserung wurde die CSRF-Protection-Middleware als PreventRequestForgery offiziell etabliert. Kompatibilität zum tokenbasierten CSRF-Schutz bleibt erhalten, und zusätzlich wird eine Origin-basierte Request-Validierung ergänzt.

Queue-Routing

Mit Queue::route() ist klassenbezogenes Queue-Routing möglich. Routing-Regeln für Default-Queue und -Verbindung eines bestimmten Jobs lassen sich zentral verwalten.
Queue::route(ProcessPodcast::class, connection: 'redis', queue: 'podcasts');

Ausbau der PHP-Attribute

Laravel 13 hat die First-Party-PHP-Attribute im gesamten Framework ausgebaut. Attribute rund um Controller und Autorisierung (#[Middleware], #[Authorize] usw.) wurden ergänzt, sodass sich Konfiguration und Verhalten stärker deklarativ ausdrücken lassen.
use Illuminate\Routing\Attributes\Middleware;

class UserController extends Controller
{
    #[Middleware('auth')]
    public function index(): Response
    {
        // ...
    }
}

Cache::touch()

Mit Cache::touch() lässt sich die TTL eines vorhandenen Cache-Eintrags verlängern, ohne den Wert lesen und neu speichern zu müssen.
Cache::touch('user-session', now()->addHour());

Semantische Suche und Vektorsuche

Native Vektor-Query-Unterstützung, Embedding-Workflows und zugehörige APIs wurden ergänzt. Eine KI-gestützte Suche lässt sich mit PostgreSQL + pgvector unkompliziert aufbauen.

Inertia v3

Vite-Plugin

Dank des neuen @inertiajs/vite-Plugins ist der zuvor am Entry-Point notwendige Boilerplate-Code überflüssig. Seiten werden automatisch aus dem Verzeichnis ./Pages aufgelöst, Code-Splitting und Lazy Loading werden automatisch verarbeitet. Auch die SSR-Konfiguration ist Zero-Config.
npm install @inertiajs/vite --save-dev

SSR während der Entwicklung

Mit npm run dev läuft SSR automatisch. Ein separater Node.js-Prozess ist während der Entwicklung nicht erforderlich, Seiten werden standardmäßig serverseitig gerendert.

Entfernung von Axios

Axios und qs wurden vollständig aus den Abhängigkeiten von Inertia entfernt. Ein leichtgewichtiger, eingebauter XHR-Client übernimmt die gesamte HTTP-Kommunikation; Bundle-Größe und Abhängigkeits-Footprint verringern sich.
Falls Sie auf Axios-Interceptors o. Ä. angewiesen sind: Der Axios-Adapter bleibt während der Migration weiter funktionsfähig.

Optimistische Updates

Die Methode .optimistic() wurde ergänzt, mit der die UI sofort aktualisiert wird, ohne auf die Server-Antwort zu warten.
router.post('/posts', data, {
    optimistic: (currentProps) => ({
        posts: [...currentProps.posts, { ...data, id: 'temp' }],
    }),
});

Instant Visits

Während im Hintergrund die Server-Anfrage läuft, kann sofort zur Zielseiten-Komponente gewechselt werden.

Weitere Pakete

Neue Funktionen in Prompts

  • datatable(): neuer Prompt für das Durchsuchen, Suchen und Auswählen tabellarischer Daten
  • title(): Setzen des Terminalfenster-Titels
  • stream(): Echtzeit-Streaming-Ausgabe von KI-Antworten
  • task(): Ausführungsanzeige einer Aufgabe mit Spinner
  • autocomplete(): Prompt mit Eingabevervollständigung
  • notify(): Native Desktop-Benachrichtigungen unter macOS/Linux

Passport

  • #[TokenCan]-Attribut: Direktes Deklarieren der benötigten Token-Scopes an einer Controller-Methode
class PhotoController
{
    #[TokenCan('read')]
    public function index() { /* ... */ }

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

Reverb

  • Rate Limiting: Unterstützung für Rate Limits pro Anwendung mithilfe des in Laravel eingebauten Rate Limiters

Scout

  • Operator-Unterstützung für where(): Im Query Builder ist nun eine Schreibweise wie where('created_at', '>', $date) möglich

Laravel Cloud und Laravel Forge

ProduktWichtige Updates
Laravel Cloud$5-Free-Trial ohne Kreditkarte, GitHub SSO, geplanter Auto-Scaling, Redesign der Verbrauchsseite
Laravel ForgeUnterstützung für Managed PostgreSQL-Datenbanken auf VPS (mit Observability, Read Replicas und Auto-Backups)
Zuletzt geändert am 13. Juli 2026