TechnicPack / TechnicSolder

PHP web app that brings differential updates to the Technic Launcher and Technic Platform
https://docs.solder.io/
Other
169 stars 167 forks source link

Laravel 7.x Shift #699

Closed Pyker closed 2 years ago

Pyker commented 2 years ago

This pull request includes the changes for upgrading to Laravel 7.x. Feel free to commit any additional changes to the shift-53056 branch.

Before merging, you need to:

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.

Pyker commented 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.

Pyker commented 2 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.

Pyker commented 2 years ago

: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.

Pyker commented 2 years ago

: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.

Pyker commented 2 years ago

: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.

Pyker commented 2 years ago

: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.

Pyker commented 2 years ago

: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 stable version (Laravel 8.x).