Closed andreapollastri closed 3 months 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.
:warning: Laravel 9 upgraded to Flysystem 3.0 causing the behavior of the Storage
facade to change slightly:
put
and write
) now overwrite existing files by default and return false
instead of throwing an exception.get
and download
) now return null
instead of a FileNotFoundException
when a file is missing.delete
operation now returns true
even if the file did not exist.For more details, you may review the Flysystem 3.x section of the Upgrade Guide.
:warning: Laravel 9 transitioned from SwiftMailer to Symfony Mailer. While this transition should be relatively seamless and Shift automates any tedious changes, some changes may not reliably be 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 symfony/http-client
For more details on what has changed you may review the Symfony Mailer section of the Upgrade Guide.
:warning: The public/web.config
file has been removed from new Laravel projects. The presence of this file creates a potential security risk for projects not using Microsoft IIS as their web server.
Shift detected this file was modified and did not remove it. Unless you are using Microsoft IIS as your web server, you should remove this file.
: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 32b54db2
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 Composer issues.
The following dependencies were updated by a major version and may have their own changes. You may check their changelog for any additional upgrade steps.
:information_source: Laravel 9 adopted anonymous migrations. Shift automated this change to align with modern Laravel conventions and avoid naming migrations.
:information_source: All of the underlying Symfony components used by Laravel have been upgraded to Symfony 6. If you are directly interacting with any Symfony component, you should review the Symfony change log for additional changes.
:information_source: The HTTP client has been updated to have a default timeout of 30 seconds. Previously there was no default. The underlying request would wait indefinitely. Now an exception is thrown after 30 seconds.
If you find your requests need longer, you may prefix your request to specify a timeout:
Http::timeout(60)->get("https://laravelshift.com");
:information_source: Laravel 9 now uses Vite to build frontend assets. While you may continue to use Laravel Mix, it is no longer the default. If you wish to modernize your application to use Vite, you may run the Vite Converter for free.
looks like your existing composer.lock remained unchanged. You should regenerate to see if tests pass.
This pull request includes the changes for upgrading to Laravel 9.x. Feel free to commit any additional changes to the
shift-84797
branch.Before merging, you need to:
shift-84797
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.