ruby-trunk-changes 2026-06-02

今日は主に bundler の cooldown 機能の追加や rubygems の依存関係解決に使うライブラリの molinillo から pubgrub への変更とそれにまつわる修正などがありました。

[344b5eaa67] Peter Zhu 2026-06-01 06:15:09 UTC

GC の rb_gc_modular_gc_loaded_p() という関数の定義自体を modGC を有効にしてビルドした時だけ定義するようにしています。

[607df5d706] Andrii Konchyn 2026-06-01 14:24:14 UTC

spec/ruby に upstream から最新版をマージしています。

[9e8ad9ac04] kai-matsudate 2026-05-31 14:12:28 UTC

prism で if や unless の条件部に後置 if/unless を持つような式を書くのを SyntaxError にしています。

[c49e778a80] kai-matsudate 2026-06-01 17:12:31 UTC

prism の C ソースコードの参照する定数を変更するリファクタリング。

[cc2547595e] Kunshan Wang 2026-06-01 07:11:05 UTC

DTrace 利用時の GC の default 実装での incremental marking の mark イベントが捕捉できるように修正しています。

[c4d09f416c] Aaron Patterson 2026-06-01 19:30:58 UTC

先日一度入れて revert された shape_id_t のビットレイアウトを変更して Object Shapes の変数テーブルを参照する方法の種類を 2bit で埋め込む変更を再適用しています。

[9c62016982] B6 2026-06-01 19:55:37 UTC

ZJIT で四則演算のメソッドで引数が定数の時の定数展開する最適化。 https://github.com/ruby/ruby/pull/17131

[3a5a46f8ad] Alan Wu 2026-05-29 22:39:02 UTC

SIGABRT ハンドラ内で SIGABRT を再送した時の無限再帰しないように処理前に default のハンドラにリセットしておくようにしています。

[e8b8c4e798] Hiroshi SHIBATA 2026-06-01 11:45:21 UTC

bundler のテストのヘルパーで compact_index.gem をダウンロードする時に書き込み途中のファイルが見えないように一時ファイルに書き出してから rename(2) するようにしています。

[ad14452e3b] Alan Wu 2026-05-29 23:23:18 UTC

array.c の rb_jit_ary_at_end() に Doxygen 用? のコメントを追記しています。

[72e8162897] Hiroshi SHIBATA 2026-06-01 11:58:44 UTC

bundler のテストのヘルパーでコマンドの出力を force_encoding する前に dup して破壊的変更を避けるようにしています。

[1ca25b81ab] Hiroshi SHIBATA 2026-06-01 21:46:14 UTC

bundler の git コマンド実行する処理で git の gc 処理が走らないように gc.auto=0 と maintenance.auto=false の設定をしておくようにしています。

[cabe750b80] Hiroshi SHIBATA 2026-06-01 21:46:23 UTC

rubygems のテストの WebAuthn のテストで並列テスト時の race condition 回避の修正。

[770ccaa6fb] Hiroshi SHIBATA 2026-06-01 23:19:07 UTC

拡張ライブラリ psych の IO#read が引数で指定した byte 数を越えて読み込んだ時のバッファオーバーラン修正。

[14bc2930e1] Hiroshi SHIBATA 2026-06-02 00:55:25 UTC

拡張ライブラリ psych で IO#read が指定したサイズを越えた文字列を返した時に切り詰める処理で文字境界を意識するようにしています。

[aecfd0ae5b] Nobuyoshi Nakada 2026-06-02 00:20:53 UTC

random.c の Windows 版での解放処理を finalizer に任せてたのを rb_set_end_proc() を使ってプロセス終了時に実行させるようにしています。

[e21a4b0174] Nobuyoshi Nakada 2026-06-02 01:31:47 UTC

aecfd0ae5be6f39482a88204b986e1b58ebf8448 の追加修正で random.c の Windows 版での一度に乱数生成するバイト数の上限を小さくしています。

[4f6b9d80fb] Earlopain 2026-05-23 10:01:17 UTC

TrueClass#& メソッドの rdoc 用コメントのインデント修正。

[f41fa0404e] Hiroshi SHIBATA 2026-05-28 03:59:08 UTC

rubygems で compact_index の依存関係の記述に created_at が含まれている時の時刻の ":" を String#split で分割してしまわないように分割数の指定を追加しています。

[2c57ae9e7f] Hiroshi SHIBATA 2026-05-28 03:59:16 UTC

ここから bundler に cooldown 機能を実装するための変更が続くようです。 EndpointSpecification に created_at 属性を追加。

[0713f355d1] Hiroshi SHIBATA 2026-05-28 04:10:31 UTC

bundler の設定の cooldown を整数キーとして認識させるように対応。

[63fa701940] Hiroshi SHIBATA 2026-05-28 04:10:39 UTC

bundler で Gemfile DSL の source ..., cooldown: N 対応と CLI > config > Gemfile の優先順位で参照。

[64dddf9073] Hiroshi SHIBATA 2026-05-28 04:10:47 UTC

bundler の bundle install/update/add/outdated に --cooldown フラグ追加。

[05008e2a01] Hiroshi SHIBATA 2026-05-28 04:18:45 UTC

bundler の cooldown 期間内バージョンを resolver でフィルタしエラー時に --cooldown 0 を示唆するメッセージを出力。

[fbae6ac3e0] Hiroshi SHIBATA 2026-05-28 04:30:56 UTC

bundler の bundle outdated 出力に cooldown 中であることをメッセージに出力。

[bfa762d142] Hiroshi SHIBATA 2026-05-29 02:59:15 UTC

bundler の man ページを更新して cooldown のオプションや設定について追記。

[249b2b3710] Hiroshi SHIBATA 2026-05-28 04:31:05 UTC

bundler の compact index v2 用 artifice 追加と cooldown 機能の E2E テスト追加。

[5e7d68f99e] Hiroshi SHIBATA 2026-05-29 07:37:50 UTC

bundler の --cooldown オプションに負の数を渡した時のエラー処理。

[325228e2b8] Hiroshi SHIBATA 2026-05-29 07:38:03 UTC

bundler のテストに cooldown 関係のテストを追加。

[056ae1f926] FletcherDares 2026-06-02 04:45:55 UTC

string.c の search_nonascii() で先頭の文字がすでに non-ASCII 文字だった時に即座に return するショートカットを追加。benchmark も追加しています。 https://github.com/ruby/ruby/pull/17166

[85005f9d37] Burdette Lamar 2026-06-02 05:17:23 UTC

標準添付ライブラリ find の rdoc 用コメントの手直し。 https://github.com/ruby/find/pull/24

[a078e6bac2] Peter Zhu 2026-06-01 12:11:59 UTC

GC の重複した #include の削除。

[a4031fcacb] Hiroshi SHIBATA 2026-06-02 06:11:19 UTC

拡張ライブラリ psych のバージョンを 5.4.0 に更新しています。

[24e0c32119] git 2026-06-02 06:13:00 UTC

NEWS の default gems のバージョンリストに psych の項目を追記しています。

[abef26e062] Hiroshi SHIBATA 2026-06-02 06:01:47 UTC

bundler の compact index の created_at の parse を Time.iso8601 から Time.new に変更して require "time" をなくしています。 Time.new って ISO-8601 形式の文字列受け付けるんだ。

[1ee42d290d] Hiroshi SHIBATA 2026-06-02 05:45:46 UTC

bundler の cooldown 設定をローカルにインストールした gem についても適用するようにしているようです。

[4af3a57bb6] Hiroshi SHIBATA 2026-06-02 06:30:51 UTC

bundler の cooldown のローカル gem への適用の最適化リファクタリング。

[3220428912] Hiroshi SHIBATA 2026-06-02 06:49:36 UTC

GitHub Actions の tarball パッケージのテストを行う workflow のコマント実行の YAML 記述法の変更。これって内容も変化あるのかな?

[220f66a33e] Hiroshi SHIBATA 2026-06-02 06:50:06 UTC

GitHub Actions の tarball パッケージテスト用 workflow でホームディレクトリの記録処理でファイルパスの絶対パス化。

[6da78caea7] Matt Larraz 2026-03-16 22:14:29 UTC

rubygems の vendoring している依存関係解決の gem を molinillo から pubgrub に変更しています。

[456a2dbdd3] Matt Larraz 2026-03-16 23:26:47 UTC

rubygems で pubgrub の導入にあわせてロックファイルが "a (>= 1)" 等の制約を保持できるよう ActivationRequest に元の requirement を渡すようにしています。

[600240d685] Colby Swandale 2026-04-12 02:15:08 UTC

rubygems の exec コマンドでも Gem::DependencyResolutionError を捕捉するようにしています。

[1429829945] Colby Swandale 2026-04-12 02:33:55 UTC

rubygems の pubgrub 対応の続き。不要な wrapper クラスを削除してシンプルにリファクタリングしています。

[f07eabd6c7] Colby Swandale 2026-04-12 02:42:29 UTC

rubygems のテストの追加。

[b1b53a2ff5] Colby Swandale 2026-04-12 02:51:33 UTC

rubygems の molinillo 関連のコードが残っていたものを削除。

[c131a631f0] Colby Swandale 2026-04-12 03:46:09 UTC

rubygems のテストの pubgrub 対応。

[c6682793b2] Colby Swandale 2026-04-12 04:31:29 UTC

rubygems の pubgrub 導入による prerelease の判定の不具合修正。

[87607bf6b5] Colby Swandale 2026-04-12 06:39:13 UTC

rubygems の不要になった? 処理の削除。

[270f7de108] Colby Swandale 2026-04-12 06:50:25 UTC

rubygems の不要になったメソッド定義の削除。

[c7fc867b7a] Colby Swandale 2026-04-12 23:13:43 UTC

rubygems に RootPackage というクラスを導入して依存関係解決のエラー時のメッセージを以前のものにそろえるように? しています。

[91ee03fd63] Colby Swandale 2026-04-12 23:41:28 UTC

rubygems の依存関係解決時の platform と ruby バージョンについての制約のエラーメッセージを拡張しています。

[56a402c0af] Colby Swandale 2026-04-12 23:50:18 UTC

rubygems の依存関係解決のエラー時メッセージの強化。

[c7d6a21f5b] Colby Swandale 2026-04-13 00:37:56 UTC

rubygems に導入した依存関係解決のエンジン PubGrub の最適化。

[f609e7e60a] Colby Swandale 2026-04-13 01:12:19 UTC

rubygems の依存関係解決で自分自身に依存している循環参照をスキップするように対応しています。

[6b3ae73f18] Colby Swandale 2026-04-13 01:18:47 UTC

rubygems の依存関係解決の pubgrub 対応の続き。

[a687a6b954] Colby Swandale 2026-04-13 01:27:20 UTC

rubygems の依存関係解決の development dependency 対応。

[43128a8277] Colby Swandale 2026-04-13 01:40:13 UTC

rubygems の依存関係解決の pubgrub 対応の? 続き。

[d6a233c5d3] Colby Swandale 2026-04-13 01:44:38 UTC

rubygems の依存関係解決のエラー時のメッセージの強化。

[ffde879a64] Colby Swandale 2026-04-13 02:01:02 UTC

rubygems の依存関係解決のエラーメッセージの強化。

[488ac14e0e] Colby Swandale 2026-04-13 02:29:11 UTC

rubygems の gem install --force オプション指定時に条件を満たせないバージョン制約について無視するようにしています。

[759acb7793] Colby Swandale 2026-04-20 06:27:30 UTC

rubygems の依存関係解決の prerelease 対応の不具合修正。

[a56f5b4635] Colby Swandale 2026-04-20 14:56:35 UTC

rubygems の依存関係解決の prerelease 対応の不具合修正続き。

[d9fb42701a] Colby Swandale 2026-04-20 15:29:58 UTC

rubygems の依存関係解決の性能改善。

[df20297a3e] Colby Swandale 2026-05-26 06:19:21 UTC

rubygems の 依存関係解決の性能最適化の変更。

[1a39445013] Colby Swandale 2026-06-02 03:50:48 UTC

rubygems の依存関係解決処理の不具合修正。

[156935faa9] Colby Swandale 2026-06-02 04:09:46 UTC

rubygems の依存関係解決の消し忘れのコード削除。

[f7932a5318] Colby Swandale 2026-06-02 05:16:43 UTC

rubygems の依存関係解決で同一 version の複数の source があった時に宣言が早かったほうを優先するように bundler の仕様に合わせています。

[5e3e2a4047] Colby Swandale 2026-06-02 07:12:08 UTC

rubygems の依存関係解決の処理についてコメントを強化しています。

[f916141a2d] Peter Zhu 2026-06-02 06:52:47 UTC

Struct の rdoc 用コメント群でサンプル内の Hash#inspect の表示を Symbol キーの表示の変更に追随させています。