El lenguaje de programación Zig ha incorporado soporte experimental para sistemas avanzados de I/O asíncrono, específicamente implementaciones para io_uring y Grand Central Dispatch (GCD), según un reporte de desarrollo publicado el 13 de febrero de 2026 en ziglang.org. El desarrollador Andrew Kelley señaló que estas adiciones a `std.Io.Evented` se basan en la técnica de cambio de pila en el espacio de usuario, comúnmente conocida como corrutinas o hilos verdes.
Ambas implementaciones están disponibles para pruebas, permitiendo a los desarrolladores intercambiar fácilmente las abstracciones de I/O en sus aplicaciones, como se demostró con un ejemplo de impresión en consola. Esta capacidad de intercambiar implementaciones de I/O sin modificar el código de la aplicación principal es un paso significativo hacia la meta de portabilidad y abstracción en Zig.
No obstante, Kelley advierte que estas características se consideran experimentales debido a varios problemas pendientes que necesitan solución. Entre las tareas pendientes se incluyen mejorar el manejo de errores, diagnosticar una degradación de rendimiento inesperada al usar `IoMode.evented` con el compilador, y añadir cobertura de pruebas.
Además, se necesita incluir una función incorporada que revele el tamaño máximo de pila requerido para una función específica. Esto es crucial para asegurar que estas implementaciones basadas en pilas sean prácticas en entornos donde la sobreasignación (overcommit) del sistema está desactivada.
En un desarrollo complementario enfocado en la gestión de dependencias, el 6 de febrero se introdujeron dos mejoras significativas en el flujo de trabajo de paquetes. Los paquetes obtenidos por el gestor ahora se almacenan localmente en un directorio `zig-pkg` dentro de la raíz del proyecto, junto al archivo `build.zig`.
Esta estructura local facilita la creación de tarballs de código fuente autocontenidos, útiles para compilaciones sin conexión o para propósitos de archivo, ya que incluyen todas las dependencias necesarias. Una copia de cada dependencia también se cachea globalmente en `~/.cache/zig/p/` después de filtrar archivos no utilizados y reempaquetar los datos.
Estos cambios buscan facilitar la experimentación directa con las dependencias, permitiendo a los desarrolladores modificar archivos fuente directamente o configurar herramientas de desarrollo, como IDEs, para que utilicen el directorio `zig-pkg` para autocompletado y análisis.