ruby-trunk-changes 2024-03-21

今日は主に標準添付ライブラリ rdoc で cache に使っている Marshal.load で想定外のオブジェクトのロードを、エラーにする変更や Universal Parser 有効化時の ripper での異常終了の修正などがありました。

[6ecee4ec31] Benoit Daloze 2023-12-01 12:46:53 UTC

拡張ライブラリ openssl の extconf.rb の TruffleRuby 向けの分岐を削除しています。TruffleRuby 側の修正により不要になったみたいです。 https://github.com/oracle/truffleruby/issues/3170

[e07441f05f] Peter Zhu 2024-03-19 21:15:41 UTC

gc.c の rb_aligned_malloc() という関数が他のソースファイルで未使用だったので static 関数に変更しています。

[4238615432] Takashi Kokubun 2024-03-20 15:29:27 UTC

YJIT の Rust 実装のブロック引数用の型? を導入しているようです。 https://github.com/ruby/ruby/pull/10287

[0e8b6c62a4] Kevin Newton 2024-03-18 16:09:09 UTC

GitHub Actions に prism 用の workflow に make test-prism-spec の実行を追加しています。

[392dbe06fc] "dependabot[bot]" 2024-03-20 02:38:09 UTC

GitHub Actions の workflows で利用している actions/cache アクションのバージョンを更新しています。

[6650b3aecf] Hiroshi SHIBATA 2024-03-21 01:23:08 UTC

GitHub Actions の独自アクションと workflow で利用している gacts/run-and-post-run アクションの commit hash の指定を更新しています。

[8ba4d7d75f] yui-knk 2024-03-19 09:17:46 UTC

parse.y の magic comment shareable_constant_value: literal の処理の関数の引数の型に問題があって異常終了することがあったのを修正しているようです。 [Bug #20339] [Bug #20341]

[3d353afeb0] Nobuyoshi Nakada 2022-03-28 09:27:25 UTC

標準添付ライブラリ rdoc でキャッシュのために Marshal.dump したオブジェクトを Marshal.load する時に未知のオブジェクトが含まれていたら TypeError を発生させる Proc オブジェクトをフィルタとして指定するようにしています。

[ee1ad009f3] Hiroshi SHIBATA 2024-03-19 13:10:03 UTC

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

[f5dc9c98e5] git 2024-03-21 04:05:48 UTC

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

[385c31e770] Hiroshi SHIBATA 2024-03-21 04:18:13 UTC

3d353afeb0ecaf1e64c8fa8f58622bebebfca352 の標準添付ライブラリ rdoc で Marshal.load へのフィルタとして使う Proc オブジェクトでクラス名をチェックする時のメソッド名が String#start_with? の "?" が不足していたので修正しています。

[c5ac18bbf4] Hiroshi SHIBATA 2024-03-21 04:20:35 UTC

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

[92f72221f1] git 2024-03-21 04:39:19 UTC

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

[9e3077a7a6] Nobuyoshi Nakada 2024-03-21 07:15:53 UTC

GitHub Actions の UbuntumacOS の OS バージョン指定の書きかたをリファクタリングしています。

Universal Parser を有効にしている時(?) に拡張ライブラリ ripper で struct parser_params 構造体のサイズが異なる(大きくなる)のにメモリ確保が対応していなくて異常終了する可能性があったみたいで、その修正のため rb_ripper_parser_params_allocate() という関数を新規追加して ripper からは rb_parser_params_allocate() のかわりにこれを使って構造体のメモリ領域を確保するようにしています。

[9a6a6b4ba6] Peter Zhu 2024-03-20 15:16:01 UTC

gc.c の objspace_reachable_objects_from_root() に渡すためのコールバック関数 root_obj_check_moved_i() 内でグローバル変数の rb_objspace を直接参照していたのを引数のユーザーデータ経由で受け取るようにしています。呼び元で渡しているものも結局 &rb_objspace なので結果は同じですがなにかの布石かな?

[806edd2956] Peter Zhu 2024-03-20 15:17:24 UTC

9a6a6b4ba68d8f2bed4b8d57aca42d5b609dfb11 と同様に gc.c のコールバック関数 heap_check_moved_i() でも rb_objspace を直接参照していたのを引数経由で受け取るようにしています。