{"id":142945,"date":"2021-05-05T10:13:20","date_gmt":"2021-05-05T09:13:20","guid":{"rendered":"https:\/\/blog.jetbrains.com\/kotlin\/2021\/05\/kotlin-1-5-0-released\/"},"modified":"2021-05-19T05:32:14","modified_gmt":"2021-05-19T04:32:14","slug":"kotlin-1-5-0-released","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/pt-br\/kotlin\/2021\/05\/kotlin-1-5-0-released\/","title":{"rendered":"Kotlin 1.5.0 \u2013 o Primeiro Grande Lan\u00e7amento de 2021"},"content":{"rendered":"<p>Bem-vindo ao primeiro lan\u00e7amento de recursos de acordo com a <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2020\/10\/new-release-cadence-for-kotlin-and-the-intellij-kotlin-plugin\/\">nova programa\u00e7\u00e3o de lan\u00e7amentos<\/a>: o <em>Kotlin 1.5.0<\/em>!<\/p>\n<p>Este lan\u00e7amento fornece <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/05\/kotlin-1-5-0-released\/#stable-language-features\">recursos est\u00e1veis de linguagem<\/a>, como registros de JVM, interfaces &#8220;sealed&#8221;, classes inline e inclui o <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/05\/kotlin-1-5-0-released\/#kotlin-jvm\">novo compilador JVM IR padr\u00e3o<\/a>. Seu feedback sobre as funcionalidades pr\u00e9vias no <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/02\/new-language-features-preview-in-kotlin-1-4-30\/\">Kotlin 1.4.30<\/a> e nos lan\u00e7amentos EAP do Kotlin 1.5.0 realmente nos ajudou a estabilizar esses recursos.<br \/>\nEstamos muito gratos por sua ajuda! Obrigada!<\/p>\n<div style=\"background-color: #f1f6fe; margin-bottom: 2px; padding: 5px; margin-right: 0%; text-align: left; min-height: px;\">\n<p>Mais de <em>25.000<\/em> desenvolvedores j\u00e1 experimentaram o novo compilador JVM IR no <a href=\"https:\/\/www.jetbrains.com\/idea\/download\/\" target=\"_blank\" rel=\"noopener\">IntelliJ IDEA<\/a>.<\/p>\n<p>Voc\u00ea perceber\u00e1 os benef\u00edcios com o tempo. O novo compilador compartilha um <em>pipeline unificado e uma l\u00f3gica de neg\u00f3cios<\/em> com os compiladores Kotlin\/Native e Kotlin\/JS IR, o que nos permitir\u00e1 implementar a maioria dos recursos, otimiza\u00e7\u00f5es e corre\u00e7\u00f5es de bugs para todas as plataformas simultaneamente. Ele tamb\u00e9m permite que voc\u00ea <em>adicione processamento personalizado e transforma\u00e7\u00f5es que funcionar\u00e3o automaticamente em todas as plataformas<\/em>.<\/p>\n<\/div>\n<p>D\u00favidas sobre o Kotlin 1.5.0? <a href=\"https:\/\/twitter.com\/relizarov\" target=\"_blank\" rel=\"noopener\">Roman Elizarov<\/a>, <a href=\"https:\/\/twitter.com\/sveta_isakova\" target=\"_blank\" rel=\"noopener\">Svetlana Isakova<\/a> e outros membros da equipe Kotlin estar\u00e3o dispon\u00edveis para responder \u00e0s suas perguntas ao vivo em 25 de maio durante o evento online Kotlin 1.5.<\/p>\n<p align=\"center\"><a class=\"jb-download-button\" title=\"Inscreva-se\" href=\"https:\/\/pages.jetbrains.com\/kotlin-online-event-2021\" target=\"_blank\" rel=\"noopener\">Inscreva-se no Evento Online Kotlin 1.5<\/a><\/p>\n<hr>\n<p>Neste post de blog, voc\u00ea encontrar\u00e1 uma vis\u00e3o geral de:<\/p>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/05\/kotlin-1-5-0-released\/#stable-language-features\">Recursos est\u00e1veis de linguagem<\/a> \u2013 registros de JVM records, interfaces &#8220;sealed&#8221; e classes inline.<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/05\/kotlin-1-5-0-released\/#library-improvements\">Melhorias nas bibliotecas padr\u00e3o e de teste<\/a>, incluindo tipos est\u00e1veis de inteiros sem sinal, extens\u00f5es para <code>java.nio.file.Path<\/code>, bem como melhorias nas APIs String, Char e Duration.<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/05\/kotlin-1-5-0-released\/#kotlin-jvm\">Melhorias no Kotlin\/JVM<\/a>, incluindo o novo compilador JVM IR padr\u00e3o.<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/05\/kotlin-1-5-0-released\/#kotlin-native\">Melhorias no Kotlin\/Native<\/a>, incluindo compila\u00e7\u00e3o mais r\u00e1pida de depura\u00e7\u00e3o para aplica\u00e7\u00f5es Linux e iOS.<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/05\/kotlin-1-5-0-released\/#kotlin-js\">Melhorias no Kotlin\/JS<\/a>, incluindo a migra\u00e7\u00e3o de mais bibliotecas JS para o novo compilador Kotlin\/JS IR.<\/li>\n<\/ul>\n<p><span id=\"more-137442\"><\/span><\/p>\n<h2>Atualiza\u00e7\u00e3o autom\u00e1tica para Kotlin 1.5.0<\/h2>\n<p>Se voc\u00ea estiver usando o <a href=\"https:\/\/www.jetbrains.com\/idea\/download\/\" target=\"_blank\" rel=\"noopener\">IntelliJ IDEA<\/a> ou o <a href=\"https:\/\/developer.android.com\/studio\" target=\"_blank\" rel=\"noopener\">Android Studio<\/a>, ele lhe dar\u00e1 a op\u00e7\u00e3o de atualizar automaticamente para a nova vers\u00e3o do Kotlin assim que ela estiver dispon\u00edvel.<\/p>\n<p>Saiba mais sobre como <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/05\/kotlin-1-5-0-released\/#how-to-install\">instalar o Kotlin 1.5.0<\/a>.<\/p>\n<p><a name=\"stable-language-features\"><\/a><\/p>\n<h2>Recursos est\u00e1veis de linguagem<\/h2>\n<p>O Kotlin 1.5.0 inclui vers\u00f5es est\u00e1veis dos novos recursos de linguagem apresentados na <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/02\/new-language-features-preview-in-kotlin-1-4-30\/\">vers\u00e3o pr\u00e9via 1.4.30<\/a>:<\/p>\n<ul>\n<li><em>Suporte para registros de JVM<\/em> para permanecer interoper\u00e1vel com os recursos Java mais recentes \u2013 <a href=\"https:\/\/openjdk.java.net\/jeps\/395\" target=\"_blank\" rel=\"noopener\">classes de registro<\/a>.<br \/>\nPara usar uma classe Kotlin como um registro no c\u00f3digo Java, transforme-a em uma classe <code>data<\/code> e marque-a com a anota\u00e7\u00e3o <code>@JvmRecord<\/code>:<\/p>\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\">@JvmRecord\ndata class User(val name: String, val age: Int)\n<\/pre>\n<p>Saiba mais sobre os <a href=\"https:\/\/kotlinlang.org\/docs\/jvm-records.html#requirements\" target=\"_blank\" rel=\"noopener\">requisitos para uso de registros de JVM<\/a>.<\/li>\n<li><em>Interfaces &#8220;sealed&#8221;<\/em>. O modificador <code>sealed<\/code> funciona nas interfaces da mesma maneira que funciona em classes: todas as implementa\u00e7\u00f5es de uma interface &#8220;sealed&#8221; s\u00e3o conhecidas em tempo de compila\u00e7\u00e3o.\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\">sealed interface Polygon\n<\/pre>\n<\/li>\n<li><em>Melhorias em classes &#8220;sealed&#8221;<\/em>. Anteriormente, todas as subclasses tinham que estar no mesmo arquivo com classes &#8220;sealed&#8221;. Agora, elas podem estar em todos os arquivos da mesma unidade de compila\u00e7\u00e3o e do mesmo pacote.<\/li>\n<li><em>Classes inline<\/em> s\u00e3o um subconjunto de classes <a href=\"https:\/\/github.com\/Kotlin\/KEEP\/blob\/master\/notes\/value-classes.md\" target=\"_blank\" rel=\"noopener\">baseadas em valor<\/a> que apenas cont\u00e9m valores. Voc\u00ea pode us\u00e1-las como wrappers para um valor de um determinado tipo sem a sobrecarga adicional que vem do uso de aloca\u00e7\u00f5es de mem\u00f3ria. Use o modificador <code>value<\/code> para a declara\u00e7\u00e3o.\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\">@JvmInline \/\/required for the JVM backend\nvalue class Password(val s: String)\n<\/pre>\n<\/li>\n<\/ul>\n<h3>Saiba mais sobre os recursos de linguagem do Kotlin 1.5.0<\/h3>\n<ul>\n<li>Leia o <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/02\/new-language-features-preview-in-kotlin-1-4-30\/\">post de blog sobre a pr\u00e9via de recursos da linguagem<\/a>.<\/li>\n<li>Leia a <a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew15.html#language-features\" target=\"_blank\" rel=\"noopener\">documenta\u00e7\u00e3o da linguagem<\/a>.<\/li>\n<li>Assista \u00e0 <a href=\"https:\/\/youtube.com\/playlist?list=PLlFc5cFwUnmyqnEdnhAO-D4UEwOy7rXN0\" target=\"_blank\" rel=\"noopener\">s\u00e9rie de v\u00eddeos sobre a linguagem<\/a>.<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" title=\"Player de v\u00eddeo do YouTube\" src=\"https:\/\/www.youtube.com\/embed\/videoseries?list=PLlFc5cFwUnmyqnEdnhAO-D4UEwOy7rXN0\" width=\"854\" height=\"505\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p><a name=\"library-improvements\"><\/a><\/p>\n<h2>Melhorias nas bibliotecas padr\u00e3o e de teste<\/h2>\n<div style=\"background-color: #f1f6fe; margin-bottom: 2px; padding: 5px; margin-right: 0%; text-align: left; min-height: px;\">As <em>novas APIs est\u00e1veis para tipos de inteiros sem sinal<\/em> s\u00e3o as mais aguardadas melhorias de bibliotecas do Kotlin 1.5.0, de acordo com a pesquisa que realizamos no <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/04\/kotlin-1-5-0-rc-released\/\">post de blog Kotlin 1.5.0-RC<\/a>.<\/div>\n<p>A <strong>biblioteca padr\u00e3o<\/strong> oferece muitos recursos \u00fateis, incluindo:<\/p>\n<ul>\n<li>As <em>novas APIs est\u00e1veis para tipos de inteiros sem sinal<\/em>, bem como os respectivos intervalos, progress\u00f5es e fun\u00e7\u00f5es. Saiba mais sobre <a href=\"https:\/\/kotlinlang.org\/docs\/basic-types.html#unsigned-integers\" target=\"_blank\" rel=\"noopener\">inteiros sem sinal<\/a>.<\/li>\n<li><em>Fun\u00e7\u00f5es de extens\u00e3o<\/em> para <a href=\"https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/nio\/file\/Path.html\" target=\"_blank\" rel=\"noopener\">java.nio.file.Path<\/a> para usar o moderno <a href=\"https:\/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/nio\/package-summary.html\" target=\"_blank\" rel=\"noopener\">Java IO sem bloqueio<\/a> em um estilo Kotlin idiom\u00e1tico.<\/li>\n<li><em>Melhorias nas APIs String e Char<\/em> incluindo a nova API independente de localidade para alterar a formata\u00e7\u00e3o de mai\u00fasculas e min\u00fasculas em strings e caracteres, um conjunto de novas fun\u00e7\u00f5es para convers\u00e3o entre caracteres e seus c\u00f3digos inteiros e valores num\u00e9ricos e suporte multiplataforma para mais fun\u00e7\u00f5es char.<\/li>\n<li><em>Altera\u00e7\u00f5es na API Duration<\/em> incluindo o uso de um valor <code>Long<\/code> para a representa\u00e7\u00e3o interna e o fornecimento de novas propriedades para recuperar uma dura\u00e7\u00e3o como um valor <code>Long<\/code>.<\/li>\n<\/ul>\n<p>A <strong>biblioteca de teste<\/strong> acompanha um conjunto de importantes melhorias:<\/p>\n<ul>\n<li>Depend\u00eancia <code>kotlin-test<\/code> \u00fanica no conjunto de origem comum de projetos multiplataforma.<\/li>\n<li>Escolha autom\u00e1tica de uma estrutura de teste para conjuntos de origem Kotlin\/JVM quando voc\u00ea especifica a depend\u00eancia <code>kotlin-test<\/code> \u00fanica.<\/li>\n<li>Uma s\u00e9rie de atualiza\u00e7\u00f5es de fun\u00e7\u00e3o de asser\u00e7\u00e3o.<\/li>\n<\/ul>\n<h3>Saiba mais sobre as melhorias nas bibliotecas<\/h3>\n<ul>\n<li>Leia o <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/04\/kotlin-1-5-0-rc-released\/\">post de blog sobre melhorias nas bibliotecas com exemplos<\/a>.<\/li>\n<li>Leia as <a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew15.html#standard-library\" target=\"_blank\" rel=\"noopener\">Novidades no Kotlin 1.5.0<\/a>.<\/li>\n<li>Assista ao <a href=\"https:\/\/youtu.be\/MyTkiT2I6-8\" target=\"_blank\" rel=\"noopener\">v\u00eddeo<\/a>.<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" title=\"Player de v\u00eddeo do YouTube\" src=\"https:\/\/www.youtube.com\/embed\/MyTkiT2I6-8\" width=\"854\" height=\"505\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p><a name=\"kotlin-jvm\"><\/a><\/p>\n<h2>Kotlin\/JVM<\/h2>\n<p>O Kotlin 1.5.0 traz:<\/p>\n<ul>\n<li>O novo compilador JVM IR, <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2020\/08\/kotlin-1-4-released-with-a-focus-on-quality-and-performance\/\">anunciado no Kotlin 1.4.0<\/a>, torna-se <a href=\"https:\/\/kotlinlang.org\/docs\/components-stability.html\" target=\"_blank\" rel=\"noopener\">Est\u00e1vel<\/a> e padr\u00e3o. Saiba mais sobre o novo compilador no <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/02\/the-jvm-backend-is-in-beta-let-s-make-it-stable-together\/\">post de blog<\/a> e nos <a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew15.html#stable-jvm-ir-backend\" target=\"_blank\" rel=\"noopener\">documentos<\/a>.<\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew15.html#sam-adapters-via-invokedynamic\" target=\"_blank\" rel=\"noopener\">Compila\u00e7\u00e3o de adaptadores SAM e lambdas em invoca\u00e7\u00f5es din\u00e2micas (invokedynamic)<\/a>, que se beneficia dos recursos de JVM mais recentes. A compila\u00e7\u00e3o das lambdas simples Kotlin \u00e9 <a href=\"https:\/\/kotlinlang.org\/docs\/components-stability.html\" target=\"_blank\" rel=\"noopener\">Experimental<\/a>.<\/li>\n<li>Novo destino de JVM padr\u00e3o: 1.8. O destino <code>1.6<\/code> est\u00e1 obsoleto.<\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew15.html#improvements-to-handling-nullability-annotations\" target=\"_blank\" rel=\"noopener\">Tratamento aprimorado de informa\u00e7\u00f5es de nulidade de tipos do Java<\/a>.<\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew15.html#deprecation-of-jvmdefault-and-old-xjvm-default-modes\" target=\"_blank\" rel=\"noopener\">Descontinuados os modos @JvmDefault e o antigo Xjvm-default<\/a>.<\/li>\n<\/ul>\n<p><a name=\"kotlin-native\"><\/a><\/p>\n<h2>Kotlin\/Native<\/h2>\n<p>O Kotlin 1.5.0 fornece:<\/p>\n<ul>\n<li>Suporte para <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2020\/03\/kotlin-1-3-70-released\/#kotlin-native\">caches do compilador<\/a> no modo de depura\u00e7\u00e3o para destinos <code>linuxX64<\/code> e <code>iosArm64<\/code>. Com <a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew15.html#performance-improvements\" target=\"_blank\" rel=\"noopener\">caches do compilador habilitados<\/a>, a maioria das compila\u00e7\u00f5es de depura\u00e7\u00e3o s\u00e3o conclu\u00eddas muito mais r\u00e1pido, com exce\u00e7\u00e3o da primeira. As medi\u00e7\u00f5es mostraram cerca de <em>200%<\/em> de aumento na velocidade em nossos projetos de teste.<\/li>\n<li>Desativa\u00e7\u00e3o do verificador de vazamento de mem\u00f3ria integrado para evitar problemas que podem causar falhas na aplica\u00e7\u00e3o. Saiba como <a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew15.html#deactivation-of-the-memory-leak-checker\" target=\"_blank\" rel=\"noopener\">ativar o verificador de vazamento de mem\u00f3ria<\/a> se precisar dele.<\/li>\n<\/ul>\n<p><a name=\"kotlin-js\"><\/a><\/p>\n<h2>Kotlin\/JS<\/h2>\n<p>O Kotlin\/JS est\u00e1 avan\u00e7ando para <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-42289\" target=\"_blank\" rel=\"noopener\">promover o novo compilador Kotlin\/JS IR para Beta<\/a>. Muitos frameworks e bibliotecas conhecidas j\u00e1 est\u00e3o dispon\u00edveis para o <a href=\"https:\/\/kotlinlang.org\/docs\/js-ir-compiler.html\" target=\"_blank\" rel=\"noopener\">compilador IR<\/a>: <a href=\"https:\/\/kvision.io\/\" target=\"_blank\" rel=\"noopener\">KVision<\/a>, <a href=\"https:\/\/www.fritz2.dev\/\" target=\"_blank\" rel=\"noopener\">fritz2<\/a> e <a href=\"https:\/\/github.com\/nacular\/doodle\" target=\"_blank\" rel=\"noopener\">doodle<\/a>, entre outras.<\/p>\n<p>Se voc\u00ea \u00e9 um autor de bibliotecas, pode adicionar sua biblioteca a elas <a href=\"https:\/\/kotlinlang.org\/docs\/js-ir-compiler.html#authoring-libraries-for-the-ir-compiler-with-backwards-compatibility\" target=\"_blank\" rel=\"noopener\">migrando-a com o uso do recurso de compatibilidade com vers\u00f5es anteriores<\/a>.<\/p>\n<p>Outra melhoria adicional \u00e9 a constru\u00e7\u00e3o de pacotes JS usando <a href=\"https:\/\/webpack.js.org\/blog\/2020-10-10-webpack-5-release\/\" target=\"_blank\" rel=\"noopener\">webpack 5<\/a> em vez de webpack 4.<\/p>\n<p><a name=\"how-to-install\"><\/a><\/p>\n<h2>Como instalar o Kotlin 1.5.0<\/h2>\n<p>Se voc\u00ea j\u00e1 usa o <a href=\"https:\/\/www.jetbrains.com\/idea\/download\/\" target=\"_blank\" rel=\"noopener\">IntelliJ IDEA<\/a> ou o <a href=\"https:\/\/developer.android.com\/studio\" target=\"_blank\" rel=\"noopener\">Android Studio<\/a>, ele sugerir\u00e1 a atualiza\u00e7\u00e3o do Kotlin para 1.5.0 automaticamente assim que o lan\u00e7amento for disponibilizado. Voc\u00ea tamb\u00e9m pode atualiz\u00e1-lo manualmente seguindo <a href=\"https:\/\/kotlinlang.org\/docs\/releases.html#update-to-a-new-release\" target=\"_blank\" rel=\"noopener\">estas instru\u00e7\u00f5es<\/a>. Observe que apenas o Android Studio 4.2.0, Arctic Fox Canary 15 e vers\u00f5es posteriores s\u00e3o compat\u00edveis com Kotlin 1.5.0.<\/p>\n<p>Sempre existe a chance de baixar as vers\u00f5es mais recentes desses IDEs para obter amplo suporte para o Kotlin:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.jetbrains.com\/idea\/download\/\" target=\"_blank\" rel=\"noopener\">IntelliJ IDEA<\/a> para desenvolver aplica\u00e7\u00f5es Kotlin para diferentes plataformas.<\/li>\n<li><a href=\"https:\/\/developer.android.com\/studio\" target=\"_blank\" rel=\"noopener\">Android Studio<\/a> para o desenvolvimento de aplica\u00e7\u00f5es m\u00f3veis Android e multiplataformas.<\/li>\n<\/ul>\n<p>Certifique-se de ter atualizado tamb\u00e9m as bibliotecas kotlinx para <a href=\"https:\/\/kotlinlang.org\/releases.html#release-details\" target=\"_blank\" rel=\"noopener\">vers\u00f5es compat\u00edveis<\/a> e de ter especificado a vers\u00e3o Kotlin <code>1.5.0<\/code> nos scripts de compila\u00e7\u00e3o dos seus projetos existentes.<\/p>\n<p>Se precisar do <em>compilador de linha de comando<\/em>, baixe-o na <a href=\"https:\/\/github.com\/JetBrains\/kotlin\/releases\/tag\/v1.5.0\" target=\"_blank\" rel=\"noopener\">p\u00e1gina de lan\u00e7amentos do Github<\/a>.<\/p>\n<h3>Se voc\u00ea tiver algum problema<\/h3>\n<ul>\n<li>Encontre ajuda no <a href=\"http:\/\/kotlinlang.slack.com\/\" target=\"_blank\" rel=\"noopener\">Slack<\/a> (<a href=\"https:\/\/surveys.jetbrains.com\/s3\/kotlin-slack-sign-up\" target=\"_blank\" rel=\"noopener\">receba um convite<\/a>).<\/li>\n<li>Informe quaisquer problemas que voc\u00ea encontrar no nosso rastreador de issues, o <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT\" target=\"_blank\" rel=\"noopener\">YouTrack<\/a>.<\/li>\n<\/ul>\n<h2>Evento Online Kotlin 1.5<\/h2>\n<p>Participe do Evento Online Kotlin 1.5 em 25 de maio, no qual a equipe do Kotlin responder\u00e1 a todas as suas perguntas sobre a vers\u00e3o mais recente. Voc\u00ea pode perguntar sobre qualquer coisa que queira saber ou, se n\u00e3o tiver perguntas, tamb\u00e9m ser\u00e1 uma \u00f3tima oportunidade de conhecer sobre a nova vers\u00e3o. O evento ter\u00e1 a dura\u00e7\u00e3o de uma 1h30.<\/p>\n<p>Publique suas perguntas no Twitter com <code>#kotlin15ask<\/code> ou adicione suas perguntas no <a href=\"https:\/\/pages.jetbrains.com\/kotlin-online-event-2021\" target=\"_blank\" rel=\"noopener\">formul\u00e1rio de registro<\/a>.<\/p>\n<p align=\"center\"><a class=\"jb-download-button\" title=\"Inscreva-se\" href=\"https:\/\/pages.jetbrains.com\/kotlin-online-event-2021\" target=\"_blank\" rel=\"noopener\">Inscreva-se no Evento Online Kotlin 1.5<\/a><\/p>\n<p>Tamb\u00e9m realizaremos uma sess\u00e3o 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\u00e9m.<\/p>\n<h2>Compatibilidade<\/h2>\n<p>Como em todos os lan\u00e7amentos de recursos, alguns ciclos de descontinua\u00e7\u00e3o de altera\u00e7\u00f5es previamente anunciadas estar\u00e3o chegando ao fim com o Kotlin 1.5.0. Todas essas situa\u00e7\u00f5es foram cuidadosamente revisadas pelo comit\u00ea de linguagens e est\u00e3o listados no <a href=\"https:\/\/kotlinlang.org\/docs\/compatibility-guide-15.html\" target=\"_blank\" rel=\"noopener\">Guia de Compatibilidade para Kotlin 1.5<\/a>. Voc\u00ea tamb\u00e9m pode explorar essas mudan\u00e7as no <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=Tag:%20language-committee-approved%20Target%20versions:%201.5.0-RC,%201.5.0-M2,%201.5.0-M1,%201.5.0\" target=\"_blank\" rel=\"noopener\">YouTrack<\/a>.<\/p>\n<h2>Assista e leia mais<\/h2>\n<p>Siga o canal <em>Kotlin YouTube<\/em>:<\/p>\n<ul>\n<li><a href=\"https:\/\/youtube.com\/playlist?list=PLlFc5cFwUnmySUsgUV90sZccj4U8XnsK_\" target=\"_blank\" rel=\"noopener\">lista de reprodu\u00e7\u00e3o de v\u00eddeos sobre o Kotlin 1.5.0<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/channel\/UCP7uiEZIqci43m22KDl0sNw?sub_confirmation=1\" target=\"_blank\" rel=\"noopener\">Assine o Kotlin YouTube<\/a> para n\u00e3o perder nenhum v\u00eddeo sobre novas melhorias em corrotinas e bibliotecas de serializa\u00e7\u00e3o.<\/li>\n<\/ul>\n<p>Leia o <em>blog do Kotlin<\/em>:<\/p>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/02\/new-language-features-preview-in-kotlin-1-4-30\/\">Demonstra\u00e7\u00e3o de recursos da linguagem Kotlin 1.5.0<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/04\/kotlin-1-5-0-rc-released\/\">Melhorias nas bibliotecas padr\u00e3o e de teste do Kotlin 1.5.0<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/02\/the-jvm-backend-is-in-beta-let-s-make-it-stable-together\/\">Novo back-end JVM IR<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/04\/kotlin-plugin-2021-1-released\/\">Suporte aprimorado de IDEs para o Kotlin no IntelliJ IDEA<\/a><\/li>\n<\/ul>\n<p>Saiba mais nos <em>documentos do Kotlin<\/em>:<\/p>\n<ul>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew15.html\" target=\"_blank\" rel=\"noopener\">Novidades no Kotlin 1.5.0<\/a><\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/compatibility-guide-15.html\" target=\"_blank\" rel=\"noopener\">Guia de Compatibilidade para o Kotlin 1.5.0<\/a><\/li>\n<\/ul>\n<h2>Colaboradores externos<\/h2>\n<p>Gostar\u00edamos de agradecer <img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/72x72\/1f44f.png\" alt=\"&#x1f44f;\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\"><img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/72x72\/1f44f.png\" alt=\"&#x1f44f;\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\"><img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/72x72\/1f44f.png\" alt=\"&#x1f44f;\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\"> a todos os nossos colaboradores externos cujas solicita\u00e7\u00f5es pull foram inclu\u00eddas neste lan\u00e7amento:<\/p>\n<p><a href=\"https:\/\/github.com\/jsjeon\" target=\"_blank\" rel=\"noopener\">Jinseong Jeon<\/a>, <a href=\"https:\/\/github.com\/madsager\" target=\"_blank\" rel=\"noopener\">Mads Ager<\/a>, <a href=\"https:\/\/github.com\/gavra0\" target=\"_blank\" rel=\"noopener\">Ivan Gavrilovic<\/a>, <a href=\"https:\/\/github.com\/pyos\" target=\"_blank\" rel=\"noopener\">pyos<\/a>, <a href=\"https:\/\/github.com\/sfs\" target=\"_blank\" rel=\"noopener\">Steven Sch\u00e4fer<\/a>, <a href=\"https:\/\/github.com\/CommanderTvis\" target=\"_blank\" rel=\"noopener\">Iaroslav Postovalov<\/a>, <a href=\"https:\/\/github.com\/scaventz\" target=\"_blank\" rel=\"noopener\">scaventz<\/a>, <a href=\"https:\/\/github.com\/kandersen\" target=\"_blank\" rel=\"noopener\">Kristoffer Andersen<\/a>, <a href=\"https:\/\/github.com\/bingranl\" target=\"_blank\" rel=\"noopener\">Bingran<\/a>, <a href=\"https:\/\/github.com\/wolfs\" target=\"_blank\" rel=\"noopener\">Stefan Wolf<\/a>, <a href=\"https:\/\/github.com\/turansky\" target=\"_blank\" rel=\"noopener\">Victor Turansky<\/a>, <a href=\"mailto:fjjohnchen@qq.com\">fjjohnchen<\/a>, <a href=\"mailto:justin.wei@bytedance.com\">justin.wei<\/a>, <a href=\"https:\/\/github.com\/runningcode\" target=\"_blank\" rel=\"noopener\">Nelson Osacky<\/a>, <a href=\"https:\/\/github.com\/negram\" target=\"_blank\" rel=\"noopener\">Mikhail Galanin<\/a>, <a href=\"https:\/\/github.com\/hoisie\" target=\"_blank\" rel=\"noopener\">Michael Hoisie<\/a>, <a href=\"mailto:echelon@example.com\">Kris Hall<\/a>, <a href=\"https:\/\/github.com\/kevin1e100\" target=\"_blank\" rel=\"noopener\">Kevin Bierhoff<\/a>, <a href=\"https:\/\/github.com\/neetopia\" target=\"_blank\" rel=\"noopener\">Jiaxiang Chen<\/a>, <a href=\"mailto:hungnv@google.com\">Hung Nguyen<\/a>, <a href=\"https:\/\/github.com\/melix\" target=\"_blank\" rel=\"noopener\">Cedric Champeau<\/a>.<\/p>\n<h2>Principais rep\u00f3rteres do YouTrack<\/h2>\n<p>Gostar\u00edamos de agradecer <img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/72x72\/1f44f.png\" alt=\"&#x1f44f;\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\"><img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/72x72\/1f44f.png\" alt=\"&#x1f44f;\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\"><img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/72x72\/1f44f.png\" alt=\"&#x1f44f;\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\"> a todos os membros da comunidade que nos ajudaram a tornar esse lan\u00e7amento ainda melhor, relatando issues no YouTrack! Fizemos uma lista dos 20 principais relatores e gostar\u00edamos de agradec\u00ea-los especificamente:<\/p>\n<p><a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20kotlinisland\" target=\"_blank\" rel=\"noopener\">Morgan Bartholomew<\/a> (118 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20fluidsonic\" target=\"_blank\" rel=\"noopener\">Marc Knaup<\/a> (78 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20rnett\" target=\"_blank\" rel=\"noopener\">Ryan Nett<\/a> (61 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20louis.cad\" target=\"_blank\" rel=\"noopener\">Louis CAD<\/a> (48 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20stepanov.2\" target=\"_blank\" rel=\"noopener\">Daniil Stepanov<\/a> (44 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20lblb636\" target=\"_blank\" rel=\"noopener\">AndroidDeveloperLB<\/a> (39 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20Turansky\" target=\"_blank\" rel=\"noopener\">Victor Turansky<\/a> (38 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20jsjeon\" target=\"_blank\" rel=\"noopener\">Jinseong Jeon<\/a> (35 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20hzsweers\" target=\"_blank\" rel=\"noopener\">Zac Sweers<\/a> (25 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20l.wasylkowski\" target=\"_blank\" rel=\"noopener\">\u0141ukasz Wasylkowski<\/a> (22 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20him188\" target=\"_blank\" rel=\"noopener\">Tianyi Guan<\/a> (21 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20globalmatador\" target=\"_blank\" rel=\"noopener\">Christoph Sturm<\/a> (20 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20axel.2\" target=\"_blank\" rel=\"noopener\">Axel Fontaine<\/a> (19 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20darksnake\" target=\"_blank\" rel=\"noopener\">Alexander Nozik<\/a> (18 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20Robert_Stoll\" target=\"_blank\" rel=\"noopener\">Robert Stoll<\/a> (18 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20Vampire\" target=\"_blank\" rel=\"noopener\">Bj\u00f6rn Kautler<\/a> (18 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20TWiStErRob\" target=\"_blank\" rel=\"noopener\">R\u00f3bert Papp<\/a> (14 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20gamalik\" target=\"_blank\" rel=\"noopener\">Andreas Malik<\/a> (14 issues); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20lorenzo.neumann\" target=\"_blank\" rel=\"noopener\">Lorenzo Neumann<\/a> (14 issues);<br \/>\n<a href=\"https:\/\/youtrack.jetbrains.com\/issues\/?q=project:KT,%20KTIJ%20created:%202020-08-17%20..%20*%20created%20by:%20postovalovya\" target=\"_blank\" rel=\"noopener\">Iaroslav Postovalov<\/a> (14 issues).<\/p>\n<hr>\n<p><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/05\/kotlin-1-5-0-released\/#how-to-install\">Instale o Kotlin 1.5.0<\/a> e <a href=\"https:\/\/pages.jetbrains.com\/kotlin-online-event-2021\" target=\"_blank\" rel=\"noopener\">inscreva-se no Evento Online Kotlin 1.5<\/a>!<\/p>\n","protected":false},"author":1086,"featured_media":138433,"comment_status":"closed","ping_status":"closed","template":"","categories":[907],"tags":[671],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/kotlin\/142945"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/kotlin"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/types\/kotlin"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/users\/1086"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/comments?post=142945"}],"version-history":[{"count":5,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/kotlin\/142945\/revisions"}],"predecessor-version":[{"id":143354,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/kotlin\/142945\/revisions\/143354"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/media\/138433"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/media?parent=142945"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/categories?post=142945"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/tags?post=142945"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/cross-post-tag?post=142945"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}