No breaking-change keywords detected in release notes.
v2.4.20-Beta1
2026-06-24
⚠ Potential breaking changes
[`KT-86014`](https://youtrack.jetbrains.com/issue/KT-86014) Types are broken after remove parameter through change signature
[`KT-86186`](https://youtrack.jetbrains.com/issue/KT-86186) Analysis API: Codebase tests run twice in some analysis modules — pick a single JUnit runner and migrate
[`KT-85381`](https://youtrack.jetbrains.com/issue/KT-85381) Remove tests for the FE10 implementation
[`KT-36740`](https://youtrack.jetbrains.com/issue/KT-36740) MPP: False-positive incompatible types in .java when using expect-class returned by non-expect member from common when actual is actual typealias
[`KT-85382`](https://youtrack.jetbrains.com/issue/KT-85382) Remove the FE10 implementation
[`KT-84932`](https://youtrack.jetbrains.com/issue/KT-84932) Deprecate utilities exposed through analysis-internal-utils
[`KT-86180`](https://youtrack.jetbrains.com/issue/KT-86180) [Wasm] backward compatibility is broken in 2.1->2.2 by changed order of type parameters
[`KT-85270`](https://youtrack.jetbrains.com/issue/KT-85270) K/Wasm: incremental compilation fails with NoSuchElementException when a stdlib call is removed
[`KT-79677`](https://youtrack.jetbrains.com/issue/KT-79677) Remove meaningless LVT records
[`KT-85230`](https://youtrack.jetbrains.com/issue/KT-85230) False negative deprecation diagnostics on import of member of nested class
v2.4.0
2026-06-03
⚠ Potential breaking changes
[`KT-70896`](https://youtrack.jetbrains.com/issue/KT-70896) AA: False positive deprecation warning with override of built-in method in JDK mapped class
[`KT-84715`](https://youtrack.jetbrains.com/issue/KT-84715) removeModifier doesn't delete whitespaces around the removed modifier
[`KT-52673`](https://youtrack.jetbrains.com/issue/KT-52673) Don't report deprecation warning/error on last segments of imports
[`KT-83988`](https://youtrack.jetbrains.com/issue/KT-83988) Remove extraneous POP+GETSTATIC Unit for calls of Unit-returning suspend functions
[`KT-85062`](https://youtrack.jetbrains.com/issue/KT-85062) Deprecate language version 2.1
[`KT-85210`](https://youtrack.jetbrains.com/issue/KT-85210) Enabling -XXLanguage:+IntrinsicConstEvaluation breaks highlighting on some broken code
v2.4.0-RC2
2026-05-27
⚠ Potential breaking changes
[`KT-86395`](https://youtrack.jetbrains.com/issue/KT-86395) [BTA] forward-compatibility violation: NoSuchMethodError on JvmSnapshotBasedIncrementalCompilationConfiguration.<init> breaks IC
[`KT-86457`](https://youtrack.jetbrains.com/issue/KT-86457) [Wasm, Gradle] BinaryenExec.standardOutput is silently ignored after migration to Gradle Workers
v2.4.0-RC
2026-05-13
⚠ Potential breaking changes
[`KT-84877`](https://youtrack.jetbrains.com/issue/KT-84877) [J2KLIB] Remove withKotlinBuiltinsHack present in JKlibIrLinker.kt
[`KT-86027`](https://youtrack.jetbrains.com/issue/KT-86027) Hide returnsResultOf under a separate flag and remove its usages from kotlin stdlib
[`KT-70896`](https://youtrack.jetbrains.com/issue/KT-70896) AA: False positive deprecation warning with override of built-in method in JDK mapped class
[`KT-84715`](https://youtrack.jetbrains.com/issue/KT-84715) removeModifier doesn't delete whitespaces around the removed modifier
[`KT-84621`](https://youtrack.jetbrains.com/issue/KT-84621) Migrate symbol tests to ManagedTest properly
[`KT-85626`](https://youtrack.jetbrains.com/issue/KT-85626) `@JvmRecord` in commonMain breaks compileCommonMainKotlinMetadata with "Cannot access 'java.lang.Record'"
[`KT-52673`](https://youtrack.jetbrains.com/issue/KT-52673) Don't report deprecation warning/error on imports
[`KT-85210`](https://youtrack.jetbrains.com/issue/KT-85210) Enabling -XXLanguage:+IntrinsicConstEvaluation breaks highlighting on some broken code
[`KT-85058`](https://youtrack.jetbrains.com/issue/KT-85058) Remove final field modification in DescriptorRendererOptionsImpl to prevent warnings on JDK 26+
[`KT-85062`](https://youtrack.jetbrains.com/issue/KT-85062) Deprecate language version 2.1
[`KT-83460`](https://youtrack.jetbrains.com/issue/KT-83460) Deprecation from `@all`:Deprecated is not propagated to property accessors/backing fields
[`KT-84859`](https://youtrack.jetbrains.com/issue/KT-84859) Skip deprecation phase for generic arguments in qualifier receiver of static call for companion block members and extensions
v2.3.21
2026-04-23
⚠ Potential breaking changes
[`KT-85626`](https://youtrack.jetbrains.com/issue/KT-85626) `@JvmRecord` in commonMain breaks compileCommonMainKotlinMetadata with "Cannot access 'java.lang.Record'"
v2.3.21-RC2
2026-04-16
⚠ Potential breaking changes
[`KT-85626`](https://youtrack.jetbrains.com/issue/KT-85626) `@JvmRecord` in commonMain breaks compileCommonMainKotlinMetadata with "Cannot access 'java.lang.Record'"