Two previously beta language features become stable in Kotlin 2.3.0. These include support for nested type aliases and data flow exhaustiveness checks for when expressions. Kotlin 2.3.0 also improves context-sensitive resolution in two ways, according to JetBrains. First, the sealed and enclosing supertypes of the current type now are considered as part of the contextual scope of the search. Second, in cases with type operators and equalities, the compiler now reports a warning if using context-sensitive resolution makes the resolution ambiguous.
For the Swift language, Kotlin 2.3.0-RC via Kotlin/Native compilation improves Kotlin interoperability with Swift through Swift export, adding support for native enum classes and variadic function parameters. Previously, Kotlin enums were exported as ordinary Swift classes, according to JetBrains. Now, mapping is direct, and developers can use regular native Swift enums.
Kotlin’s Java support has been updated. Starting with Kotlin 2.3.0-RC, the compiler can generate classes that contain Java 25 bytecode. Java 25, the latest version of standard Java, was released September 16. Also, Kotlin 2.3.0-RC is fully compatible with Gradle build tool, versions 7.6.3 through 9.0.0. Developers can use Gradle versions up to the latest Gradle release, but should be aware that doing so may result in deprecation warnings, and some new Gradle features may not work, JetBrains said.



