

Symfony Mailer support was contributed by Dries Vints, James Brooks, and Julius Kiekbusch. Laravel 9.x requires a minimum PHP version of 8.0. Laravel 9 continues the improvements made in Laravel 8.x by introducing support for Symfony 6.0 components, Symfony Mailer, Flysystem 3.0, improved route:list output, a Laravel Scout database driver, new Eloquent accessor / mutator syntax, implicit route bindings via Enums, and a variety of other bug fixes and usability improvements. Therefore, this commitment to ship great new features during the current release will likely lead to future "major" releases being primarily used for "maintenance" tasks such as upgrading upstream dependencies, which can be seen in these release notes. Therefore, we have shipped a variety of robust features to Laravel 8 without breaking backwards compatibility, such as parallel testing support, improved Breeze starter kits, HTTP client improvements, and even new Eloquent relationship types such as "has one of many".

This transition is intended to ease the maintenance burden on the community and challenge our development team to ship amazing, powerful new features without introducing breaking changes. Previously, major versions were released every 6 months. VersionĪs you may know, Laravel transitioned to yearly releases with the release of Laravel 8. In addition, please review the database versions supported by Laravel. For all additional libraries, including Lumen, only the latest major release receives bug fixes. Therefore, using named arguments when calling Laravel methods should be done cautiously and with the understanding that the parameter names may change in the future.įor all Laravel releases, bug fixes are provided for 18 months and security fixes are provided for 2 years. We may choose to rename function arguments when necessary in order to improve the Laravel codebase. Named arguments are not covered by Laravel's backwards compatibility guidelines. However, we strive to always ensure you may update to a new major release in one day or less. When referencing the Laravel framework or its components from your application or package, you should always use a version constraint such as ^9.0, since major releases of Laravel do include breaking changes. Minor and patch releases should never contain breaking changes. Major framework releases are released every year (~February), while minor and patch releases may be released as often as every week.

Laravel and its other first-party packages follow Semantic Versioning.
