Skip to content

Kotlinコンポーネントの安定性(1.4以前)

コンポーネントの進化の速さに応じて、異なる安定性モードが存在します:

  • Moving fast (MF): インクリメンタルリリース間であっても互換性は期待できません。いかなる機能も予告なしに追加、削除、または変更される可能性があります。

  • Additions in Incremental Releases (AIR): インクリメンタルリリースで機能を追加できます。削除や振る舞いの変更は避けるべきであり、必要な場合は以前のインクリメンタルリリースで告知される必要があります。

  • Stable Incremental Releases (SIR): インクリメンタルリリースは完全に互換性があり、最適化とバグ修正のみが行われます。いかなる変更も言語リリースで行うことができます。

  • Fully Stable (FS): インクリメンタルリリースは完全に互換性があり、最適化とバグ修正のみが行われます。フィーチャーリリース(Feature releases)は後方互換性があります。

ソース互換性とバイナリ互換性は、同じコンポーネントであっても異なるモードを持つ場合があります。例えば、バイナリ形式が安定する前にソース言語が完全な安定性に達する場合や、その逆もあり得ます。

Kotlin進化ポリシーの規定は、完全な安定性(Fully Stable: FS)に達したコンポーネントにのみ全面的に適用されます。その時点以降、互換性のない変更は言語委員会(Language Committee)によって承認される必要があります。

コンポーネント導入バージョンソースのモードバイナリのモード
Kotlin/JVM1.0FSFS
kotlin-stdlib (JVM)1.0FSFS
KDoc syntax1.0FSN/A
Coroutines1.3FSFS
kotlin-reflect (JVM)1.0SIRSIR
Kotlin/JS1.1AIRMF
Kotlin/Native1.3AIRMF
Kotlin Scripts (*.kts)1.2AIRMF
dokka0.1MFN/A
Kotlin Scripting APIs1.2MFMF
Compiler Plugin API1.0MFMF
Serialization1.3MFMF
Multiplatform Projects1.2MFMF
Inline classes1.3MFMF
Unsigned arithmetics1.3MFMF
その他すべての実験的機能(デフォルト)N/AMFMF