Crystal 1.22.0 released with pipe-error change and typed constants
The Crystal language team shipped version 1.22.0, which includes 251 changes from 33 contributors since the 1.21.1 release. Notable updates include a breaking change that makes processes exit immediately on EPIPE write failures, support for type declarations on constants, promotion of aarch64-linux targets to Tier 1 support, removal of the long-deprecated Process.fork, and several new compile-time macros.
GoKawiil's interpretation of the reporting above, not reported fact.
The EPIPE behavior change could affect existing scripts and tools that rely on catching IO::Error when writing to broken pipes, though developers can opt out of the new default. The Tier 1 promotion for aarch64-linux suggests growing commitment to ARM-based Linux systems, which could matter for deployments on newer server and edge hardware.
- Crystal 1.22.0 changes default behavior so processes exit on EPIPE write failures instead of raising IO::Error
- Constants can now have explicit type declarations, including autocasting of literal values
- aarch64-linux-gnu and aarch64-linux-musl have been promoted to Tier 1 support status
Source: crystal-lang.org — Johannes Müller, 2026-10-22
Published there as: “Crystal 1.22.0 Is Released”
Read the original report → The summary and analysis above are GoKawiil's own, written from reporting by the source above. Facts and quotes belong to the original publisher.