Conversation
|
ℹ️ Laravel 13 introduced dozens of new PHP attributes. Shift automated the adoption of these PHP attributes for Laravel class properties with simple values. However, there are additional attributes which you may adopt that contain potentially long values. For example, adopting the ✨ Automate more with AI...
Shift automates the changes it determines are reliable. If you want to push this automation further, you may paste the following prompt into your AI of choice: I'm upgrading to Laravel 13. Laravel introduced new PHP attributes you may use
instead of class properties. Please adopt the `#[Fillable]` or `#[Guarded]`
attributes for any model array properties. Make sure to collapse any multiline
arrays into a single line for valid PHP attributes.
|
|
✨ Automate more with AI...
Shift automates the changes it determines are reliable. If you want to push this automation further, you may paste the following prompt into your AI of choice: I'm upgrading to Laravel 13. The default values for `CACHE_PREFIX`,
`REDIS_PREFIX`, and `SESSION_COOKIE` have changed. In Laravel 12 and earlier,
these were derived from `APP_NAME` using `Str::slug(env('APP_NAME', 'laravel'),
'_')` as a base (e.g. `myapp_cache_`, `myapp_database_`, `myapp_session`).
Please check my config files and `.env` to determine if these are explicitly set
or relying on the old defaults. If relying on defaults, suggest the explicit
values I should add to my `.env` to preserve the previous behavior.
|
|
✨ Automate more with AI...
Shift automates the changes it determines are reliable. If you want to push this automation further, you may paste the following prompt into your AI of choice: I'm upgrading to Laravel 13. The default cache configuration now includes a
`serializable_classes` option set to `false` to prevent PHP deserialization
attacks. Please search my codebase for any code that stores PHP objects in the
cache (e.g. using `Cache::put()`, `cache()`, or `remember()` with object
values). If found, identify the classes being cached and suggest the explicit
list of classes I should set for the `serializable_classes` option in
`config/cache.php`.
|
|
|
|
ℹ️ Shift updated your dependencies for Laravel 13. 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 13. 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. |
|
ℹ️ Shift detected you are running Livewire 3. While this is compatible with Laravel 13, Shift recommends upgrading. Once you have a verified your Laravel upgrade, you may run the Livewire 4.x Shift to upgrade to Livewire 4. |
|
For example: static::whenBooted(fn () => static::observe(new ModelObserver));Shift found boot methods within the following files. You should review the code within these methods and update it to use the ✨ Automate more with AI...
Shift automates the changes it determines are reliable. If you want to push this automation further, you may paste the following prompt into your AI of choice: I'm upgrading to Laravel 13. Calling `observe` while a model is still booting is
now disallowed and will throw a `LogicException`. Any `observe` calls within
`boot` methods must be wrapped in a `whenBooted` callback. For example:
`static::whenBooted(fn () => static::observe(new ModelObserver));`. Please
review the `boot` methods in the following files and wrap any observer
registration in `whenBooted`. Also, identify any `new Model()` instantiation
within `boot` methods and note these may also need to be moved or deferred, but
the appropriate fix will depend on their context.
- app/Models/Post.php |
|
ℹ️ Laravel 13 renamed the Bootstrap 3 pagination views ( |
|
ℹ️ Laravel added an index to the |
|
ℹ️ Laravel 13 changed the password reset mail subject from "Reset Password Notification" to "Reset your password". If your application relied on the previous subject, for example in custom translation messages, you should update them accordingly. |
|
🎉 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. |
This pull request includes the changes for upgrading to Laravel 13.x. Feel free to commit any additional changes to the
shift-169732branch.Before merging, you need to:
shift-169732branchcomposer 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.