ruby-trunk-changes 2026-06-05

今日は主に rubygems のインストール後のメッセージのエスケープ対策や spec.executable などの項目のチェック強化、String#inspect の最適化などがありました。

[6d5f8aba67] Jean Boussier 2026-06-04 08:08:07 UTC

拡張ライブラリ json の parse 時の関数 json_decode_object() から一部の処理を json_on_duplicate_key() という関数に切り出すリファクタリングと json_value_completed() という関数で switch 文の各 case 節から直接 return して関数末尾には UNREACHABLE を置くリファクタリング。細かい最適化みたいです。

[2c3723df84] Nobuyoshi Nakada 2026-03-16 00:11:28 UTC

拡張ライブラリ zlib の gemspec ファイルで spec.required_ruby_version を 2.7.0 以降に更新しています。C99 標準の記述を許容するため。

[c976dffd14] Hiroshi SHIBATA 2026-06-05 00:36:06 UTC

rubyspec の IO::Buffer.map のテストでプロセス間の共有メモリのテストを OpenBSD では除外しています。

[fd10392980] Peter Zhu 2026-06-03 23:58:42 UTC

ObjectSpace.undefine_finalizer の rdoc 用コメントに説明を追記しています。

[13439367d5] Hiroshi SHIBATA 2026-06-04 08:36:46 UTC

rubygems の Gem::Text#clean_text で制御文字を "." に置換するようにしています。

[e8a5722a7f] Hiroshi SHIBATA 2026-06-04 08:36:46 UTC

rubygems でインストール後のメッセージから制御文字を置換するようにしています。

[4b4b99deaa] Hiroshi SHIBATA 2026-06-04 09:39:44 UTC

rubygems の Gem::Text#clean_text のテストをより厳密なチェックにしています。

[f2fac353c1] Hiroshi SHIBATA 2026-06-04 09:39:44 UTC

rubygems のインストール後のメッセージに to_s をつけて処理前に明示的に文字列に変換するようにしています。

[4e860ec9e8] Hiroshi SHIBATA 2026-06-04 07:53:11 UTC

rubygems の spec.executable に指定されているファイルが実際にあるかチェックを追加しています。

[48d8134e4a] Hiroshi SHIBATA 2026-06-04 07:53:32 UTC

rubygems で spec.bindir で指定されたディレクトリが symbolic link でなく、また実装に存在しているかをチェックしています。

[daa3721f02] Hiroshi SHIBATA 2026-06-04 07:54:39 UTC

rubygems の gem に実行ファイルが含まれているときにそのファイル名のバックスラッシュやシングルクオートをエスケープしておくようにしています。

[cf90fbfed2] Hiroshi SHIBATA 2026-06-04 09:45:18 UTC

rubygems で spec.executables に文字列以外のオブジェクトが渡された場合はエラーにしています。

[a02496ea0f] "dependabot[bot]" 2026-06-05 02:07:37 UTC

GitHub Actions の workflows で利用するアクションのバージョン更新。

[b7aa15f594] Mari Imaizumi 2026-05-27 15:19:59 UTC

String#inspect でエスケープのある文字をスキャンする処理で Encoding と coderange によっては ASCII 文字の範囲であれば高速に判定できるのでこの fastpath を追加して、多くのケースで高速化しています。

[df002af104] Hiroshi SHIBATA 2026-06-04 21:53:21 UTC

bundler の cooldown 機能で bundle update 時に既に利用しているバージョンが cooldown 期間で更新できない対象の場合にエラーになる不具合を修正しています。

[8f71ce700b] Hiroshi SHIBATA 2026-06-05 00:32:46 UTC

bundler の cooldown 機能のテストにテストケースを追加しています。

[b5b951694f] BurdetteLamar 2026-06-04 11:54:39 UTC

最近追加された doc/file/filename_globbing.md と doc/file/filename_matching.md のドキュメントの手直し。

[cf37681cd7] Jean Boussier 2026-06-04 15:08:07 UTC

File.expand_path でカレントディレクトリを取得する時に不要な中間メモリ確保を省く最適化。

[10f302f587] Nobuyoshi Nakada 2026-06-05 02:47:05 UTC

GitHub Actions の Windows 版 workflow で vcpkg install 実行前に vcpkg のリポジトリを git pull して最新版を取得するようにしています。

[b3257e8732] "dependabot[bot]" 2026-06-05 02:03:14 UTC

vcpkg.json の commit hash を更新しています。

[cfc13d2e89] Jean Boussier 2026-06-05 07:40:39 UTC

拡張ライブラリ json の内部的に利用する JSON::State などのクラスの memsize 関数で Variable Width Allocation による slot 埋め込みを利用している場合の対応を追加しています。

[2dd77a0dcd] git 2026-06-05 08:09:45 UTC

gems/bundled_gems と NEWS の bundled gems のバージョンリストの test-unit のバージョンを 3.7.8 に更新しています。

[16a08c3b1d] Jean Boussier 2026-06-05 08:03:44 UTC

拡張ライブラリ json の内部的に利用されるクラス JSON::Ext::ParserConfig を GC.compact で移動可能なオブジェクトにしています。

[c78418b7a0] Nobuyoshi Nakada 2026-06-05 07:55:57 UTC

GitHub Actions の Windows 版の workflow で vcpkg のインストールしたパッケージのキャッシュを保存していたのを master や安定版ブランチのみにしていたのを dependabot による PR のブランチも対象にしています。