Closed readysteadywhoa closed 2 years ago
:warning: Laravel 7 adds CORS middleware and defaults the middlewarePriority
internally so you only need to overwrite this property for customizations.
Shift attempted to automate these changes, but you should compare your app/Http/Kernel.php
with the default Laravel 7 version to finalize any changes.
: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: Laravel 7 moved the Authentication components into a separate laravel/ui
package, which includes the make commands as well as the traits related to authentication.
Shift added this dependency for convenience. However, if you do not plan to use the Authentication components, you may remove this dependency as well as the Auth
controllers from your application.
:information_source: Shift detected the use of Markdown mail templates. In Laravel 7, Markdown mail templates expect unindented HTML, because indentation has special meaning within Markdown.
Shift automated this change for Laravel's default mail templates. However, you may consider re-publishing these instead to take advantage of recent design updates. You may do so by running the command:
php artisan vendor:publish --tag=laravel-mail --force
:warning: The MAIL_DRIVER
environment variable was renamed in Laravel 7 to MAIL_MAILER
in order to support multiple mail configurations.
Shift attempted to automate this change, but you should review any additional environment configuration and update to the new variable name.
: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 ba0b5e8b
and make the config file changes 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 any additional 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: In Laravel 7, all of the assertSee
methods now automatically escape the expected values.
If you were manually escaping the values passed to these methods, you no longer need do so. If you were asserting values containing HTML that should not be escaped, you may set the new escaped
argument to false
.
Shift found the instances of these assertions within:
: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
in UTC
.
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 any Symfony component, you should review the Symfony change log for additional changes.
:warning: Laravel 7.x has reached end of life. It no longer receives bug fixes or security updates. Shift recommends continuing to upgrade to the latest version (Laravel 9.x).
For tips on running multiple Shifts effectively, watch upgrading old Laravel applications.
This pull request includes the changes for upgrading to Laravel 7.x. Feel free to commit any additional changes to the
shift-66978
branch.Before merging, you need to:
shift-66978
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.