Closed mikaeljorhult closed 2 years ago
:information_source: Laravel 9 moved the resources/lang
folder to the top level of the project. While Shift moved and replaced references to this folder, you may have additional references to this folder which need to be updated.
:x: In Laravel 9, unvalidated array keys are excluded from the validated
data. While not recommended, you may add Validator::includeUnvalidatedArrayKeys()
to the boot
method of your AppServiceProvider
to preserve the old behavior. However, ideally, you should specify the allowed keys in your array
validation rule.
Shift found uses of the array
validation rule where the keys are not specified in the following files. You should review these rules and specify the allowed array keys.
:warning: Laravel 9 transitioned from SwiftMailer to Symfony Mailer. While this transition should be relatively seamless and Shift automates any tedious changes, there are some changes which are not reliably automated.
Dependencies
Some mail providers may require an additional dependency. For example, if you are using Mailgun, then you will need to install the symfony/mailgun-mailer
package:
composer require symfony/mailgun-mailer
Updated Return Types
The send
, html
, text
, and plain
methods no longer return the number of recipients that received the message.
Failed Recipients
It is no longer possible to retrieve a list of failed recipients after sending a message. Instead, a Symfony\Component\Mailer\Exception\TransportExceptionInterface
exception will be thrown if a message fails to send. Instead of relying on retrieving invalid email addresses after sending a message, it is recommend that you validate email addresses before sending the message instead.
For more details on what has changed you may review the Symfony Mailer section of the Upgrade Guide.
:warning: The FILESYSTEM_DRIVER
environment variable was renamed to FILESYSTEM_DISK
in Laravel 9. Shift did not find this variable referenced in your committed files, but you should review any additional environment configuration and rename this variable.
:warning: Shift upgraded your configuration files by defaulting them and merging your true customizations. These include values which are not changeable through core ENV
variables.
You should review this commit for additional customizations or opportunities to use new ENV
variables. If you have a lot of customizations, you may undo this commit with git revert 4301ccb4
and make the config file changes manually.
:information_source: The FILESYSTEM_CLOUD
environment variable was removed in a later release of Laravel 8. While you may still use the cloud
disk, you are encouraged to configure your own disks.
:warning: The token
driver for API authentication is no longer available. This driver was not very robust and was removed from the documentation. Laravel now recommends using Sanctum.
If you were using the token
driver, you may re-add it within your auth.php
configuration file, then migrate to Sanctum at your convenience.
:information_source: Shift updated your dependencies for Laravel 9. While many of the popular packages are reviewed, you may have to update additional packages in order for your application to be compatible with Laravel 9.
Watch dealing with dependencies for tips on handling any additional package incompatibilities.
:information_source: Laravel 9 adopted anonymous migrations. Shift automated this change to align with modern Laravel conventions and avoid naming migrations.
:warning: The $loop
variable is no longer available when iterating over a LazyCollection
. Shift detected the $loop
variable being used in the following Blade templates. You should review these instances to ensure they are not iterating over a LazyCollection
or track your own loop variables.
:tada: Congratulations, you're now running the latest version of Laravel!
Next, you may optionally run the following Shifts to ensure your application is fully upgraded, adopts the latest Laravel conventions, and easier to maintain in the future:
You may also use the Shift Workbench to automate common tasks for maintaining your Laravel and PHP applications.
This pull request includes the changes for upgrading to Laravel 9.x. Feel free to commit any additional changes to the
shift-56072
branch.Before merging, you need to:
shift-56072
branchcomposer update
(if the scripts fail, add--no-scripts
)If you need help with your upgrade, check out the Human Shifts. You may also join the Shifty Coders Slack workspace to level-up your Laravel skills.