Mobile Development 8 min read

Kotlin 1.3.30 Release: New Features, KAPT Incremental Compilation, Unsigned Array Extensions, Kotlin/Native Enhancements, and IDE Support

Version 1.3.30 of Kotlin introduces Apple support, stable coroutines, KAPT incremental annotation processing, unsigned array extensions, Kotlin/Native platform expansions, and IDE improvements across IntelliJ, CLion, and AppCode, while also detailing configuration steps and performance optimizations for Android developers.

Sohu Tech Products
Sohu Tech Products
Sohu Tech Products
Kotlin 1.3.30 Release: New Features, KAPT Incremental Compilation, Unsigned Array Extensions, Kotlin/Native Enhancements, and IDE Support

Google announced at its I/O conference that Kotlin is now the preferred language for Android development, and the Kotlin 1.3.30 release brings Apple platform support along with a host of other improvements.

The update revisits the major features of the 1.3 line, including stable coroutines, Kotlin/Native beta, multiplatform project tools, and Ktor 1.0 beta.

KAPT Incremental Compilation – KAPT now supports incremental annotation‑processor compilation. To enable it, add the following line to gradle.properties :

kapt.incremental.apt=true

Note that any non‑incremental annotation processor will cause the module to fall back to non‑incremental mode.

Additional KAPT performance tweaks introduce two new configurations. The first enables Gradle workers:

kapt.use.worker.api=true

The second, added in 1.3.20, activates Compile Avoidance, which skips annotation processing when only method bodies change and all processors are explicitly declared on the classpath.

Unsigned Array Extension Methods – Starting with 1.3, unsigned numeric types and their arrays receive richer support. Example code:

fun main() { val u1 = 2_147_483_649u val u2 = 4_000_000_000u println(u1.toDouble()) println(minOf(u1, u2)) val array: UIntArray = uintArrayOf(u1, u2) println(array.max()) println(array.all { it > Int.MAX_VALUE.toUInt() }) }

Unsigned arrays now implement Collection<UInt> , eliminating the extra object allocation that previously occurred when using collection functions such as filter or map .

Kotlin/Native expands its target platforms to include Windows 32‑bit (mingw_x86) and allows mixed‑compilation to Linux x86‑64, arm32, Android, and Raspberry Pi. Apple platform support is improved: uncaught exceptions appear in iOS crash logs, and debug‑mode stack traces contain symbol information. The command‑line flag -Xstatic-framework or a Gradle script can be used to build static libraries, though an Xcode project is still required.

IDE Support – Beyond IntelliJ IDEA, Kotlin/Native plugins are available for CLion 2019.1 and AppCode 2019.1, with .def interop files slated for full IDE coverage. CLion and AppCode now support exception‑stack navigation to source code.

Debugging Enhancements – When debugging coroutines, an “Async stack trace” view shows variable values at the last suspension point, helping developers understand coroutine state more easily. Selecting “Kotlin” mode in the debugger displays Kotlin‑specific variables.

Eclipse Plugin Update – Eclipse plugin 0.8.14 adds Kotlin 1.3.30 compiler support, numerous bug fixes, and experimental Gradle project import via Eclipse Buildship.

Specifying JVM Target – For projects running on JVM 9‑12, set jvmTarget to the appropriate version to control the generated class file bytecode version.

The article concludes that Google’s cross‑platform initiatives, combined with Microsoft’s .NET and Python tooling, signal a competitive and vibrant future for mobile development, with Kotlin playing a central role.

AndroidKotlinKaptIDE SupportKotlin/NativeUnsigned Arrays
Sohu Tech Products
Written by

Sohu Tech Products

A knowledge-sharing platform for Sohu's technology products. As a leading Chinese internet brand with media, video, search, and gaming services and over 700 million users, Sohu continuously drives tech innovation and practice. We’ll share practical insights and tech news here.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.