Kotlin logo

The Kotlin Blog

Kotlin Programming Language by JetBrains

Releases

Kotlin 1.5.0 – o Primeiro Grande Lançamento de 2021

Bem-vindo ao primeiro lançamento de recursos de acordo com a nova programação de lançamentos: o Kotlin 1.5.0!

Este lançamento fornece recursos estáveis de linguagem, como registros de JVM, interfaces “sealed”, classes inline e inclui o novo compilador JVM IR padrão. Seu feedback sobre as funcionalidades prévias no Kotlin 1.4.30 e nos lançamentos EAP do Kotlin 1.5.0 realmente nos ajudou a estabilizar esses recursos.
Estamos muito gratos por sua ajuda! Obrigada!

Mais de 25.000 desenvolvedores já experimentaram o novo compilador JVM IR no IntelliJ IDEA.

Você perceberá os benefícios com o tempo. O novo compilador compartilha um pipeline unificado e uma lógica de negócios com os compiladores Kotlin/Native e Kotlin/JS IR, o que nos permitirá implementar a maioria dos recursos, otimizações e correções de bugs para todas as plataformas simultaneamente. Ele também permite que você adicione processamento personalizado e transformações que funcionarão automaticamente em todas as plataformas.

Dúvidas sobre o Kotlin 1.5.0? Roman Elizarov, Svetlana Isakova e outros membros da equipe Kotlin estarão disponíveis para responder às suas perguntas ao vivo em 25 de maio durante o evento online Kotlin 1.5.

Inscreva-se no Evento Online Kotlin 1.5


Neste post de blog, você encontrará uma visão geral de:

Atualização automática para Kotlin 1.5.0

Se você estiver usando o IntelliJ IDEA ou o Android Studio, ele lhe dará a opção de atualizar automaticamente para a nova versão do Kotlin assim que ela estiver disponível.

Saiba mais sobre como instalar o Kotlin 1.5.0.

Recursos estáveis de linguagem

O Kotlin 1.5.0 inclui versões estáveis dos novos recursos de linguagem apresentados na versão prévia 1.4.30:

  • Suporte para registros de JVM para permanecer interoperável com os recursos Java mais recentes – classes de registro.
    Para usar uma classe Kotlin como um registro no código Java, transforme-a em uma classe data e marque-a com a anotação @JvmRecord:

    Saiba mais sobre os requisitos para uso de registros de JVM.

  • Interfaces “sealed”. O modificador sealed funciona nas interfaces da mesma maneira que funciona em classes: todas as implementações de uma interface “sealed” são conhecidas em tempo de compilação.
  • Melhorias em classes “sealed”. Anteriormente, todas as subclasses tinham que estar no mesmo arquivo com classes “sealed”. Agora, elas podem estar em todos os arquivos da mesma unidade de compilação e do mesmo pacote.
  • Classes inline são um subconjunto de classes baseadas em valor que apenas contém valores. Você pode usá-las como wrappers para um valor de um determinado tipo sem a sobrecarga adicional que vem do uso de alocações de memória. Use o modificador value para a declaração.

Saiba mais sobre os recursos de linguagem do Kotlin 1.5.0

Melhorias nas bibliotecas padrão e de teste

As novas APIs estáveis para tipos de inteiros sem sinal são as mais aguardadas melhorias de bibliotecas do Kotlin 1.5.0, de acordo com a pesquisa que realizamos no post de blog Kotlin 1.5.0-RC.

A biblioteca padrão oferece muitos recursos úteis, incluindo:

  • As novas APIs estáveis para tipos de inteiros sem sinal, bem como os respectivos intervalos, progressões e funções. Saiba mais sobre inteiros sem sinal.
  • Funções de extensão para java.nio.file.Path para usar o moderno Java IO sem bloqueio em um estilo Kotlin idiomático.
  • Melhorias nas APIs String e Char incluindo a nova API independente de localidade para alterar a formatação de maiúsculas e minúsculas em strings e caracteres, um conjunto de novas funções para conversão entre caracteres e seus códigos inteiros e valores numéricos e suporte multiplataforma para mais funções char.
  • Alterações na API Duration incluindo o uso de um valor Long para a representação interna e o fornecimento de novas propriedades para recuperar uma duração como um valor Long.

A biblioteca de teste acompanha um conjunto de importantes melhorias:

  • Dependência kotlin-test única no conjunto de origem comum de projetos multiplataforma.
  • Escolha automática de uma estrutura de teste para conjuntos de origem Kotlin/JVM quando você especifica a dependência kotlin-test única.
  • Uma série de atualizações de função de asserção.

Saiba mais sobre as melhorias nas bibliotecas

Kotlin/JVM

O Kotlin 1.5.0 traz:

Kotlin/Native

O Kotlin 1.5.0 fornece:

  • Suporte para caches do compilador no modo de depuração para destinos linuxX64 e iosArm64. Com caches do compilador habilitados, a maioria das compilações de depuração são concluídas muito mais rápido, com exceção da primeira. As medições mostraram cerca de 200% de aumento na velocidade em nossos projetos de teste.
  • Desativação do verificador de vazamento de memória integrado para evitar problemas que podem causar falhas na aplicação. Saiba como ativar o verificador de vazamento de memória se precisar dele.

Kotlin/JS

O Kotlin/JS está avançando para promover o novo compilador Kotlin/JS IR para Beta. Muitos frameworks e bibliotecas conhecidas já estão disponíveis para o compilador IR: KVision, fritz2 e doodle, entre outras.

Se você é um autor de bibliotecas, pode adicionar sua biblioteca a elas migrando-a com o uso do recurso de compatibilidade com versões anteriores.

Outra melhoria adicional é a construção de pacotes JS usando webpack 5 em vez de webpack 4.

Como instalar o Kotlin 1.5.0

Se você já usa o IntelliJ IDEA ou o Android Studio, ele sugerirá a atualização do Kotlin para 1.5.0 automaticamente assim que o lançamento for disponibilizado. Você também pode atualizá-lo manualmente seguindo estas instruções. Observe que apenas o Android Studio 4.2.0, Arctic Fox Canary 15 e versões posteriores são compatíveis com Kotlin 1.5.0.

Sempre existe a chance de baixar as versões mais recentes desses IDEs para obter amplo suporte para o Kotlin:

  • IntelliJ IDEA para desenvolver aplicações Kotlin para diferentes plataformas.
  • Android Studio para o desenvolvimento de aplicações móveis Android e multiplataformas.

Certifique-se de ter atualizado também as bibliotecas kotlinx para versões compatíveis e de ter especificado a versão Kotlin 1.5.0 nos scripts de compilação dos seus projetos existentes.

Se precisar do compilador de linha de comando, baixe-o na página de lançamentos do Github.

Se você tiver algum problema

Evento Online Kotlin 1.5

Participe do Evento Online Kotlin 1.5 em 25 de maio, no qual a equipe do Kotlin responderá a todas as suas perguntas sobre a versão mais recente. Você pode perguntar sobre qualquer coisa que queira saber ou, se não tiver perguntas, também será uma ótima oportunidade de conhecer sobre a nova versão. O evento terá a duração de uma 1h30.

Publique suas perguntas no Twitter com #kotlin15ask ou adicione suas perguntas no formulário de registro.

Inscreva-se no Evento Online Kotlin 1.5

Também realizaremos uma sessão de perguntas livres AMA (Ask Me Anything) no Reddit de 27 a 28 de maio para abordar todas as perguntas que ficarem sem resposta, bem como para responder a novas perguntas também.

Compatibilidade

Como em todos os lançamentos de recursos, alguns ciclos de descontinuação de alterações previamente anunciadas estarão chegando ao fim com o Kotlin 1.5.0. Todas essas situações foram cuidadosamente revisadas pelo comitê de linguagens e estão listados no Guia de Compatibilidade para Kotlin 1.5. Você também pode explorar essas mudanças no YouTrack.

Assista e leia mais

Siga o canal Kotlin YouTube:

Leia o blog do Kotlin:

Saiba mais nos documentos do Kotlin:

Colaboradores externos

Gostaríamos de agradecer 👏👏👏 a todos os nossos colaboradores externos cujas solicitações pull foram incluídas neste lançamento:

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.

Principais repórteres do YouTrack

Gostaríamos de agradecer 👏👏👏 a todos os membros da comunidade que nos ajudaram a tornar esse lançamento ainda melhor, relatando issues no YouTrack! Fizemos uma lista dos 20 principais relatores e gostaríamos de agradecê-los especificamente:

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


Instale o Kotlin 1.5.0 e inscreva-se no Evento Online Kotlin 1.5!

Discover more