今日は Namespace を Ruby::Box と機能名称およびクラス名の変更や、バージョンを 4.0.0 に bump up する更新などがありました。
[2612915c34] Kazuki Yamaguchi 2025-06-24 10:07:18 UTC
拡張ライブラリ openssl のテストの OpenSSL::Digest のテストの書きかたを少し変更しています。
[18ab5023b6] Kazuki Yamaguchi 2025-11-03 09:31:09 UTC
拡張ライブラリ openssl の OpenSSL::Digest.new の引数に不正なアルゴリズム名を指定した時に OpenSSL::Digest::DigestError 例外を発生させるようにしています。 ArgumentError でもいいんではないかな。
[26751e4085] Kazuki Yamaguchi 2025-11-03 09:26:28 UTC
拡張ライブラリ openssl の OpenSSL::Cipher.new の引数に不明なアルゴリズム指定を渡した時の例外を ArgumentError から OpenSSL::Cipher::CipherError に変更しています。これをみると意図的に例外クラスは変えてそうですね。
[10d2311e13] Kazuki Yamaguchi 2025-06-24 10:31:31 UTC
拡張ライブラリ openssl の OpenSSL 3.0 系列での暗号化アルゴリズムの検出に EVP_MD_fetch() という API を利用する新しい機構を利用するようにしています。
[57aaf86bdb] Kazuki Yamaguchi 2025-08-09 09:36:49 UTC
拡張ライブラリ openssl の OpenSSL 3.0 での暗号アルゴリズム関係の API 変更への追随の 10d2311e136212549d36f90ec7cb86108e682088 の続きで EVP_CIPHER 構造体の参照カウントによるメモリ管理への対応でメモリリークを防ぐため Ruby のオブジェクトの GC 時に wrap してた構造体について EVP_CIPHER_free() を呼び出すようにしています。
[d73eba5185] Earlopain 2025-11-01 20:45:03 UTC
prism で 1行メソッド定義の引数? 多重代入? にかっこが書いてあるような記法が通ってしまっていたのを SyntaxError にするように修正しています。 [ruby-core:123631] [Bug #21660] https://github.com/ruby/prism/pull/3674
[16b1aa4e4a] Kazuki Yamaguchi 2024-12-02 14:23:20 UTC
拡張ライブラリ openssl の OpenSSL::PKey 配下のメソッド群での例外クラス OpenSSL::PKey::RSAError などのクラス群を OpenSSL::PKey::PKeyError の子クラスとして定義していたのをやめてただの OpenSSL::PKey::RSAError の別名(定数に代入しているだけ)にしています。
[87ae631b40] Kazuki Yamaguchi 2025-11-06 13:38:08 UTC
拡張ライブラリ openssl の 16b1aa4e4ab1b81914c58eae8b2f31c963b4bd4c の例外クラスの変更の修正漏れを追加。
[f7e7443aaa] Kazuki Yamaguchi 2025-11-06 15:45:10 UTC
rubyspec の 拡張ライブラリ openssl についてのテストを 18ab5023b63af88eddb083e89e19224e9f25af4d の OpenSSL::Digest のアルゴリズム名不正時の例外クラス変更に追随させています。
[1cca3efa5a] Max Bernstein 2025-11-06 17:40:46 UTC
ZJIT で VM 命令 setinstancevariable を JIT コンパイルする時に元々存在している inline cache を利用するようにしています。 https://github.com/ruby/ruby/pull/14925
[ff6c728acb] Takashi Kokubun 2025-11-06 18:21:18 UTC
ZJIT で実行コード生成のためのメモリ領域が不足した時にそれ以上の JIT コンパイルを止めるようになっていましたが、メモリが解放されてまた使える領域が復活してもそのフラグが戻らなくて JIT コンパイルが無効になったままだったので再度 JIT コンパイルが有効になるように対応しています。 https://github.com/ruby/ruby/pull/15069
[c6c92bdce3] Takashi Kokubun 2025-11-06 18:50:58 UTC
GitHub Actions の ZJIT を有効化する macOS 版 workflow で ruby-bench というベンチマーク実行するジョブでは環境変数 MAKEFLAGS をリセットしてデフォルトでセットされてる -j4 を消すようにしています。 https://github.com/ruby/ruby/pull/15084
[38d31dc49b] Max Bernstein 2025-11-06 20:07:02 UTC
ZJIT の invokeblock のプロファイリング処理(おそらく 02267417da32bf480f7050ff2ab182076aa0ad83 で追加したもの)で VALUE の値を保持するところで GC.compact によるオブジェクト移動への追随の実装が不足していて異常終了する可能性があったのを修正しています。 https://github.com/ruby/ruby/pull/15085
[2998c8d6b9] Luke Gruber 2025-11-06 21:32:20 UTC
Namespace でクラスの子クラスからの参照を管理する参照カウンタの増減が atomic でないため異常終了する可能性があったので ATOMIC_LOAD_RELAXED() や RUBY_ATOMIC_FETCH_ADD()、RUBY_ATOMIC_FETCH_SUB() などを利用して atomic に操作するように修正しています。 https://github.com/ruby/ruby/pull/15083
[9343017673] Takashi Kokubun 2025-11-06 22:14:30 UTC
ZJIT の Rust 実装のコメントの修正。 https://github.com/ruby/ruby/pull/15088
[844132ae8e] Takashi Kokubun 2025-11-06 22:14:47 UTC
ZJIT の統計情報カウンタのもう不要になったものを削除しています。 https://github.com/ruby/ruby/pull/15089
[cf4a034d59] John Hawthorn 2025-11-06 17:29:28 UTC
vm.c の定数のキャッシュ管理用 st_table の memsize 対応のコールバックであやまって rb_st_memsize() を呼んでたところを rb_set_memsize() に修正しています。
[f19b29d1db] Satoshi Tagomori 2025-11-05 03:02:07 UTC
Namespace のテストにグローバル変数の参照についてのテストケースを追加しています。
[50b9d9d355] Satoshi Tagomori 2025-11-05 04:52:45 UTC
Namespace を Ruby::Box と改名するため、まずは関連するファイル名を改名(移動)しています。
[aaa1234702] Satoshi Tagomori 2025-11-05 05:29:25 UTC
50b9d9d355b2c64101ebdd2f2de0e9010bb050dc からの Namespace → Ruby::Box の改名のため変更したファイル名に追随して依存関係や #include のよるヘッダ名指定を変更しています。
[d2a587c791] Satoshi Tagomori 2025-11-05 07:09:45 UTC
50b9d9d355b2c64101ebdd2f2de0e9010bb050dc からの Namespace → Ruby::Box の改名のため関数名や構造体名、変数名などを改名しています。
[95a110a9af] Satoshi Tagomori 2025-11-06 06:33:58 UTC
50b9d9d355b2c64101ebdd2f2de0e9010bb050dc からの Namespace → Ruby::Box の改名のため Ruby という Module の定義を Init_XXX 関数の実行の時点で行なうようにしています。
[c4691ef061] Satoshi Tagomori 2025-11-06 06:34:16 UTC
50b9d9d355b2c64101ebdd2f2de0e9010bb050dc からの一連の変更の続きで Namespace → Ruby::Box とクラス名を改名しています。
[ccad753c64] Satoshi Tagomori 2025-11-06 07:03:56 UTC
50b9d9d355b2c64101ebdd2f2de0e9010bb050dc でのファイル名の改名で拡張子を間違っていたものを修正しています。
[19d4663d2f] Satoshi Tagomori 2025-11-06 07:04:40 UTC
50b9d9d355b2c64101ebdd2f2de0e9010bb050dc からの Namespace → Ruby::Box の改名に関連して参照する環境変数の名前も変更しています。
[49c0502f5d] Satoshi Tagomori 2025-11-06 08:28:57 UTC
50b9d9d355b2c64101ebdd2f2de0e9010bb050dc からの Namespace → Ruby::Box の改名に追随してテストのクラス名参照の変更が漏れてたのを修正しています。
[8ebeb751ee] Satoshi Tagomori 2025-11-06 09:01:40 UTC
doc/box.md 内の語彙も namespace から box に変更しています。
[aaf1f53df0] Satoshi Tagomori 2025-11-06 09:12:01 UTC
YJIT/ZJIT 用の C binding と ABI テストでも Namespace → RubyVM::Box 改名の影響に追随しています。
[6d81969b47] "Yukihiro \"Matz\" Matsumoto" 2025-11-07 07:41:47 UTC
Matz によるバージョン番号の更新で、4.0.0 に変更しています。今年リリースされるバージョンは 4.0 系列になることが決定したようです。
[cd8902cce8] Jean Boussier 2025-11-07 08:51:34 UTC
拡張ライブラリ json の内部的なメソッド SON::State#[] と SON::State#[]= を deprecated にして警告を出力するようにしています。
[a881f2a0f4] Jean Boussier 2025-11-07 09:04:43 UTC
拡張ライブラリ json のバージョンを 2.16.0 に更新しています。
[a00f425e82] git 2025-11-07 09:07:35 UTC
NEWS の default gems のバージョンリストの json のバージョンも更新しています。
[f3dd4bef78] Nobuyoshi Nakada 2025-11-07 09:41:04 UTC
tool/rbs_skip_tests で json の更新で rbs のテストが失敗しはじめたので skip するようにしています。
[a4c051b870] Nobuyoshi Nakada 2025-10-29 13:14:22 UTC
file.c の rb_path_check() という未使用の関数の定義を削除しています。 include/ruby/internal/intern/file.h に宣言が残ってますね。
[f4e01783d3] Nobuyoshi Nakada 2025-10-30 05:14:58 UTC
prism の対応する ruby バージョンに 4.0 を追加しています。
[996cae65f3] Nobuyoshi Nakada 2025-10-30 03:43:26 UTC
Kernel#open や IO.read などのメソッドで先頭に "|" をつけた文字列を渡してコマンド実行させる機能は警告を出力していましたが機能自体を削除しています。
[1f32464a2d] Nobuyoshi Nakada 2025-11-07 08:57:55 UTC
bundler の対応する ruby バージョンのリストに 4.0 を追加しています。