The Wire · Showcase
SCHEDULER NOW CATCHES SIGNALS, PENNANT EMBRACES ENUMS
By RepoJournal · Filed · About Laravel
Laravel 13 adds graceful shutdown to schedule:work, matching queue:work's container-safe behavior while Pennant gains native PHP enum support.
The scheduler has been running blind to termination signals. When Kubernetes sends SIGTERM during pod shutdown or you hit Ctrl+C mid-task, schedule:work dies immediately without finishing what it started [1]. That changes today. The new signal-aware scheduler stops accepting new runs on SIGINT/SIGTERM/SIGQUIT and waits for in-progress tasks to complete before exiting, bringing parity with queue:work and making the scheduler safe for containerized deployments. Pennant's feature flag system now supports PHP enums natively [2], giving you type-safe feature interactions instead of strings. On the framework desk, three critical fixes landed: Request::json() now correctly preserves top-level zero values instead of treating them as empty bodies [3], and Number::forHumans() and Number::abbreviate() no longer exhaust memory when given INF/NAN values [4]. Both desks bumped actions/checkout to 7.0.0 [5] [6], which blocks checkout of fork PRs in pull_request_target workflows for security.
Action items
- → If you run schedule:work in containers, pull the latest 13.x and test graceful shutdown behavior laravel/framework [plan]
- → If you're using Pennant, consider refactoring feature flag definitions to use enums for type safety laravel/pennant [monitor]
- → Upgrade to latest if you rely on Request::json() with zero-only bodies or use Number utilities with edge-case inputs laravel/framework [plan]
References
- [1] [13.x] schedule:work catch signals ↗ laravel/framework
- [2] [1.x] Feat: PHP Enums ↗ laravel/pennant
- [3] [13.x] Fix Json parsing for top level zero bodies ↗ laravel/framework
- [4] [13.x] Fix Number::forHumans() and Number::abbreviate() crashing on INF/NAN ↗ laravel/framework
- [5] Bump actions/checkout from 6.0.3 to 7.0.0 in the github-actions group ↗ laravel/ai
- [6] Bump actions/checkout from 6.0.3 to 7.0.0 in the github-actions group ↗ laravel/jetstream
FAQ
- What changed in Laravel on June 29, 2026?
- Laravel 13 adds graceful shutdown to schedule:work, matching queue:work's container-safe behavior while Pennant gains native PHP enum support.
- What should Laravel teams do about it?
- If you run schedule:work in containers, pull the latest 13.x and test graceful shutdown behavior • If you're using Pennant, consider refactoring feature flag definitions to use enums for type safety • Upgrade to latest if you rely on Request::json() with zero-only bodies or use Number utilities with edge-case inputs
- Which Laravel repositories shipped on June 29, 2026?
- laravel/framework, laravel/pennant, laravel/ai, laravel/jetstream