Laravel 8.17 Released
Published on by Paul Redmond
The Laravel team released 8.17 yesterday with the introduction of transaction-aware code execution, new dump() and dd() request methods, and the latest changes in the 8.x branch:
Transaction Aware Code Execution
Mohamed Said contributed a transaction manager class that records transactions, commits, and rollbacks. This functionality includes a transaction-aware handler that executes code after (and only after) transactions are committed:
DB::afterCommit(function () { // Only executed after the transactions are committed. // Discarded if the transaction is rolled back. Mail::send(...);});
The transaction-aware manager paves the way for future work to make listeners, jobs, mail, etc., transaction-aware by default.
Add dump and dd to the Request Object
Trajche Nakov contributed dump()
and dd()
methods to the Illuminate Request class:
$request->dd(); // print only the keys from the array$request->dd(['name', 'age']); // pass them as separate arguments$request->dd('name', 'age'); // Quickly inspect request params before running validation$request->dd()->validate([ 'name' => 'required']);
Release Notes
You can see the full list of new features and updates below and the diff between 8.16.0 and 8.17.0 on GitHub. The following release notes are directly from the changelog:
v8.17.0
Added
- Added: Transaction aware code execution (#35373, 9565598)
- Added dd() and dump() to the request object (#35384, c43e08f)
- Enqueue all jobs using a enqueueUsing method (#35415, 010d4d7, #35437)
Fixed
- Fix issue with polymorphic morphMaps with literal 0 (#35364)
- Fixed Self-Relation issue in withAggregate method (#35392, aec5cca, #35394)
- Fixed Use PHP_EOL instead of
\n
in PendingCommand (#35409) - Fixed validating image/jpeg images after Symfony/Mime update (#35419)
- Fixed fail to morph with custom casting to objects (#35420)
- Fixed
Illuminate\Collections\Collection::sortBy()
(307f6fb) - Don’t overwrite minute and hour when specifying a time with twiceMonthly() (#35436)