News

Laravel 9.8 Released

Published
Laravel 9.8 Released image

Release updates

Never miss a Laravel release

Get an email whenever a new Laravel release lands.

The Laravel team released 9.8 with accessing default form data from an Eloquent model, custom log levels per exception type, discovering anonymous components in additional paths, and more:

The "old" Form Helper Accepts a Model

Andrew Arscott contributed an update to the old() helper that allows a model as the second default argument:

<input type="text" name="name" value="{{ old('name', $user->name) }}">
 
{{-- 🔥 --}}
<input type="text" name="name" value="{{ old('name', $user) }}">

Allow a Custom Log Level in Exception Handling

Tom Witkowski contributed the ability to customize the log level for reported exceptions in the exception handler:

use PDOException;
use Psr\Log\LogLevel;
 
/**
* A list of exception types with their corresponding custom log levels.
*
* @var array<class-string<\Throwable>, \Psr\Log\LogLevel::*>
*/
protected $levels = [
PDOException::class => LogLevel::CRITICAL
];

See Pull Request #41925 for implementation details.

Discover Anonymous Blade Components in Additional Paths

Ralph J. Smit contributed the ability to discover anonymous Blade components in additional paths:

public function boot()
{
Blade::anonymousComponentNamespace('flights.bookings', 'flights');
}

Here's an example of anonymous component usage:

<x-flights::panel :flight="$flight" />

Set Factory Method

Ralph J. Smit contributed a model factory set() method to set a single model attribute:

// Before
EloquentModel::factory()
->create(['name' => 'foo']);
 
// After
EloquentModel::factory()
->set('name', 'foo')
->create();
 
// Before
EloquentModel::factory()
->someMethod()
->create(['country' => 'NL']);
 
// After
EloquentModel::factory()
->someMethod()
->set('country', 'NL')
->create();

Release Notes

You can see the complete list of new features and updates below and the diff between 9.7.0 and 9.8.0 on GitHub.

Paul Redmond photo

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

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article