Symfony Advent Calendar 2019 1日目の記事です。

ついに待望のSymfony4.4.0がリリースされましたね :tada:
Symfony4.4はSymfony4系のLTSです。3年後の2022年11月までサポートされ、その1年後の2023年11月までセキュリティサポートが続きます。

待ちきれないせっかちな私は11月初めにcreate-projectしたときから4.4を使いたくて

$ composer create-project symfony/website-skeleton:4.4.x-dev@dev

として開発し始めていました :sweat_drops:

11/21、ついにSymfony4.4.0 LTSが正式にリリースされた ので今後は正式リリース版を使っていきたいと思い、composer update。すると、4.4の開発ブランチの最新が入ってしまいました(当たり前)。 安定性を期待してLTSにしているのに、常に4.4ブランチの最新版が入ってしまうのでは安定性に欠けて本末転倒です。

そこで、4.4開発ブランチ版のSymfonyプロジェクトとLTSリリース版のSymfonyプロジェクトではどこが違うのか調べるため、もう1個 create-project symfony/website-skeleton:^4.4 を作って、開発中のプロジェクトとcomposer.jsonを見比べてみました。

@@ -1,6 +1,7 @@
 {
     "type": "project",
     "license": "proprietary",
+    "minimum-stability": "dev",
     "require": {
         "php": "^7.1.3",
         "ext-ctype": "*",
@@ -15,12 +16,12 @@
         "symfony/framework-bundle": "4.4.*",
         "symfony/http-client": "4.4.*",
         "symfony/intl": "4.4.*",
-        "symfony/mailer": "4.4.*",
         "symfony/monolog-bundle": "^3.1",
         "symfony/orm-pack": "*",
         "symfony/process": "4.4.*",
         "symfony/security-bundle": "4.4.*",
         "symfony/serializer-pack": "*",
+        "symfony/swiftmailer-bundle": "^3.1",
         "symfony/translation": "4.4.*",
         "symfony/twig-pack": "*",
         "symfony/validator": "4.4.*",

一見、両者のcomposer.jsonの依存リストは同じです。
が、 4.4.x-dev@dev で作ったプロジェクトには "minimum-stability": "dev" があり、^4.4 で作ったプロジェクトにはありませんでした。

開発中だったプロジェクトのcomposer.jsonから "minimum-stability": "dev" の行を消して composer update。
今度は無事にLTS版が入りました :tada:

Symfony4の新機能が使えて長期サポートが保証されたSymfony4.4、乗るしかない!このビッグウェーブに!