Laravel v5.8.29

The Laravel team released v5.8.29 which includes a few new features, performance improvement to MorphTo relationships, and a few bug fixes.

A notable new feature in this release is a new feature to pass an array of columns to whereNull and whereNotNull. Here is how you would have to write these before.

$query->whereNull('id')->whereNull('expires_at'); $query->whereNotNull('id')->whereNotNull('expires_at');

This can be simplified into:

$query->whereNull(['id', 'expires_at']); $query->whereNotNull(['id', 'expires_at']);

See below for the full change log on Laravel v5.8.29:

Added

Added possibility for WithFaker::makeFaker() use local app.faker_locale config (#29123)

use local config (#29123) Added ability to set a theme for mail notifications (#29132)

Added runtime for each migration to output (#29149)

Added possibility for whereNull and whereNotNull to accept array columns argument (#29154)

and to accept array columns argument (#29154) Allowed Console\Scheduling\ManagesFrequencies::hourlyAt() to accept array of integers (#29173)

Performance

Improved eager loading performance for MorphTo relation (#29129)

Fixed

Fixed Builder::whereDay() and Builder::whereMonth() with raw expressions

and with raw expressions Fixed DELETE queries with alias on SQLite (#29164)

Fixed queue jobs using SerializesModels losing order of passed in collections (#29136)

Fixed conditional binding for nested optional dependencies (#29180)

Fixed: validator not failing on custom rule when message is null (#29174)

Fixed DELETE query bindings (#29165)