Laravel 13.36 ist ein Wartungsrelease für Anwendungen auf Laravel 13. Der Schwerpunkt liegt auf alltäglicher Entwicklung und dem Betrieb produktiver Systeme, ohne eine grundlegende Neugestaltung zu verlangen.
use Illuminate\Validation\Rule;
$request->validate([
'phone' => [
Rule::requiredWithout('email'),
],
'website' => [
'nullable',
Rule::url()->protocols(['https']),
],
'device_id' => [
Rule::uuid()->version(4),
],
]);Für weitere Validierungsregeln gibt es jetzt fluente Rule:: Builder. Bisher standen diese Regeln teilweise nur als Strings zur Verfügung. Unterstützt werden unter anderem requiredWithout, URL-Protokolle, UUID-Versionen, case-insensitive Distinct-Werte und bestätigte Passwörter. Die String-Syntax bleibt erhalten. Die Builder verbessern die Vervollständigung im Editor und übergeben Parameter strukturiert, wodurch mehrdeutige String-Parameter mit Kommas vermieden werden.
DB::olap() führt einen Callback mit einer analytischen Workload auf unterstützten Vitess-basierten MySQL-Umgebungen aus, darunter PlanetScale. Nach dem Callback stellt Laravel die vorherige Workload wieder her. Auf anderen Datenbankverbindungen läuft der Callback normal. Die Methode optimiert SQL nicht automatisch und garantiert keine schnelleren Abfragen. Indizes, ein passendes Query-Design und begrenzte Datenmengen bleiben erforderlich. Geeignete Szenarien sind Umsatzberichte, historische Lagerauswertungen, Kundenanalysen und große Aggregationsjobs.
Lang laufende Queue-Worker können den Sticky-Status von Read/Write-Verbindungen zwischen Jobs zurücksetzen. Aktiviert wird das optional über Worker::$flushStickyConnections = true im AppServiceProvider. Standardmäßig bleibt die Option aus, weil manche Abläufe darauf angewiesen sind, dass ein späterer Job Daten über die Write-Verbindung liest. Anwendungen mit Replikas oder Read/Write-Splitting sollten die Änderung sorgfältig testen.
Broadcasting-Ereignisse, die nur Mercure verwenden, werden standardmäßig synchron veröffentlicht. Ereignisse mit einem weiteren Broadcasting-Treiber bleiben in der Queue. Für asynchrones Mercure lassen sich MERCURE_URL="${APP_URL}/.well-known/mercure" und MERCURE_ASYNC=true setzen. Synchrones Senden belastet den aktuellen Request. Der asynchrone Weg benötigt Queue-Verarbeitung.
Queued Mailables berücksichtigen nun #[DeleteWhenMissingModels]. Wurde ein referenziertes Modell gelöscht, verwirft Laravel den Job, ohne eine ModelNotFoundException auszulösen. Auch #[FailOnTimeout] funktioniert bei Mailables in der Queue. Ein Timeout markiert den Job als fehlgeschlagen. Ein Mail-Provider kann die Nachricht jedoch bereits angenommen haben, daher ist eine doppelte Zustellung weiterhin möglich.
Bei Markdown-Mails werden Backslashes aus Benutzereingaben zusammen mit Klammern maskiert. Dadurch kann speziell präparierter Inhalt das vorgesehene Linkziel nicht mehr verändern. Relevant ist das für Mails mit Daten aus Profilen, Kommentaren, Bestellungen oder externen APIs.
Die Dateisystem-Unterstützung umfasst benannte S3-Credential-Provider und Cloud-IAM-Disks. JSON-Ausgaben von Queue-Workern enthalten bei relevanten Meldungen zu pausierten, fortgesetzten und beendeten Workern nun Verbindungsinformationen. Die Redis-Wiederherstellung baut den Client neu auf, wenn kein Cluster-Knoten erreichbar ist, und gibt persistente Sockets vorher frei. Weitere Korrekturen betreffen Benachrichtigungslocale, die Suche nach Schema-Spalten, Queries, Event-Streams, Queue-Verarbeitung und interne Framework-Abläufe.
Vor dem Upgrade sollten der offizielle Changelog und die Änderungen von Laravel 13.35 zu 13.36 geprüft werden. Tests gehören zunächst in eine Entwicklungs- oder Staging-Umgebung. Besonders wichtig sind Tests für Validierung, Queues, Benachrichtigungen und Broadcasting sowie Prüfungen der Mercure- und Datenbankkonfiguration. Auch Queue-Worker und Cloud-Speicher sollten kontrolliert werden. Nach dem Deployment sind Logs, fehlgeschlagene Jobs und das Datenbankverhalten zu beobachten. Nicht jede neue Funktion muss sofort aktiviert werden.




Kommentare
Noch keine Kommentare — schreib den ersten.
Starte die Diskussion
Kein Konto, kein Passwort nötig — gib einfach deine E-Mail-Adresse ein, wir senden dir einen einmaligen Anmelde-Link. Beim ersten Mal bist du damit automatisch angemeldet.
Deine Bewertung wird nach der Anmeldung automatisch übernommen.
Schau in dein Postfach
Wir haben einen Anmelde-Link an … gesendet. Öffne ihn auf diesem Gerät — dieser Tab meldet dich automatisch an.
Nichts angekommen? Wirf einen Blick in den Spam-Ordner — und markiere die Mail dort als „Kein Spam“, dann landet sie künftig direkt im Postfach.