Swift 6.4 trae async en defer y hace de Swift Build el valor por defecto
Swift 6.4 permite código asíncrono en bloques defer, añade selectores de módulo y un puente WebAssembly 40 veces más rápido, y Swift Build pasa a ser el predeterminado del gestor de paquetes.
3 min de lectura

En cifras
- 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
Swift 6.4 se publicó el 15 de septiembre de 2026, un día después de que Apple entregara Xcode 27 junto con iOS 27. El anuncio de Swift.org se lee menos como una función estrella y más como una larga lista de cosas que antes eran incómodas y ya no lo son. Para quien desarrolla a diario, esa es la mejor clase de versión.
Dos cambios pesan más. El código asíncrono ya funciona dentro de los bloques defer. Y Swift Build, el motor de compilación de código abierto, es ahora el predeterminado en Swift Package Manager en Linux, macOS y Windows.
Los cambios del lenguaje
Un bloque defer ejecuta la limpieza cuando una función termina, tanto si devuelve como si lanza un error. Hasta ahora no podía contener await, así que la limpieza asíncrona necesitaba un rodeo. La propuesta SE-0493 elimina esa restricción, y Swift.org dice que la finalización está garantizada.
El resto del trabajo en el lenguaje va de leer y escribir menos ceremonia.
| Propuesta | Qué hace |
|---|---|
| SE-0521 | Los tipos some y any ya no necesitan paréntesis en posición opcional |
| SE-0491 | Selectores de módulo: :: indica de qué módulo viene un símbolo |
| SE-0522 | Un atributo @diagnose para emitir avisos del compilador desde su propio código |
| SE-0493 | await dentro de defer |
| SE-0504 | withTaskCancellationShield, para proteger una región de la cancelación |
| SE-0517, SE-0527 | UniqueBox y UniqueArray, contenedores para elementos no copiables |
| SE-0516 | Un protocolo Iterable para que for-in funcione sobre tipos no copiables |
Los tipos no copiables ganan además algo que les faltaba: ahora pueden conformar Equatable, Comparable y Hashable. Un tipo no copiable es uno que el compilador se niega a duplicar, usado cuando un valor representa un recurso único. Poder compararlos y calcular su hash cierra un hueco que los hacía difíciles de usar en código corriente.
Los cambios en la cadena de herramientas
Que Swift Build sea el predeterminado importa más allá de las plataformas de Apple. El mismo motor mueve ahora las compilaciones de paquetes en Linux y Windows, y la versión añade soporte para Android a través del NDK 30, el kit nativo actual de Android.
El frente de WebAssembly también avanzó. Swift.org dice que el puente a través de JavaScriptKit, la biblioteca que permite a Swift llamar al JavaScript de un navegador, es 40 veces más rápido. Las compilaciones de depuración en Linux y Windows son más pequeñas, y también los paquetes dSYM, los archivos que guardan los símbolos de depuración.
Subprocess 1.0 es ya estable y multiplataforma. Es la biblioteca para lanzar otros procesos y comunicarse con ellos, y su estabilidad significa que el código de servidor y de herramientas puede dejar de cargar envoltorios privados para ello.
Un punto más va dirigido a los equipos de cumplimiento y no a los desarrolladores de aplicaciones. La propuesta SE-0509 permite al gestor de paquetes generar una lista de materiales de software en formato SPDX o CycloneDX. Una lista de materiales es una relación legible por máquina de cada dependencia de una compilación, y los compradores regulados la piden cada vez más.
Qué significa esto para los desarrolladores
Empiece por defer. Busque en su código la limpieza que corre en una Task lanzada desde un bloque defer. Busque también estructuras do-catch que existen solo para ejecutar un cierre asíncrono en cada ruta de salida. Esos son los rodeos que SE-0493 jubila, y cada uno que elimine es una clase de error que deja de existir.
Después trate el cambio de Swift Build como una migración del sistema de compilación, porque eso es. Si tiene un paquete que se comportaba distinto en Linux que en macOS, recompílelo ahora y busque avisos que no haya visto antes. El motor cambió por debajo, y un cambio del valor predeterminado es justo cuando aflora una suposición silenciosamente específica de una plataforma.
Las incorporaciones de WebAssembly y Android son las que hay que archivar para después. Una mejora de 40x en el puente cambia lo que es razonable publicar en un navegador, pero solo si ya estaba a punto de intentarlo. El soporte de Android vía NDK 30 es igual: no es motivo para empezar una migración esta semana, pero sí el motivo de que ahora sea posible.
Por último, si alguien en su empresa ha pedido una lista de materiales, SE-0509 le da una gratis. Génerela una vez, compruebe que la lista de dependencias coincide con lo que cree que publica, y añádala a la canalización de lanzamiento. Es una tarde, y responde a una pregunta que de otro modo llega en forma de hoja de cálculo.
Fuentes
- Swift 6.4 Released - Swift.org
- Swift 6.4: What's New in Concurrency - SwiftLee
Artículos relacionados

iOS 27 llega con Xcode 27 y sin iPhone descartados
Apple publicó seis actualizaciones de plataforma el 14 de septiembre de 2026, promete arranques de apps hasta un 30% más rápidos, y el iPhone 11 sigue dentro.

Homebrew 7.0.0 deja de construir bottles para los Mac Intel
Homebrew 7.0.0 baja los Mac Intel al Tier 3. Allí brew install compila desde el código fuente, y el soporte termina en septiembre de 2027 o después.

Asahi Linux ya admite oficialmente los Mac de la serie M3
Asahi Linux ha incorporado el soporte de M3, M3 Pro y M3 Max a su instalador. El Wi-Fi, el USB 3 y la decodificación AV1 funcionan. La suspensión, el HDMI y el 3D rápido no.