JetBrains releases Kotlin 2.3.0
Kotlin 2.3.0 is now generally available, with the language update offering capabilities such as an unused return value checker and support for Java 25. The release has a variety of experimental-stage features including the value checker, Swift interoperability, and a new syntax for explicit backing fields.
JetBrains released the language update on December 16. Installation instructions can be found at blog.jetbrains.com. This general release of the Java rival follows a release candidate introduced November 18.
With Kotlin 2.3.0, a new checker for unused values helps prevent ignored results. It warns whenever an expression returns a value other than Unit or Nothing and is not passed to a function, checked in a condition, or otherwise used. The checker helps catch bugs where a function call produces a meaningful result that was silently dropped, which can lead to unexpected behavior or hard-to-trace issues. This feature is currently experimental.
Another experimental capability in Kotlin 2.3.0 improves Kotlin’s 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. With mapping now direct, developers can use regular native Swift enums.
Other features in Kotlin 2.3.0 include the following:
- The Kotlin compiler now can generate classes containing Java 25 bytecode.
- Explicit backing fields provide a new syntax for explicitly declaring the underlying field that holds a property’s value, in contrast to the existing implicit backing fields.
- Support for
returnstatements in expression bodies with explicit return types is now enabled by default. - Context-sensitive resolution, still an experimental feature, has been improved. The sealed and enclosing supertypes of the current type are now considered part of the contextual scope of the search. No other supertype scopes are considered. And when type operators and equalities are involved, the compiler now reports a warning if using context-sensitive resolution makes the resolution ambiguous.
- Support for importing C and Objective-C capabilities to Kotlin/Native projects has moved to a beta stage.
- For Kotlin/Wasm (WebAssembly), Kotlin 2.3.0 enables by default fully qualified names for the Kotlin/Wasm targets, the new exception handling proposal for the
wasmWasitarget. It also introduces compact storage for Latin-1 characters. Also, the new WebAssembly exception handling proposal is enabled by default for thewasmWasitarget, ensuring better compatibility with modern WebAssembly runtimes. - For Kotlin/JS, suspend functions now can be exported directly to JavaScript using the
@JsExportannotation, and theBigInt64Arraytype now can be used to represent Kotlin’sLongArraytype. These are both experimental features. - Support is no longer available for the Ant build system.
.
Original Link:https://www.infoworld.com/article/4108227/jetbrains-releases-kotlin-2-3-0.html
Originally Posted: Thu, 18 Dec 2025 05:09:58 +0000












What do you think?
It is nice to know your opinion. Leave a comment.