News

Laravel 9.9 Released

Published
Laravel 9.9 Released image

Release updates

Never miss a Laravel release

Get an email whenever a new Laravel release lands.

The Laravel team released 9.9 with a configurable pluralizer, getAllTables() support for SQLite and SQLServer, an Eloquent Builder convenience method, the ability to call throw() in a PendingRequest, and more:

Get All Tables Support for SQLite and SQLServer

JHavens and Derek MacDonald contributed the ability to call getAllTables() on SQLite and SQLServer connections:

Schema::getAllTables();

Eloquent Builder withoutEagerLoads() Method

D. Nagy Gergő contributed a withoutEagerLoads() method to the Eloquent Builder class. It's convenience method for the following:

// Before
$query->setEagerLoads([]);
 
// After
$query->withoutEagerLoads();

Add a "throw" Method to the PendingRequest Class

Ash Allen contributed a throw() method you can use on a PendingRequest when using Laravel's HTTP client:

private function client(): PendingRequest
{
return Http::baseUrl('https://www.getrevue.co/api/v2/')
->withHeaders([
'Authorization' => 'Token ' . config('services.revue.api_key'),
])
->throw();
}

Configurable Pluralizer

@cesarep contributed configurable pluralizer language and uncountable words. See Pull Request #41941 for details on this PR.

Release Notes

You can see the complete list of new features and updates below and the diff between 9.8.0 and 9.9.0 on GitHub. The following release notes are directly from the changelog:

v9.9.0

Added

  • Add getAllTables support for SQLite and SQLServer schema builders (#41896)
  • Added withoutEagerLoads() method to Builder (#41950)
  • Added 'throw' method to PendingRequest (#41953)
  • Configurable pluralizer language and uncountables (#41941)

Fixed

  • Fixed Error in Illuminate/Routing/Exceptions/StreamedResponseException (#41955)
  • Fix PHP warnings when rendering long blade string (#41956)
  • Fix ExcludeIf regression to use Closure over is_callable() (#41969)
  • Fixes applying replacements to multi-level localization arrays (#42022)

Changed

  • Improved Illuminate/Foundation/Http/Middleware/TrimStrings.php and Str::squish() (#41949, #41971)
  • Use config session domain for maintenance cookie (#41961)
  • Revert lazy command forcing (#41982)
Paul Redmond photo

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

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Securing Filament plugins with Plumb image

Securing Filament plugins with Plumb

Read article
LayaPHP: Self-Hosted Text Classification for PHP and Laravel image

LayaPHP: Self-Hosted Text Classification for PHP and Laravel

Read article
WhenMounted and BigInt Props in Inertia.js v3.8 image

WhenMounted and BigInt Props in Inertia.js v3.8

Read article
Postcodes for Laravel: GB Postcode Lookup and Geography Data image

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Read article
Laravel 14 Adds a defaults() Method to Eloquent Models image

Laravel 14 Adds a defaults() Method to Eloquent Models

Read article
Laravel AI SDK and Laravel MCP Security Fixes: Update Now image

Laravel AI SDK and Laravel MCP Security Fixes: Update Now

Read article