How the Laravel Release Process Works

News

March 1st, 2021

How the Laravel Release Process Works

The Laravel release process has changed since Laravel 5’s release cycle. We get a fair amount of questions, comedic comments, and confusion about Laravel’s new release process announced at Laracon US 2019. For some reason, people get the impression that the number of releases has hastened, but in reality, most things are similar to what we grew accustomed to with Laravel 5 releases.

Before we get into the details of understanding the release process, let’s cover the most significant changes since Laravel 6’s release a few months back.

Laravel 6 and Semver

The most significant change to Laravel’s release process is the switch Semantic Versioning (Semver). Before Laravel 6, we had what was considered a major release every six months. For example, the release of Laravel 5.4 was followed by Laravel 5.5 six months later. So twice a year, the Laravel framework would bump the second number. Going from Laravel 5.4 to Laravel 5.5 contained breaking changes.

At the request of the broader community, Laravel adopted semantic versioning starting with the release of Laravel 6 in September 2019. Semver means that any time a new backward-compatible feature gets added to the framework, Laravel bumps the second number (MINOR).

An example is the release of Laravel 6.1.0, and weeks later, the release of Laravel 6.2.0. The change from Laravel 6.1 to 6.2 is roughly the same as when Laravel released 5.5.1 and 5.5.2, and so on:

If you’re not familiar with Semver, here are the basics of what it means from the Semantic Versioning homepage:

  1. MAJOR version when you make incompatible API changes,
  2. MINOR version when you add functionality in a backwards compatible manner, and
  3. PATCH version when you make backwards compatible bug fixes.

The Updated Release Process

The Laravel 6 Release Notes provide excellent information about the new release process Laravel adopted started with Laravel 6. In many regards, we will continue to see weekly releases we’ve been used to, but if new features are added, the MINOR version number will change.

While Laravel tends to release about once a week, it doesn’t matter how frequently as long as you understand that even within one week, the framework could go from 6.5.0 to 6.6.0.

I would like to further point out to the community that the way the team works on Laravel hasn’t changed much between Laravel 5.8 and Laravel 6.0. Sure, a few nuanced changes such as how releases are versioned are to be expected, but the process of accepting pull requests, merging code, and tagging releases haven’t changed much at all.

Proposed Release Schedule

Laravel v6 is the next Long-term Support (LTS) version of Laravel. You can expect to receive bugfixes until September 3rd, 2021, and security updates until September 3rd, 2022.

Version Release Bug Fixes Until Security Fixes Until
5.5 (LTS) August 30th, 2017 August 30th, 2019 August 30th, 2020
5.6 February 7th, 2018 August 7th, 2018 February 7th, 2019
5.7 September 4th, 2018 March 4th, 2019 September 4th, 2019
5.8 February 26th, 2019 August 26th, 2019 February 26th, 2020
6 (LTS) September 3rd, 2019 September 3rd, 2021 September 3rd, 2022

Further, we can typically expect a new major version of Laravel about every six months. That means that around February 2020, we can expect the release of Laravel 7.0.0.

Here’s an updated table of the history of Laravel releases:

History of Laravel Releases

Version Release Bug Fixes Until Security Fixes Until
V1 June 2011
V2 September 2011
v3 February 2012
v4 May 2013
5.0 Feb 4th, 2015 Aug 4th, 2015 Feb 4th, 2016
5.1 (LTS) Jun 9th, 2015 Jun 9th, 2017 Jun 9th, 2018
5.2 Dec 21st, 2015 Jun 21st, 2016 Dec 21st, 2016
5.3 Aug 23rd, 2016 Feb 23rd, 2017 Aug 23rd, 2017
5.4 Jan 24th, 2017 Jul 24th, 2017 Jan 24th, 2018
5.5 (LTS) Aug 30th, 2017 Aug 30th, 2019 Aug 30th, 2020
5.6 Feb 7th, 2018 Aug 7th, 2018 Feb 7th, 2019
5.7 Sep 4, 2018 Feb 4th, 2019 Sep 4th, 2019
5.8 Feb 26th, 2019 Aug 26th, 2019 Feb 26th, 2020
6.0 (LTS) Sep 3rd, 2019 Sep 3rd, 2021 Sep 3rd, 2022
7.0 Mar 3rd, 2020 Sep 3rd, 2020 Mar 3rd, 2021
8.0 Sep 8th, 2020 Mar 8th, 2021 Sep 8th, 2021

* We are trying to demonstrate an example of how releases work—dates are not confirmed.

Filed in:

Paul Redmond

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