News

Laravel 7.14 Released

Published
Laravel 7.14 Released image

Release updates

Never miss a Laravel release

Get an email whenever a new Laravel release lands.

The Laravel team released v7.14.0 with making component attributes available during render and guessing a file extension based on mime-type, along with the latest features, fixes, and changes in the 7.x branch.

View Attributes Available Within Render Method

Taylor Otwell contributed the ability for view component to return a Closure that takes data attributes as an argument:

Currently $this->attributes is null within a component’s render method. This solves that by allowing components to return a Closure from rendering to defer the template building… which allows you to do some pretty funky stuff.

public function render()
{
return function ($data) {
// $data['attributes'];
// $this->attributes;
}
}

Guessing a File Extension

Illia Sakovich contributed a File::guessExtension() method “which could be useful in case we want to know the extension of the file which doesn’t have one.”

It guesses the file extension by the mime type:

>>> File::name(public_path('image.png'))
=> "image"
>>> File::extension(public_path('image.png'))
=> "png"
>>> File::guessedExtension(public_path('image.png'))
=> "png"
>>> File::copy(public_path('image.png'), public_path('image'))
=> true
>>> File::name(public_path('image'))
=> "image"
>>> File::extension(public_path('image'))
=> ""
>>> File::guessedExtension(public_path('image'))
=> "png"

Http Client toPsrRequest()

@thomasdominic contributed the toPsrRequest() method which “Allows re-build TransferStats attribute when we use http fake”:

Http::fake([
'https://external_api.com/403' => function (Request $request) {
$http_response = Http::response("", 403);
$http_response->TransferStats = new TransferStats($request->toPsrRequest());
return $http_response;
}
]);

MessageBag addIf() Method

Taylor Otwell contributed the addIff() method which conditionally adds a message to a message bag:

$messageBag->addIf(
someCondition(),
'name',
'Example message.'
);

Release Notes

You can see the full list of new features and updates below and the diff between 7.13.0 and 7.14.0 on GitHub.

v7.14.0

Added

  • Views: make attributes available within render method (#32978)
  • Added forceDeleted method to SoftDeletes (#32982)
  • Added Illuminate\Filesystem\Filesystem::guessExtension() method (#33001, d26be90)
  • Added Illuminate\Http\Client\Request::toPsrRequest() (#33016)
  • Added Illuminate\Support\MessageBag::addIf() method (50efe09)
  • Provide psr/container-implementation (#33020)
  • Support PHP 8’s reflection API (#33039, 6018c1d)

Fixed

Changed

  • Use new line for route:list middleware (#32993)
  • Disallow generation commands with reserved names (#33037)
Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Image Dominant Color and HEIC Support in Laravel 13.24 image

Image Dominant Color and HEIC Support in Laravel 13.24

Read article
Official Laravel Zed Extension: LSP for PHP & Blade image

Official Laravel Zed Extension: LSP for PHP & Blade

Read article
Laravel Head: Manage Meta Tags, Open Graph, and JSON-LD image

Laravel Head: Manage Meta Tags, Open Graph, and JSON-LD

Read article
PhpStorm 2026.2 Released image

PhpStorm 2026.2 Released

Read article
Laravel Doctor: Diagnose Your App With One Artisan Command image

Laravel Doctor: Diagnose Your App With One Artisan Command

Read article
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article