Dev News Daily ENDE

Laravel 13.35 adds QUERY routes and Schedule::alwaysOnOneServer, fixes a chunkById infinite loop

Laravel released version 13.35.0 of the framework on 6 October. The release notes list the changes pull request by pull request; the ones most likely to matter in an application:

New.

  • QUERY route method support (#61797): routes can now be registered for the HTTP QUERY method.
  • Schedule::alwaysOnOneServer() (#61789), and onOneServer now appears in the schedule:list --json output (#61798).
  • Percentages for queue:work --memory (#61753).
  • Long-running scheduled commands can see schedule:interrupt (#61764).
  • A markdown() method on the response factory (#61800) and a lazy_root_creation option for local disks (#61799).
Laravel 13.35 adds QUERY routes and Schedule::alwaysOnOneServer, fixes a chunkById infinite loop
Laravel 13.35 adds QUERY routes and Schedule::alwaysOnOneServer, fixes a chunkById infinite loop — Dev News Daily

Fixed.

  • chunkById() and lazyById() looping forever on models with a cast primary key (#61816).
  • forceCreate() ignoring withAttributes() (#61823).
  • DatabaseRule where() and whereNot() losing false values (#61796).
  • Duration helpers truncating float values (#61825).
  • Memcached lock isLocked() on a free lock (#61801).
  • A reference cycle from the default callback of PendingRequest::throw() (#61802).
  • has() and withCount() on HasOneThrough one-of-many relations, and HasOneThrough::is() comparing the wrong keys (#61818, #61827).
  • Unique job locks not released in Queue::fakeFor() (#61824).

The chunkById() fix is the one to check first if you process large tables in batches and use a cast primary key: before it, such a job could keep running without finishing.

Primary source
Laravel framework releases
https://github.com/laravel/framework/releases/tag/v13.35.0