Laravel 7.16 Released


June 17th, 2020

The Laravel team released v7.16.0 with two new convenience methods for model attribute visibility, along with the latest new features, fixes, and changes in the 7.x branch:

Model makeVisibleIf and makeHiddenIf Methods

@rennokki contributed two new methods to the HidesAttributes model trait:

// Hide home_lineups and away_lineups when $sportEvent->has_lineups === false
$sportEvent->makeHiddenIf(function ($sportEvent) {
    return ! $sportEvent->has_lineups;
}, ['home_lineups', 'away_lineups']);

// Include home_lineups and away_lineups if $sportEvent->has_lineups === true
$sportEvent->makeVisibleIf(function ($sportEvent) {
    return $sportEvent->has_lineups;
}, ['home_lineups', 'away_lineups']);

Custom Model Guard for the make:policy Command

Alex Miles contributed the ability to pass a custom guard via the --guard flag:

php artisan make:policy --guard=api

Add Theme Property to the Mailable Class

Bassel Hossam contributed a new Mailable::$theme property, which allows the user to change the theme at runtime and enable reflection in queued jobs correctly.

Release Notes

You can see the full list of new features and updates below and the diff between 7.15.0 and 7.16.0 on GitHub. Users are encouraged to update to the later released 7.16.1, which includes the latest patch for the 7.16.x release.



  • Added makeVisibleIf and makeHiddenIf methods to Illuminate\Database\Eloquent\Concerns\HidesAttributes (#33176, 42383e4)
  • Added option to specify a custom guard for the make:policy command (#33210, 13e3b65)
  • Added theme property to Illuminate\Mail\Mailable class (#33218)




  • Revert “handle array callbacks” in event dispatcher (4e3fedb)

Filed in:

Paul Redmond

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