Laravel 5.8 is Released


February 26th, 2019

Laravel 5.8 is Released

Laravel 5.8 is now released and available to everyone. This release includes several new features along with the latest bug fixes and improvements to the framework’s core.

Some of the new features include:

PHP dotenv

An integration with PHP dotenv 3.0 ships with Laravel 5.8 and includes the following new features through PHP dotenv 3.0:

  • More flexibility in terms of which parts of the environment we try to read and modify
  • First-class support for multi-line variables
  • No more trimming of values, you get them exactly as-is now
  • Accept a list of paths to try in order looking for the dotenv file, rather than a single path
  • Stronger validation of variable names to avoid silent failures or obscure errors

Check out our PHP dotenv 3.0 Released article for full details on the v3.0 updates.

Carbon v2

Laravel 5.8 is capable of using either Carbon v1 or Carbon v2, including the ability to use CarbonImmutable, and even make CarbonImmutable the default. Localization has changed quite a bit in Carbon v2, with much better internationalization support offered than v1. You can learn more from our writeup Carbon Updates Coming to Laravel 5.8.

Cache TTL Changes

A significant change that might have a moderate to high impact is the Cache TTL Changes Coming to Laravel 5.8. Passing integers to cache methods represents seconds now instead of minutes. Check out my article if you want to change from integer values to a Carbon or \DateInterval instance during the migration process.

Deprecated String and Array Helpers

Don’t be too alarmed that String and Array helpers are deprecated in Laravel 5.8. They offer little value (asides from style) over using the class equivalents, and Laravel plans on releasing the helpers as an optional package if you want to keep using them.

Learn more: Laravel 5.8 Deprecates String and Array Helpers

Automatic Policy Resolution

Starting in Laravel 5.8, as long as policies and models are in conventional locations, you will not need to register them in the AuthServiceProvider class.

If you prefer to use non-conventional paths for models and policies, you can register a callback to register policies or continue to configure them manually:

Gate::guessPolicyNamesUsing(function ($class) {
// Do stuff
return $policyClass;

Learn more: Automatic Policy Resolution is Coming to Laravel 5.8

More New Features

With today’s release, Laravel 5.7 will no longer receive feature bug fixes and updates. However, 5.7 will receive security updates until August 2019.

Laravel 5.8 is the latest stable version and will receive bug fixes and updates until approximately August 2019 and security fixes until about February 2020.

Learn More

The official documentation is available on To start upgrading from Laravel 5.7 to Laravel 5.8, check out the upgrade guide.

The upgrade guide features estimated impact levels to help guide you to the most impactful things, but make sure to read through the whole upgrade guide to ensure a smooth upgrade process.

Filed in:

Paul Redmond

Full stack web developer. Author of Lumen Programming Guide and Docker for PHP Developers.