Closed Jnesselr closed 4 years ago
:information_source: Laravel 7 upgraded to Symfony 5 which passes instances of the Throwable
interface instead of Exception
instances to core components like the Exceptions\Handler
.
Shift automated this change. However, if you receive a Throwable
type mismatch error there may be additional references you need to convert.
:information_source: Shift updated your session.php
configuration file to have a fallback value of null
for the secure
option and a value of lax
for the same_site
option.
These are related to the underlying Symfony 5 updates. You may change them if you are familiar with these options.
:warning: The MAIL_DRIVER
environment variable was renamed in Laravel 7 to MAIL_MAILER
in order to support multiple mail configurations.
Shift attempted to automation this change, but you should review any additional environment configuration and update to the new variable name.
:warning: Shift upgraded the following configuration files by defaulting them and then attempting to backfill true customizations. You should review these changes for any additional customizations you require which aren't configurable through ENV
variables. If you have a lot of customizations, you may quickly undo this commit with git revert
and upgrade these files manually.
:information_source: Shift updated your dependencies for Laravel 7. 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 7.
Watch dealing with dependencies for tips on handling package incompatibilities.
:information_source: Laravel 7 removed some of the PHPUnit configuration in favor of the defaults. While this is not a required changed, it is a good opportunity to compare your phpunit.xml
with the default Laravel 7 version to modernize your configuration.
:warning: Laravel 7 uses a new date format when serializing models. The previous format was 2019-12-02 20:01:00
. Now, dates are serialized using an ISO-8601 compatible date format of 2019-12-02T20:01:00.283041Z
with a UTC
timezone.
This does not affect how dates are stored. Only how they are serialized when using the toArray
or toJson
Eloquent methods.
If you need to preserve the previous format, you may override the serializeDate
method on your model. Review the Date Serialization section of the Upgrade Guide for more details.
:information_source: All of the underlying Symfony components used by Laravel have been upgraded to Symfony 5. If you are directly interacting with Symfony components, you should review the Symfony change log for additional changes.
:information_source: The deprecated --daemon
flag on the queue:work
command has been removed. In Laravel 7, the worker runs as a daemon by default. If you were using this flag, you may remove it.
:information_source: Shift detected you are using a Laravel package like Horizon, Nova, Spark, etc which has its own assets which may need to be regenerated after upgrading. Be sure to use artisan
to republish these assets as well as php artisan view:clear
to avoid any errors.
:tada: Congratulations, you're now running the latest version of Laravel.
The following Shifts can ensure your app is fully upgraded and following the practices recommended by Laravel and the community:
In addition, stay upgraded forever as well as run these Shifts by subscribing to one of the new Shifty Plans.
This pull request includes the changes for upgrading to Laravel 7.x. Feel free to commit any additional changes to the
shift-24944
branch.Before merging, you need to:
shift-24944
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.