ruby-trunk-changes 2024-01-18

今日は主に拡張ライブラリ bigdecimal の標準添付ライブラリからの削除と bundled gems への変更などがありました。
また今日は安定版の 3.2.3 のリリースがありました。

https://www.ruby-lang.org/ja/news/2024/01/18/ruby-3-2-3-released/

[e17c83e02c] Peter Zhu 2024-01-16 14:32:21 UTC

String#tr, String#tr_s の例外発生時の内部的な一時利用のバッファの開放漏れによるメモリリークを修正しています。こういう一時バッファ ALLOCV 系のマシンスタックまたは GC を利用するマクロを使うのが良さそう。

[3a7ad808b1] Peter Zhu 2024-01-16 18:27:11 UTC

ISeq の prism 対応のテスト修正。

[afba09d30f] Maxime Chevalier-Boisvert 2024-01-17 15:35:48 UTC

YJIT に Integer#>> メソッドに特化したインライン化の最適化実装を追加しています。 https://github.com/ruby/ruby/pull/9564

[03645d1eef] Alan Wu 2024-01-17 15:52:15 UTC

YJIT でメソッド呼び出し時の空配列を *ary で展開して渡すのと無名のブロック引数渡し(& のみ)との組み合わせの時の JIT 対応を追加しているようです。 https://github.com/ruby/ruby/pull/9567

[6213ab1a51] Ewoud Kohl van Wijngaarden 2024-01-05 14:58:59 UTC

拡張ライブラリ openssl の OpenSSL::SSL::SSLContext::DEFAULT_PARAMS の :min_version の項目を OpenSSL::SSL::TLS1_VERSION に設定するのはリンクしている外部ライブラリの OpenSSL のバージョンが 1.1.0 以上の時だけになるようにしています。 RedHat 系でのエラーの修正のためみたいです。

[4f634d3c85] Samuel Williams 2024-01-17 17:08:59 UTC

拡張ライブラリ openssl で IO#timeout が定義されている場合に OpenSSL::SSL::SSLSocket にも同様のメソッドを追加しタイムアウトエラーの発生時の捕捉処理を追加しています。

[e1751b2ec8] Kazuki Yamaguchi 2023-11-25 12:30:09 UTC

拡張ライブラリ openssl のタイミング依存で失敗しやすいテストのチェック内容を変更しています。

[b0a32b7249] Kevin Newton 2024-01-17 19:35:51 UTC

tool/prism_btests に prism 用の btest のテスト対象を追加しています。

[a6e924cf5f] Peter Zhu 2024-01-17 16:50:40 UTC

prsim の AST からの ISeq へのコンパイル時の不具合修正。

[c546ee3bb5] Jeremy Evans 2024-01-17 19:08:21 UTC

Thread::SizedQueue#freeze メソッド定義を削除しています。といってもこのメソッドが使えないわけではなくて Thread::Queue に定義されているメソッドがそのまま使えるので子クラスで再度同じ実装で定義しないようにしているということみたいです。

[2b0766113b] Hiroshi SHIBATA 2024-01-17 00:59:48 UTC

拡張ライブラリの bigdecimal を削除して buindled gems として bigdecimal.gem を追加しています。

[272b1c92cc] Hiroshi SHIBATA 2024-01-17 01:00:27 UTC

bigdecimal の bundled gems への変更により doc/maintainers.md と doc/standard_library.rdoc の記述のセクションも移動しています。

[4dde4d1437] Hiroshi SHIBATA 2024-01-17 01:01:25 UTC

tool/sync_default_gems.rb で bigdecimal の同期のための処理を削除しています。

[0bdab1a784] Hiroshi SHIBATA 2024-01-17 03:31:35 UTC

gems/lib/rake/extensiontask.rb に明示的な require "rake/tasklib" を追加しています。これなんだっけ。 bundled gems のテスト用のなにかだったかな。

[9f729cf36a] Hiroshi SHIBATA 2024-01-17 03:51:37 UTC

拡張ライブラリがビルドされたことを確認するテスト test/test_extlibs.rb から削除した拡張ライブラリ bigdecimal のエントリを削除しています。

[4328f190ea] Hiroshi SHIBATA 2024-01-17 04:15:37 UTC

rubyspec の bigdecimal のテストを ruby のバージョンの guard で 3.3 以前でのみ実行するようにしています。

[44d74f22c8] Hiroshi SHIBATA 2024-01-17 04:50:48 UTC

他にも rubyspec で Integer#coerce などの coerce のテストが bigdecimal の削除の影響を受けるため ruby version による guard で 3.3 以前でのみ実行するようにしています。

[7cb1125446] Hiroshi SHIBATA 2024-01-17 05:08:03 UTC

もうひとつ rubyspec で Rational#coerce のテストも bigdecimal の削除の影響を受けるため ruby version による guard で 3.3 以前でのみ実行するようにしています。

[fd81c887f9] Hiroshi SHIBATA 2024-01-17 04:24:58 UTC

gems/bundled_gems でテストに利用する bigdecimal の commit hash の指定を追加しています。

[6ddd583ad2] git 2024-01-17 22:44:42 UTC

NEWS に標準添付ライブラリから外れて bundled gems になった bigdecimal について追記しています。

[8370b3bc32] Kazuhiro NISHIYAMA 2024-01-17 23:40:16 UTC

tool/missing-baseruby.bat の リポジトリのソースツリーからビルド時に BASERUBY がなかった時のエラーメッセージに BASERUBY の最低要求バージョンが 2.7 であることを出力するようにしています。

[42177a8987] Kazuhiro NISHIYAMA 2024-01-17 23:45:09 UTC

doc/contributing/building_ruby.md の BASERUBY の最低要求バージョンの記述を 2.5 から 2.7 に更新しています。

[af60cdf674] Hiroshi SHIBATA 2024-01-18 01:35:52 UTC

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

[4095191f2c] git 2024-01-18 01:37:52 UTC

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

[fd1bafc11f] tomoya ishida 2024-01-18 03:42:15 UTC

拡張ライブラリ stringio で 6283ae8d369bd2f8a022bb69bc5b742c58529dec での StringIO オブジェクトへの書き込み時の coderange の調節を revert して単に内部で保持している String オブジェクトに rb_str_modify() を呼ぶようにしています。 https://github.com/ruby/stringio/pull/77

[a660e1de18] Edwing123 2024-01-18 06:56:42 UTC

Array#[] メソッドの rdoc 用コメントの文言の修正。

[419f4260aa] Hiroshi SHIBATA 2024-01-18 07:01:02 UTC

gems/bundled_gems の bigdecimal のバージョンを更新しています。

[74ce7905d7] git 2024-01-18 07:23:49 UTC

NEWS の新規 bundled gems のリスト内で bigdecimal の項目のバージョンを更新しています。

[a3e6546e7e] Nobuyoshi Nakada 2024-01-18 07:36:09 UTC

tool/missing-baseruby.bat で警告メッセージを出力する時に標準エラー出力に出すようにしています。

[264b7363aa] Nobuyoshi Nakada 2024-01-18 09:09:42 UTC

tool/missing-baseruby.bat でサブルーチン? みたいなのを使うようにリファクタリングしています。

[97721fa4e1] Nobuyoshi Nakada 2024-01-18 10:56:52 UTC

さらに tool/missing-baseruby.bat を修正。関数名を変更しています。関数名に ":" を含めていたのが古い環境でだめだったらしい。というか今気がつきましたけど tool/missing-baseruby.bat って拡張子は bat ファイルだけど内容は UNIX の shell でも動くようにしてある polyglot スクリプトですね。