ruby-trunk-changes 2025-10-31

今日は各種 default gems になっている標準添付ライブラリ/拡張ライブラリのバージョン更新や正規表現エンジン Onigmo の upstream から不具合修正や最適化を取り込む変更、M:N Thread でのパフォーマンス改善などがありました。

[a88c5558fe] Nobuyoshi Nakada 2025-10-30 12:28:09 UTC

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

[f6c2a63845] Nobuyoshi Nakada 2025-10-30 12:34:46 UTC

GitHub Actions の C のソースコードに非 ASCII 文字が含まれてないかチェックするジョブで vendoring されているファイルを除外するため vendor/ というディレクトリの下は走査しないようにしています。

[d5fbff50c7] Nobuyoshi Nakada 2025-10-30 12:47:12 UTC

LEGAL ファイルに 3ca4321680faea98b30fb41d5b18c21b74e1261c で拡張ライブラリ json に vendoring された ryu float parser のライセンスについて追記しています。

[99382f7461] Earlopain 2025-10-27 10:24:45 UTC

prism 利用時に単項演算子メソッドを "." を使って呼ぶ記法がうまく parse できていなかった不具合を修正しています。そういえばこういうことできたな。 https://github.com/ruby/prism/pull/2213

[8e7d427a72] Kevin Newton 2025-10-26 20:16:41 UTC

prism の等号記号のノードに位置情報を持たせる修正。

[244a37bd53] Andre Muta 2025-10-24 18:04:04 UTC

Ractor 内の Kernel#eval で Ractor の外のスコープの変数を参照した時に SyntaxError になるべきなのになっていなかった不具合を修正しています。 [ruby-core:122883] [Bug #21522]

[481f994449] Nobuyoshi Nakada 2025-10-30 10:54:31 UTC

rubyspec のテストで Kernel#open などに先頭が "|" ではじまる文字列を渡してコマンドを起動する記法をテストしているところを 4.0 以前でのみ実施するように version guard を追加しています。 [ruby-core:113407] [Feature #19630]

[57f76f62d5] Max Bernstein 2025-10-30 17:30:08 UTC

ZJIT の型推論の不具合の workaround で Kernel#class メソッドが返す型を Class と指定していたのを一時的に? やめています。 https://github.com/ruby/ruby/pull/15001

[9b1894690f] Takashi Kokubun 2025-10-30 17:44:35 UTC

.github/workflows/zjit-ubuntu.yml の空行削除。

[6707945f0c] Max Bernstein 2025-10-30 19:15:09 UTC

ZJIT の統計情報の出力に最適化されなかったメソッド呼び出しをそのメソッド定義の種類別のカウントを行うようにしています。 https://github.com/ruby/ruby/pull/15002

[0531fa4d6f] Andre Muta 2025-10-30 03:55:40 UTC

M:N Thread 利用時に処理待ちのイベントを登録した時に timer thread を wakeup するのに pipe にトークンを送信して強制的に起こすようにしています。 M:N Thread 利用時のパフォーマンス劣化があったっぽいです。

[34b0ac68b3] Aiden Fox Ivey 2025-10-30 20:47:22 UTC

ZJIT で splat 引数を使ったメソッド呼び出しで side-exit が発生するのを避けるため最初からあきらめて通常のメソッド呼び出し機構を使うようにしているようです。 https://github.com/ruby/ruby/pull/15005

[2afcdc6902] Luke Gruber 2025-10-30 21:14:36 UTC

内部的に利用している concurrent_set 構造体の要素挿入時に拡張を行うかどうかのしきいちを引き上げています。最適化のためですかね。 https://github.com/ruby/ruby/pull/15007

[68dd1abdec] Takashi Kokubun 2025-10-30 22:02:05 UTC

GitHub Actions の ZJIT 有効化する workflow でベンチマーク実行のジョブを追加しています。 https://github.com/ruby/ruby/pull/15003

[5b71b103b6] Alan Wu 2025-10-29 01:23:02 UTC

ZJIT の統計情報でメソッドの最適化されない理由の分類をさらに細かく? 強化しているようです。

[69ec1481e0] Alan Wu 2025-10-29 01:53:16 UTC

同じく ZJIT の統計情報でメソッド呼び出しが最適化されない理由を呼び出し方に起因する理由で詳しく出力するようにしているようです。

[c54faf29d3] Takashi Kokubun 2025-10-30 22:20:27 UTC

GitHub Actions のリリース作業用の workflow で Docker イメージのビルドの GitHub Actions を起動するためのステップで呼び出す workflow の指定をパスでより明確にするようにしています。リポジトリだけ指定して起動することもできるんですね。

[0268c86b22] Max Bernstein 2025-10-30 20:15:10 UTC

ZJIT で Struct の属性を参照するメソッドの呼び出しをインライン化する最適化を実装しています。

[f8b4feb7f0] Max Bernstein 2025-10-30 20:46:30 UTC

ZJIT でインスタンス変数の参照に 0268c86b22385c354e063d19c753065ca09c9180 の最適化で追加した中間表現 HIR の LoadField という命令を利用するようにリファクタリングしています。

[a4c3361587] Peter Zhu 2025-10-29 00:29:50 UTC

GC の mmtk 実装のための Cargo.toml と Cargo.lock を更新して mmtk-core のバージョンを新しくしています。

[94e6d76714] Hiroshi SHIBATA 2025-10-31 00:13:46 UTC

標準添付ライブラリ English のバージョンを 0.8.1 に更新しています。

[17e95cb471] git 2025-10-31 00:15:20 UTC

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

[2486e771b6] Hiroshi SHIBATA 2025-10-31 00:50:33 UTC

tool/sync_default_gems.rb の --help のメッセージに書かれてなかった使いかたを追記しています。

[240962dffa] Hiroshi SHIBATA 2025-10-31 01:27:22 UTC

標準添付ライブラリ uri の VERSION 定数と VERSION_CODE 定数の指定のしかたを変更しています。元は VERSION_CODE を代入してここから VERSION を構築していましたが逆に VERISON を代入してそこから VERSION_CODE を整形するようにしています。

[08e822ba79] vivshaw 2025-06-19 02:10:24 UTC

標準添付ライブラリ uri の rdoc 用コメントの手直し。

[1dce0ae55a] "yuuji.yaginuma" 2025-04-13 22:55:39 UTC

標準添付ライブラリ uriURI::DEFAULT_PARSER という定数を参照するのをやめて URI.parser= で parser を入れ替えた時に URI::PARSER 定数を設定しなおしてこの定数を参照するようにしています。これ multi thread で remove_const して const_set する瞬間にエラーになるタイミングができたりしないかな。

[f0993de1c2] sodacris 2024-11-12 01:03:08 UTC

標準添付ライブラリ uri の例外メッセージの改善。

[d2ffab11ce] Hiroshi SHIBATA 2025-10-31 01:47:40 UTC

標準添付ライブラリ uri のバージョンを 1.1.0 に更新しています。

[78966ae667] git 2025-10-31 01:50:29 UTC

NEWS の default gems のバージョンリストの uri のバージョンを更新しています。

[8b1fd559b8] Hiroshi SHIBATA 2025-10-31 02:27:05 UTC

標準添付ライブラリ net/http のバージョンを 0.7.0 に更新しています。

[5b2707f39b] git 2025-10-31 02:30:05 UTC

NEWS の default gems のバージョンリストの net-http のバージョンを更新しています。

[2eae704938] Hiroshi SHIBATA 2025-10-31 03:05:15 UTC

標準添付ライブラリ optparse のバージョンを保持する定数名を他とそろうように OptionParser::VERSION に変更しています。古い名前も互換性のために残しています。

[9facc6e960] Hiroshi SHIBATA 2025-10-31 03:20:46 UTC

標準添付ライブラリ optparse のバージョンを 0.7.0 に更新しています。

[5fbc0bcf5f] git 2025-10-31 03:22:55 UTC

NEWS の default gems のバージョンリストの optparse のバージョンを更新しています。

[d3d6f19eb5] Hiroshi SHIBATA 2025-10-31 03:20:14 UTC

標準添付ライブラリ optparse のバージョンをさらに 0.8.0 に更新しています。あやまってリリースしてしまったもので 0.7.0 から変更はないそうです。

[d5c0558592] git 2025-10-31 03:35:05 UTC

NEWS の default gems のバージョンリストの optparse のバージョンを更新しています。

[0044bac4de] Hiroshi SHIBATA 2025-10-31 04:34:23 UTC

標準添付ライブラリ resolv のバージョンを 0.6.3 に更新しています。

[8b88e7f838] git 2025-10-31 04:36:25 UTC

NEWS の default gems のバージョンリストの resolv のバージョンを更新しています。

[3941164c63] Hiroshi SHIBATA 2025-10-31 04:44:53 UTC

拡張ライブラリ win32 の win32-registry のバージョンを 0.1.1 に更新しています。

[2b6dc5bf6f] git 2025-10-31 04:47:15 UTC

NEWS の default gems の新規追加リストの win32-registry のバージョンを更新しています。

[307b625b59] Hiroshi SHIBATA 2025-10-31 04:53:42 UTC

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

[a6379032ee] git 2025-10-31 04:55:24 UTC

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

[981ee02c7c] "K.Takata" 2017-11-21 11:30:00 UTC

正規表現エンジンの Onigmo の upstream で正規表現の大文字小文字を無視するオプション利用時の最適化がうまく有効になっていない場合があった? のを修正した変更を取り込んでいます。

[bcea1129f4] "K.Takata" 2019-01-24 10:05:57 UTC

同じく正規表現エンジンで過去に最適化のために修正したけど効果がなかったという変更の revert を upstream から取り込んでいます。 https://github.com/k-takata/Onigmo/commit/cef834cb3a6e278fa252f52b704c65175a970ac0

[bfbbcf3455] "K.Takata" 2019-01-25 09:54:41 UTC

同じく正規表現エンジンの Oigmo およびその祖先の Oniguruma で look-behind を利用した正規表現で特定の条件でエラーが発生するという不具合の修正を取り込んでいます。 [ruby-core:81742] [Bug #13671]

[daf0d6c686] "K.Takata" 2019-01-25 09:56:31 UTC

正規表現エンジン Onigmo の upstream で C の lint ツールにより指摘の反映をした変更を取り込んでいます。

[54b963956b] "K.Takata" 2019-01-25 09:58:59 UTC

正規表現エンジン Onigmo で OnigCodePoint の変数の値が負になるような演算順序になってたのを修正しているのを取り込んでいます。 https://github.com/k-takata/Onigmo/pull/107

[a89246834d] "K.Takata" 2019-01-28 09:52:39 UTC

正規表現エンジン Onigmo の upstream から skip table の初期化タイミングの間違いで未初期化の状態のテーブルを使ってしまう可能性があった不具合を修正しています。 https://github.com/k-takata/Onigmo/pull/120

[ba74fcd6e1] "K.Takata" 2019-01-29 09:59:19 UTC

正規表現エンジン Onigmo の upstream から不要になったコードを削除する変更を取り込んでいます。