Laravel 5.8 is Released
Published on by Paul Redmond
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 laravel.com. 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.