Releases

Kotlin 1.5.0: la primera versión importante de 2021

Read this post in other languages:

Ya está aquí el primer lanzamiento de funcionalidades conforme al nuevo calendario de publicaciones : ¡Kotlin 1.5.0!

Esta versión ofrece funcionalidades de lenguaje estables como los registros JVM, interfaces sealed, clases inline, e incluye el nuevo compilador IR JVM predeterminado. Su opinión sobre el adelanto de las funcionalidades de las versiones EAP de Kotlin 1.4.30 y Kotlin 1.5.0 nos han sido de gran ayuda para estabilizarlas.
¡Le damos las gracias por la ayuda! ¡Gracias!

Más de 25 000 desarrolladores ya han probado el nuevo compilador IR JVM en IntelliJ IDEA.

Percibirá las ventajas con el tiempo. El nuevo compilador comparte un proceso y una lógica de negocio unificados con los compiladores Kotlin/Native y Kotlin/JS IR, lo que nos permitirá implementar la mayoría de funcionalidades, optimizaciones y correcciones de errores para todas las plataformas de forma simultánea. También le permitirá añadir procesamientos personalizados y transformaciones que funcionarán de forma automática en todas las plataformas.

¿Tiene preguntas sobre Kotlin 1.5.0? Roman Elizarov, Svetlana Isakova y otros miembros del equipo Kotlin responderán a sus preguntas en directo el 25 de mayo durante el evento online de Kotlin 1.5.

Regístrese en el evento online de Kotlin 1.5


En este artículo del blog, encontrará una visión general de:

Actualización automática para Kotlin 1.5.0

Si utiliza IntelliJ IDEA o Android Studio, le dará la opción de actualizar de forma automática a la nueva versión de Kotlin en cuanto esté disponible.

Obtenga más información acerca de cómo instalar Kotlin 1.5.0.

Funcionalidades del lenguaje estables

Kotlin 1.5.0 incluye versiones estables de las nuevas funcionalidades del lenguaje presentadas en el adelanto de la versión 1.4.30:

  • Compatibilidad con los registros JVM para mantener la interoperabilidad con las funcionalidades Java más recientes: clases de registro.
    Para utilizar una clase Kotlin como un registro en el código Java, transfórmela en una clase data y márquela con la anotación @JvmRecord:

    Obtenga más información acerca de los requisitos para utilizar los registros JVM.

  • Interfaces sealed. El modificador sealed funciona en interfaces del mismo modo que lo hace en las clases: todas las implementaciones de una interfaz sealed se conocen en el tiempo de compilación.
  • Mejoras de las clases sealed. Previamente, todas las subclases tenían que estar en el mismo archivo con las clases sealed. Ahora pueden estar en todos los archivos de la misma unidad de compilación y del mismo paquete.
  • Las clases inline son un subconjunto de clases basadas en valores que solo contienen valores. Puede utilizarlas como contenedores para un valor de un tipo determinado sin la sobrecarga adicional que implica el uso de memorias asignadas. Utilice el modificador value para la declaración.

Obtenga más información acerca de las funcionalidades del lenguaje Kotlin 1.5.0

Mejoras en las bibliotecas estándar y de pruebas

Las nuevas API estables para los tipos enteros no firmados son las mejoras en las bibliotecas de Kotlin 1.5.0 más anticipadas, según la encuesta que realizamos en el artículo del blog Kotlin 1.5.0-RC.

La biblioteca estándar ofrece muchas funcionalidades útiles, como por ejemplo:

  • Las nuevas API estables para los tipos enteros no firmados, así como para los rangos, progresiones y funciones asociados. Más información acerca de enteros no firmados.
  • Funciones de extensión para java.nio.file.Path para utilizar la moderna IO Java sin bloqueo en un estilo idiomático de Kotlin.
  • Mejoras de las API String y Char, como la nueva API independiente de configuración regional para cambiar el uso de mayúsculas y minúsculas de cadenas y caracteres, una serie de nuevas funciones para la conversión entre caracteres y sus códigos enteros y valores numéricos; y compatibilidad multiplataforma para más funciones char.
  • Cambios en la API Duration, como la utilización de un valor Long para la representación interna y ofrecer nuevas propiedades para recuperar una duración como un valor Long.

La biblioteca de prueba incluye una serie de mejoras importantes:

  • Dependencia individual de kotlin-test en el conjunto de fuentes común de los proyectos multiplataforma.
  • Elección automática de un marco de trabajo de prueba para conjuntos de fuentes Kotlin/JVM cuando especifica la única dependencia kotlin-test.
  • Una serie de actualizaciones de funciones de aserción.

Más información acerca de las mejoras de las bibliotecas

Kotlin/JVM

Kotlin 1.5.0 incorpora lo siguiente:

Kotlin/Native

Kotlin 1.5.0 ofrece lo siguiente:

  • Compatibilidad con las cachés del compilador en el modo de depuración para los destinos linuxX64 e iosArm64. Gracias a la habilitación de las cachés del compilador, la mayoría de las compilaciones de depuración se completan en menos tiempo, salvo la primera. Las mediciones mostraron un aumento de la velocidad del 200 % en los proyectos de prueba.
  • Desactivación del verificador de fugas de memoria integrado para evitar los problemas que podrían provocar bloqueos de la aplicación. Aprenda a activar el verificador de fugas de memoria si lo necesita.

Kotlin/JS

Kotlin/JS se acerca a la promoción del nuevo compilador IR Kotlin/JS a la fase Beta. Muchos marcos de trabajo y bibliotecas conocidos ya están disponibles para el compilador IR: KVision, fritz2, doodle, etc.

Si usted es autor de una biblioteca, puede añadirla a estas migrando su biblioteca gracias a la compatibilidad con versiones anteriores.

Una mejora adicional es la creación de paquetes JS utilizando webpack 5 en lugar de webpack 4.

Cómo instalar Kotlin 1.5.0

Si ya utiliza IntelliJ IDEA o Android Studio, le sugerirá la actualización de Kotlin a la versión 1.5.0 de forma automática en cuanto esté disponible. También puede realizar la actualización manualmente siguiendo estas instrucciones. Tenga en cuenta que solo Android Studio 4.2.0, Arctic Fox Canary 15 y versiones posteriores son compatibles con Kotlin 1.5.0.

Siempre puede descargar las versiones más recientes de estos IDE para beneficiarse de la amplia compatibilidad con Kotlin:

  • IntelliJ IDEA para desarrollar aplicaciones Kotlin para diferentes plataformas.
  • Android Studio para desarrollar aplicaciones móviles Android y multiplataforma.

Asegúrese de haber actualizado también las bibliotecas de kotlinx a las versiones compatibles y de haber especificado la versión de Kotlin 1.5.0 en los scripts de build de sus proyectos existentes.

Si necesita el compilador de línea de comando, descárguelo de la página de lanzamiento de Github.

Si tiene algún problema

Evento online de Kotlin 1.5

Únase al evento online de Kotlin 1.5 el 25 de mayo, donde el equipo de Kotlin responderá a todas sus preguntas sobre la nueva versión. Puede plantear preguntas sobre todo lo que quiera saber, y si no tiene ninguna duda y simplemente le interesa escuchar las respuestas a las cuestiones planteadas, también puede hacerlo. El evento durará una hora y media.

Publique sus preguntas en Twitter con el hashtag #kotlin15ask o escriba sus preguntas en el formulario para registrarse.

Regístrese en el evento online de Kotlin 1.5

También llevaremos a cabo una sesión de «Pregunte lo que quiera» en Reddit los días 27 y 28 de mayo para abordar cualquier pregunta que haya quedado sin responder, así como las nuevas que se planteen.

Compatibilidad

Como en todas las versiones, algunos ciclos de entrada en desuso de cambios anunciados previamente llegarán a su fin con Kotlin 1.5.0. El comité del lenguaje ha revisado detenidamente todos estos casos y los ha incluido en la Guía de compatibilidad de Kotlin 1.5. También puede consultar dichos cambios en YouTrack.

Ver y leer más

Vea Kotlin YouTube:

Lea el blog de Kotlin:

Puede obtener más información en la documentación de Kotlin:

Colaboradores externos

Nos gustaría agradecer 👏👏👏 a todos los contribuidores externos cuyas solicitudes de incorporación de cambios se han incluido en esta versión:

Jinseong Jeon, Mads Ager, Ivan Gavrilovic, pyos, Steven Schäfer, Iaroslav Postovalov, scaventz, Kristoffer Andersen, Bingran, Stefan Wolf, Victor Turansky, fjjohnchen, justin.wei, Nelson Osacky, Mikhail Galanin, Michael Hoisie, Kris Hall, Kevin Bierhoff, Jiaxiang Chen, Hung Nguyen, Cedric Champeau.

Principales notificadores de incidencias desde YouTrack

¡Nos gustaría dar las gracias a todos los miembros de la comunidad que nos han ayudado a mejorar esta versión informando a YouTrack acerca de los errores! 👏👏👏 Hemos hecho una lista de los 20 principales notificadores a los que queremos agradecer especialmente:

Morgan Bartholomew (118 incidencias); Marc Knaup (78 incidencias); Ryan Nett (61 incidencias); Louis CAD (48 incidencias); Daniil Stepanov (44 incidencias); AndroidDeveloperLB (39 incidencias); Victor Turansky (38 incidencias); Jinseong Jeon (35 incidencias); Zac Sweers (25 incidencias); Łukasz Wasylkowski (22 incidencias); Tianyi Guan (21 incidencias); Christoph Sturm (20 incidencias); Axel Fontaine (19 incidencias); Alexander Nozik (18 incidencias); Robert Stoll (18 incidencias); Björn Kautler (18 incidencias); Róbert Papp (14 incidencias); Andreas Malik (14 incidencias); Lorenzo Neumann (14 incidencias);
Iaroslav Postovalov (14 incidencias).


¡Instale Kotlin 1.5.0 y regístrese para el evento online de Kotlin 1.5!

image description