HeadlinesBriefing HeadlinesBriefing.com

Crystal 1.22.0 リリース:主な変更点

Hacker News •
×

Crystal 1.22.0 が公開されました。バージョン 1.21.1 以降、33 名の貢献者による 251 件の変更が含まれています。ビルド済みパッケージは GitHub Releases および公式の配布チャネルで入手でき、インストール手順は crystal-lang.org/install にあります。

注目すべき変更点の一つは、STDOUT または STDERR への書き込みが EPIPE で失敗した場合、Crystal のプロセスがすぐに終了するようになったことです。これはデフォルトの SIGPIPE の動作によく似ています。従来の動作を希望する開発者は、STDOUT.exit_on_broken_pipe = false を設定することで無効にできます。また、定数に型宣言を付けられるようになりました。例えば QUX : Int64 = 123 のような定数は、それに応じてキャストされます。

プラットフォーム面では、aarch64-linux-gnu と aarch64-linux-musl のターゲットが Tier 2 から Tier 1 に引き上げられました。1.19 以降、公式ビルドが提供されているためです。1.0 以前から非推奨となっていた Process.fork もついに削除されました。DWARF パーサーも刷新され、オンデマンドのセクションスキャンとデコード済みのバックトレース行を格納する LRU キャッシュを用いて、性能向上とメモリ使用量の削減が図られています。

このリリースでは、すべてのターゲットにネイティブイベントループも導入されました。Solaris では epoll、その他の BSD ターゲットでは kqueue が使用され、libevent は厳密にオプトインとなります。OpenSSL バインディングのカーネル TLS サポートはデフォルトで有効になり、数多くの HTTP の修正と改善も含まれています。

出典: Hacker News · 要約:HeadlinesBriefing