Laravel 5.3 is now released
Published on by Eric L. Barnes
The Laravel team is proud to announce the release of Laravel 5.3 and it’s now available for everyone. The new features in 5.3 are focused on improving developer speed by adding additional out of the box improvements for common tasks.
This is a general release and comes with six months of bug fixes and security fixes are provided for one year. Laravel 5.1 is the latest LTS release which includes bug fixes for two years and security fixes for three years.
Here is a quick overview of some of the highlights of the new 5.3 release:
New Home Page
The home page received a makeover with boxes showcasing the new packages, and more community resources including links to Laracast, Laravel News, and Statamic.
Laravel Scout
Laravel Scout is a new driver based full-text search engine for Eloquent. Scout works by adding a new Searchable
trait to your models, syncing your data to the index of choice, and then you can search as easily as:
Post::search('Alice')->get();
Laravel Passport
Laravel Passport is designed to give you everything you need to deploy your own OAuth2 server in a matter of minutes. It’s an optional package that comes complete with the ability to set your scopes, Vue.js components for token generation, revoking tokens, and more.
Laravel Mailable and Notifications
Laravel Mailable is a new class-based approach to sending emails that will allow you to simplify sending email by removing the need for the closure style.
Laravel Notifications allow you to send out quick updates through services like Slack, Text messages, Email, and more. The community has even started a “Laravel Notifications Channel” group where anyone can submit drivers and it already includes over twenty-six drivers.
Laravel Echo
Laravel Echo is an improvement to the existing event broadcasting system that makes it easy to work with web sockets. To utilize Echo the backend will ship with the Laravel core and then you will need to pull in an NPM package for the JavaScript side.
Migrations
The migrations system received a new feature that will allow you to rollback a single migration.
php artisan migrate:rollback --step=1
Previously, this option did not exist and you could only rollback a single batch, which could contain multiple steps.
Simple Pagination
Laravel offers two styles of pagination. An advanced style that shows a list of page numbers and a simple style that only show a previous and next link.
Starting with this release the simple pagination will now be available from a view file which makes it easier than ever to customize to your sites design and HTML structure.
Blade Loop Variable
Laravel Blade received a new $loop
variable that will give you finer grain control within your loops. Now you can use the following properties:
- index – The number of the loop.
- remaining – How many loops remain
- count – The total count
- first – If it’s the first loop
- last – If it’s the last
- depth – How many levels deep you are.
- parent – Allows you to call the parent in a nested loop.
For more on this see Matt Stauffer’s blog post.
Directory Changes
The “app” folder was simplified by removing all the empty folders like Events, Jobs, Listeners, and Policies. This remains fully backward compatible and if you run any Artisan “make:” command related to these features the folder will get added back.
Queued Jobs
Eloquent Collections are now cleanly serialized and re-pulled by queued jobs the same way individual models are.
This is beneficial in the cases where the data in the Eloquent Collection has changed since the job was pushed onto the queue.
Query Builder
The query builder will now return a Collection by default instead of an array. This is potentially a breaking change but it will now keep results from either the query builder or Eloquent uniform.
Cache Helper
Laravel 5.3 includes a new cache()
global helper that allows you to get
, put
, or return
an instance of the backing service. For more information check out Matt’s post on this.
Documentation Changes
The documentation received a huge overhaul for this release. It’s now divided into better sections that guides you from installation all the way through Laravel’s official packages. It is also linking to relevant free Laracasts videos on certain topics. This will cater to either people that prefer audio/video for learning and those that enjoy reading.
Upgrade Guide
The official documentation has the upgrade guide which includes all the information you need to start using 5.3 today. It estimates the total time of upgrading at two to three hours.
Thank you
I’d like to personally thank everyone that contributed to this release and for making it possible. Adding all these new features was a huge undertaking and everyone that helped out deserves a pat on the back.
Be sure and join the Laravel weekly newsletter to stay up to date with all the new packages, tips, and tutorials that is sure to come out. Also, Laracasts has a free series on all the main new features as well as Matt Stauffer.
Eric is the creator of Laravel News and has been covering Laravel since 2012.