Zum Hauptinhalt springen
Im Oktober 2026 kamen Funktionen hinzu, mit denen Sie steuern, wie Anfragen formuliert werden, wohin Datenbank-Lesezugriffe gehen und wie Schedules auf mehreren Servern laufen. Laravel Cloud vereinfacht den Mailversand und die Einrichtung geplanter Befehle, und in Forge lassen sich PHP-Sicherheitsupdates und fehlgeschlagene Provisionierungen leichter verfolgen. Diese Seite ist ein monatlicher Bericht auf Grundlage des offiziellen Blogbeitrags „Laravel October Product Updates“ vom 4. November und der Oktober-Einträge im offiziellen Framework-Changelog. Die Primärquellen wurden am 7. November 2026 geprüft. Der Framework-Teil behandelt nur Laravel 13. Releases aus dem November sind nicht enthalten. Quellen:

Laravel Framework

Releases im Oktober

Zusätzlich zu den wichtigsten neuen Funktionen im offiziellen Changelog wurden Datum und Version anhand der Release Notes geprüft. Im Folgenden werden die neun Punkte aus dem offiziellen Changelog ausführlich vorgestellt. Kleinere Korrekturen und Abhängigkeitsänderungen finden Sie in den jeweiligen Release Notes.

Suchen mit Request-Body über QUERY-Routen definieren

Mit v13.35.0 kam Route::query() für die HTTP-Methode QUERY hinzu. Sie können Routen definieren, die Suchbedingungen im Request-Body statt im GET-Query-String empfangen.
Auch Route::any() trifft auf QUERY-Anfragen zu, und die Routenliste erkennt diese Methode. Der SearchProductsController oben steht für einen Invokable Controller Ihrer Anwendung, der die Suche implementiert.
QUERY-Routen in der Middleware-Gruppe web unterliegen der CSRF-Prüfung. Gehen Sie nicht davon aus, dass Sie die Prüfung wie bei GET auslassen können, nur weil es eine Suche ist. Senden Sie das CSRF-Token mit.
Primärquellen: Register QUERY Routes, offizielle Laravel 13 routing.md. Verwandte Seiten: Routing, CSRF-Schutz

Veraltete Lesezugriffe auch in späteren Anfragen nach einem Schreibvorgang vermeiden

Bei Datenbanken mit getrenntem Lesen und Schreiben kann ein Lesezugriff direkt nach einer Änderung an eine noch nicht synchronisierte Read Replica gehen. Die bestehende Option sticky gilt nur innerhalb derselben Anfrage. Die Middleware PreventStaleDatabaseReads aus v13.38.0 schützt zusätzlich die folgenden Anfragen derselben Session für einen bestimmten Zeitraum. Importieren Sie in bootstrap/app.php die Klasse Illuminate\Foundation\Http\Middleware\PreventStaleDatabaseReads und fügen Sie sie im Callback von withMiddleware() mit $middleware->web(append: [PreventStaleDatabaseReads::class]); hinzu. Die Funktion ist nicht automatisch aktiv. Die Middleware speichert den Zeitpunkt von Schreibvorgängen auf die Standard-Datenbankverbindung in der Session. Standardmäßig leitet sie Lesezugriffe dieser Verbindung für 2 Sekunden nach einem Schreibvorgang an die Write-Datenbank. Den Zeitraum ändern Sie, indem Sie statt der Klasse zum Beispiel PreventStaleDatabaseReads::for(5) registrieren. Da sie die Session nutzt, muss sie nach StartSession laufen. Sie schaltet keine Lesezugriffe anderer Sessions oder anderer Datenbankverbindungen um und erkennt auch nicht, wann die Replica fertig synchronisiert ist. Primärquellen: Avoid Stale Reads After Database Writes, offizielle Laravel 13 database.md. Verwandte Seiten: Datenbank, Session

Nur bestimmte Vorgänge aus der Write-Datenbank lesen

Das ebenfalls in v13.38.0 hinzugefügte Connection::usingWritePdo() schaltet das Leseziel der Verbindung nur während der Ausführung des Callbacks auf die Write-Datenbank um. Es eignet sich, wenn Sie wichtige Lesezugriffe in der Anwendung gezielt markieren möchten, statt eine ganze Session zu schützen.
Es gilt auch für Eloquent-Abfragen und Relationsabfragen über dieselbe Verbindung. Es gibt das Ergebnis des Callbacks zurück und stellt die vorherige Leseeinstellung auch bei einer Exception wieder her, sodass die Umschaltung nicht in nachfolgenden Code übergeht. Primärquellen: Temporarily Read from the Write Database Connection, offizielle Laravel 13 database.md

Schedules gesammelt auf einem einzigen Server ausführen

Damit beim Betrieb des Schedulers auf mehreren Servern seltener ein onOneServer() vergessen wird, kam mit v13.35.0 Schedule::alwaysOnOneServer() hinzu. Rufen Sie es in boot() des AppServiceProvider auf, um es auf alle betroffenen Schedules auf einmal anzuwenden.
Dieser Standard gilt erst, wenn Sie ihn aufrufen. Geplante Closures ohne Namen sind ausgenommen und laufen weiterhin auf jedem Server.
onOneServer() benötigt einen zentralen Cache, den alle Server gemeinsam nutzen. Die offizielle Dokumentation nennt die Treiber database, memcached, dynamodb und redis. Die Einstellung allein stellt noch keine serverübergreifende Sperrinfrastruktur bereit.
Primärquellen: Run Scheduled Tasks on One Server by Default, offizielle Laravel 13 scheduling.md. Verwandte Seite: Task-Scheduling

Dispatches in Fakes über Eigenschaften prüfen

Seit v13.35.0 können Sie den Fakes für Queue, Bus, Event und Notification ein Array erwarteter Eigenschaften übergeben. Für einfache Attributvergleiche müssen Sie nicht mehr jedes Mal einen Callback schreiben. Mit einem Job ShipOrder, der eine öffentliche Eigenschaft order hat, und einem im Test vorbereiteten $order prüfen Sie zum Beispiel so:
Alle angegebenen Eigenschaften müssen übereinstimmen. Werte werden strikt verglichen, Eloquent-Modelle jedoch mit is(), sodass auch eine andere Instanz desselben Modells passt. Fakes prüfen den Dispatch, nicht das Ergebnis der Ausführung des Jobs selbst. Primärquellen: Assert Fake Dispatches by Their Properties, offizielle Laravel 13 queues.md. Verwandte Seiten: Queues, Mocking

Speichergrenze von Workern in Prozent angeben

Seit v13.35.0 akzeptiert --memory von queue:work einen Prozentsatz von PHPs memory_limit. Sie können die Beendigungsschwelle des Workers an die PHP-Einstellung anpassen, ohne für jede Umgebung einen festen MB-Wert neu zu berechnen.
Es ist kein Prozentsatz des gesamten Speichers des Hosts oder Containers. Wenn PHPs memory_limit unbegrenzt (-1) ist, verwenden Sie statt eines Prozentsatzes einen MB-Wert. Den Neustart eines an der Schwelle beendeten Workers übernimmt eine Prozessüberwachung wie Supervisor. Primärquellen: Set Queue Worker Memory Limits as Percentages, offizielle Laravel 13 queues.md

Markdown mit eigenem Content-Type zurückgeben

Mit v13.35.0 kam markdown() zur Response-Factory hinzu. Es gibt einen Markdown-Inhalt als text/markdown zurück, und Sie können auch Statuscode und zusätzliche Header angeben.
Sie können es mit Logik kombinieren, die das Antwortformat auswählt, etwa wantsMarkdown(). Es wandelt Markdown nicht in HTML um, sondern ist eine API, um Markdown selbst als Antwort auszuliefern. Primärquellen: Return Markdown Responses, offizielle Laravel 13 responses.md. Verwandte Seite: Responses

Analyseabfragen mit Vitess im OLAP-Modus ausführen

Mit v13.36.0 kamen isVitess() und olap() zu MySQL-Verbindungen hinzu. Sie können erkennen, ob Vitess oder PlanetScale verwendet wird, und Analyseabfragen mit dem OLAP-Workload ausführen.
Der Workload wird für Lese- und Schreibverbindung gesetzt und am Ende des Callbacks wieder auf OLTP zurückgestellt. Auch bei Exceptions wird er wiederhergestellt. Bei einer normalen MySQL-Verbindung ohne Vitess läuft der Callback ohne Änderung des Workloads. Primärquellen: Use OLAP Workloads with Vitess Connections, offizielle Laravel 13 database.md

Bestehende Validierungsregeln über Builder finden

Mit v13.36.0 kamen Rule-Builder-Methoden für viele Regeln hinzu, die bisher als String angegeben wurden. Methoden wie requiredWith(), acceptedIf(), regex() und timezone() lassen sich über die IDE-Vervollständigung leichter finden, und Sie können die Schreibweise wählen, ohne das bestehende Validierungsverhalten zu ändern.
Die Methodennamen sind in camelCase. Sie lassen sich mit String-Regeln mischen, sodass Sie bestehende Regeln nicht auf einmal umschreiben müssen. Primärquellen: Discover More Validation Rules Through Builders, offizielle Laravel 13 validation.md. Verwandte Seite: Validierung

Laravel Cloud

Der offizielle Monatsblog stellt die folgenden drei Punkte vor. Primärquellen: Laravel October Product Updates — Laravel Cloud, Laravel Cloud changelog. Verwandte Seite: Laravel Cloud vorgestellt

Laravel Forge

  • Hinweise zu PHP-Sicherheitsupdates: Forge zeigt pro Server, welche Versionen von den PHP-Sicherheitsreleases im Oktober betroffen sind und ob korrigierte Versionen verfügbar sind. Mit Recheck versions prüfen Sie die tatsächlich installierte Version erneut. Die Anzeige erneut zu prüfen und PHP zu aktualisieren sind getrennte Vorgänge.
  • Umgang mit fehlgeschlagener Provisionierung: Server, die nicht fertig provisioniert werden können, werden als fehlgeschlagen angezeigt, mit Benachrichtigung, Hinweisen zum nächsten Schritt und einer Löschaktion. Auch die Installation von PHP und Nginx wird wiederholt, bevor der Fehler feststeht.
Der Monatsblog erwähnt außerdem die Veröffentlichung eines Post-mortems zur PHP- und Node.js-Sicherheitsreaktion im Oktober. Zu den Maßnahmen und Update-Entscheidungen lesen Sie die offiziellen Hinweise. Primärquellen: Laravel October Product Updates — Laravel Forge, Laravel Forge changelog

Verwandte Artikel

Updates September 2026

Ein Rückblick auf KI-Provider zur Laufzeit, Sucherweiterungen, Mercure und isolierte Preview-Umgebungen in Cloud.

Datenbank-Leitfaden

Lese-/Schreibtrennung und die Grundlagen von Datenbankverbindungen.
Zuletzt geändert am 7. November 2026