Laravel framework v13.35.0 was published on 6 October at 13:54 by github-actions. The release contains the latest changes for the 13.x branch.

Queue workers now accept percentage values with queue:work --memory. Queue::fakeFor() releases unique job locks, and SQS bulk operations normalize queue values. Inherited queue attributes are preserved when a child uses Queueable. Signal handling adds coverage for notifyJobOfSignal with SIGALRM.

Scheduling gains Schedule::alwaysOnOneServer(). The schedule:list --json output reports onOneServer, and long-running scheduled commands can respond to schedule:interrupt. The list command also handles time-zone conversions across daylight-saving changes. Local disks gain the lazy_root_creation configuration option. Parallel compiled view callbacks tolerate concurrent execution.

The response factory receives a markdown() method. Routing accepts the QUERY method, and route caching now matches the root route when an application runs from a subdirectory. Str::finish and Str::start receive performance improvements. Exception work covers several enhancements, including a never return type for failedBasicResponse. Reference cycles are fixed in the default callback for PendingRequest::throw(), and in Mailable headers() and priority() callbacks.

DatabaseRule where() and whereNot() preserve false values. Duration helpers retain floating-point values. forceCreate() now applies withAttributes(). HasOneThrough fixes cover is() key comparisons, one-of-many relations, and eager-loaded column qualification. chunkById() and lazyById() no longer loop indefinitely with cast primary keys. MorphPivot detach operations update owners correctly.

Collection helpers keep lazy collections in collapse(), collapseWithKeys() and flatten(). DB::setDefaultConnection() handles enums correctly. JSON path updates preserve changes on AsEncryptedArrayObject and AsEncryptedCollection. MySQL JSON path handling is corrected for whereJsonOverlaps(). Query fixes also cover cursorPaginate() bindings, cloned-query casts in withCasts(), findOrNew() and chunkMap() on HasManyThrough and BelongsToMany, and incrementOrCreate() relation attributes. loadMissing() skips query construction when it receives no relations and handles nested relations on mixed morphTo models. Eloquent Collection::findOrFail() accepts a collection of IDs.

incrementOrCreate() now sets foreign keys and keeps extra creation attributes. morphTo()->withTrashed() works through has() and whereHasMorph(). FilesystemManager::set(), forgetDisk() and purge() accept enums, and copyToDisk() and moveToDisk() document enum support. The release also fixes encrypted JSON path updates and several relation edge cases.

Authentication accepts a null password in hashPasswordForCookie. GenericUser::getAuthPassword() handles users without a password. Downloads support filenames without an ASCII equivalent. Unknown-field failures ignore _token and _method. URL templates remain unexpanded when they lack URL parameters. Recycled models no longer leak into later factory calls.

Parallel testing is fixed for PHPUnit 13.4. AsHtmlString attributes serialize correctly, and a pwnedpasswords API test uses a fake service. Database and general test suites receive improvements. The defaults() implementation is available through an opt-in trait. The bundled source-map-js dependency moves from 1.2.1 to 1.2.2.