The Wire · Showcase
FRAMEWORK FIXES QUEUE SERIALIZATION BUG, WORKER EVENTS GET OBSERVABILITY BOOST
By RepoJournal · Filed · About Laravel
RateLimited middleware was silently dropping releaseAfter values during job serialization, breaking retry delays for queued jobs.
The Laravel framework team squashed a critical serialization bug in the RateLimited middleware [1] where the releaseAfter property vanished after jobs cycled through the queue's serialize/deserialize loop. This meant jobs configured to delay on rate limit hits would lose that delay instruction entirely. In parallel, the framework is tightening event reliability by ensuring the restored event only fires when soft delete restoration actually succeeds [2], eliminating silent failures from triggering event handlers. Worker observability just got sharper with the WorkerStopping event now receiving jobsProcessed and lastJobProcessedAt data [3], giving ops teams better visibility into worker lifecycles and memory pressure correlations. On the dev experience side, artisan dev now respects exit codes more intelligently [4]. Short-lived commands like migrations or seeds won't torpedo your entire dev environment when they finish successfully, but failures still tear everything down as they should.
One email a day. Unsubscribe in one click.
Keep up with Laravel in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Review queued jobs using RateLimited middleware directly in constructors - verify releaseAfter behavior after next deploy laravel/framework [plan]
- → Update any soft delete event handlers that assume restored event always means success laravel/framework [plan]
- → Merge pending actions/checkout 7.0.0 updates across all notification channels laravel/ui [monitor]
References
- [1] Fix RateLimited middleware not serializing releaseAfter in __sleep() ↗ laravel/framework
- [2] [13.x] Prevent restored event when soft delete restore fails ↗ laravel/framework
- [3] [13.x] Expose jobs processed count and last job timestamp on the WorkerStopping event ↗ laravel/framework
- [4] Use `--kill-others-on-fail` for `artisan dev` ↗ laravel/framework