Paul Krill
Editor at Large

JetBrains releases Kotlin 2.3.0

news
Dec 18, 20253 mins

Now generally available, latest update to the Kotlin language includes a checker for unused return values and a host of other experimental features.

A computer screen shows the Kotlin logo against a backdrop of code.
Credit: Trismegist san / Shutterstock

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 return statements 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 the wasmWasitarget, ensuring better compatibility with modern WebAssembly runtimes.
  • For Kotlin/JS, suspend functions now can be exported directly to JavaScript using the @JsExport annotation, and the BigInt64Array type now can be used to represent Kotlin’sLongArray type. These are both experimental features.
  • Support is no longer available for the Ant build system.

.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author