Zum Inhalt springen

Das Magazin für Web-Handwerker Mittwoch, 14. Oktober 2026

Backend

Laravel 13.36.0 macht Queue-Worker robuster und bringt benannte S3-Credential-Provider

Laravel 13.36.0 korrigiert den Exit-Code hängengebliebener Queue-Worker, unterstützt mehrere benannte S3-Credential-Provider und schließt ein Speicherleck in Testsuiten. Ein dichtes Release, einen Monat nach 13.35.

Laravel 13.36.0

Die am 13. Oktober veröffentlichte Version 13.36.0 von Laravel bündelt rund fünfzig
Änderungen rund um Queues, Storage und Eloquent. Keine der Änderungen bricht die
Abwärtskompatibilität, aber mehrere Korrekturen betreffen Verhalten, das Teams seit Monaten in
Produktion beobachten, insbesondere Queue-Worker, die ohne verwertbaren Exit-Code hängen
blieben.

Vorhersehbarere Queue-Worker

Die am meisten erwartete Korrektur betrifft den Exit-Code von Workern, die ihr Zeitlimit
erreichen: Er wurde bisher stillschweigend verschluckt, sodass Supervisor oder systemd einen
hängenden Worker weder erkennen noch neu starten konnten. Worker können nun außerdem ihre
persistenten Verbindungen zwischen zwei Jobs leeren, statt sie bis zum Prozessende offen zu
halten, was Verbindungslecks bei Queues mit hohem Durchsatz begrenzt.

S3-Storage und benannte Credential-Provider

Der S3-Treiber unterstützt jetzt mehrere benannte Credential-Provider innerhalb desselben
Projekts, nützlich für Anwendungen, die in mehrere Konten oder Regionen schreiben, sowie Cloud-
IAM-Disks für Umgebungen, in denen die Schlüsselrotation außerhalb des Codes verwaltet wird.
Diese Änderung reiht sich in einen langfristigen Trend des Frameworks ein: die
Secrets-Verwaltung zunehmend an die Infrastruktur statt an die .env-Datei zu
delegieren.

Eloquent: punktuelle, aber zahlreiche Korrekturen

Die strukturellste Korrektur betrifft die Auflösung von morph map-Aliassen in
constrain(), morphWith() und loadMorph(): Deklarierte
Aliasse wurden nicht immer respektiert, was manche Projekte dazu zwang, als Workaround den
vollständigen Klassennamen zu verwenden. touch() funktioniert jetzt korrekt bei
HasOneOrManyThrough-Beziehungen, und Schema::getColumn() wird
groß-/kleinschreibungsunabhängig, was falsch-negative Ergebnisse bei bestimmten
Datenbank-Engines vermeidet.

BereichVor 13.36.0Seit 13.36.0
Hängende WorkerExit-Code verschluckt, unentdecktExit-Code für Orchestrator nutzbar
Persistente VerbindungenBis zum Stoppen des Workers gehaltenZwischen Jobs geleert
S3-CredentialsEin einziger Standard-ProviderMehrere benannte Provider + IAM-Disks
Redis-Clusterphpredis-Client hängt ohne erreichbaren KnotenClient wird automatisch neu aufgebaut
Tests (Prompts)Speicherleck bei langen SuitenLeck behoben

Redis, Benachrichtigungen und ein Speicherleck in Tests

Bei Redis wird der phpredis-Client jetzt automatisch neu aufgebaut, wenn kein Cluster-Knoten
erreichbar ist, statt hängen zu bleiben. Bei Benachrichtigungen wird ein Fehler behoben, bei dem
Notification::locale() auf eine nachfolgende, nicht zusammenhängende Benachrichtigung
übergreifen konnte. Schließlich betraf ein durch die Prompts-Komponente verursachtes Speicherleck
lange Testsuiten, ein Problem, das manche Teams durch das Aufteilen ihrer CI-Pipelines umgingen —
ein Workaround, der nun nicht mehr nötig ist.

// config/queue.php — neu in 13.36: Hintergrundverbindung standardmäßig
'connections' => [
    'redis' => [
        'driver' => 'redis',
        'connection' => 'default',
        'queue' => env('REDIS_QUEUE', 'default'),
        'retry_after' => 90,
        'block_for' => null,
        'after_commit' => false,
    ],
],

Der Exit-Code von Queue-Workern, lange unsichtbar für Monitoring-Werkzeuge, wird endlich für Orchestratoren nutzbar.

Die Eloquent-Korrekturen an morph map-Aliassen verdienen eine manuelle Prüfung bei
Projekten, die enforceMorphMap() verwenden: Das Verhalten ändert sich, auch wenn es
sich an das annähert, was die Dokumentation bereits beschrieb.

Im strengen Sinne der Versionierung bleibt das Update minor, aber der Umfang der Korrekturen —
rund fünfzig in einem Monat zusammengeführte Pull Requests — zeigt ein Veröffentlichungstempo, das
Teams, die ihre Updates über Kommandozeilen-Tools automatisieren, besser eng verfolgen als sich
aufstauen lassen sollten.

Das Wichtigste in Kürze

Laravel 13.36.0 ändert nichts an der öffentlichen API des Frameworks, schließt aber reale
betriebliche blinde Flecken: Worker-Überwachung, Rotation von S3-Credentials und Stabilität des
Redis-Clients im Cluster. Projekte mit Queues hohen Volumens sollten zügig aktualisieren, andere
können ohne Dringlichkeit bis zum nächsten Wartungsfenster warten.

Bei den Projekten, in denen ich Laravel-Queues in Produktion betreue, war der verschluckte
Exit-Code hängender Worker seit Monaten eine Quelle stiller Vorfälle: Der Worker stürzte ab,
Supervisor startete ihn nicht neu, und nur ein Latenz-Alarm machte das Problem sichtbar. Allein
diese Korrektur rechtfertigt das Update. — Simon Janvier

Zum Weiterlesen: Die vollständigen Release-Notes stehen im
GitHub-Repository des Frameworks.

Teilen LinkedIn Bluesky Hacker News E-mail

Ebenfalls lesenswert