Swift Digest
Blog | Swift.org Blog

Swift 4.1 リリース

Swift 4.1 Released!

このダイジェストはClaude Opus 4.7 / 4.8によって生成されたものです(License)。原文はこちら

この記事の要点

主な変更点

言語の改善

Swift 4.1 は、Swift Generics Manifesto で掲げられた目標を一歩進める形で、ジェネリクス関連の機能を多数追加しています。

ビルドの改善

このリリースでは、ビルドを設定する手段がいくつか増えました。

Foundation

JSONEncoderJSONDecoder に、エンコード・デコード時にキーを変換する新しいストラテジーが追加されました。たとえば、Swift 側の camelCase なプロパティ名と、JSON 側の snake_case なキー名を相互に変換できます。

そのほかの更新

このほか、Swift Evolution プロセスを経た次の Proposal も実装されています。

ABI 安定化に向けた前進

Swift 4.1 には、Swift 5 での ABI 安定化に向けた水面下の変更が多数含まれます。参照カウント用のオブジェクトヘッダの調整、existential 型のメタデータレイアウトの決定、ジェネリック・プロトコル要件の正規化、ランタイム関数の監査、条件付き適合を使ったコレクションラッパーの統合などが完了しました。

Package Manager の更新

移行とドキュメント

Swift 4.1 は Swift 4.0 とソース互換です。それ以前のリリースからの移行を助けるため、Xcode 9.3 には多くのソース変更を自動処理できるコードマイグレータが含まれ、機械的でない変更を案内する移行ガイドも用意されています。Swift 4.1 に対応した『The Swift Programming Language』の更新版も Swift.org で公開されています。

Swift 利用者への影響

関連リンク