Crystal 1.22.0 is a feature-and-fix release that tightens runtime behavior, improves tooling, and widens platform support. It ships pre-built packages and includes 251 changes from 33 contributors. Notable additions include constants with explicit type declarations, new compile-time string/number/range literal macros, and compiler flags exposed via Crystal::ALL_FLAGS and Crystal::USER_FLAGS. Platform work promoted aarch64-linux to Tier 1 and added initial aarch64-windows-msvc builds. LLVM 23 and 24 are supported, Kernel TLS in OpenSSL bindings is enabled by default, and package/distribution scripts were updated.
Several breaking changes and technical improvements target robustness and performance. Processes now exit on EPIPE when writing to stdout/stderr (emulating SIGPIPE) by default, with STDOUT.exit_on_broken_pipe = false to opt out; Process.fork has been removed. The DWARF parser was refactored for on-demand section scanning, a single index table, LRU-cached backtrace decoding, and DWARF 5 feature support, dramatically speeding lookups. All targets now use a native event loop (epoll/kqueue), making libevent optional. HTTP received many fixes and API corrections (request body/content-length behavior, header validation, transfer/encoding handling). Deprecations and build requirements (stage-0 1.14+) are noted for maintainers.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.