Laravel 5.2 Shift #13

merged 9 commits into from Nov 21, 2016


None yet

3 participants


This pull request includes the changes for upgrading to Laravel 5.2. Feel free to commit any additional changes to the laravel-5.2-shift branch.

Before merging, you should:

  • Checkout the laravel-5.2-shift branch
  • Review all pull request comments for additional changes
  • Run composer update (if the pre-commands fail, add --no-scripts)
  • Thoroughly test your application

If you would like more help with your upgrade, check out the new human services from Laravel Shift.

laravel-shift added some commits Nov 21, 2016
@laravel-shift laravel-shift Adopt PSR-2 coding style
The Laravel framework adopts the PSR-2 coding style in version 5.1.
Laravel apps *should* adopt this coding style as well. Read the
[PSR-2 coding style guide][1] for more details and check out [PHPCS][2]
to use as a code formatting tool.

@laravel-shift laravel-shift Adopt PHP short array syntax
Laravel 5 adopted the short array syntax which became available in
PHP 5.4.
@laravel-shift laravel-shift Add new exceptions to `$dontReport` property 3c7565e
@laravel-shift laravel-shift Shift Middleware
Laravel 5.2 adjusts the `Guard` object used within middleware. In
addition, new `can` and `throttles` middleware were added.
@laravel-shift laravel-shift Shift Authentication
Laravel 5.2 introduces a *Guard* object to the Authentication
component. In doing so, the configuration options and default
Middleware changed.
@laravel-shift laravel-shift Shift core files 08efe96
@laravel-shift laravel-shift Shift configuration 834f225
@laravel-shift laravel-shift Shift Laravel dependencies

Laravel 5.2 modified the default Middleware. Since your middleware differs from the Laravel 5.1 default, you will need to compare the following middleware against the 5.2 versions and merge any changes.

  • app/Http/Middleware/Authenticate.php
  • app/Http/Middleware/RedirectIfAuthenticated.php

⚠ Laravel 5.2 adds Middleware Groups for convenience. Since this may affect your routes and controllers, I did not automate this upgrade. You should read about Middleware Groups to understand this change.

When you are ready to upgrade to Middleware Groups, you should:

  • Compare your app/Http/Kernel.php with the 5.2 version
  • Compare your app/Providers/RouteServiceProvider.php with the 5.2 version
  • Review any usages of the web middleware within your application

ℹ Laravel 5.2 changed the value of $redirectTo from /home to / in app/Http/Controllers/Auth/AuthController.php. I did not make this change since you may have customized it for your app. However, you may wish to change this if you are not using Auth or if you want to follow the latest Laravel conventions.


Laravel 5.2 condenses the default User model dramatically. Since your app/User.php differs from the Laravel 5.1 default, you will need to compare yours against the 5.2 version and merge any changes.


ℹ Laravel 5.2 updated the database session driver. If you are using the database driver, you need to add the user_id (nullable integer), ip_address (nullable string), and user_agent (text) columns to your session database table.


⚠ I was unable to update phpunit.xml since yours differed from the Laravel default. You need to compare your phpunit.xml with the Laravel 5.2 version and merge any changes.


Laravel 5.2 updated some of the default validation messages. Since your resources/lang/en/validation.php differed from the Laravel default, you need to review the Laravel 5.2 version and merge any changes.


ℹ Laravel 5.2 added the env configuration option. Laravel strongly recommends you only use env() from configuration files and use config() within your app.

I found potential uses of env() in:

  • app/Console/Commands/ProcessTweets.php

I could not upgrade the following configuration files since they differed from the 5.1 defaults. You need to compare these configuration files against the default Laravel 5.2 configuration files and merge any changes:

  • config/broadcasting.php
  • config/database.php
  • config/mail.php
  • config/queue.php

ℹ Laravel 5.2 removed the pretend mail configuration option. If you were using pretend, use the log driver instead.


⚠ Laravel 5.2 upgraded some of the Node package dependencies. You should to compare your package.json with the Laravel 5.2 version to update your dependencies.

@svpernova09 Finish migration to Laravel 5.2
@svpernova09 svpernova09 merged commit 992261b into master Nov 21, 2016

@svpernova09 how did it go?


@jasonmccreary went well, the comments with links to update the files to default values was great. Really made it easy to go through and update everything.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment