EXPLORINEER
ja

Hacker News

Crystal 1.22.0 リリース

ソフトウェア初登場 154ポイントコメント73件


プログラミング言語 Crystal の新しいバージョン 1.22.0 が出ました。書き込みエラーの扱いや、コードを作る仕組み(マクロ)、HTTP の機能などが変わりました。

何が起きたか

Crystal 1.22.0 が 2026 年 10 月 12 日に公開されました。画面やファイルへの出力が失敗したときに、プログラムがすぐ終わるようになりました。定数(変わらない値)に型を書けるようにもなりました。また、aarch64-linux という種類のコンピューター向けの対応が、最も重要なランクの Tier 1 に上がりました。

数字で見る今回のリリース

  • 前のバージョン 1.21.1 からの変更は 251 件です。
  • 33 人の貢献者がこの変更に関わりました。
  • LLVM 23 と LLVM 24 に対応しました。LLVM は、プログラムを機械が動かせる形に変える道具です。
  • aarch64-linux-gnu と aarch64-linux-musl の 2 つの対象が Tier 1 になりました。

今回の主な変更点

一番大きな変更は、STDOUT や STDERR への書き込みに失敗(EPIPE)したとき、Crystal がすぐに終わるようになったことです。以前はエラーを出していましたが、今はそのエラーメッセージが消えました。古い動きに戻したい場合は、STDOUT.exit_on_broken_pipe = false と書けます。また、古くから非推奨だった Process.fork は削除されました。さらに、DWARF(プログラムが失敗した場所を示す情報)の読み込みを作り直し、速く、メモリも使いにくくなりました。HTTP では、ヘッダーのマージ機能が増え、多くのバグも直されました。

なぜ大事か

Crystal を使う人は、プログラムの動きや速さ、対応する機械の種類を気にします。今回の変更で、エラー時の動きが分かりやすくなり、失敗の原因を調べる作業も速くなりました。ただし、Process.fork の削除や HTTP の一部変更は、既存のコードを直す必要があるかもしれない「破壊的変更」です。

これから注目したい点

  • 既存のプログラムが、新しい書き込みエラーの動きで問題を起こさないか。
  • Process.fork を使っていたプロジェクトが、どう移行するか。
  • aarch64-linux 向けの公式ビルドがさらに使われるか。

用語解説

Crystal
速く書けて読みやすい、プログラミング言語です。
DWARF
プログラムの中身とソースコードの場所を結びつける、デバッグ用の情報の形式です。
LLVM
プログラムを機械が実行できる形に変える、コンパイラの基盤になる道具です。
Tier 1
Crystal が最も強く対応を保証する、対象コンピューターのランクです。

出典: Hacker Newsで原文を読む ↗

この記事は原文をもとにAIがやさしい言葉で書き直した解説です。事実関係は原文をご確認ください。