Stable Release in branch 9.0
9.5.2
Released 31 Jan 2023
(3 years ago)
SoftwareLaravel
Version9.0
Status
End of life
Supported
PHP versions
PHP 8.0 - 8.2
Initial release9.0.0
08 Feb 2022
(4 years ago)
Latest release9.5.2
31 Jan 2023
(3 years ago)
End of bug fixes08 Aug 2023
(Ended 2 years ago)
End of security fixes06 Feb 2024
(Ended 2 years ago)
Release noteshttps://github.com/laravel/laravel/releases/tag/v9.5.2
Source codehttps://github.com/laravel/laravel/tree/v9.5.2
Documentationhttps://laravel.com/docs
Downloadhttps://laravel.com/docs/master/installation
Laravel 9.0 ReleasesView full list

What Is New in Laravel 9.0

Laravel 9.0 is a significant release that transitions the framework to a yearly major release cycle and introduces a suite of powerful new tools and improvements.

Category Key Changes
New Features Anonymous Stub Migration, New Query Builder Interface, PHP 8.0 String Functions
Improvements Ignition Error Page, Scout Database Engine, Eloquent Accessor/Mutator Improvements
Underlying Components Upgraded to Symfony 6.0, Flysystem 3.0, and PHPUnit 9.0
Deprecations Removed deprecated methods and functionality from previous versions

What are the new Eloquent and database features?

Laravel 9.0 brings two major enhancements for database interactions. The new query builder interface provides type hints for builder methods, which is a huge win for developer experience and IDE autocompletion.

Anonymous stub migrations are now the default when you run make:migration. This prevents migration class name collisions, a common headache in larger projects with multiple developers.

You can now define Eloquent accessors and mutators using a single method, making your model code cleaner and more concise.

How does the new Scout database engine work?

The Scout database engine provides a simple, zero-dependency full-text search solution for small to medium-sized applications. You can use it instead of driving Algolia or Meilisearch, which is perfect for local development or simpler deployment scenarios.

It works by utilizing SQL WHERE clauses with LIKE operators. In practice, this means you can get basic search functionality running instantly without configuring any external services.

This matters because it lowers the barrier to entry for implementing search and simplifies your application's architecture when you don't need the power of a dedicated search index.

What improvements were made to the error page?

The Ignition error page has been completely overhauled with a dark theme, customizable color schemes, and an improved user interface for debugging.

You can now see the Blade view where an exception occurred directly in the stack trace. This is a massive time-saver when tracking down bugs in your templates.

The new design also includes extended exception pages that offer more context and solutions for common framework errors.

What are the new string helpers based on PHP 8?

Laravel 9.0 incorporates the new string functions introduced in PHP 8.0 into the Illuminate\Support\Str and Illuminate\Support\Stringable classes.

This includes functions like str_contains, str_starts_with, and str_ends_with. You can use these methods fluently within your application for more expressive string manipulation.

Since these are now native PHP functions, they offer better performance than their custom Laravel equivalents from previous versions.

What underlying dependency changes should I be aware of?

The framework's core dependencies received major upgrades. The most significant is the move to Symfony 6.x components, which requires PHP 8.0 or higher.

Flysystem has been upgraded to version 3.x, changing some low-level file manipulation method signatures. If you interact with storage directly, check the upgrade guide.

PHPUnit 10 is now the default testing framework. This update brings new assertion methods and a slightly different configuration file structure compared to PHPUnit 9.

FAQ

Why did Laravel switch to a yearly release cycle?
Laravel 9's release was delayed to align with Symfony's release schedule, and moving forward, the team will ship a new major version every year to balance innovation with stability.

Is the new Scout database engine a replacement for Algolia?
No, it's designed for simpler use cases. For production applications requiring high-performance search, dedicated engines like Algolia or Meilisearch are still recommended.

Do I have to use anonymous migration classes?
They are now the default when generated, but you can still use the traditional named migration classes if you prefer by using the --fullpath option.

What is the minimum PHP version for Laravel 9?
Laravel 9 requires PHP 8.0 or higher, leveraging its new features like attributes, union types, and improved performance.

How do the new Eloquent accessors work?
You can now define both a get and set method using a single, combined method name prefixed with protected and a defined return type, reducing boilerplate code in models.

Releases In Branch 9.0

VersionRelease date
9.5.231 Jan 2023
(3 years ago)
9.5.111 Jan 2023
(3 years ago)
9.5.002 Jan 2023
(3 years ago)
9.4.119 Dec 2022
(3 years ago)
9.4.015 Dec 2022
(3 years ago)
9.3.1221 Nov 2022
(3 years ago)
9.3.1114 Nov 2022
(3 years ago)
9.3.1028 Oct 2022
(3 years ago)
9.3.917 Oct 2022
(3 years ago)
9.3.820 Sep 2022
(3 years ago)
9.3.702 Sep 2022
(3 years ago)
9.3.629 Aug 2022
(3 years ago)
9.3.522 Aug 2022
(3 years ago)
9.3.415 Aug 2022
(3 years ago)
9.3.303 Aug 2022
(4 years ago)
9.3.201 Aug 2022
(4 years ago)
9.3.126 Jul 2022
(4 years ago)
9.3.019 Jul 2022
(4 years ago)
9.2.113 Jul 2022
(4 years ago)
9.2.028 Jun 2022
(4 years ago)
9.1.1007 Jun 2022
(4 years ago)
9.1.927 May 2022
(4 years ago)
9.1.805 May 2022
(4 years ago)
9.1.703 May 2022
(4 years ago)
9.1.620 Apr 2022
(4 years ago)
9.1.512 Apr 2022
(4 years ago)
9.1.329 Mar 2022
(4 years ago)
9.1.429 Mar 2022
(4 years ago)
9.1.209 Mar 2022
(4 years ago)
9.1.108 Mar 2022
(4 years ago)
9.1.022 Feb 2022
(4 years ago)
9.0.115 Feb 2022
(4 years ago)
9.0.008 Feb 2022
(4 years ago)