ruby-trunk-changes 2026-07-02

今日は主に拡張ライブラリ psych のバックエンドに libfyaml の利用をサポートする機能追加や拡張ライブラリ json の JSON.generate のオプションに :sort_keys を追加する機能追加などがありました。

[a6d673a284] Takashi Kokubun 2026-07-01 16:59:27 UTC

ZJIT の Rust 製テストにシグナルハンドラ内から rb_profile_frames を呼ぶテストを追加しています。 https://github.com/ruby/ruby/pull/17194

[8e6fd8fed4] Koichi Sasada 2024-11-29 19:13:04 UTC

hash.c の do { ... } while(0) というループによりブロックを導入する古い C のお作法が中で continue を呼んだ時にリトライしないので while(1){ ...; break } を使うように変更しています。なるほどーこれは盲点。

[cd54d0f926] Koichi Sasada 2026-06-29 12:35:37 UTC

GC.stat のテストがたまに失敗していたのを GC を無効化して実行するように対策しています。

[9eda32ccae] Hiroshi SHIBATA 2026-07-01 20:40:05 UTC

bundler のテストで既に不要になっていた Windows での skip を削除しています。

[ece7e736cb] Hiroshi SHIBATA 2026-07-01 10:42:21 UTC

bundler で Windows 環境での改行コードの違いで lockfile が書き変わってしまっていた不具合の修正。

[e91f477e21] Hiroshi SHIBATA 2026-07-01 20:41:11 UTC

9eda32ccaed33be3067d53b77f16b507e67e91a6 での bundler の修正の再修正。ファイルを読み込む前に権限チェックするヘルパーメソッドを追加しています。

[f9b67f4822] BurdetteLamar 2026-06-30 23:19:04 UTC

Pathname#parent の rdoc 用コメントを追加しています。

[0ea1e09c6d] Hiroshi SHIBATA 2026-07-01 12:25:04 UTC

bundler の Bundler::DSLError#to_s が行番号を ":" で分割して取得していたのがファイルパスにドライブレターが含まれると誤動作して Windows で失敗していたのを行番号の切り出しロジックを修正して対応しています。

[1424fe4e00] Augustin Gottlieb 2026-07-01 23:07:29 UTC

String#insert のテストにテストケースを追加しています。

[815692018c] Hiroshi SHIBATA 2026-07-02 00:09:43 UTC

make testl-all のテスト群でもう不要になっていた Windows 環境での skip を削除しています。

[1dc4cb798a] Hiroshi SHIBATA 2026-07-02 01:07:04 UTC

Ruby::Box のテストでタイムアウトしていたものを assert_separately のタイムアウトを追加して延長しています。

[ce089a3de1] Hiroshi SHIBATA 2026-06-30 21:48:28 UTC

拡張ライブラリ psych で configure 時の --enable-libfyaml を受け付けて libfyaml という外部ライブラリを利用するバージョンの実装を追加しています。

[4e225df5ed] Hiroshi SHIBATA 2026-06-30 22:00:30 UTC

ce089a3de1953ee8f2cf730f68dc72dd7cec3a3b からの拡張ライブラリ psych の libfyaml 対応の続きで YAML の yes, no, on, off などの boolean にする扱いについて利用するライブラリによって(YAML 1.1 か 1.2 かで)扱いを変えるようにしています。悪名高い yes, no, on, off を真偽値にするのは YAML 1.2 からは廃止されてるんですね。

[0a66bb8735] Hiroshi SHIBATA 2026-06-30 22:22:24 UTC

ce089a3de1953ee8f2cf730f68dc72dd7cec3a3b からの拡張ライブラリ psych の libfyaml 対応の続きで parse ごとに内部的な parser を使いまわさずに作りなおすようにして libfyaml 利用時の? 不具合修正しています。

[7a912af002] Hiroshi SHIBATA 2026-06-30 22:28:14 UTC

ce089a3de1953ee8f2cf730f68dc72dd7cec3a3b からの拡張ライブラリ psych の libfyaml 対応の続きで libfyaml 利用時のタグの扱いの不具合修正。

[e88db7ea80] Hiroshi SHIBATA 2026-06-30 23:05:12 UTC

ce089a3de1953ee8f2cf730f68dc72dd7cec3a3b からの拡張ライブラリ psych の libfyaml 対応の続きで、外部 Encoding が UTF-16 の時に UTF-8 に変換してから libfyaml に渡すようにしています。

[49681874e0] Hiroshi SHIBATA 2026-07-01 00:02:34 UTC

ce089a3de1953ee8f2cf730f68dc72dd7cec3a3b からの拡張ライブラリ psych の libfyaml 対応の続きで一時バッファの例外発生時の解放漏れを修正しています。

[71c888d1a7] Hiroshi SHIBATA 2026-07-01 00:45:45 UTC

ce089a3de1953ee8f2cf730f68dc72dd7cec3a3b からの拡張ライブラリ psych の libfyaml 対応の続きで psych のテストに libfyaml 利用時に挙動が変化する箇所で skip したり分岐してチェック内容を変えたりしています。

[f230671ca0] Hiroshi SHIBATA 2026-07-01 00:59:18 UTC

ce089a3de1953ee8f2cf730f68dc72dd7cec3a3b からの拡張ライブラリ psych の libfyaml 対応の続きで RB_GC_GUARD() を複数追加してコンパイラによる最適化で GC mark 漏れを起こす不具合の対策をしています。

[a02377fee8] Hiroshi SHIBATA 2026-07-01 01:28:29 UTC

ce089a3de1953ee8f2cf730f68dc72dd7cec3a3b からの拡張ライブラリ psych の libfyaml 対応の続きで psych のテストに libfyaml 利用時のみの独自のテストも追加しています。

[82ab14ecb0] Hiroshi SHIBATA 2026-07-01 02:20:50 UTC

ce089a3de1953ee8f2cf730f68dc72dd7cec3a3b からの拡張ライブラリ psych の libfyaml 対応の続き。 Copilot によるレビュー反映とのことでこまごましたコメント追加や不具合修正。

[5ef8b6ef81] Hiroshi SHIBATA 2026-07-01 03:05:57 UTC

ce089a3de1953ee8f2cf730f68dc72dd7cec3a3b からの拡張ライブラリ psych の libfyaml 対応の続きで libfyaml の最低サポートバージョンを 0.9 に指定しています。

[988fbe038f] Nobuyoshi Nakada 2026-06-18 00:47:02 UTC

静的リンク拡張ライブラリのビルド周りで、EXTSTATIC のチェックを PRE_LIBRUBY_UPDATE に移動しています。

[172bdf5881] Nobuyoshi Nakada 2026-06-18 01:30:52 UTC

988fbe038ff9ff4940241e02c82bae3ce2ec2f44 からの続き? で $(LIBRUBY_SO_UPDATE) への依存関係の記述を common.mk に移動しています。

[d39d807211] Jun Aruga 2026-06-23 15:06:33 UTC

bundler で Bundler::Fetcher#connection が OpenSSL::PKey::RSA.new をハードコードしていて ML-DSA のクライアント証明書に対応できなかったのを修正しています。

[c1134f871f] Jun Aruga 2026-06-29 13:43:39 UTC

bundler のテストで Artifice.deactivate が Gem::Net::HTTP を一時的に上書きしているのを元に戻せてなかったのを修正しています。

[b44dae0627] Jun Aruga 2026-06-29 17:40:11 UTC

bundler のテストで require "support/artifice/compact_index" は 2 回目の呼び出しでファイルが読み込まれず不十分だったため、Artifice を明示的に有効化して parallel_installer_spec のホスト到達失敗を修正。

[e021de15af] Nobuyoshi Nakada 2026-07-01 10:19:56 UTC

array.c の ArithmeticSequence を作る実装のリファクタリング。 step を先にチェックすることで step が 0 の時の不要なチェックを飛ばせるようにしているみたいです。

[8e801930eb] Burdette Lamar 2026-07-02 04:18:18 UTC

Pathname#opendir の rdoc 用コメントを追加しています。

[cfb1a23188] Peter Zhu 2026-06-30 01:44:12 UTC

shape.c の rb_shape_get_root_shape() という関数を static 関数にしています。

[439c06b479] Sampo Kuokkanen 2026-07-02 04:26:34 UTC

Symbol#empty? メソッドを ruby 実装にして ZJIT の型アノテーションを追加することで最適化されるようにしているようです。 https://github.com/ruby/ruby/pull/17464

[89a5a0a1de] Peter Zhu 2026-07-02 04:45:02 UTC

拡張ライブラリ psych の depend ファイルを更新しています。

[99ae28f4c0] Max Bernstein 2026-06-26 13:30:58 UTC

ZJIT の Rust 実装の大規模なリファクタリング。

[45aef90cd1] Max Bernstein 2026-06-26 14:33:18 UTC

ZJIT の中間表現 HIR の命令 InvokeBuiltin のリファクタリング。

[284ddba734] Max Bernstein 2026-06-26 14:33:51 UTC

ZJIT の直近のリファクタリングで不要になった処理の削除。

[80ca0b52ef] Max Bernstein 2026-06-26 14:52:39 UTC

ZJIT の Rust 実装でヘルパーメソッドを導入するリファクタリング。

[33e58bca4d] Max Bernstein 2026-07-02 04:05:14 UTC

ZJIT の Rust 実装のコメントの修正。

[266f1f246e] Burdette Lamar 2026-07-02 06:52:05 UTC

Set#compare_by_identity, Set#compare_by_identity? の rdoc 用コメントを追加しています。

[426899ea64] Burdette Lamar 2026-07-02 06:52:49 UTC

Set#select! の rdoc 用コメントの手直し。

[e4a403ebd7] Burdette Lamar 2026-07-02 06:55:14 UTC

Set#subset? の rdoc 用コメントの追加。

[722e44f68e] Burdette Lamar 2026-07-02 06:56:20 UTC

Set#substract の rdoc 用コメントのサンプルコードとリンクの追記。

[22f006cd89] Burdette Lamar 2026-07-02 06:56:57 UTC

Set#superset? の rdoc 用コメントのサンプルコードとリンクの追記。

[961ca26e6f] Burdette Lamar 2026-07-02 06:57:33 UTC

Set#to_a の rdoc 用コメントの手直し。

[03d8b94e8f] Koichi Sasada 2026-06-16 16:27:35 UTC

rubyspec の拡張ライブラリ socket のテストでチェック方法の問題で IPv4 と IPv6 のアドレス不一致でたまに失敗する flasky なテストを修正しています。

[3e0e54244d] Hiroshi SHIBATA 2026-07-02 08:40:21 UTC

Ractor のテストで Windows でタイムアウトしてしまうテストの skip 追加。 https://github.com/ruby/ruby/pull/17625

[7c69f93d53] Scott Myron 2026-06-25 02:29:24 UTC

拡張ライブラリ json の JSON.generate のオプションに :sort_keys というのを追加してエンコード時に key を指定の Proc による評価値を基準にしてソートする機能を追加しています。