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

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 →
Volker Dusch on the PHP RCE Vulnerabilities and Disclosure image

Volker Dusch on the PHP RCE Vulnerabilities and Disclosure

Read article
Decide with Jev: Turn AI Answers into Decisions with PHP Rules image

Decide with Jev: Turn AI Answers into Decisions with PHP Rules

Read article
Skuul: Open-Source School Management Built on Laravel image

Skuul: Open-Source School Management Built on Laravel

Read article
Laravel Read Replicas: Prevent Stale Reads After a Write image

Laravel Read Replicas: Prevent Stale Reads After a Write

Read article
Screenshot: Capture Images and PDFs with PHP and Laravel image

Screenshot: Capture Images and PDFs with PHP and Laravel

Read article
Reset Sticky Database Connections Between Laravel Queue Jobs image

Reset Sticky Database Connections Between Laravel Queue Jobs

Read article