Stable Release in branch 10.0
10.3.3
Released 13 Feb 2024
(2 years ago)
SoftwareLaravel
Version10.0
Status
End of life
Supported
PHP versions
PHP 8.1 - 8.2
Initial release10.0.0
14 Feb 2023
(3 years ago)
Latest release10.3.3
13 Feb 2024
(2 years ago)
End of bug fixes06 Aug 2024
(Ended 2 years ago)
End of security fixes04 Feb 2025
(Ended 1 year ago)
Release noteshttps://github.com/laravel/laravel/releases/tag/v10.3.3
Source codehttps://github.com/laravel/laravel/tree/v10.3.3
Documentationhttps://laravel.com/docs
Downloadhttps://laravel.com/docs/master/installation
Laravel 10.0 ReleasesView full list

What Is New in Laravel 10.0

Category Key Changes
New Features Laravel Pennant, Process Interaction, Native Type Declarations, New laravel commands
Improvements Pest Scaffolding, Generator CLI Prompts, Horizon & Telescope Improvements, New String Helpers
Deprecated Removed Deprecated Code from Framework Core and First-Party Packages

What new packages were introduced?

Laravel 10 ships with a brand new first-party package called Laravel Pennant. This package provides a streamlined solution for managing feature flags in your application.

Feature flags let you roll out new application features with confidence, enabling them for specific users or environments. Pennant's simple API and array-based driver make it incredibly easy to get started without needing an external service.

How does the new Process interaction work?

A new abstraction for interacting with external processes is a major addition. The Process facade allows you to easily invoke and manage command-line processes from your Laravel application.

This is a game-changer for running artisan commands, system tools, or any shell script. It handles testing fakes, output retrieval, and process lifecycle management, making what was previously complex much simpler.

$result = Process::run('ls -la');

What about type safety in the codebase?

Laravel 10 pushes the framework towards modern PHP by incorporating native type declarations into all skeleton code generated by the framework's make commands.

This means new models, controllers, listeners, and other classes you generate will include return types and type hints for method arguments. It encourages a more robust and self-documenting code style across your entire project.

Are there new developer experience improvements?

Absolutely. The Artisan command-line interface got smarter with new interactive prompts for the make: commands. If you forget to pass a required argument, Artisan will now prompt you for it instead of throwing an error.

Pest test scaffolding is now included out of the box. When creating a new Laravel project, you can use the --pest flag to generate Pest tests instead of PHPUnit. Horizon and Telescope also received various usability enhancements.

What was removed or deprecated?

This release continues the annual tradition of removing deprecated code. All previously deprecated functionality from the framework core and first-party packages has been stripped out.

In practice, this cleanup keeps the framework lean and modern. If you're upgrading from an older version, you'll need to ensure your application isn't relying on any methods or features that were marked for removal in Laravel 9.

FAQ

Is the new Process facade a replacement for running shell_exec?
Yes, it's a much safer and more powerful abstraction. It handles escaping arguments, capturing output, and provides a testable interface that you can fake during testing.

Do I have to use Pest instead of PHPUnit now?
No, it's optional. PHPUnit remains the default. The new --pest flag just gives you a choice when starting a new project.

What happens if my app uses a deprecated method that was removed?
The application will break with a fatal error. You must audit your codebase for any calls to methods deprecated in Laravel 9 before upgrading.

Are the new type declarations in skeleton code strict?
They use PHP's union types and mixed types where appropriate, providing a good balance of type safety and flexibility for a framework context.

Is Pennant a replacement for third-party feature flag services?
For many use cases, yes. It's perfect for flags driven by your application's database. For extremely high-scale or complex scenarios, you might still opt for a dedicated service.

Releases In Branch 10.0

VersionRelease date
10.3.313 Feb 2024
(2 years ago)
10.3.209 Jan 2024
(2 years ago)
10.3.127 Dec 2023
(2 years ago)
10.3.019 Dec 2023
(2 years ago)
10.2.1005 Dec 2023
(2 years ago)
10.2.913 Nov 2023
(2 years ago)
10.2.802 Nov 2023
(2 years ago)
10.2.731 Oct 2023
(2 years ago)
10.2.610 Aug 2023
(2 years ago)
10.2.530 Jun 2023
(3 years ago)
10.2.407 Jun 2023
(3 years ago)
10.2.301 Jun 2023
(3 years ago)
10.2.223 May 2023
(3 years ago)
10.2.112 May 2023
(3 years ago)
10.2.005 May 2023
(3 years ago)
10.1.118 Apr 2023
(3 years ago)
10.1.015 Apr 2023
(3 years ago)
10.0.714 Apr 2023
(3 years ago)
10.0.605 Apr 2023
(3 years ago)
10.0.508 Mar 2023
(3 years ago)
10.0.428 Feb 2023
(3 years ago)
10.0.321 Feb 2023
(3 years ago)
10.0.216 Feb 2023
(3 years ago)
10.0.115 Feb 2023
(3 years ago)
10.0.014 Feb 2023
(3 years ago)