Stability of Different Components
Moving fast (MF): no compatibility should be expected between even incremental releases, any functionality can be added, removed or changed without warning.
Additions in Incremental Releases (AIR): things can be added in an incremental release, removals and changes of behavior should be avoided and announced in a previous incremental release if necessary.
Stable Incremental Releases (SIR): incremental releases are fully compatible, only optimizations and bug fixes happen. Any changes can be made in a feature release.
- Fully Stable (FS): incremental releases are fully compatible, feature releases are backwards compatible.
Source and binary compatibility may have different modes for the same component, e.g. the source language can reach full stability before the binary format stabilizes, or vice versa.
The provisions of the Kotlin evolution policy fully apply only to components that have reached Full Stability (FS). From that point on incompatible changes have to be approved by the Language Committee.
|Component||Status Entered at version||Mode for Sources||Mode for Binaries|
|Kotlin Scripts (*.kts)||1.2||AIR||MF|
|Kotlin Scripting APIs||1.2||MF||MF|
|Compiler Plugin API||1.0||MF||MF|
|All other experimental features, by default||N/A||MF||MF|