1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravelのバージョンアップを正しく理解する ~Laravel8へのバージョンアップは別に早くない~

Posted at

はじめに

2020年9月。Laravel8がリリースされました。このことについて「もう8なの!?」って驚きの声をいくつか見かけましたが、Laravelのバージョンアップは元々半年ごとに行なわれていたので特にそれ自体驚くことではないです。なので、おそらくそういった感想を漏らす人というのは、Laravel6以前の感覚でバージョンアップを眺めてしまっているのではないかと思います。

実は6以前のバージョン管理はいけてなかった

Laravelのバージョンの変遷を振り返ってみます。私は半年に1回バージョンアップしていると書きましたが、果たして本当でしょうか?

バージョン リリース日 LTS?
5.0 2015/02 No
5.1 2015/09 Yes
5.2 2015/12 No
5.3 2016/08 No
5.4 2017/01 No
5.5 2017/08 Yes
5.6 2018/02 No
5.7 2018/09 No
5.8 2019/02 No
6.0 2019/09 Yes
7.0 2020/02 No
8.0 2020/09 No

少なくとも2015年以降、概ね半年に1回のバージョンアップを繰り返していることが分かりますね。しかし、バージョン6以降、それまでとバージョンの上がり方が違っているのに気づくでしょう。

そもそも、それまでバージョンは5.1、5.2…と半年ごとに0.1ずつしかあがっていませんでした。マイナーバージョンアップなら、その表記で良いでしょう。しかし、古参のLaravel使いはご存知の通り、これらのバージョンアップは後方互換性の無いメジャーバージョンアップです。特に5.8の変更なんて……。

セマンティックバージョンニング

では、なぜ上のような認識の違いが生まれていたのかというと、単純にバージョン管理の仕様がプロジェクトごとに自由に策定されていたからです。しかし、それでは不便だと気づいたLaravelのコントリビューターの方々は、6 にした際に、「セマンティックバージョンニング」という、バージョン管理の標準仕様を取り入れたのです。

このことについては、Laravel6のリリースノートで説明されています。

Laravel and its other first-party packages follow Semantic Versioning. Major framework releases are released every six months (February and August), while minor and patch releases may be released as often as every week. Minor and patch releases should never contain breaking changes.

When referencing the Laravel framework or its components from your application or package, you should always use a version constraint such as ^6.0, since major releases of Laravel do include breaking changes. However, we strive to always ensure you may update to a new major release in one day or less.

さいごに

以上、Laravelのバージョン管理について説明しました。ちなみにバージョン6からセマンティックバージョニングを取り入れたことで、次のLTSはバージョン10(2021/08リリース見込み)というキリの良い数値となります。Laravel8はDXに考慮した非常に進歩的な仕様変更がいくつも取り入れられているので、興味深いバージョンです。しかしLTSではないので、商用利用でのバージョンアップはバージョン10まで待つという方針で良いかもしれませんね。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?