Crystal 1.22.0 ya está disponible, con 251 cambios de 33 colaboradores desde la versión 1.21.1. Los paquetes precompilados se pueden encontrar en GitHub Releases y en los canales oficiales de distribución, con instrucciones de instalación en crystal-lang.org/install.
Un cambio destacado es que los procesos de Crystal ahora terminan de inmediato cuando la escritura en STDOUT o STDERR falla con EPIPE, de forma muy similar al comportamiento predeterminado de SIGPIPE. Los desarrolladores que prefieran el comportamiento anterior pueden desactivarlo con STDOUT.exit_on_broken_pipe = false. Las constantes también pueden llevar ahora declaraciones de tipo, de modo que una constante como QUX : Int64 = 123 se convierte en consecuencia.
En cuanto a plataformas, los objetivos aarch64-linux-gnu y aarch64-linux-musl pasan del Tier 2 al Tier 1, ya que las compilaciones oficiales están disponibles desde la 1.19. Process.fork, obsoleto desde antes de la 1.0, por fin ha sido eliminado. El analizador DWARF también se ha rediseñado para mejorar el rendimiento y reducir el uso de memoria, mediante el escaneo de secciones bajo demanda y una caché LRU para las líneas de trazas decodificadas.
La versión además incorpora un bucle de eventos nativo para todos los objetivos, con epoll en Solaris y kqueue en el resto de objetivos BSD, mientras que libevent pasa a ser estrictamente opcional. El soporte de Kernel TLS en los enlaces de OpenSSL ya está activado por defecto, e incluye numerosas correcciones y mejoras de HTTP.
Fuente: Hacker News · Resumido por HeadlinesBriefing