Skip to content

Laravel 10.x Shift#33

Merged
marshall-davis merged 13 commits into
masterfrom
shift-157061
Aug 26, 2025
Merged

Laravel 10.x Shift#33
marshall-davis merged 13 commits into
masterfrom
shift-157061

Conversation

@marshall-davis
Copy link
Copy Markdown
Member

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

Before merging, you need to:

  • Checkout the shift-157061 branch
  • Review all pull request comments for additional changes
  • Run composer update (if the scripts fail, try with --no-scripts)
  • Clear any config, route, or view cache
  • Thoroughly test your application (no tests?, no CI?)

If you need help with your upgrade, check out the Human Shifts.

@marshall-davis
Copy link
Copy Markdown
Member Author

ℹ️ Starting with Laravel 10, the lang folder is no longer included in a default Laravel application. Laravel now recursively merges any customizations with framework defaults.

Shift streamlined your language files by removing them since they did not contain any customizations. If you wish to keep the full set of language, Shift recommends running artisan lang:publish --force to get the latest configuration files from Laravel, then reapplying the customizations Shift streamlined.

@marshall-davis
Copy link
Copy Markdown
Member Author

⚠️ 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 83f50217 and make the config file changes manually.

@marshall-davis
Copy link
Copy Markdown
Member Author

ℹ️ Laravel 10 now verifies hashed values were created by the same hashing algorithm. If your application has hashed values created by different hashing algorithms, you may set the verify option to false in your hashing configuration. For more details, you may review the original PR.

@marshall-davis
Copy link
Copy Markdown
Member Author

ℹ️ Shift updated your dependencies for Laravel 10. 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 10. 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.

@marshall-davis
Copy link
Copy Markdown
Member Author

ℹ️ Laravel renamed the password_resets table to password_reset_tokens. While an optional change, Shift detected you have a migration for the original table and created a migration to rename the table. You should check for any additional references to the password_resets table and run php artisan migrate to complete your upgrade.

@marshall-davis
Copy link
Copy Markdown
Member Author

ℹ️ Laravel 10 added PHP type hints to all user-land code included in a new Laravel application. In an effort to modernize your code, Shift added type hints to any method which is used by Laravel.

@marshall-davis
Copy link
Copy Markdown
Member Author

ℹ️ Now with type hints in your code, defining types within PHP DocBlocks is redundant. Laravel has removed all of the @param and @return tags from its DocBlocks where types are defined with PHP. Similarly, Shift removed these tags from any DocBlock where the code now has equivalent type hints.

@marshall-davis
Copy link
Copy Markdown
Member Author

ℹ️ Shift understands developers have different preferences when it comes to type hints. All of Shift's automation is done in nice, atomic commits. This makes it easier to undo any of the changes Shift makes.

If you wish to undo the changes relating to type hints, you may run:

  • git revert 464c87b to revert the DocBlock changes.
  • git revert bd9ccf4 to revert the type hints added from DocBlocks.
  • git revert 3bf2b2c to revert the type hints added for Laravel 10.

@marshall-davis
Copy link
Copy Markdown
Member Author

ℹ️ All of the underlying Symfony components used by Laravel have been upgraded to Symfony 6.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.

@marshall-davis
Copy link
Copy Markdown
Member Author

ℹ️ The app/Models folder was reintroduced in Laravel 8. This was an optional change. Laravel and the artisan commands will automatically detect if you are using the app/Models folder or not.

If you wish to modernize your application to use the app/Models folder, you may run the Namespace Models Shift for free.

@marshall-davis
Copy link
Copy Markdown
Member Author

ℹ️ Laravel began using Vite to build frontend assets in Laravel 9.19. 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.

@marshall-davis
Copy link
Copy Markdown
Member Author

⚠️ Laravel 10 requires Composer 2.2 or higher. You should verify the Composer version in your environments by running composer --version to ensure it meets this new requirement. If necessary, run composer self-update to update Composer.

@marshall-davis
Copy link
Copy Markdown
Member Author

⚠️ Laravel 10 requires PHP 8.1 or higher. You should verify the PHP version in your environments to ensure it meets this new requirement.

@marshall-davis
Copy link
Copy Markdown
Member Author

⚠️ Laravel 10. has reached end of life. It no longer receives bug fixes or security updates. Shift recommends continuing to upgrade to the latest version (Laravel 12.x).

@marshall-davis marshall-davis merged commit 31e57f3 into master Aug 26, 2025
@marshall-davis marshall-davis deleted the shift-157061 branch August 26, 2025 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants