Compose Compiler

Transforme funções @Composable e ative otimizações com um plug-in do compilador Kotlin.
Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
7 de agosto de 2024 1.5.15 - - -

Estrutura

O Compose é uma combinação de sete IDs de grupos do Maven no androidx. Os grupos contêm um subconjunto direcionado de funcionalidades, cada um com um conjunto próprio de notas da versão.

Esta tabela explica os grupos e contém links para cada conjunto de notas da versão.

GrupoDescrição
compose.animationCrie animações nos aplicativos Jetpack Compose para enriquecer a experiência do usuário.
compose.compilerTransforme funções @Composable e ative otimizações com um plug-in do compilador Kotlin.
compose.foundationCrie aplicativos do Jetpack Compose com elementos básicos prontos que podem ser usados para criar suas próprias peças de sistema de design.
compose.materialCrie IUs do Jetpack Compose com componentes do Material Design prontos para uso. Este é o ponto de entrada de nível mais alto do Compose, projetado para fornecer componentes que correspondam aos descritos em www.material.io.
compose.material3Crie IUs do Jetpack Compose usando componentes do Material Design 3, a nova versão do Material Design. O Material 3 inclui temas e componentes atualizados, além de recursos de personalização do Material You, como cores dinâmicas, e foi desenvolvido para ser coeso com o novo estilo visual do Android 12 e com a interface do sistema.
compose.runtimeElementos fundamentais do modelo de programação e do gerenciamento de estado do Compose e do ambiente de execução principal do plug-in Compose Compiler.
compose.uiComponentes fundamentais do Compose UI necessários para interagir com o dispositivo, incluindo layout, desenho e entrada.

Declarar dependências

Para adicionar uma dependência ao Compose, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para mais informações.

Adicione as dependências dos artefatos necessários ao arquivo build.gradle do seu app ou módulo:

Groovy

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Para mais informações sobre dependências, consulte Adicionar dependências de build.

Feedback

Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Versão 1.5

Versão 1.5.15

7 de agosto de 2024

Lançamento de androidx.compose.compiler:compiler:1.5.15 e androidx.compose.compiler:compiler-hosted:1.5.15. A versão 1.5.15 contém estas confirmações.

  • Esta versão do compilador é destinada ao Kotlin 1.9.25.

Versão 1.5.14

14 de maio de 2024

Lançamento de androidx.compose.compiler:compiler:1.5.14 e androidx.compose.compiler:compiler-hosted:1.5.14. A versão 1.5.14 contém estas confirmações.

Esta versão do compilador é destinada ao Kotlin 1.9.24.

Correções de bugs

  • O corpo inline é realizado quando as informações da fonte estão desativadas. (Idddb8)

Versão 1.5.13

1º de maio de 2024

Lançamento de androidx.compose.compiler:compiler:1.5.13 e androidx.compose.compiler:compiler-hosted:1.5.13. A versão 1.5.13 contém estas confirmações.

Novos recursos

  • A omissão forte não é mais considerada experimental e pode ser usada com segurança na produção. Ele vai se tornar o comportamento padrão em uma próxima versão. (I6c8c4).

Correções de bugs

  • Correção da compatibilidade binária para funções @Composable com parâmetros de classe de valor que têm um valor padrão e estão envolvendo um valor não primitivo. (I89465).
  • Correções upstream para JS e compilação nativa do Compose multiplataforma. Consulte o intervalo de confirmação acima para ver todos os detalhes.

Versão 1.5.12

17 de abril de 2024

Lançamento de androidx.compose.compiler:compiler:1.5.12 e androidx.compose.compiler:compiler-hosted:1.5.12. A versão 1.5.12 contém estas confirmações.

Correções de bugs

  • Correção de um problema com a compilação incremental no Kotlin 1.9.23. (Ifca55).
  • Correção de tipos não nulos em parâmetros de valor para classes inline não primitivas. (Ie6bb5).

Versão 1.5.11

20 de março de 2024

Lançamento de androidx.compose.compiler:compiler:1.5.11 e androidx.compose.compiler:compiler-hosted:1.5.11. A versão 1.5.11 contém estas confirmações.

Observações

  • A partir desta versão, o compilador vai chamar startReplaceGroup em vez de startReplacableGroup quando um módulo for compilado com um ambiente de execução que contém esse método. A startReplaceGroup foi introduzida no ambiente de execução no ambiente de execução do Compose 1.7.0-alpha03. As chamadas para startRestartGroup são geradas apenas quando o destino é a versão 1.7.0-alpha03 ou mais recente do ambiente de execução.

  • Chamar startReplaceGroup em vez de startReplaceableGroup permite que o ambiente de execução detecte mudanças de maneira mais eficiente, mas pode afetar a ordem em que as mudanças são detectadas pelo Composer e enviadas para o Applier. Isso pode resultar em mudanças sutis no comportamento se um Applier depender da ordem em que essas operações são detectadas.

Novos recursos

  • Suporte para Kotlin 1.9.23

Correções de bugs

  • Correção de tipos genéricos externos aninhados sendo inferidos como instáveis. (I3437f, b/327643787).
  • Suporte a vários arquivos de configuração de estabilidade. (I8db14, b/325326744).
  • O Compose Compiler agora transforma corretamente as funções substituídas percorrendo de forma recursiva as classes/substituições básicas. (I2c9f9, b/316196500).
  • A memorização de referência de função não tenta capturar pais implícitos de declarações locais quando elas não são usadas diretamente. (Ib1267).
  • Correção da geração de código para lambda combinável crossinline (é difícil encontrar esse bug sem "nonSkippingGroupOptimization" ativado). (Icb2fd, b/325502738).

Versão 1.5.10

21 de fevereiro de 2024

Lançamento de androidx.compose.compiler:compiler:1.5.10 e androidx.compose.compiler:compiler-hosted:1.5.10. A versão 1.5.10 contém estas confirmações.

Correções de bugs

  • Suporte a literais ao vivo em blocos de inicialização. (b/320397488).
  • Use o parâmetro do gerenciador para verificar se a função está dentro da classe local (b/323123439).

Versão 1.5.9

7 de fevereiro de 2024

Lançamento de androidx.compose.compiler:compiler:1.5.9 e androidx.compose.compiler:compiler-hosted:1.5.9. A versão 1.5.9 contém estas confirmações.

Correções de bugs

  • Correção de chamadas combináveis no inicializador de objetos anônimos. (b/320261458, 96315c).
  • Contar declarações locais recursivas como capturas. (b/318745941, e7b4b0).
  • O comportamento de mudanças de lembrete intrínseco foi corrigido em relação às referências de método Java, forçando .changed para tipos de função com lembrete intrínseco. (b/319810819, 77128e).
  • Foi adicionada uma otimização experimental que remove os grupos em torno de funções que não podem ser puladas, como as marcadas explicitamente como @NonSkippableComposable, e funções que não podem ser puladas implicitamente, como funções inline e funções que retornam um valor que não é de unidade, como remember.
  • Essa otimização pode ser ativada transmitindo a opção do plug-in, -P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true, para o compilador Kotlin. (I1688f).

Versão 1.5.8

10 de janeiro de 2024

Lançamento de androidx.compose.compiler:compiler:1.5.8 e androidx.compose.compiler:compiler-hosted:1.5.8. A versão 1.5.8 contém estas confirmações.

Novos recursos

  • Suporte para Kotlin 1.9.22

Correções de bugs

  • Correção de um bug em que o build do Compose Compiler gerava exceções ao ser criado usando o Java21. Os usuários que usam o Compose Compiler do Google Maven (ou seja, que não o criam por conta própria) nunca foram afetados por esse bug. (b/316644294).
  • Correção de um bug em que o erro COMPOSABLE_EXPECTED estava sendo informado para alguns autores da chamada de lambdas não inline (b/309364913).
  • Foi adicionado um erro de compilação para parâmetros padrão em funções abertas (antes, ele era restrito apenas a funções abstratas). No momento, o Compose não oferece suporte à substituição de parâmetros padrão de funções substituídas. Além disso, a substituição de uma função combinável com parâmetros padrão falhava no momento da execução. Use @Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE") para suprimir, mas observe que substituir essa função sem fornecer um valor padrão para o parâmetro resultará em uma falha no momento da execução (b/317490247).
  • Correção de um bug no remember intrínseco que impedia a propagação correta dos valores. (b/316327367).

Contribuição externa

  • Correção de um erro de digitação na documentação. (aosp/288106).

Versão 1.5.7

19 de dezembro de 2023

Lançamento de androidx.compose.compiler:compiler:1.5.7 e androidx.compose.compiler:compiler-hosted:1.5.7. A versão 1.5.7 contém estas confirmações.

Correções de bugs

  • Correção de falha no tempo de execução do Compose quando o parâmetro de chave remember() invoca uma função combinável (b/315855015).
  • Correção de falha no ambiente de execução do Compose quando o return@ é usado. (b/315821171).
  • Evite usar caminhos absolutos em chaves de memorização, o que permite uma melhor utilização do cache do build. (b/313937484).

Versão 1.5.6

6 de dezembro de 2023

Lançamento de androidx.compose.compiler:compiler:1.5.6 e androidx.compose.compiler:compiler-hosted:1.5.6. A versão 1.5.6 contém estas confirmações.

Novos recursos

  • Suporte para Kotlin 1.9.21

Correções de bugs

  • Foi ativado o lembrete intrínseco, a transformação do compilador que inline o lembrete no plug-in do compilador do Compose e substitui as comparações .equals por comparações int do metaparâmetro para parâmetros estáveis. Isso resulta em menos slots usados e menos comparações feitas no momento da execução. A opção pode ser desativada fornecendo o argumento do plug-in do compilador: -P plugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false. (If675f).
  • Correção da memorização de referências de função adaptadas e argumentos inline. (b/312738720).
  • Grupos de realização ao sair da chamada de função inline (b/312242547).

Contribuição externa

  • Correção de falha de execução de k/native e k/wasm devido à falta de uma instrução de retorno em funções combináveis quando ela é a última instrução e retorna um const nulo (aosp/2835716).

Versão 1.5.5

29 de novembro de 2023

Lançamento de androidx.compose.compiler:compiler:1.5.5 e androidx.compose.compiler:compiler-hosted:1.5.5. A versão 1.5.5 contém estas confirmações.

Correções de bugs

  • Correção de uma falha durante a pesquisa de tipos combináveis substituídos (Ib6d2c, b/297665426).
    • stabilityConfigurationPath foi adicionado aos parâmetros conhecidos. Anteriormente, um bug impedia o uso da flag do arquivo de configuração. (b/309765121).
    • Correções de memorização (I081d1, I4d7bf).
    • Correção da recomposição ao considerar o estado de parâmetro incerto no remember intrínseco (b/263402091).
    • Correção das informações de linha de depuração para lembrar intrínseco (Ic8cf5).
    • Correção de falha (falha de redução de IR) durante a pesquisa de tipos combináveis substituídos no momento da compilação (b/297665426).

Contribuição externa

  • As referências de função estáveis foram memorizadas com argumentos (I4d7bf, b/302680514).

Versão 1.5.4

7 de novembro de 2023

Lançamento de androidx.compose.compiler:compiler:1.5.4 e androidx.compose.compiler:compiler-hosted:1.5.4. A versão 1.5.4 contém estas confirmações.

Atualizações de dependência

  • O Compose Compiler agora é compatível com o Kotlin 1.9.20.

Novos recursos

  • Adicionamos uma opção experimental para ativar o modo de rejeição avançada. O modo de rejeição avançada permite que elementos combináveis com parâmetros instáveis sejam pulados. Além disso, as lambdas com capturas instáveis são memorizadas. Esse recurso é experimental e não está pronto para uso em produção. (22421e).
  • Adicione uma flag para ativar/desativar informações de origem/rastreamento. (4d45f09).
  • Permitir a configuração da estabilidade de classes externas usando um arquivo de configuração. (If40eb).

Correções de bugs

  • Correção de saída antecipada de funções combináveis quando as informações da fonte não são coletadas. (fe6267).
  • Correção de continuação de funções combináveis. (948362).
  • Resolução corrigida quando as funções combináveis são invocadas em uma invocação de função que tem várias sobrecargas que dependem do tipo de retorno da expressão. (2d36d0).
  • Correção da memorização quando a referência de função não tem um broadcast receiver de envio. (fc2326).
  • Correção da verificação de sujeira que impedia a recomposição de lambdas em algumas situações. (db3699).
  • Correção de estabilidade ao compilar de forma incremental em módulos. (7d3e127).
  • Reduza o escopo de @DontMemoize apenas para expressões lambda. (7a7fa52).
  • Correção de variáveis que não são capturadas corretamente ao usar uma interface Composable fun como uma lambda. (5ae3556).

Contribuição externa

  • Usar o símbolo de igualdade estrutural para comparação numérica e nula (c612a0).

Versão 1.5.3

29 de agosto de 2023

Lançamento de androidx.compose.compiler:compiler:1.5.3, androidx.compose.compiler:compiler-daemon:1.5.3 e androidx.compose.compiler:compiler-hosted:1.5.3. A versão 1.5.3 contém estas confirmações.

Atualização de dependências

  • A versão do Kotlin foi atualizada para 1.9.10.

Versão 1.5.2

23 de agosto de 2023

Lançamento de androidx.compose.compiler:compiler:1.5.2, androidx.compose.compiler:compiler-daemon:1.5.2 e androidx.compose.compiler:compiler-hosted:1.5.2. A versão 1.5.2 contém estas confirmações.

Correções de bugs

  • Inserção de números de linha para instruções de retorno em funções combináveis que retornam constantes. (I42d89).
  • Correção de um vazamento de memória causado pela mudança para o novo ponto de entrada do plug-in do compilador. (4f0a101).
  • Não é mais possível transformar interfaces com funções não combináveis no compilador do Compose. Isso faz com que as interfaces divertidas sejam processadas da mesma forma que as lambdas, incluindo regras de memorização. (28b3ce9).
  • Use o tipo de argumento vararg para inferir a estabilidade no site de chamada. (bc83645).

Versão 1.5.1

26 de julho de 2023

Lançamento de androidx.compose.compiler:compiler:1.5.1, androidx.compose.compiler:compiler-daemon:1.5.1 e androidx.compose.compiler:compiler-hosted:1.5.1. A versão 1.5.1 contém estas confirmações.

Correções de bugs

  • Correção de marcadores de evento de rastreamento de composição em funções @ReadOnlyComposable com retornos antecipados que causaram corrupção de rastreamento.

Versão 1.5.0

18 de julho de 2023

Lançamento de androidx.compose.compiler:compiler:1.5.0, androidx.compose.compiler:compiler-daemon:1.5.0 e androidx.compose.compiler:compiler-hosted:1.5.0. A versão 1.5.0 contém estas confirmações.

Suporte experimental ao K2

  • O Compose Compiler 1.5.0 oferece suporte experimental ao compilador K2. Alguns recursos do Compose ainda não são compatíveis com o K2 e serão lançados nas próximas versões do compilador.

Mudanças importantes desde a versão 1.4.0

  • A versão do Kotlin foi atualizada para 1.9.0.
  • Os argumentos nomeados para chamadas lambda @Composable foram descontinuados. Esse recurso depende de APIs internas do compilador e não será compatível com o K2.
  • Foi adicionado um diagnóstico para verificar a anotação @Composable em chamadas esperadas/reais. Ambas as declarações precisam ter anotações correspondentes.

Versão 1.4.8

Versão 1.4.8

28 de junho de 2023

Lançamento de androidx.compose.compiler:compiler:1.4.8, androidx.compose.compiler:compiler-daemon:1.4.8 e androidx.compose.compiler:compiler-hosted:1.4.8. A versão 1.4.8 contém estas confirmações.

Novos recursos

  • A versão de destino do compilador Kotlin foi alterada para 1.8.22.

Correções de bugs

  • Melhoria na mensagem de erro para substituições de @Composable. Agora, ele aponta corretamente a incompatibilidade de anotações.
  • Aviso sobre a anotação @Composable redundante em lambdas inline que não precisam ser marcados como combináveis. Esse recurso não é compatível com o compilador K2.

Versão 1.4.7

Versão 1.4.7

3 de maio de 2023

Lançamento de androidx.compose.compiler:compiler:1.4.7, androidx.compose.compiler:compiler-daemon:1.4.7 e androidx.compose.compiler:compiler-hosted:1.4.7. A versão 1.4.7 contém estas confirmações.

Novos recursos

  • Suporte para Kotlin 1.8.21
  • Foram adicionadas versões primitivas da API State, permitindo que valores de Int, Long, Float e Double sejam rastreados em objetos State sem penalidades por autocaixa.

Versão 1.4.6

Versão 1.4.6

19 de abril de 2023

Lançamento de androidx.compose.compiler:compiler:1.4.6, androidx.compose.compiler:compiler-daemon:1.4.6 e androidx.compose.compiler:compiler-hosted:1.4.6. A versão 1.4.6 contém estas confirmações.

Correções de bugs

  • O Compose Compiler agora depende do Java11 (em vez do Java17 exigido pela versão 1.4.5 do Compose Compiler) para oferecer suporte melhor aos usuários que ainda usam versões mais antigas do Java.

Versão 1.4.5

Versão 1.4.5

12 de abril de 2023

Lançamento de androidx.compose.compiler:compiler:1.4.5, androidx.compose.compiler:compiler-daemon:1.4.5 e androidx.compose.compiler:compiler-hosted:1.4.5. A versão 1.4.5 contém estas confirmações.

NOTA Este build do Compose Compiler exige que seu ambiente de build use o Java 17 ou mais recente. Com base no feedback dos usuários, vamos voltar a exigir o Java 11 e lançar outra versão (1.4.6) para oferecer suporte melhor aos usuários que usam versões mais antigas do Java.

Novos recursos

Suporte para Kotlin 1.8.20

Correções de bugs

  • A substituição do operador de invocação combinável precisa ser propagada para classes e interfaces que estendem interfaces lambda com anotações correspondentes.f8f2f78a1a769c2373201027f12700e772e4e97e
  • Permite o uso da anotação @Composable no operador getValue e marca o getter gerado para o delegado como combinável no IR para garantir que ele seja transformado corretamente mais tarde. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • Correção de um erro interno de tempo de execução do Compose (applyChanges() esperado ter sido chamado) para funções inline.b/274786923
  • Evite capturar ProcessCancelledException, porque ele tem um significado especial no ambiente de desenvolvimento integrado.b/274725600

Contribuição externa

Versão 1.4.4

Versão 1.4.4

22 de março de 2023

Lançamento de androidx.compose.compiler:compiler:1.4.4, androidx.compose.compiler:compiler-daemon:1.4.4 e androidx.compose.compiler:compiler-hosted:1.4.4. A versão 1.4.4 contém estas confirmações.

Correções de bugs

  • Correção de retornos de lambda inline combináveis (72172b).
  • Permite que elementos combináveis retornem Nothing (não gera um erro ao usar TODO em uma função combinável) 3aea8d.

Versão 1.4.3

Versão 1.4.3

22 de fevereiro de 2023

Lançamento de androidx.compose.compiler:compiler:1.4.3. A versão 1.4.3 contém estas confirmações.

Correções de bugs

  • Correção de chamadas condicionais combináveis em argumentos de chamadas combináveis (Ie93edb).

Versão 1.4.2

Versão 1.4.2

8 de fevereiro de 2023

Lançamento de androidx.compose.compiler:compiler:1.4.2. A versão 1.4.2 contém estas confirmações.

Novos recursos

  • Foi adicionado suporte ao Kotlin 1.8.10.

Correções de bugs

  • Foram adicionados grupos ao corpo das lambdas que não podem ser puladas para evitar o bug de recomposição.

Versão 1.4.1

Versão 1.4.1

8 de fevereiro de 2023

Lançamento de androidx.compose.compiler:compiler:1.4.1. A versão 1.4.1 contém estas confirmações.

Correções de bugs

  • Foi desativada a otimização de lembrete intrínseco, que antes causava alguns bugs na geração de código.
  • Foi desativado o lembrete intrínseco em funções que contêm um parâmetro vararg.
  • Foi corrigido o ato incorreto de pular em elementos combináveis com parâmetros padrão.
  • Foi adicionada uma mensagem de erro defensiva substituta em caso de falha na verificação de compatibilidade com o Kotlin.
  • A geração de código para pular foi removida da lambda inline.

Versão 1.4.0

17 de janeiro de 2023

Lançamento de androidx.compose.compiler:compiler:1.4.0. A versão 1.4.0 contém estas confirmações.

Mudanças importantes desde a versão 1.3.0

  • Adição de suporte ao Kotlin 1.8.0.
  • O recurso de lembrete intrínseco foi desativado.
  • A classe de dados Group das ferramentas de interface agora tem um campo isInline, que indica se o grupo é destinado a uma chamada para uma função combinável inline. Se o isInline for true, a chamada vai ser para uma função combinável inline. No entanto, o valor pode ser falso em chamadas para funções combináveis inline que são de módulos compilados com uma versão do plug-in do compilador do Compose que não gera informações sobre a função inline.
  • A ImmutableCollection e os irmãos permanentes dela agora são considerados estáveis.
  • Novo parâmetro em AnimatedContent para o identificador de ferramentas.
  • Correção da geração de código com defeito para lambda inline.

Versão 1.4.0-alpha02

11 de novembro de 2022

Lançamento de androidx.compose.compiler:compiler:1.4.0-alpha02. A versão 1.4.0-alpha02 contém estas confirmações.

Novos recursos

  • Adicionado suporte para Kotlin 1.7.21.

Versão 1.4.0-alpha01

9 de novembro de 2022

Lançamento de androidx.compose.compiler:compiler:1.4.0-alpha01. A versão 1.4.0-alpha01 contém estas confirmações.

Correções de bugs

  • Foi corrigida a capacidade de retornar com antecedência de funções de composição in-line (b/255350755).
  • Foi corrigido o bug na diminuição da isca, que corrompia o suporte ao Kotlin/JS no Compose (6a40f8).

Versão 1.3

Versão 1.3.2

4 de outubro de 2022

Lançamento de androidx.compose.compiler:compiler:1.3.2. A versão 1.3.2 contém estas confirmações.

Novo recurso

  • Esta versão inclui uma atualização para o Kotlin 1.7.20.

Versão 1.3.1

7 de setembro de 2022

Lançamento de androidx.compose.compiler:compiler:1.3.1. A versão 1.3.1 contém estas confirmações.

Correções de bugs

  • Foi corrigido o bug IllegalStateException, em que o compilador do Compose estava marcando erroneamente os tipos de unidade como elementos combináveis em algumas circunstâncias (b/237863365).
  • Agora, os usuários precisam especificar a versão do Kotlin que preferirem ao suprimir a verificação da versão do compilador (I9e5e2).

Versão 1.3.0

10 de agosto de 2022

Lançamento de androidx.compose.compiler:compiler:1.3.0. A versão 1.3.0 contém estas confirmações.

Versão 1.3.0-rc02

3 de agosto de 2022

Lançamento de androidx.compose.compiler:compiler:1.3.0-rc02. A versão 1.3.0-rc02 contém estas confirmações.

Versão 1.3.0-rc01

27 de julho de 2022

Lançamento de androidx.compose.compiler:compiler:1.3.0-rc01. A versão 1.3.0-rc01 contém estas confirmações.

Versão 1.3.0-beta01

20 de julho de 2022

androidx.compose.compiler:compiler:1.3.0-beta01 é lançado. A versão 1.3.0-beta01 contém estas confirmações.

Novos recursos

  • Adicionado suporte para Kotlin 1.7.10.

Versão 1.2

Versão 1.2.0

29 de junho de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0. A versão 1.2.0 contém estas confirmações.

Mudanças importantes desde a 1.1.0

Versão 1.2.0-rc02

22 de junho de 2022

androidx.compose.compiler:compiler:1.2.0-rc02 é lançado. A versão 1.2.0-rc02 contém estas confirmações.

Correções de bugs

  • A geração de código de elementos de composição do evento de rastreamento foi removida (aosp/2127922).

Versão 1.2.0-rc01

15 de junho de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-rc01. A versão 1.2.0-rc01 contém estas confirmações.

Versão 1.2.0-beta03

1º de junho de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-beta03. A versão 1.2.0-beta03 contém estas confirmações.

Versão 1.2.0-beta02

18 de maio de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-beta02. A versão 1.2.0-beta02 contém estas confirmações.

Versão 1.2.0-beta01

11 de maio de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-beta01. A versão 1.2.0-beta01 contém estas confirmações.

  • Esta é a primeira versão Beta da 1.2. Não há mudanças desde a última versão Alfa.

Novos recursos

  • Adicionado suporte para Kotlin 1.6.21.

Versão 1.2.0-alpha08

20 de abril de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-alpha08. A versão 1.2.0-alpha08 contém estas confirmações.

Versão 1.2.0-alpha07

6 de abril de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-alpha07. A versão 1.2.0-alpha07 contém estas confirmações.

Versão 1.2.0-alpha06

23 de março de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-alpha06. A versão 1.2.0-alpha06 contém estas confirmações.

Versão 1.2.0-alpha05

9 de março de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-alpha05. A versão 1.2.0-alpha05 contém estas confirmações.

Versão 1.2.0-alpha04

23 de fevereiro de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-alpha04. A versão 1.2.0-alpha04 contém estas confirmações.

Versão 1.2.0-alpha03

9 de fevereiro de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-alpha03. A versão 1.2.0-alpha03 contém estas confirmações.

Versão 1.2.0-alpha02

26 de janeiro de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-alpha02. A versão 1.2.0-alpha02 contém estas confirmações.

Versão 1.2.0-alpha01

12 de janeiro de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-alpha01. A versão 1.2.0-alpha01 contém estas confirmações.

Novos recursos

  • Suporte para Kotlin 1.6.10 adicionado.

Versão 1.1

Versão 1.1.1

23 de fevereiro de 2022

Lançamento de androidx.compose.compiler:compiler:1.1.1. A versão 1.1.1 contém estas confirmações.

Correções de bugs

  • A NullPointerException em androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList foi corrigida (aosp/1947059, b/206677462).
  • A falha causada pelo conteúdo da área de transferência durante a leitura no Android foi corrigida (I06020, b/197769306).
  • RTL corrigido no elemento LazyVerticalGrid (aosp/1931080, b/207510535).

Versão 1.1.0

9 de fevereiro de 2022

Lançamento de androidx.compose.compiler:compiler:1.1.0. A versão 1.1.0 contém estas confirmações.

Mudanças importantes desde a versão 1.0.0

  • Versão estável do efeito de rolagem do Android 12.
  • Melhorias no dimensionamento da área de toque.
  • Em relação ao Compose 1.0, os componentes do Material Design aumentam o espaço de layout para atender ao tamanho da área de toque das diretrizes de acessibilidade (em inglês) do Material Design. Por exemplo, a área de toque do botão será expandida para um tamanho mínimo de 48x48dp, mesmo que você defina um tamanho menor. Isso alinha o Compose Material ao mesmo comportamento dos componentes do Material Design para que haja consistência caso você combine visualizações e o Compose. Essa mudança também garante que, ao criar a interface usando os componentes do Compose Material, os requisitos mínimos para a acessibilidade da área de toque sejam atendidos.
  • Versão estável da coluna de navegação.
  • Upgrade de várias APIs anteriormente experimentais para a versão estável.
  • Compatibilidade com as versões mais recentes do Kotlin.

Versão 1.1.0-rc03

26 de janeiro de 2022

Lançamento de androidx.compose.compiler:compiler:1.1.0-rc03. A versão 1.1.0-rc03 contém estas confirmações.

Correções de bugs

  • Atualização para oferecer suporte ao Compose Material 1.1.0-rc03.

Versão 1.1.0-rc02

16 de dezembro de 2021

androidx.compose.compiler:compiler:1.1.0-rc02 é lançado. A versão 1.1.0-rc02 contém estas confirmações.

Atualizações de dependência

  • O Compose Compiler 1.1.0-rc02 é compatível com o Kotlin 1.6.10.

Versão 1.1.0-rc01

15 de dezembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-rc01. A versão 1.1.0-rc01 contém estas confirmações.

Mudanças na dependência

  • O Compose Compiler 1.1.0-rc01 é compatível com o Kotlin 1.6.0.
  • Um build 1.6.10 compatível está disponível pelos SNAPSHOTs do androidx.dev com buildId 8003490. O snippet de dependência a seguir fará a configuração do SNAPSHOT para o Compose Compiler:

    Adicione o seguinte snippet ao arquivo raiz build.gradle do seu projeto:

    buildscript {
        repositories {
            google()
            jcenter()
            maven { url 'https://androidx.dev/snapshots/builds/8003490/artifacts/repository' }
        }
    }
    

    Adicione o seguinte snippet ao arquivo build.gradle para seu app ou módulo que usa o Compose:

    android {
        composeOptions {
            kotlinCompilerExtensionVersion = "1.2.0-SNAPSHOT"
        }
    }
    

Versão 1.1.0-beta04

1º de dezembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-beta04. A versão 1.1.0-beta04 contém estas confirmações.

Novos recursos

  • Foi adicionada compatibilidade com o Kotlin 1.6.0.

Versão 1.1.0-beta03

17 de novembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-beta03. A versão 1.1.0-beta03 contém estas confirmações.

Versão 1.1.0-beta02

3 de novembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-beta02. A versão 1.1.0-beta02 contém estas confirmações.

Versão 1.1.0-beta01

27 de outubro de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-beta01. A versão 1.1.0-beta01 contém estas confirmações.

Versão 1.1.0-alpha06

13 de outubro de 2021

androidx.compose.compiler:compiler:1.1.0-alpha06 é lançado. A versão 1.1.0-alpha06 contém estas confirmações.

Versão 1.1.0-alpha05

29 de setembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-alpha05. A versão 1.1.0-alpha05 contém estas confirmações.

Versão 1.1.0-alpha04

15 de setembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-alpha04. A versão 1.1.0-alpha04 contém estas confirmações.

Versão 1.1.0-alpha03

1º de setembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-alpha03. A versão 1.1.0-alpha03 contém estas confirmações.

Novos recursos

  • O Compose Compiler agora oferece suporte a versões mais antigas do Compose Runtime (1.0). Antes dessa mudança, o Compose Compiler era compatível apenas com versões iguais ou mais recentes do Compose Runtime. Agora, o Compose Compiler é compatível com uma versão mais antiga do Compose Runtime (1.0) (aosp/1796968).
  • O Compose 1.1.0-alpha03 foi atualizado para depender do Kotlin 1.5.30 (I74545).

Versão 1.1.0-alpha02

18 de agosto de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-alpha02. A versão 1.1.0-alpha02 contém estas confirmações.

Versão 1.1.0-alpha01

4 de agosto de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-alpha01. A versão 1.1.0-alpha01 contém estas confirmações.

Versão 1.0

Versão 1.0.5

3 de novembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.5. A versão 1.0.5 contém estas confirmações.

Correções de bugs

  • Uma falha de rastreamento de instâncias derivedStateOf foi corrigida (aosp/1792247).

Versão 1.0.4

13 de outubro de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.4. A versão 1.0.4 contém estas confirmações.

Atualizações de dependência

  • Atualização para depender do Kotlin 1.5.31.

Versão 1.0.3

29 de setembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.3. A versão 1.0.3 contém estas confirmações.

Atualizações de dependência

  • Atualização para depender do Kotlin 1.5.30.

Versão 1.0.2

1º de setembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.2. A versão 1.2.0 contém estas confirmações.

Atualização para aceitar a versão 1.0.2 do Compose. O Compose 1.0.2 ainda é compatível com o Kotlin 1.5.21.

Versão 1.0.1

4 de agosto de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.1. A versão 1.0.1 contém estas confirmações.

Atualizações de dependência

  • Atualização para depender do Kotlin 1.5.21.

Versão 1.0.0

28 de julho de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0. A versão 1.0.0 contém estas confirmações.

Principais recursos da versão 1.0.0

Esta é a primeira versão estável do Compose. Veja mais detalhes no blog oficial de versões do Compose (em inglês).

Versão 1.0.0-rc02

14 de julho de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-rc02. A versão 1.0.0-rc02 contém estas confirmações:

Versão 1.0.0-rc01

1º de julho de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-rc01. A versão 1.1.0-rc01 contém estas confirmações.

Versão 1.0.0-beta09

16 de junho de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-beta09. A versão 1.0.0-beta09 contém estas confirmações.

Versão 1.0.0-beta08

2 de junho de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-beta08. A versão 1.0.0-beta08 contém estas confirmações.

Versão 1.0.0-beta07

18 de maio de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-beta07. A versão 1.0.0-beta07 contém estas confirmações.

Versão 1.0.0-beta06

5 de maio de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-beta06. A versão 1.0.0-beta06 contém estas confirmações.

Versão 1.0.0-beta05

21 de abril de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-beta05. A versão 1.0.0-beta05 contém estas confirmações.

Versão 1.0.0-beta04

7 de abril de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-beta04. A versão 1.0.0-beta04 contém estas confirmações (link em inglês).

Versão 1.0.0-beta03

24 de março de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-beta03. A versão 1.0.0-beta03 contém estas confirmações.

Versão 1.0.0-beta02

10 de Março de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-beta02. A versão 1.0.0-beta02 contém estas confirmações.

Versão 1.0.0-beta01

24 de fevereiro de 2021

Lançamento do androidx.compose.compiler:compiler:1.0.0-beta01. A versão 1.0.0-beta01 contém estas confirmações.

Esta é a primeira versão do Compose 1.0.0 Beta.

Versão 1.0.0-alpha12

10 de fevereiro de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-alpha12. A versão 1.0.0-alpha12 contém estas confirmações.

Versão 1.0.0-alpha11

28 de janeiro de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-alpha11. A versão 1.0.0-alpha11 contém estas confirmações.

Versão 1.0.0-alpha10

13 de janeiro de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-alpha10. A versão 1.0.0-alpha10 contém estas confirmações.

Versão 1.0.0-alpha09

16 de dezembro de 2020

Lançamento de androidx.compose.compiler:compiler:1.0.0-alpha09. A versão 1.0.0-alpha09 contém estas confirmações.

Versão 1.0.0-alpha08

2 de dezembro de 2020

Lançamento de androidx.compose.compiler:compiler:1.0.0-alpha08. A versão 1.0.0-alpha08 contém estas confirmações.

Versão 1.0.0-alpha07

11 de novembro de 2020

Lançamento de androidx.compose.compiler:compiler:1.0.0-alpha07. A versão 1.0.0-alpha07 contém estas confirmações.

Novos recursos

  • Inferência e propagação de estabilidade. O plug-in do Compose Compiler analisa os tipos que ele compila para inferir se estão qualificados para determinadas otimizações do ambiente de execução. Esse resultado inferido é sintetizado como metadados na classe a ser utilizada pelo compilador em outros módulos. Além disso, o resultado do ambiente de execução dessas inferências é transmitido nos metadados encaminhados às chamadas durante a composição. Isso exigiu um protocolo de metadados diferente para funções de composição, o que significa que funções desse tipo compiladas com o compilador alpha07 não são compatíveis binárias com as funções de composição compiladas com qualquer versão anterior do compilador (aosp/1431988).

Versão 1.0.0-alpha06

28 de outubro de 2020

androidx.compose.compiler:compiler:1.0.0-alpha06 é lançado. A versão 1.0.0-alpha06 contém estas confirmações.

Versão 1.0.0-alpha05

14 de outubro de 2020

Lançamento de androidx.compose.compiler:compiler:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.

Versão 1.0.0-alpha04

1º de outubro de 2020

Lançamento de androidx.compose.compiler:compiler:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estas confirmações.

androidx.compose:compose-compiler foi refatorado para androidx.compose.compiler:compiler. Esta é a primeira versão do novo grupo.