Skip to content

Latest commit

 

History

History
65 lines (51 loc) · 6.1 KB

eap.md

File metadata and controls

65 lines (51 loc) · 6.1 KB

You can participate in the Kotlin Early Access Preview (EAP) to try out the latest Kotlin features before they are released.

We ship a few Beta (Beta) and Release Candidate (RC) builds before every feature (1.x) and incremental (1.x.y) release.

We'll be very thankful if you find and report bugs to our issue tracker YouTrack. It is very likely that we'll be able to fix them before the final release, which means you won't need to wait until the next Kotlin release for your issues to be addressed.

By participating in the Early Access Preview and reporting bugs, you contribute to Kotlin and help us make it better for everyone in the growing Kotlin community. We appreciate your help a lot!

If you have any questions and want to participate in discussions, you are welcome to join the #eap channel in Kotlin Slack. In this channel, you can also get notifications about new EAP builds.

Install the Kotlin EAP Plugin for IDEA or Android Studio

By participating in the EAP, you expressly acknowledge that the EAP version may not be reliable, may not work as intended, and may contain errors.

Please note that we don't provide any guarantees of compatibility between EAP and final versions of the same release.

{type="note"}

If you have already installed the EAP version and want to work on projects that were created previously, check our instructions on how to configure your build to support this version.

How the EAP can help you be more productive with Kotlin

  • Prepare for the Stable release. If you work on a complex multi-module project, participating in the EAP may streamline your experience when you adopt the Stable release version. The sooner you update to the Stable version, the sooner you can take advantage of its performance improvements and new language features.

    The migration of huge and complex projects might take a while, not only because of their size but also because some specific use cases may not have been covered by the Kotlin team yet. By participating in the EAP and continuously testing new versions of Kotlin, you can provide us with early feedback about your specific use cases. This will help us address as many issues as possible and ensure you can safely update to the Stable version when it's released. Check out how Slack benefits from testing Android, Kotlin, and Gradle pre-release versions.

  • Keep your library up-to-date. If you're a library author, updating to the new Kotlin version is extremely important. Using older versions could block your users from updating Kotlin in their projects. Working with EAP versions allows you to support the latest Kotlin versions in your library almost immediately with the Stable release, which makes your users happier and your library more popular.

  • Share the experience. If you're a Kotlin enthusiast and enjoy contributing to the Kotlin ecosystem by creating educational content, trying new features in the Kotin EAP allows you to be among the first to share the experience of using the new cool features with the community.

Build details

Build info Build highlights
1.8.20-Beta

Released: February 8, 2023

Release on GitHub

  • Language: experimental replacement of the Enum class values() function with the entries property, experimental lifting restrictions on secondary constructor bodies in value (inline) classes, experimental data objects
  • Kotlin/JVM: JVM IR for the kapt stub generation enabled by default
  • Kotlin/Native: bug fix for stack overflow when using regex with large input, improved output for Gradle errors in Xcode, new API for garbage collection statistics, Podspec generation in the new artifact DSL, dynamic framework linking without generating C-interop bindings
  • Kotlin Multiplatform: preview support for Gradle composite builds, experimental DSL for the new source set hierarchy
  • Kotlin/Wasm: experimental version of the new Kotlin/Wasm compiler backend
  • Kotlin/JS IR: alpha version of the K2 support, fully-qualified method name in source maps, declarations with non-minified names, the dukat integration removed, TypeScript definitions generated only on explicit Gradle action
  • Libraries: experimental support for the AutoCloseable interface and the use() extension function in the common standard library, experimental support for the Base64 encoding in the standard library, experimental support for the @Volatile annotation that works for both JVM and Kotlin/Native
  • Gradle: the new approach to incremental compilation enabled by default, new Gradle plugins alignment platform, compatibility with the Gradle 7.4, 7.5, and 7.6 releases, experimental ability to back up only updated files during incremental compilation, new property for adding a Git branch name to HTTP build reports
  • Maven: new components.xml to automatically compile Kotlin Maven projects, ability to set up kapt's aptMode
  • Serialization: prototype of serialization plugin that works with the K2 compiler, prohibited implicit serializer customization via companion object

For more details, please refer to the changelog or What's new in Kotlin 1.8.20-Beta.