Se ha lanzado la nueva versión de Kotlin 2.1: principales cambios y novedades
El equipo de JetBrains ha presentado oficialmente el lanzamiento estable de Kotlin 2.1. Esta actualización continúa el enfoque en mejorar el rendimiento, la estabilidad y la facilidad de desarrollo. La versión 2.1 reemplaza a la versión 2.0 lanzada anteriormente e incluye tanto correcciones largamente esperadas como funcionalidades experimentales que ya se pueden probar en proyectos de producción. Analicemos qué ha cambiado exactamente y por qué es importante para cada desarrollador de Kotlin.
Compilador K2: ahora por defecto
El cambio principal del lanzamiento es que el compilador K2 se ha convertido en el estándar. Si en la versión 2.0 era necesario activarlo con una bandera separada, ahora está incluido por defecto para todos los proyectos multiplataforma. Esto proporciona:
- Una aceleración significativa de la compilación (hasta 2 veces en algunos proyectos);
- Mensajes de error más claros y comprensibles;
- Mejor soporte para nuevas construcciones del lenguaje.
Junto con esta actualización, se ha mejorado significativamente la compatibilidad con Gradle 8.x y Android Gradle Plugin, lo que hace que la migración sea lo más fluida posible.
Funcionalidades experimentales: qué hay de nuevo
En Kotlin 2.1 se ha ampliado el conjunto de funcionalidades experimentales. Entre ellas, cabe destacar:
- Guard conditions en when — ahora dentro de las ramas de when se pueden usar comprobaciones adicionales con la palabra clave
guard. Esto hace que las coincidencias complejas sean más legibles y reduce la cantidad de if anidados. - Non-local break y continue — la tan esperada capacidad de interrumpir bucles desde expresiones lambda. Solo funciona al activar la bandera correspondiente del compilador.
- Extensión de abstracciones contextuales — se ha mejorado el trabajo con funciones contextuales y typealias, lo que simplifica la escritura de construcciones DSL.
Todas las funcionalidades experimentales requieren una aceptación explícita (opt-in) a través de la anotación @OptIn, por lo que se pueden probar de forma segura sin temor a romper la compatibilidad hacia atrás.
Cambios en la biblioteca estándar (stdlib)
Los desarrolladores de JetBrains continuaron optimizando y ampliando la stdlib. Estos son los puntos clave:
- Se han añadido nuevas funciones para trabajar con colecciones:
chunkedywindowedahora admiten iteración perezosa; - Se ha mejorado el rendimiento de Sequence: las operaciones filter y map funcionan hasta un 30% más rápido;
- Se han actualizado las funciones para trabajar con JSON (kotlinx.serialization): se ha mejorado el soporte para polimorfismo y serialización de clases sealed.
Mejoras para desarrolladores de Android
Kotlin 2.1 incluye correcciones que afectan directamente a los proyectos de Android:
- Compatibilidad total con Android Studio Meerkat y Hedgehog;
- Se han corregido fallos poco frecuentes al usar Compose junto con el nuevo compilador;
- Se ha mejorado el soporte para R8/ProGuard: ahora la minificación funciona de manera más correcta con bibliotecas multiplataforma.
Cómo actualizarse
Para migrar a Kotlin 2.1, basta con cambiar la versión del plugin en build.gradle.kts o pom.xml:
id("org.jetbrains.kotlin.jvm") version "2.1.0"
Para Maven — actualizar la versión de kotlin-maven