You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/topics/compatibility-guides/compatibility-guide-23.md
+23-22Lines changed: 23 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,8 +37,8 @@ perspective (for example, from Java) is out of the scope of this document.
37
37
>
38
38
> **Deprecation cycle**:
39
39
>
40
-
> - 2.2.0: report a warning when using `-language-version` with versions 1.8 and 1.9.
41
-
> - 2.3.0: raise the warning to an error for languageversion 1.8 on all platforms and for language version 1.9 on non-JVM platforms.
40
+
> - 2.2.0: report a warning when using `-language-version` with versions 1.8 and 1.9
41
+
> - 2.3.0: raise the warning to an error for `-language-version` with version 1.8 on all platforms and for version 1.9 on non-JVM platforms
42
42
43
43
### Report upper-bound constraint violation errors for inferred types with typealiases
44
44
@@ -64,8 +64,8 @@ perspective (for example, from Java) is out of the scope of this document.
64
64
>
65
65
> **Incompatible change type**: source
66
66
>
67
-
> **Short summary**: Prohibit adding the `@JvmSerializableLambda` annotation on`inline`and`crossinline` lambdas
68
-
> because it has no effect. `inline` and `crossinline` lambdas are not serializable.
67
+
> **Short summary**: You can no longer apply the `@JvmSerializableLambda` annotation to`inline`or`crossinline` lambdas.
68
+
> These lambdas aren't serializable, so applying `@JvmSerializableLambda` had no effect.
69
69
>
70
70
> **Deprecation cycle**:
71
71
>
@@ -97,7 +97,7 @@ perspective (for example, from Java) is out of the scope of this document.
97
97
>
98
98
> **Incompatible change type**: source
99
99
>
100
-
> **Short summary**: Kotlin now deprecates using `return` inside expression bodies when the function's return type is not
100
+
> **Short summary**: Kotlin now deprecates using `return` inside expression bodies when the function's return type isn't
101
101
> explicitly declared.
102
102
>
103
103
> **Deprecation cycle**:
@@ -113,7 +113,7 @@ perspective (for example, from Java) is out of the scope of this document.
113
113
>
114
114
> **Incompatible change type**: source
115
115
>
116
-
> **Short summary**: Kotlin now reports an error when attempting to inherit from a nullable typealias, consistent with
116
+
> **Short summary**: Kotlin now reports an error when attempting to inherit from a nullable typealias, which is consistent with
117
117
> how it already handles direct nullable supertypes.
118
118
>
119
119
> **Deprecation cycle**:
@@ -134,7 +134,7 @@ perspective (for example, from Java) is out of the scope of this document.
134
134
>
135
135
> **Deprecation cycle**:
136
136
>
137
-
> - 2.3.0: introduce new behavior; not applicable for progressive mode
137
+
> - 2.3.0: introduce the new behavior; not applicable in progressive mode
138
138
139
139
### Prohibit reified type parameters from being inferred as intersection types
140
140
@@ -145,11 +145,11 @@ perspective (for example, from Java) is out of the scope of this document.
145
145
> **Incompatible change type**: source
146
146
>
147
147
> **Short summary**: Kotlin 2.3.0 prohibits situations where a reified type parameter is inferred to an intersection type,
148
-
> due to the risk of incorrect runtime behavior.
148
+
> as this could lead to incorrect runtime behavior.
149
149
>
150
150
> **Deprecation cycle**:
151
151
>
152
-
> - 2.1.0: report a warning when a reified type parameter is inferred to an intersection type
152
+
> - 2.1.0: report a warning when a reified type parameter is inferred as an intersection type
153
153
> - 2.3.0: raise the warning to an error
154
154
155
155
### Prohibit exposing less-visible types through type parameter bounds
@@ -241,27 +241,27 @@ perspective (for example, from Java) is out of the scope of this document.
241
241
>
242
242
> **Incompatible change type**: source
243
243
>
244
-
> **Short summary**: After being deprecated for a long time, the `InputStream.readBytes(estimatedSize: Int = DEFAULT_BUFFER_SIZE): ByteArray` function is hidden.
244
+
> **Short summary**: After being deprecated for a long time, the `InputStream.readBytes(estimatedSize: Int = DEFAULT_BUFFER_SIZE): ByteArray` function is now hidden.
245
245
>
246
246
> **Deprecation cycle**:
247
247
>
248
248
> - 1.3.0: report a warning
249
249
> - 1.5.0: raise the warning to an error
250
250
> - 2.3.0: hide the function
251
251
252
-
### Unify Kotlin/Native stacktrace printing with other platforms
252
+
### Unify Kotlin/Native stack trace printing with other platforms
> **Short summary**: When formatting an exception stacktrace, no additional causes are printed once a previously seen exception cause has already been printed.
260
+
> **Short summary**: When formatting an exception stack trace, additional causes aren't printed if the same exception cause has already been printed.
261
261
>
262
262
> **Deprecation cycle**:
263
263
>
264
-
> - 2.3.20: Unify Kotlin/Native exception stacktrace formatting with other Kotlin platforms
264
+
> - 2.3.20: Unify Kotlin/Native exception stack trace formatting with other Kotlin platforms
265
265
266
266
### Correct `Iterable<T>.intersect()` and `Iterable<T>.subtract()` behavior
267
267
@@ -292,10 +292,6 @@ perspective (for example, from Java) is out of the scope of this document.
292
292
> **Short summary**: In Kotlin 2.3, if you use both the `kotlin-dsl`**and** the `kotlin("jvm")` plugin in your Gradle
293
293
> project, you may see a Gradle warning about an unsupported Kotlin Gradle plugin (KGP) version.
294
294
>
295
-
> **Deprecation cycle**:
296
-
>
297
-
> - 2.3.0: introduce a diagnostic that detects when the `kotlin-dsl` plugin is used with an incompatible language or API version of the compiler.
298
-
>
299
295
> **Migration steps**:
300
296
>
301
297
> In general, we don't recommend using both the `kotlin-dsl` and the `kotlin("jvm")` plugins in the same Gradle project. This setup isn't supported.
@@ -312,6 +308,10 @@ perspective (for example, from Java) is out of the scope of this document.
312
308
> As a last resort, you can configure your project to use language version 2.1 or higher, which overrides the conflicting behavior of the `kotlin-dsl` plugin. However, we strongly recommend not doing so.
313
309
>
314
310
> If you experience difficulties during migration, reach out in the #gradle channel in our [Slack](https://surveys.jetbrains.com/s3/kotlin-slack-sign-up) for support.
311
+
>
312
+
> **Deprecation cycle**:
313
+
>
314
+
> - 2.3.0: introduce a diagnostic that detects when the `kotlin-dsl` plugin is used with an incompatible language or API version of the compiler
315
315
316
316
### Deprecate `kotlin-android` plugin for AGP versions 9.0.0 and later
317
317
@@ -322,11 +322,11 @@ perspective (for example, from Java) is out of the scope of this document.
322
322
> **Incompatible change type**: source
323
323
>
324
324
> **Short summary**: In Kotlin 2.3.0, the `org.jetbrains.kotlin.android` plugin is deprecated when using Android Gradle plugin (AGP) versions 9.0.0 or later.
325
-
> Starting with AGP 9.0.0, [AGP provides built-in support for Kotlin](https://kotl.in/gradle/agp-built-in-kotlin), so the `kotlin-android` plugin is no longer needed.
325
+
> Starting with AGP 9.0.0, [AGP provides built-in support for Kotlin](https://kotl.in/gradle/agp-built-in-kotlin), so the `kotlin-android` plugin is no longer required.
326
326
>
327
327
> **Deprecation cycle**:
328
328
>
329
-
> - 2.3.0: report a warning when the `kotlin-android` plugin is used with AGP versions 9.0.0 or later, and both the `android.builtInKotlin` and `android.newDsl=false` Gradle properties are set to `false`.
329
+
> - 2.3.0: report a warning when the `kotlin-android` plugin is used with AGP versions 9.0.0 or later, and both the `android.builtInKotlin` and `android.newDsl=false` Gradle properties are set to `false`
330
330
331
331
### Deprecate `testApi` configuration
332
332
@@ -376,9 +376,9 @@ perspective (for example, from Java) is out of the scope of this document.
376
376
>
377
377
> **Short summary**: Kotlin 2.3.0 removes the `closureTo()`, `createResultSet()` functions from the `closure` DSL since they
378
378
> are no longer used. In addition, the `KotlinToolingVersionOrNull()` function is removed. Use the `KotlinToolingVersion()` function instead.
379
-
>
380
379
>
381
380
> **Deprecation cycle**:
381
+
>
382
382
> - 1.7.20: report an error
383
383
> - 2.3.0: remove the functions
384
384
@@ -475,7 +475,8 @@ perspective (for example, from Java) is out of the scope of this document.
475
475
> *`TypeScriptValidationTask`
476
476
> *`YarnRootExtension`
477
477
>
478
-
> These classes were never intended to be subclassed. All use cases for subclassing should now be covered by the class instances exposed through our extensions.
478
+
> These classes were never intended to be subclassed. All use cases for subclassing should now be covered by
479
+
> the configuration blocks provided by the Kotlin Gradle plugin DSL.
479
480
> If the existing APIs for these tasks don't meet your needs for setting up test runs or the JavaScript runtime,
480
481
> share your feedback in [YouTrack](https://youtrack.jetbrains.com/issue/KT-75869).
481
482
>
@@ -635,7 +636,7 @@ perspective (for example, from Java) is out of the scope of this document.
635
636
636
637
### Deprecate `destinationDir` in `CInteropProcess`
0 commit comments