Swift 6.4 traz async em defer e torna o Swift Build padrão
O Swift 6.4 permite código assíncrono em blocos defer, adiciona seletores de módulo e uma ponte WebAssembly 40 vezes mais rápida, e o Swift Build passa a ser o padrão do gerenciador de pacotes.
3 min de leitura

Em números
- faster WebAssembly bridging through JavaScriptKit
- 40x
- platforms where Swift Build is now the package manager default
- 3
- the Android toolchain Swift Build now supports
- NDK 30
O Swift 6.4 foi lançado em 15 de setembro de 2026, um dia depois de a Apple entregar o Xcode 27 junto com o iOS 27. O anúncio no Swift.org se lê menos como um recurso de manchete e mais como uma longa lista de coisas que eram desajeitadas e deixaram de ser. Para quem desenvolve no dia a dia, esse é o melhor tipo de lançamento.
Duas mudanças pesam mais. Código assíncrono agora funciona dentro de blocos defer. E o Swift Build, o motor de compilação de código aberto, agora é o padrão do Swift Package Manager no Linux, macOS e Windows.
As mudanças na linguagem
Um bloco defer executa a limpeza quando uma função termina, seja retornando ou lançando um erro. Até agora ele não podia conter await, o que exigia um desvio para qualquer limpeza assíncrona. A proposta SE-0493 remove essa restrição, e o Swift.org diz que a conclusão é garantida.
O resto do trabalho na linguagem é sobre ler e escrever menos cerimônia.
| Proposta | O que faz |
|---|---|
| SE-0521 | Tipos some e any não precisam mais de parênteses em posição opcional |
| SE-0491 | Seletores de módulo: :: indica de qual módulo um símbolo vem |
| SE-0522 | Um atributo @diagnose para emitir avisos do compilador a partir do seu código |
| SE-0493 | await dentro de defer |
| SE-0504 | withTaskCancellationShield, para proteger uma região do cancelamento |
| SE-0517, SE-0527 | UniqueBox e UniqueArray, contêineres para elementos não copiáveis |
| SE-0516 | Um protocolo Iterable para que for-in funcione com tipos não copiáveis |
Tipos não copiáveis também ganham algo que lhes faltava: agora podem se conformar a Equatable, Comparable e Hashable. Um tipo não copiável é aquele que o compilador se recusa a duplicar, usado quando um valor representa um recurso único. Poder compará-los e calcular hash fecha uma lacuna que os tornava difíceis de usar em código comum.
As mudanças na cadeia de ferramentas
O Swift Build virar padrão importa além das plataformas da Apple. O mesmo motor agora conduz as compilações de pacotes no Linux e no Windows, e o lançamento adiciona suporte a Android por meio do NDK 30, o kit nativo atual do Android.
A frente do WebAssembly também avançou. O Swift.org diz que a ponte via JavaScriptKit, a biblioteca que permite ao Swift chamar o JavaScript de um navegador, está 40 vezes mais rápida. As compilações de depuração no Linux e no Windows ficaram menores, assim como os pacotes dSYM, os arquivos que guardam os símbolos de depuração.
O Subprocess 1.0 agora é estável e multiplataforma. É a biblioteca para iniciar outros processos e conversar com eles, e a sua estabilidade significa que código de servidor e de ferramentas pode parar de carregar invólucros privados para isso.
Mais um item mira equipes de conformidade em vez de desenvolvedores de aplicativos. A proposta SE-0509 permite que o gerenciador de pacotes gere uma lista de materiais de software no formato SPDX ou CycloneDX. Uma lista de materiais é uma relação legível por máquina de cada dependência de uma compilação, e compradores regulados a pedem cada vez mais.
O que isso significa para desenvolvedores
Comece pelo defer. Procure no seu código a limpeza que roda em uma Task iniciada a partir de um bloco defer. Procure também estruturas do-catch que existem só para executar um fechamento assíncrono em cada caminho de saída. Esses são os desvios que a SE-0493 aposenta, e cada um que você remove é uma classe de bug que deixa de existir.
Depois trate a mudança do Swift Build como uma migração de sistema de compilação, porque é isso que ela é. Se você tem um pacote que se comportava de forma diferente no Linux e no macOS, recompile agora e procure avisos que nunca viu. O motor mudou por baixo, e uma troca de padrão é exatamente quando uma suposição silenciosamente específica de plataforma aparece.
As adições de WebAssembly e Android são as que valem guardar para depois. Uma melhoria de 40x na ponte muda o que é razoável entregar em um navegador, mas só se você já estava perto de tentar. O suporte a Android via NDK 30 é igual: não é motivo para começar uma portabilidade nesta semana, mas é o motivo de ela agora ser possível.
Por fim, se alguém na sua empresa pediu uma lista de materiais, a SE-0509 te dá uma de graça. Gere uma vez, confira se a lista de dependências bate com o que você acredita entregar e acrescente ao pipeline de lançamento. É uma tarde, e responde a uma pergunta que, de outro modo, chega como planilha.
Fontes
- Swift 6.4 Released - Swift.org
- Swift 6.4: What's New in Concurrency - SwiftLee
Artigos relacionados

iOS 27 chega com Xcode 27 e sem iPhones descartados
A Apple lançou seis atualizações de plataforma em 14 de setembro de 2026, promete abertura de apps até 30% mais rápida, e o iPhone 11 continua na lista.

Homebrew 7.0.0 para de construir bottles para Macs Intel
O Homebrew 7.0.0 rebaixa os Macs Intel para o Tier 3. Ali o brew install passa a compilar do código-fonte, e o suporte acaba em setembro de 2027 ou depois.

Asahi Linux passa a suportar oficialmente os Mac da série M3
O Asahi Linux integrou o suporte a M3, M3 Pro e M3 Max no seu instalador. Wi-Fi, USB 3 e descodificação AV1 funcionam. Suspensão, HDMI e 3D rápido não.