diff --git a/README.md b/README.md index c22bd65a0..7cac72394 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,6 @@ You can find auto-generated documentation website on [kotlinlang.org](https://ko [New versions](https://plugins.gradle.org/plugin/org.jetbrains.kotlin.plugin.serialization) of the serialization plugin are released in tandem with each new Kotlin compiler version. -Using Kotlin Serialization requires Kotlin compiler `1.4.0` or higher. Make sure you have the corresponding Kotlin plugin installed in the IDE, no additional plugins for IDE are required. ### Gradle diff --git a/docs/compatibility.md b/docs/compatibility.md index d18336a36..219e41c69 100644 --- a/docs/compatibility.md +++ b/docs/compatibility.md @@ -88,5 +88,10 @@ This would be indicated by a compiler error specific to a particular feature. * New core library versions may or may not require Kotlin compiler plugin update, depending on a particular release. We'll try to avoid these situations; however, in case of some unexpected issues, it may be necessary. -So it is possible to have a situation where upgrading serialization runtime from `1.x` to `1.y` requires an update of Kotlin version from `1.4.0` to `1.4.x`. +So it is possible to have a situation where upgrading serialization runtime from `1.a.0` to `1.b.0` requires an update of Kotlin version from `1.x.0` to `1.y.0` (`y` > `x`). The compiler can detect such problems and will inform you if its version is incompatible with a current version of core library. + +Note that according to [general rules for Kotlin binaries](https://kotlinlang.org/docs/kotlin-evolution-principles.html#compatibility-options), +library is mostly forwards compatible with the next language release, but not later ones. +It means that if kotlinx.serialization `1.x` was compiled with Kotlin `2.Y`, it is compatible with Kotlin `2.(Y + 1)`, but not +`2.(Y + 2)`.