概要

JetBrainsは9月7日、Kotlinの最新マイナーバージョンとなる「Kotlin 2.4.20」を正式リリースした。今回のアップデートは特定の目玉機能に絞ったものではなく、標準ライブラリからKotlin/Native、Kotlin/Wasm、Kotlin/JS、そしてビルドツール周りまで、マルチプラットフォーム開発の各領域にまたがる改善を幅広く取り込んだ点が特徴だ。最新のIntelliJ IDEAやAndroid StudioにはすでにKotlin 2.4.20のサポートが組み込まれており、コマンドラインコンパイラも単体でGitHubのリリースページから入手できる。

標準ライブラリとデバッグ体験の改善

今回のリリースで開発者の日常的な生産性に直結するのが、コルーチンのスタックトレース復元機能への対応だ。非同期処理特有の「どこで例外が発生したのか追いづらい」という課題に対応するもので、コルーチン利用時のデバッグ効率を高める狙いがある。あわせて、コレクション要素の等価性や一意性をチェックする新しい関数が標準ライブラリに追加されたほか、kotlin.testのアサーション関数にも新しいオーバーロードが加わり、テストコードをより簡潔に書けるようになった。

Kotlin/NativeとSwift連携の強化

Kotlin/NativeまわりではSwiftエクスポート機能がさらに拡張された。特に、SwiftPM(Swift Package Manager)の依存関係向けにPackage.swiftファイルを自動生成できるようになった点は、AppleプラットフォームでKotlin Multiplatformを採用するチームにとって実務上のメリットが大きい。これまで手作業や追加ツールに頼っていたパッケージ定義の管理が簡素化され、Swift側のエコシステムとの統合がよりスムーズになる。あわせてインクリメンタルコンパイルの改善も行われ、ビルド時間の短縮が見込まれる。

Wasm・JS・ビルドツールの改善

Kotlin/Wasmでは、@JsFun宣言内でのトップレベルrequire()呼び出しの扱いが変更されたほか、コンパニオンオブジェクトの初期化順序が改善され、Kotlin GradleプラグインではWasmランタイムのwasmtimeサポートも追加された。Kotlin/JSでは、ブラウザテスト向けの新しいDSLが導入されたことに加え、サスペンドラムダをasync関数としてエクスポートできるようになり、データクラスのエクスポート性も向上している。開発ツール面ではGradle 9.7.0への対応が完了し、Problems APIのレポート内容が改善されたほか、kotlinrランナーコマンドが独立したネイティブイメージとして提供されるようになった。

一連の変更は派手な新機能というより、既存ワークフローの摩擦を一つひとつ取り除く地道なアップデートが中心となっている。特にSwiftPM連携やコルーチンのデバッグ改善は、Kotlin Multiplatformをすでに本番導入しているチームにとって実利のある内容であり、今後のKotlin 2.5系に向けた開発ツールチェーンの成熟が引き続き期待される。