-
Notifications
You must be signed in to change notification settings - Fork 242
Laravel 12.x Shift #8668
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Laravel 12.x Shift #8668
Conversation
Accessing Faker properties was deprecated in Faker 1.14.
Laravel 8 adopts the tuple syntax for controller actions. Since the old options array is incompatible with this syntax, Shift converted them to use modern, fluent methods.
In an effort to make upgrading the constantly changing config files easier, Shift defaulted them and merged your true customizations - where ENV variables may not be used.
From the [PHPUnit 8 release notes][1], the `TestCase` methods below now declare a `void` return type: - `setUpBeforeClass()` - `setUp()` - `assertPreConditions()` - `assertPostConditions()` - `tearDown()` - `tearDownAfterClass()` - `onNotSuccessfulTest()` [1]: https://phpunit.de/announcements/phpunit-8.html
|
After running the Laravel Slimmer, you may email support to rerun this Shift. |
|
Shift recommends changing this to align with the latest Laravel conventions and improve Shift's automation. After doing so, you may request a rerun of this Shift. |
|
ℹ️ Laravel 9 moved the |
|
ℹ️ Starting with Laravel 10, the Shift streamlined your language files by removing options that matched the Laravel defaults and preserving your customizations. If you wish to keep the full set of language, Shift recommends running |
|
You should review this commit for additional customizations or opportunities to use new |
|
ℹ️ Shift detected customized options within your configuration files which may be set with an BCRYPT_ROUNDS=10
CACHE_STORE=redis
DB_CONNECTION=processmaker
LOG_DAILY_DAYS=7
LOG_STACK=daily
MAIL_FROM_ADDRESS=admin@example.com
MAIL_FROM_NAME=ProcessMaker
MAIL_HOST=smtp.mailgun.org
MAIL_MAILER=smtp
MAIL_PORT=587
PUSHER_APP_ID=app-id
PUSHER_APP_KEY=app-key
PUSHER_APP_SECRET=app-secret
REDIS_CACHE_CONNECTION=defaultNote: some of these may simply be values which changed between Laravel versions. You may ignore any |
|
ℹ️ Shift detected your application uses custom
|
|
ℹ️ Shift detected customized options within your configuration files which may be set with an BCRYPT_ROUNDS=10
CACHE_STORE=redis
DB_CONNECTION=processmaker
LOG_DAILY_DAYS=7
LOG_STACK=daily
MAIL_FROM_ADDRESS=admin@example.com
MAIL_FROM_NAME=ProcessMaker
MAIL_HOST=smtp.mailgun.org
MAIL_MAILER=smtp
MAIL_PORT=587
PUSHER_APP_ID=app-id
PUSHER_APP_KEY=app-key
PUSHER_APP_SECRET=app-secret
REDIS_CACHE_CONNECTION=defaultNote: some of these may simply be values which changed between Laravel versions. You may ignore any |
|
ℹ️ Shift detected your application uses custom
|
|
ℹ️ Laravel 12 removed the |
|
If your application uses cache prefixes or session cookies and you were not explicitly setting these ENVs, you may set them to their previous defaults to avoid any unexpected behavior. |
|
Shift detected additional references to the
|
|
|
|
ℹ️ Laravel added a Shift has added this script, as well as the necessary packages. Once you run |
|
ℹ️ Laravel added a |
|
ℹ️ Laravel added a |
|
ℹ️ Shift updated your dependencies for Laravel 12. 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 12. 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. The following dependencies were not updated by Shift and may be incompatible. If Composer lists one of these packages as a problem, you should check for a newer version. The following dependencies are now abandoned. You will need to remove or replace them to complete your upgrade. |
|
ℹ️ Laravel 9 adopted anonymous migrations. Shift automated this change to align with modern Laravel conventions and avoid naming migrations. |
|
Shift added the
|
|
ℹ️ Starting with Laravel 10, PHP type hints were added within classes included in a Laravel application. In an effort to modernize your code, Shift automated this change where Laravel strictly specifies a type. If you prefer not to type hint your code you may revert this commit by running: |
|
ℹ️ All of the underlying Symfony components used by Laravel have been upgraded to Symfony 7.2. Shift detected references to Symfony classes within your application. These are most likely type hints and can safely be ignored. If you are using Symfony classes directly or experience issues relating to Symfony, you should review the Symfony change log for any additional changes. |
|
ℹ️ If you are using the Laravel installer CLI tool to create new Laravel applications with You may update your installer by running: composer global require laravel/installer |
|
'cover' => ['required', 'image:allow_svg'],
'avatar' => ['required', File::image(allowSvg: true)], |
|
❌ Several of the Shift detected potential uses of these methods in the following files. You should review these instances to see if you need to preserve the original behavior. You may review the documentation on Multi-Schema Database Inspecting for more information.
|
|
ℹ️ The container now respects the default value of constructor parameters when resolving a class instance. If you were previously relying on the container to set a value, you will need to pass in this value when resolving the class instead. |
|
|
|
🎉 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 application. |
|
❌ PHP syntax errors were detected after running your Shift. Often these are simply differences between the PHP version on the Shift server (8.2) and your project. Occasionally they are misplaced lines or duplicate import statements. You may quickly check the PHP syntax locally by running
|
|





This pull request includes the changes for upgrading to Laravel 12.x. Feel free to commit any additional changes to the
shift-164320branch.Before merging, you need to:
shift-164320branchcomposer update(if the scripts fail, try with--no-scripts)If you get stuck, never hesitate to email support. If you need more help with your upgrade, check out the Human Shifts.