ruby-trunk-changes 2025-11-13

今日は標準添付ライブラリ io/wait, erb の deprecated な機能の削除とバージョン更新などがありました。

[9046186065] Hiroshi SHIBATA 2025-11-12 10:26:47 UTC

bundler のテスト用の gemfile で test-unit-ruby-core への依存関係を追加しています。

[41a2b2c85e] Hiroshi SHIBATA 2025-11-12 10:27:14 UTC

rubygems のテストで assert_ractor が未定義の時に core_assertions をロードする処理を追加しています。 ruby 本体ではなくて upstream でテストする時のための処理みたいです。

[3d554a586b] Hiroshi SHIBATA 2025-11-12 11:24:44 UTC

rubygems のテストで ruby 3.4 のブランチでのテストのために最近追加した assert_ractor の require キーワード引数に配列を渡す呼びかたは避けるようにしています。

[82ecbbc918] Hiroshi SHIBATA 2025-11-12 11:49:23 UTC

同じく rubygems のテストで古い ruby 向けに Ractor#value の alias 定義を追加しています。

[edb8296b99] Nobuyoshi Nakada 2025-11-12 13:19:08 UTC

82ecbbc918e9d6ae3add30dd68e26d56be8c88e7 の続きで Ractor#value の alias を定義するのを method_defined? で既に定義されている時に抑制するようにしています。

[4adb79f8aa] Nobuyoshi Nakada 2025-11-04 09:03:47 UTC

拡張ライブラリ io/wait の IO#nread を deprecated warning を出すようにしています。

[b072c39959] Nobuyoshi Nakada 2025-11-12 08:28:13 UTC

拡張ライブラリ io/wait のバージョンを 0.3.6 に更新しています。

[efd98451f3] git 2025-11-12 13:24:14 UTC

NEWS の default gems のバージョンリストの io-wait のバージョンも更新しています。

[b1c578d83e] Nobuyoshi Nakada 2025-11-12 08:29:28 UTC

拡張ライブラリ io/wait のバージョンをさらに 0.4.0.dev に更新しています。

[b70f5afb68] Nobuyoshi Nakada 2025-11-04 12:42:54 UTC

IO#nread と IO#ready? を削除しています。 IO#nread はさっき deprecated にしたばかりですが io-wait.gem のバージョンを 0.3.6 → 0.4.0 に上げたので 0.3.6 が gem としての移行バージョンということですね。

[34eb73d8e5] git 2025-11-12 13:49:05 UTC

NEWS の default gems のバージョンリストの io-wait のバージョンも更新しています。

[ab13ece69a] Nobuyoshi Nakada 2025-11-12 12:17:24 UTC

拡張ライブラリ io/wait の extconf.rb で ruby 2.7 のサポートを停止して 3.0 以降を要求するようにしています。

[b4b0cd4a49] Nobuyoshi Nakada 2025-11-12 12:30:01 UTC

と、思ったらすぐに拡張ライブラリ io/wait で要求 ruby バージョンを 3.1 以降にさらに引き上げています。

[ff4f9b8851] Nobuyoshi Nakada 2025-11-12 12:32:04 UTC

と、思ったらまたまた拡張ライブラリ io/wait で要求 ruby バージョンを 3.2 に引き上げています。

[6a05545184] Nobuyoshi Nakada 2025-11-12 14:23:02 UTC

ff4f9b88515babb34985521339b1410608c78589 の拡張ライブラリ io/wait の最低 ruby バージョン引き上げに伴ない io/wait は実質空っぽになり(組み込みの IO に実装されているので)、RB_EXT_RACTOR_SAFE() マクロのみ残っていたのも削除しています。

[3578385424] Koichi Sasada 2025-11-12 17:27:30 UTC

6a055451843d28b9d75f581328cbdf6f03bea343 で拡張ライブラリ io/wait のソースコードから #include "ruby.h" も削除していましたがこれは残すようにしています。 ruby_abi_version シンボルのためとのこと。

[de6c4b62b0] Alan Wu 2025-11-12 19:39:58 UTC

gens/bundled_gems の rbs のテストに使う commit hash 指定を追加しています。

[6ea4f36716] Takashi Kokubun 2025-11-12 19:53:04 UTC

標準添付ライブラリ erb で ERB.new の通常引数の safe_level や legacy_trim_mode などの古い通常引数を互換性のために残していたのを削除しています。 https://github.com/ruby/erb/pull/7 https://github.com/ruby/erb/pull/95

[5b6658a406] Takashi Kokubun 2025-11-12 19:59:28 UTC

6ea4f36716f8970f418f32837575405ddeea75aa で標準添付ライブラリ erb の ERB.new の引数を変更したのを一時 revert しています。 rubyspec のエラー修正するためとのこと。

[6365d7b0a5] Takashi Kokubun 2025-11-12 20:31:44 UTC

6ea4f36716f8970f418f32837575405ddeea75aa の標準添付ライブラリ erb の ERB.new の古い引数削除を再度適用して、rubyspec も追随して修正しています。

[fb48b3020c] Takashi Kokubun 2025-11-12 20:41:48 UTC

GitHub Actions の古い ruby で rubyspec を実行する workflow に fail-fast: false の設定を追加しています。

[7aba6ce2a6] Takashi Kokubun 2025-11-12 20:44:14 UTC

rubyspec の ERB::VERSION での version guard で ERB::VERSION を private constant としていたので Module#const_get を利用するようにしています。

[07e78e31c6] Takashi Kokubun 2025-11-12 20:49:53 UTC

標準添付ライブラリ erb の ERB.new の引数が省略されたかどうか判定するためにあったオブジェクトを保持する ERB::NOT_GIVEN 定数を削除しています。

[fe1f8cd129] Takashi Kokubun 2025-11-12 21:30:42 UTC

標準添付ライブラリ erb の ERB::Revision という古い CSV/Subversion の置換キーワードを保持するための定数を削除しています。

[e25fdc3d00] Takashi Kokubun 2025-11-12 21:47:27 UTC

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

[0533dba911] git 2025-11-12 21:48:56 UTC

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

[936951b312] Takashi Kokubun 2025-11-12 21:49:09 UTC

rubyspec の ERB::VERSION による version guard の範囲も 6.0.0 への更新に追随しています。

[c13b4d79e1] BurdetteLamar 2025-11-12 18:35:04 UTC

String#to_s の rdoc 用コメントのリンク追加。

[a4916a6f38] BurdetteLamar 2025-11-12 18:43:45 UTC

String#tr の rdoc 用コメントの手直し。

[cdc3faa6b3] Takashi Kokubun 2025-11-12 22:02:01 UTC

936951b31238a873567be5fb049af9d383bc4c55 で rubyspec の ERB::VERSION での version guard 変更時にブロックの開き do を誤って削除していたのを戻しています。

[3efabc8355] Brandon Weaver 2025-11-09 03:16:50 UTC

rubygems の Gem::Platform に deconstruct_keys メソッドを追加して pattern match で利用できるようにしています。

[2247b0becb] Brandon Weaver 2025-11-11 05:58:41 UTC

rubygems の Gem::Platform の #deconstruct と #deconstruct_keys に rdoc 用コメントを追加しています。

[be86e7c50e] Nobuyoshi Nakada 2025-11-12 22:26:57 UTC

拡張ライブラリ io/wait に #include "ruby.h" を追加していますが、35783854244f8dc6a9f7fb4dfae752f8361c66bd と重複していますね。

[75f5a0bae9] Peter Zhu 2025-11-12 12:37:37 UTC

vm_core.h のマシンスタックサイズを定義するマクロ定義群の preproessor 分岐で MSAN や ASAN が有効な時にサイズを大きくしているところに LSAN の時も大きくするよう条件を追加しています。

[8f9b038df3] Aiden Fox Ivey 2025-11-13 00:06:52 UTC

ZJIT の Rust 実装に独自に JSON の encoder 実装を追加しています。 https://github.com/ruby/ruby/pull/15162

[37a05b591c] Kazuhiro NISHIYAMA 2025-11-13 00:31:50 UTC

コミットごとにメールを飛ばすための tool/test/test_commit_email.rb で git コマンド実行時の環境変数に GIT_CONFIG_GLOBAL の設定も追加しています。実行環境の git の設定を無視させるため。

[3dd32fdf78] Takashi Kokubun 2025-11-13 01:06:47 UTC

ZJIT の統計情報カウンタの patch_point_count を削除しています。 https://github.com/ruby/ruby/pull/15160

[057c6e3bab] Hiroshi SHIBATA 2025-11-13 01:57:04 UTC

35783854244f8dc6a9f7fb4dfae752f8361c66bd で重複していた拡張ライブラリ io/wait のヘッダ追加を削除しています。

[fe1e1c784e] Edouard CHIN 2025-11-12 18:19:05 UTC

bundler で依存関係解決のために index サーバーから取得する gem の情報リストの1度に取得する件数を増やして通信回数を減らす最適化。

[b4b7809f0b] Kazuhiro NISHIYAMA 2025-11-13 04:34:33 UTC

37a05b591c989abe1ca524c3ff98b088d7e6a656 で tool/test/test_commit_email.rb で実行する git に環境の .gitconfig を無視させるため環境変数 GIT_CONFIG_GLOBAL を設定する時に IO::NULL で null device (/dev/null など)を指定させていたのは Windows ではうまくいかなかったようなので一時ディレクトリを指定するように変更しています。

[2c1b1751e4] Edouard CHIN 2025-11-10 22:09:55 UTC

bundler が gem パッケージをダウンロードする時にかかった時間をデバッグメッセージとして出力させるようにしています。

[13407d959a] Hiroshi SHIBATA 2025-11-13 02:44:51 UTC

tool/lib/core_assertions.rb で定義する assert_ractor で Windows 環境では skip させるようにしています。

[3c68b781dc] Hiroshi SHIBATA 2025-11-13 02:45:30 UTC

tool/lib/core_assertions.rb の assert_ractor で Ractor 自体が未定義の時は早期 return でなにもしないようにしていたのを、これも明示的な skip (omit) を呼ぶようにしています。

[253485484c] David Rodríguez 2025-06-23 11:26:52 UTC

bundler のテストで特定の警告メッセージを許容するチェックをしていたところがもう警告は出なくなっていたようで設定を削除しています。

[7e37e4e743] Nobuyoshi Nakada 2025-11-13 02:02:44 UTC

IO#each_codepoint が IO#ungetc で IO の encoding と異なる encoding の文字列を書き戻していた時に? 誤った文字(codepoint)分割をしてしまうことがあった不具合を修正しています。 [ruby-core:123778] [Bug #21683]

[d80aa36847] Hiroshi SHIBATA 2025-11-13 09:40:11 UTC

13407d959ab6e481db3148ea76f46c2f5aa70479 で tool/lib/core_assertions.rb の assert_ractor で Windows 環境だと skip していたのはやめて問題の発生していたと思われる rubygems のテスト部分で Windows 環境でテストクラス定義自体をやめるように対応しています。