Laravel 5.7.26 Released

Laravel 5.7.26 Released

The Laravel team released Laravel 5.7.26 yesterday with a new pipeline method and a method to temporarily bypass model events.

First, a new Pipeline method thenReturn was added by Tim MacDonald to allow additional work do be done on the object passed through:

// Previously
$users = app(Pipeline::class)
    ->send(User::query())
    ->through($pipes)
    ->then(function ($query) {
        return $query
            ->whereConfirmedEmail()
            ->whereAccountActive()
            ->get();
    });

// As of 5.7.26 you can use `thenReturn()`
$users = app(Pipeline::class)
    ->send(User::query())
    ->through($pipes)
    ->thenReturn()
    ->whereConfirmedEmail()
    ->whereAccountActive()
    ->get();

Next, a few public getter methods were added:

Illuminate\Cache\TaggedCache::getTags();
Illuminate\Http\ResponseTrait::getCallback();

License files were added to each Illuminate components since Laravel uses subtree splits for all the components:

Since we use a sub-split to split components into separate packages it’s wanted that we also provide a license file for each component.

A Model::withoutEvents() method was added to temporarily bypass model events. A common use-case for this is testing:

$user = User::withoutEvents(function () {
    return factory(User::class)->create();
});

$user->doSomethingWhereEventsShouldFire();

You can see the full list of changes below, and the whole diff between 5.7.25 and 5.7.26 on GitHub. The full release notes for Laravel 5.7 are available in the GitHub 5.7 changelog:

v5.7.26

Added

  • Added Illuminate\Pipeline\Pipeline::thenReturn() (#27429)
  • Added Illuminate\Cache\TaggedCache::getTags() (#27445)
  • Added Illuminate\Http\ResponseTrait::getCallback() (#27464)
  • Added license file to each component (9e57e8b)
  • Added Model::withoutEvents() method (#27419, 5c5d6b2)

Reverted

  • Revert of “Fixed wrong class being used when eager loading nullable MorphTo with withDefault() (#27411)”(9bbf644)

Changed

  • Improved error message in Illuminate\Foundation\Testing\TestResponse::assertJsonValidationErrors() (#27495, 98010da)
  • Illuminate\Support\Testing\Fakes\EventFake::dispatch() will return response (#27430)


Filed in: News


Newsletter

Join the weekly newsletter and never miss out on new tips, tutorials, and more.

Laravel News Partners

Laravel Jobs

Senior Laravel Engineer
Remote okay (must already live in USA)
Hawthorne Effect
Senior Software Engineer (Remote - Contract)
Remote
Koodi Systems
PHP Developer
Pittsburgh / Remote
Sequoia Waste Solutions
Software Developer
Eindhoven
Simac IDS
Application Developer Level II (CakePHP / MySql / Vue.js)
Lancaster, PA
Harbor Compliance
FULL STACK LARAVEL DEVELOPER
LONDON - WEST END
AMPERSAND HEATLH
Mid/Senior Laravel Developer - U.S. Only
Kenner, Louisiana
Profit Miner Technologies