Laravel v5.8 is now released! | What’s New
Laravel 5.8 is now released and available to everyone. This release includes several new features including an update to PHP dotenv, Carbon v2, automatic policy resolution and more.
2019-02-26 09:56:54 - Laravel
Check out the release announcement for all the details.
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.