HeadlinesBriefing HeadlinesBriefing.com

Crystal 1.22.0 Released: Key Changes

Hacker News •
×

Crystal 1.22.0 is now available, bringing 251 changes from 33 contributors since version 1.21.1. Pre-built packages can be found on GitHub Releases and the official distribution channels, with installation instructions at crystal-lang.org/install.

A notable change is that Crystal processes now exit immediately when writing to STDOUT or STDERR fails with EPIPE, closely resembling the default SIGPIPE behaviour. Developers who prefer the previous behaviour can opt out with STDOUT.exit_on_broken_pipe = false. Constants can now also carry type declarations, so a constant such as QUX : Int64 = 123 is cast accordingly.

On the platform side, the aarch64-linux-gnu and aarch64-linux-musl targets move from Tier 2 to Tier 1, since official builds have been available since 1.19. Process.fork, deprecated since before 1.0, has finally been removed. The DWARF parser was also revamped to improve performance and reduce memory usage, using on-demand section scanning and an LRU cache for decoded backtrace lines.

The release further brings a native event loop to all targets, with epoll on Solaris and kqueue on the remaining BSD targets, while libevent becomes strictly opt-in. Kernel TLS support in the OpenSSL bindings is now enabled by default, and numerous HTTP fixes and improvements are included.

Source: Hacker News · Summarized by HeadlinesBriefing