

The community has added so many votes for the Kotlin Lombok: Support generated builders YouTrack issue that we just had to support the annotation. By extension, we've removed the compiler option -Xuse-old-backend and the Gradle useOldBackend option. In Kotlin 1.8.0, we've removed the old backend completely.

That meant that the old backend from Kotlin 1.4.* was deprecated. In Kotlin 1.5.0, we announced that the IR-based backend became Stable. Never use this option in production: Disabling this feature via -Xdebug can cause memory leaks. However, it is difficult to debug code with optimized variables because you don't see their values. The "was optimized out" feature optimizes variables when you use suspend functions. In the future, after we add more optimizations, this option will disable them, too. For now, the option disables the "was optimized out" feature for coroutines. Kotlin 1.8.0 adds a new -Xdebug compiler option, which disables optimizations for a better debugging experience. A new compiler option for disabling optimizations Starting with Kotlin 1.8.0, you can use the new compiler option -Xno-new-java-annotation-targets to avoid generating the TYPE_USE and TYPE_PARAMETER annotation targets. This is an issue for Android clients with API levels less than 26, which don't have these targets in the API.

This is just like how the TYPE_PARAMETER Kotlin target maps to the .TYPE_PARAMETER Java target. If a Kotlin annotation has TYPE among its Kotlin targets, the annotation maps to .TYPE_USE in its list of Java annotation targets. The new language version also includes:Ī compiler option for switching off the generation of JVM annotation targetsĪ new -Xdebug compiler option for disabling optimizationsĪbility to not generate TYPE_USE and TYPE_PARAMETER annotation targets Starting with version 1.8.0, the compiler can generate classes with a bytecode version corresponding to JVM 19. To migrate existing projects to Kotlin 1.8.0 in IntelliJ IDEA 2022.3, change the Kotlin version to 1.8.0 and reimport your Gradle or Maven project. You can update your projects to Kotlin 1.8.0 in IntelliJ IDEA 2022.3 without updating the IDE plugin.
