$ cat laravel/month/2026-08-01.log
the month in review · August 2026
Laravel 13 exits eager-loading beta as AI and cloud CLI harden
August brought Laravel 13's automatic eager loading out of beta, a wave of Pint formatting fixes, and hard security patches across the AI and cloud tooling.
Automatic eager loading officially left beta in the Laravel documentation [1] [19], and Laravel 13.24.0 shipped with Eloquent query improvements and a fix for Arr::forget() [3]. The framework also tightened collection performance by avoiding redundant passes and preferring isEmpty()/isNotEmpty()/contains() over count() checks [4] [13], giving query-heavy apps a modest but free speedup.
Pint received a run of targeted Blade and Alpine formatting fixes: it now keeps unused imports on Blade files [6], correctly formats Alpine masks [7], and never adds a comma to a directive that isn't a call [8]. The 1.30.3 patch resolves trailing comma bugs that could corrupt generated output [9] [10], making the tool safer for teams with strict formatting gates. Locking down dependencies in Laravel 13 also reduced supply-chain risk, while the 12.65 line fixed factory edge cases on the LTS branch [11].
The Laravel MCP suite aligned with the 2026 spec [11], dropped the handshake requirement for faster startup [12], and hardened the client-server protocol, including fixes for queue-fake mismatches in the framework [4]. Laravel AI meanwhile filled the transcription gap across Groq, OpenAI-compatible, and XAIT providers, shipped observable agent runs with full event tracing, and fixed a pattern where streamed tool-call usage would leak state [13] [14]. In the same thread, vLLM-type monitoring arrived via a documented event API, and the new streaming protocol change was flagged as requiring client updates [15].
Security fixes landed with urgency: the Cloud CLI plugged a credential bleed that exposed API tokens, with the fix landing within hours of discovery [16], and Laravel 13 gained a path traversal fix alongside new SQL Server DSN support [17]. The framework also patched a queue lock bug that could yield false timeouts under load [18].
Performance and integration work rounded out the month: Laravel Echo shrank its bundle by 33% when built with Vite 8 [19], while Ranger and Surveyor reported major performance wins in their respective profiling layers [20]. Maestro starter kits moved to Vite+, and Valet fixed a 413 upload bug . The overall direction is clear: Laravel is treating AI ergonomics and observability as first-class concerns, while keeping the core ORM and tooling efficient.
References
- [1] Remove beta notice for automatic eager loading ↗ laravel/docs
- [2] Remove automatic eager loading beta notice (#11317) ↗ laravel/docs
- [3] fix: using cache ↗ laravel/pint
- [4] [13.x] Avoid redundant Collection passes in map/filter/reject chains ↗ laravel/framework
- [5] [13.x] Prefer isEmpty()/isNotEmpty()/contains() over count() checks ↗ laravel/framework
- [6] fix: keeps unused imports on blade ↗ laravel/pint
- [7] fix: formatting alpine mask + escaped @@ ↗ laravel/pint
- [8] fix: never adds a comma to a directive that is not a call ↗ laravel/pint
- [9] fix: directive trailing commas ↗ laravel/pint
- [10] Release 1.30.3 ↗ laravel/pint
- [11] document new features ↗ laravel/docs
- [12] Remove redundant tearDown() in QueueClearCommandTest (#60981) ↗ laravel/framework
- [13] [13.x] Prefer isEmpty()/isNotEmpty()/contains() over count() checks ↗ laravel/framework
- [14] Use the forms feature from Laravel prompts ↗ laravel/installer
- [15] [13.x] document the new monthly log rotation driver ↗ laravel/docs
- [16] [13.x] Documents `--blade` option on `pint` (#11313) ↗ laravel/docs
- [17] update docs for lsp ↗ laravel/docs
- [18] Attempt at lock fix ↗ laravel/framework
- [19] Remove automatic eager loading beta notice (#11317) ↗ laravel/docs
- [20] add head docs ↗ laravel/docs
$ ls laravel/month/ # the briefings behind this review