Laravel 7.16 Released

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.

v7.16.0

Added

  • Added makeVisibleIf and makeHiddenIf methods to Illuminate\Database\Eloquent\Concerns\HidesAttributes(#3317642383e4)
  • Added option to specify a custom guard for the make:policycommand (#3321013e3b65)
  • Added theme property to Illuminate\Mail\Mailable class (#33218)

Changed

v7.16.1

Revert

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

Leave a Reply

Your email address will not be published. Required fields are marked *

*