“I created an AI assistant for Laravel developers that handles all the boring work.”
Learn more
Smousss
Benjamin Crozat The art of crafting web applications

Laravel retrospective: what changed since version 5.8?

Benjamin Crozat — Updated on

You may belong to a group of people who left Laravel a few years ago and would like a quick summary of everything that changed now that you are coming back.

Well, this is your lucky day. Instead of letting you pour hours into reading every upgrade guide, I leveraged the power of AI to compile a (non-exhaustive) list that will give you a great overview.

Table of contents

Laravel retrospective: what changed since version 5.8?

Changes in the directory structure

Moved directories

  1. In Laravel 9, the resources/lang directory has been moved to the root project directory.

New directories

  1. factories: in Laravel 8, model factories were rewritten to support classes, and they are stored in the database/factories directory.
  2. seeders: still in Laravel 8 , seeder classes are now stored in the database/seeders directory.

Removed or changed functionalities

  1. Authentication scaffolding moved to laravel/ui repository.
  2. The str_ and array_ helpers were removed from the framework in Laravel 6.0 and moved to the laravel/helpers package.
  3. The Input facade was removed in Laravel 6.0, and developers are encouraged to use the Request facade instead.
  4. The mandrill and sparkpost mail drivers were removed in Laravel 6.0.
  5. The rackspace storage driver was removed in Laravel 6.0.
  6. The undocumented addHidden and addVisible methods were removed from Eloquent in Laravel 7.0.
  7. The undocumented promotion Markdown mail component was removed in Laravel 7.0.
  8. Support for duplicate route names was removed in Laravel 7.0.
  9. Factory “types” feature was removed from Eloquent in Laravel 7.0.
  10. The retryAfter method and property were renamed to backoff in Laravel 8.0.
  11. The timeoutAt property was renamed to retryUntil in Laravel 8.0.
  12. The allOnQueue() and allOnConnection() methods were removed when using job chaining in Laravel 8.0.
  13. The default Markdown mail templates were changed in Laravel 7.0 and 8.0, and the old templates were removed.
  14. The password validation rule was renamed to current_password in Laravel 9.0.
  15. The Eloquent model’s $dates property was deprecated in Laravel 10.0, and developers are encouraged to use the $casts property instead.
  16. The Redirect::home method was deprecated in Laravel 10.0, and developers should use Redirect::route('home') instead.
  17. The deprecated Bus::dispatchNow and dispatch_now methods were replaced with Bus::dispatchSync and dispatch_sync methods, respectively, in Laravel 10.0.
  18. The deprecated MocksApplicationServices trait was removed from tests in Laravel 10.0.

More detailed changes since Laravel 5.8 for each major version

Changes in Laravel 6.0 from 5.8

Changes in Laravel 7.0 from 6.x

Changes in Laravel 8.0 from 7.x

Changes in Laravel 9.0 from 8.x

Changes in Laravel 10.0 from 9.x

Official packages added since Laravel 5.8

The following packages have been added since Laravel 5.8:

Recommended

Laravel 10 has been released on February 14, 2023. Let's dive into every relevant new feature and change.

I show you how to upgrade your Laravel 9 project to version 10 and help you decide whether the return on investment is worth it.

I show you how to upgrade your Laravel 8 project to version 9 and help you decide whether the return on investment is worth it.

Learning a framework can be overwhelming, but time and execution will make you a master. Here are some best practices to help you toward your goal.

Nailing a Laravel job interview can be a daunting task, but with the right preparation and mindset, you can set yourself up for success.

Laravel 11 will be released on February 6th, 2024. Its development is still ongoing. Let's dive into every relevant new feature we know about already.

Learn why and how to fix "Methods with the same name as their class will not be constructors in a future version of PHP" warnings.

Here's a case study for my blog in the programming niche, where I share everything I did to increase clicks by a huge amount since the beginning.

Learn about Laravel, the people who use it, and the entrepreneurship spirit that made the framework one of the most profitable open-source projects ever.

Using a well-known Large Language Model, I managed to summarize every session from WWDC23 that's related to web development.

Powered by