Laravel 8.17 Released

News

December 2nd, 2020

laravel8.jpg

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:

1DB::afterCommit(function () {
2 // Only executed after the transactions are committed.
3 // Discarded if the transaction is rolled back.
4 Mail::send(...);
5});

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:

1$request->dd();
2 
3// print only the keys from the array
4$request->dd(['name', 'age']);
5 
6// pass them as separate arguments
7$request->dd('name', 'age');
8 
9// Quickly inspect request params before running validation
10$request->dd()->validate([
11 'name' => 'required'
12]);

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

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)

Changed

  • Make DownCommand retryAfter available to prerendered view (#35357, b1ee97e)
  • Set default value on cloud driver (0bb7fe4)
  • Update Tailwind pagination focus styles (#35365)
  • Redis: allow to pass connection name (#35402)
  • Change Wormhole to use the Date Factory (#35421)

Filed in:

Paul Redmond

Full stack web developer. Author of Lumen Programming Guide and Docker for PHP Developers.