{"id":5021,"date":"2026-09-08T01:15:00","date_gmt":"2026-09-08T04:15:00","guid":{"rendered":"https:\/\/tucumandevelopers.com\/index.php\/2026\/09\/08\/kotlin-2-4-20-released\/"},"modified":"2026-09-08T01:15:00","modified_gmt":"2026-09-08T04:15:00","slug":"kotlin-2-4-20-released","status":"publish","type":"post","link":"https:\/\/tucumandevelopers.com\/index.php\/2026\/09\/08\/kotlin-2-4-20-released\/","title":{"rendered":"Kotlin 2.4.20 Released"},"content":{"rendered":"<div>\n<div>\n<section data-clarity-region=\"article\">\n<div>\n<p><a href=\"\/kotlin\/category\/releases\/\">Releases<\/a><\/p>\n<h2 id=\"major-updates\">Kotlin 2.4.20 Released<\/h2>\n<p>The Kotlin 2.4.20 release is out! Here are the main highlights:<\/p>\n<ul>\n<li><strong>Standard library<\/strong>: Support for coroutine stack trace recovery, new functions for checking equality and uniqueness of collection elements, and new overloads for <code>kotlin.test<\/code> assertion functions.<\/li>\n<li><strong>Kotlin\/Native<\/strong>: New Swift export features, improved incremental compilation, and automatically generated <code>Package.swift<\/code> files for SwiftPM dependencies.<\/li>\n<li><strong>Kotlin\/Wasm<\/strong>:<strong> <\/strong>Changes to top-level <code>require()<\/code> calls in <code>@JsFun<\/code> declarations, improved companion object initialization order, and support for Wasmtime in the Kotlin Gradle plugin.<\/li>\n<li><strong>Kotlin\/JS<\/strong>: A new DSL for browser testing, support for exporting suspend lambdas as async functions, and improved exportability of data classes.<\/li>\n<li><strong>Gradle<\/strong>: Support for Gradle 9.7.0 and improved reporting in the Problems API.<\/li>\n<li><strong>Build tools API<\/strong>: Support for new targets: Kotlin\/JS, Kotlin\/Wasm, and Kotlin metadata.<\/li>\n<li><strong>Kotlin compiler<\/strong>: The `kotlinr` runner command and a separate native image.<\/li>\n<\/ul>\n<p>For the complete list of changes, see <a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew2420.html\" target=\"_blank\" rel=\"noopener\">What\u2019s new in Kotlin 2.4.20<\/a> or the <a href=\"https:\/\/github.com\/JetBrains\/kotlin\/releases\/tag\/v2.4.20\" target=\"_blank\" rel=\"noopener\">release notes on GitHub<\/a>.<\/p>\n<h2>How to install Kotlin 2.4.20<\/h2>\n<p>The latest version of Kotlin is included in the latest versions of <a href=\"https:\/\/www.jetbrains.com\/idea\/download\/\" target=\"_blank\" rel=\"noopener\">IntelliJ IDEA<\/a> and <a href=\"https:\/\/developer.android.com\/studio\" target=\"_blank\" rel=\"noopener\">Android Studio<\/a>.<\/p>\n<p>To update to the new Kotlin version, make sure your IDE is updated to the latest version and <a href=\"https:\/\/kotlinlang.org\/docs\/releases.html#update-to-a-new-kotlin-version\" target=\"_blank\" rel=\"noopener\">change the Kotlin version<\/a> to 2.4.20 in your build scripts.<\/p>\n<p>If you need the command-line compiler, download it from the <a href=\"https:\/\/github.com\/JetBrains\/kotlin\/releases\/tag\/v2.4.20\" target=\"_blank\" rel=\"noopener\">GitHub release page<\/a>.<\/p>\n<p><strong>If you run into any problems:<\/strong><\/p>\n<ul>\n<li>Find help on <a href=\"https:\/\/app.slack.com\/client\/T09229ZC6\" target=\"_blank\" rel=\"noopener\">Slack<\/a> (<a href=\"https:\/\/surveys.jetbrains.com\/s3\/kotlin-slack-sign-up\" target=\"_blank\" rel=\"noopener\">get an invite<\/a>).<\/li>\n<li>Report issues to our issue tracker, <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT\" target=\"_blank\" rel=\"noopener\">YouTrack<\/a>.<\/li>\n<\/ul>\n<p>Stay up to date with the latest Kotlin features! Subscribe to receive Kotlin updates by filling out the form at the bottom of this post. \u2b07\ufe0f<\/p>\n<h2>Special thanks to our EAP Champions<\/h2>\n<ul>\n<li><a href=\"https:\/\/bsky.app\/profile\/zacsweers.dev\" target=\"_blank\" rel=\"noopener\">Zac Sweers<\/a><\/li>\n<li><a href=\"https:\/\/x.com\/noraltavir\">Alexander Nozik<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/BoD\" target=\"_blank\" rel=\"noopener\">Benoit Lubek<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/ychescale9\" target=\"_blank\" rel=\"noopener\">Yang<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/rickclephas\" target=\"_blank\" rel=\"noopener\">Rick Clephas<\/a><\/li>\n<li><a href=\"https:\/\/www.linkedin.com\/in\/johannessvensson\/\" target=\"_blank\" rel=\"noopener\">Johannes Svensson<\/a><\/li>\n<li><a href=\"https:\/\/www.linkedin.com\/in\/lukasz-wasylkowski\/\" target=\"_blank\" rel=\"noopener\">\u0141ukasz Wasylkowski<\/a><\/li>\n<li><a href=\"https:\/\/sterlingalbury.com\/\" target=\"_blank\" rel=\"noopener\">Sterling Albury<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/HagamosVideojuegos\" target=\"_blank\" rel=\"noopener\">David Lopez<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/molikuner\" target=\"_blank\" rel=\"noopener\">Florian Schreiber<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/msotho\" target=\"_blank\" rel=\"noopener\">Sechaba Mofokeng<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/JesusMcCloud\" target=\"_blank\" rel=\"noopener\">Bernd Pr\u00fcnster<\/a><\/li>\n<li><a href=\"https:\/\/x.com\/andy_lamax\">Anderson Lameck<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/dayanruben\" target=\"_blank\" rel=\"noopener\">Dayan Ruben<\/a><\/li>\n<li><a href=\"https:\/\/kotlinlang.slack.com\/team\/U03PLFM837A\" target=\"_blank\" rel=\"noopener\">Josh Stagg<\/a><\/li>\n<li><a href=\"https:\/\/www.linkedin.com\/in\/yuri-geronimus\/\" target=\"_blank\" rel=\"noopener\">Yuri Geronimus<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/seregamorph\" target=\"_blank\" rel=\"noopener\">Sergey Chernov<\/a><\/li>\n<li><a href=\"https:\/\/ivan.canet.dev\/\" target=\"_blank\" rel=\"noopener\">Ivan Canet<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Zordid\" target=\"_blank\" rel=\"noopener\">Olaf Gottschalk<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/MohamedRejeb\" target=\"_blank\" rel=\"noopener\">Mohamed Rejeb<\/a><\/li>\n<\/ul>\n<h2>Further reading<\/h2>\n<ul>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew2420.html\" target=\"_blank\" rel=\"noopener\">What\u2019s new in Kotlin 2.4.20 documentation<\/a><\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/compatibility-guide-24.html\" target=\"_blank\" rel=\"noopener\">Kotlin 2.4 compatibility guide<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2022\/11\/eap-champions\/\">Kotlin EAP Champions<\/a><\/li>\n<\/ul><\/div>\n<p> <a href=\"#\"><\/a> <\/section>\n<div>\n<p><h2>Discover more<\/h2>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>Fuente: <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2026\/09\/kotlin-2-4-20-released\/\">Art\u00edculo original<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Releases Kotlin 2.4.20 Released The Kotlin 2.4.20 release is out! Here are the main highlights: Standard library: Support for coroutine stack trace recovery, new functions for checking equality and uniqueness of collection elements, and new overloads for kotlin.test assertion functions. Kotlin\/Native: New Swift export features, improved incremental compilation, and automatically generated Package.swift files for SwiftPM [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5020,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"webixso_pending_account_ids":""},"categories":[46],"tags":[],"class_list":["post-5021","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jetbrain"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/5021","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/comments?post=5021"}],"version-history":[{"count":0,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/5021\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media\/5020"}],"wp:attachment":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media?parent=5021"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/categories?post=5021"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/tags?post=5021"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}