The Daily Commit · Section Edition Front Page PHP AI Dev EN DE FR ES

The Php Times

Releases — Ecosystem

Laravel 13.37.0 tightens queues and Eloquent behavior


Laravel 13.37.0 arrived on 16 October with fixes across queues, Eloquent and database access.

LARAVEL FRAMEWORK RELEASES, October 16, 2026 curated by Sönke

queue:failed now supports a --queue option, and queue:forget accepts multiple IDs. The Image API adds JPEG XL support, and FTP/SFTP disks get improved MIME detection. The release also fixes job-lock and relation-query bugs. Migration status reporting and exception handling improve too.

Laravel 13.37.0 tightens queues and Eloquent behavior
Screenshot: Laravel Framework Releases ↗

Laravel published framework version 13.37.0 on 16 October for the 13.x branch. The release fixes a race condition affecting jobs that combine onOneServer() with withoutOverlapping(). Limiter tests now respect faked Sleep when calculating block() timeouts.

getForeignKeys() performs better on MariaDB and MySQL servers with many databases. Eloquent corrects has() and withCount() for self-referencing one-of-many relations. Self-referencing HasOneThrough existence queries now use the intermediate table alias. Collection types are also corrected for whereBelongsTo() and whereAttachedTo().

Eloquent cursor() avoids creating unnecessary model instances. Nested JSON:API relationships no longer cause N+1 queries. incrementOrCreate() now works on through relations. restore() works with soft-delete queries that use joins. Eloquent Collection findOrFail() handles a model instance correctly. Cached Attribute accessors no longer return stale values after an attribute changes.

withWhereHas() callbacks can select columns. Queries with joins qualify the default latest() and oldest() column. Through-relation attribute columns are qualified in firstOrNew() and firstOrCreate(). The same applies to createOrFirst(). JSON:API resource attributes now handle mergeWhen() correctly.

Queue handling releases a unique lock when pushing a job fails. Queued listener locks are released after a failed push, and Queue::fake() releases unique queued-listener locks. queue:failed accepts the new --queue option. queue:forget accepts multiple IDs. ScheduledTaskFailed now includes runtime.

FTP and SFTP disks add the detect_mime_type_using_path option. The Image API supports JPEG XL (JXL). RedirectResponse can implement Responsable. InvokableComponentVariable receives a generic return type.

Rule::numeric() gains a strict option. Rule::when() and Rule::unless() accept Stringable parameter types. Encrypted object and collection casts no longer remain dirty incorrectly. DynamoDbStore::many() now returns values under the correct keys for numeric keys.

Skipped migrations are no longer reported as pending by migrate:status. Teardown warnings are suppressed when dead connections are disconnected. The release also improves exception reporting.

Read the original source ↗

Rate this article: 0

Readers’ Forum

No contributions yet — open the debate.

← Ecosystem — Page B1

"All the Code That's Fit to Ship" · The Daily Commit · Screen edition · Imprint · Privacy Policy