O Angular 12.1, lançado em 24 de junho, adiciona suporte do compilador para declarações de propriedades abreviadas, bem como correções para o compilador, CLI do compilador, roteador e serviços.
O lançamento pontual do Angular 12.1 também apresenta APIs para ativar o comportamento correto de desmontagem de teste . As correções do compilador referem-se a problemas como interpolação não terminada e restauração de visualização , enquanto as correções do service worker referem-se à nomenclatura, acesso e limpeza de caches do service worker.
Publicado em 12 de maio, o Angular 12 está disponível no GitHub , após vários lançamentos beta e candidatos a lançamento. O Angular 12 descarta o pipeline de compilação e renderização do View Engine legado em favor da tecnologia Ivy mais recente, um pipeline de compilação e renderização de última geração que oferece compilação AOT (antecipada) mais rápida.
A equipe Angular observou que o View Engine será removido em uma versão futura. Bibliotecas atuais que usam View Engine ainda funcionarão com aplicativos Ivy, mas os autores de bibliotecas são aconselhados a iniciar a transição para Ivy.
Também no Angular 12, o serviço de linguagem baseado em Ivy, que fornece recursos como preenchimento de código e dicas dentro de modelos, muda de opt-in para on por padrão. Outros novos recursos e melhorias no lançamento da versão 12:
- Para melhorar o desempenho da CLI do compilador, a compilação incremental é permitida na presença de arquivos de origem redirecionados .
- A coalescência nula, para escrever um código mais claro em classes TypeScript, agora funciona com modelos Angular.
- Tanto o Angular CDK quanto o Angular Material expõem uma nova superfície Sass API projetada para consumo com a nova
@use
sintaxe. Ao atualizar para o Angular 12, um aplicativo mudará automaticamente para a nova API atualizando viang update
. - Ferramentas estão disponíveis para migrar IDs de localização legados para IDs usando os algoritmos mais recentes.
- Os componentes agora oferecem suporte ao Sass embutido no
styles
campo do@component
decorador. - A execução
ng build
agora é padronizada para produção, salvando etapas e ajudando a evitar a implantação acidental de compilações de desenvolvimento. - O modo estrito, para detectar erros no início do ciclo de desenvolvimento, é habilitado por padrão na CLI.
- O empacotador de módulo Webpack 5 está pronto para produção.
- O suporte para o navegador IE11 foi descontinuado.
- Para o compilador, é oferecido suporte para transformar recursos de estilo de componente .
- Para o serviço de idioma, as conclusões de propriedade Angular são fornecidas apenas em modelos .
- Para o compilador-cli, é introduzida uma
context
opção para qualquer solicitação que permita o fornecimento de dados arbitrários de maneira segura. Este recurso atende à necessidade de configurar interceptores no cliente HTTP por solicitação. - Para animações, os elementos DOM agora são removidos corretamente quando a visualização raiz é removida. Esta é uma mudança significativa.
- Para melhorar o desempenho, os métodos não utilizados foram removidos do
DomAdapter
. - Um novo formato é adicionado
localize-extract
, chamadolegacy-migrate
, para gerar um arquivo JSON que pode ser usado para mapear IDs de mensagens legadas para canônicas. - As verificações de nulos estritas informarão sobre um fragmento potencialmente nulo. Esta é uma mudança significativa.
- O tipo de token APP-INITIALIZER foi alterado para refletir com mais precisão os tipos de valores de retorno manipulados pelo Angular. Esta é uma mudança significativa.
- Foi adicionado suporte para desativar animações por meio
BrowserAnimationsModulewithConfig
. - A
emitevent
opção foi adicionada paraFormArray
eFormGroup
. Esta é uma mudança significativa. - Mais controle ajustado foi adicionado
routerLinkActiveOptions
. - Implementações de tomadas de roteador personalizadas são permitidas
- Foi adicionado suporte para TypeScript 4.2 e o suporte para TypeScript 4.0 e TypeScript 4.1 foi eliminado.
- Implementando o
appendAll()
método emHttpParams
. - Para formulários, validadores mínimo e máximo estão sendo introduzidos.
- Exportação de uma lista de códigos de status HTTP .
- Adição de um recurso ao Angular Language Service que permite acessar os locais para componentes que usam um arquivo de modelo .
- A adição de diagnósticos para sugerir a ativação de strictTemplates , fornecendo uma maneira para o servidor de linguagem recuperar diagnósticos de opções do compilador.
- Um patch que adiciona uma API para recuperar o bloco typecheck do modelo para um modelo, se houver, em um local de arquivo, e seleção do nó TS no TCB correspondente ao nó do modelo no qual a solicitação de um TCB foi feita. Isso ajudará na depuração.
Uma variedade de correções de bugs também foram apresentadas, afetando o compilador, compilador-cli, a ferramenta de compilação do Bazel, o roteador e outras partes do Angular. Uma lista completa de mudanças pode ser encontrada no GitHub. A linha anterior do Angular 11 estreou como lançamento de produção em novembro.
Quer aprender mais sobre Angular? Conheça agora o meu Curso de Angular.