Swift
Vapor
ServerSideSwift
Swift4.1
Vapor3.0

[非公式翻訳]Vapor 3のリリース予定

※ この記事はVapor 3 Release Scheduleの非公式翻訳です。

[非公式翻訳]Vapor 3のリリース予定

サーバサイドSwiftフレームワーク、Vaporの最新版が完成間近です!
私たちはSwift 4.1とそれがVaporに及ぼす影響を考慮し、3.0のリリースをSwift 4.1のリリースに合わせることにしました。
これは私たちが具体的なリリース日を提供できなくなることを意味します(Appleがリリースするまでは)。
ですが、アーリーアダプター向けのGM(RC)版に関してはリリース日を決定しています。

リリース予定

時期 バージョン 内容
2/9 Beta.1 フィードバックの最終段階
タグの付けられたリリースは最新のコミットよりも安定していることを意味します
2/23 RC.1 この日以降に破壊的な変更はありません
バグ修正と機能追加のみです
アーリーアダプターの方はVapor 3をお使いいただけます
3月中旬 3.0.0 Swift 4.1がリリースされた時のRCバージョンが3.0.0としてタグ付けされます
この時点までに全てのドキュメントがアップデートされています
RC版の利用を見送っていた方にもVapor 3をお使いいただけます

Swift 4.1

Swift 4.1はSwiftの最大にして最高の “.1” リリースです。
その目玉となる機能はもちろん、Conditional conformances条件付き適合)です。
これはVaporチームが何年も心待ちにしていた機能でした。
この機能が4.1で入ることは素晴らしいニュースなのですが、Vapor 3にある問題を持ち込んでもいます。
"Conditional conformance" は私たちのフレームワークのコアに重大な影響があるのです。 — 単に変更を追加すれば済むわけではありません。
私たちが"Conditional conformance"のないSwift 4.0でやりくりしていたハックは、Swift 4.1ではコンパイル時に壊れてしまいます。
仮にVapor 3をSwift 4.0と4.1両方で動くようにすると、私たちの最も重要な領域のコードに巨大な #if swift(>=4.1) / #else / #endif マクロの帯が登場することになるでしょう。
更に、HTTP/2の実装を妨げていたmacOSのセキュリティライブラリの深刻なバグもSwift 4.1で修正されます。
これは4.1だけに依存していれば、HTTP/2に対応したVapor 3をリリースできることを意味します。

これらの問題を踏まえると、バグ・混乱・メンテナの時間を最小化するためには、Swift 4.1だけをVapor 3の動作要件とするのがベストだと私たちは考えます。

Swift 4.1はSwift.orgのSnapshotsページでmacOS向けとUbuntu向けをダウンロードできます。
Xcode 9.3 betaは必須ではありません。
Vapor 3のbetaブランチはすぐにSwift 4.1に依存するようになります。

Beta.1

2/9のBeta.1はVapor 3で初めて全てのパッケージにタグを指定してのリリースとなるでしょう。
これはバージョンアップのために明示的にPackage.swiftを編集しなければならなかった状況から、安定性が大いに向上することを意味します。(swift package update を実行してもコードが壊れることはないでしょう)
また、2/9以降、破壊的な変更はマージの判断において重要な問題として扱われなければなりません。

私たちはこの時点からチュートリアルの執筆者が早期のVapor 3コンテンツを投下し始めることを期待しています。(素敵なRay Wenderlichが高い確率で出してくれるであろう動画のシリーズも含めて)
これはVapor 3を試し始めるのに非常に良い機会となるでしょう。
パッケージの開発者にとっては、自分のパッケージを更新する非常に良い機会となるでしょう。

RC.1

2/23のRC.1のリリースは、事実上、Vapor 3の公式リリースです。 — あとはSwift 4.1を待つだけです。
この時点からは、いかなる破壊的な変更も許可されません。
バグ修正や機能追加のみがマージされることになります。

このリリースからはUnitテストやドキュメントを追加することに注力します。
加えて、コアチームはVapor UniversityやPennyなどVapor関連のサイトの更新もしていきます。

この時期はまだドキュメントの作成が進行中ですが、アーリーアダプターはこの時点で問題なくVapor 3に以降できると考えています。

Official Release

公式の3.0.0はSwift 4.1に合わせてリリースされます。
全てのバグやドキュメントの問題がこの時点までに解決されるため、安定板を求める人はここまで待つ価値があります。

フィードバック

まだ参加していないなら、是非私たちのSlackチームの#betaチャンネルに入ってこのリリーススケジュールやもちろんVapor 3自体についてフィードバックをお送りください。

あなたが私たちと同じくらいワクワクしていることを願っています。 — Vapor 3はこれまでにない最高のリリースになるでしょう!

— Vapor Team