Laravel 6.14.0 Released

News

February 5th, 2020

laravel6.jpg

The Laravel team released v6.14.0 this week with a new dispatchAfterResponse() method, macroable dispatcher, and a NoPendingMigrations event:

Dispatch After Response

Mohamed Said contributed a new method on the dispatcher to dispatch a job after the response is sent back to the client. The PR describes the use-case for this method:

This method makes the job run after the response is sent and before closing the connection. It simply registers a terminating callback that the application runs before it’s done with the request.

It can be useful to dispatch a short job instantly instead of sending it to a queue system.

Here’s a pseudo example:

1SomethingDispatchable::dispatchAfterResponse();

Assert Jobs with an Empty Chain

Gergő D. Nagy contributed the assertPushedWithoutChain method on the QueueFake class, which enables testing an empty job chain:

1Queue::fake();
2 
3Queue::assertPushedWithEmptyChain(ExampleJob::class);

No Pending Migrations Event

Wouter Rutgers contributed a NoMigrations migration event fires when there aren’t any migrations for an up or down. While probably not something you need to reach for often, here’s the event fired during an up migration without any pending migrations:

1$this->fireMigrationEvent(new NoMigrations('up'));

You can see the full list of new features and updates below and the whole diff between 6.13.0 and 6.14.0 on GitHub. The full release notes for Laravel 6.0 are available in the GitHub v6 changelog:

v6.14.0

Added

  • Added Illuminate\Bus\Dispatcher::dispatchAfterResponse() method (#31300, 8a3cdb0)
  • Added Illuminate\Support\Testing\Fakes\QueueFake::assertPushedWithoutChain() method (#31332, 7fcc6b5)
  • Added Macroable trait to the Illuminate\Events\Dispatcher (#31317)
  • Added NoPendingMigrations event (#31289, 739fcea)

Fixed

  • Used current DB to create Doctrine Connections (#31278)
  • Removed duplicate output when publishing tags in vendor:publish command (#31333)
  • Fixed plucking column name containing a space (#31299)
  • Fixed bug with wildcard caching in event dispatcher (#31313)
  • Fixed infinite value for RedisStore (#31348)
  • Fixed dropping columns in SQLServer with default value (#31341)

Changed

  • Use SKIP LOCKED for mysql 8.1 and pgsql 9.5 queue workers (#31287)
  • Dont merge middleware from method and property in Illuminate\Bus\Queueable::middleware() (#31301)
  • Split specifyParameter() from Illuminate\Console\Command to HasParameters trait (#31254)
  • Make sure changing a database field to json does not include charset (#31343)

#laravel/writing

Filed in:

Paul Redmond

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