ruby-trunk-changes 2022-10-26

今日は YJIT の JIT コンパイルしたコードの領域のメモリを開放する処理の追加や標準添付ライブラリ erb の更新などがりました。

[b7644a2311] Takashi Kokubun 2022-10-25 16:07:10 UTC

YJIT の JIT コンパイル結果のコードを GC できるようにしているようです。この code_gc はおそらく Ruby 本体の GC とは独立していて、コード用のメモリ確保に失敗した時に未使用のコードを mark&sweep で回収しているようです。 https://github.com/ruby/ruby/pull/6406

[217fdbf9aa] Jean Boussier 2022-10-25 16:39:56 UTC

標準添付ライブラリ erb の url_encode とうメソッドで独自実装していたのを CGI.escapeURIComponent を利用するようにしています。このため gemspec ファイルで cgi への依存を 0.3.3 以上を要求するようにしています。ついでに? required_ruby_version も 2.7以降の設定を追加しています。

[48339d5c5b] Stan Lo 2022-10-25 20:45:16 UTC

irb のテストで標準入出力の encoding に加えて Encoding.default_external と Encoding.default_internal も復旧するようにしています。

[ea989127eb] Takuya Noguchi 2022-10-23 08:47:05 UTC

bundler の man ページの更新。

[d6d9b5130e] Takashi Kokubun 2022-10-25 23:11:42 UTC

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

[a733633c57] git 2022-10-25 23:14:50 UTC

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

[1dd9511b67] Takashi Kokubun 2022-10-26 00:53:08 UTC

GitHub Actions の workflow の Slack 通知のためのアクションを ruby/action-slack と ruby organization の配下のリポジトリを使うようにしています。

[1670e96c0d] Josh Cooper 2022-10-25 23:22:57 UTC

win32/dir.h で #include するヘッダファイルの esent.h を basetsd.h に変更しています。

[923aed26ff] Takashi Kokubun 2022-10-26 04:49:35 UTC

GitHub Actions の workflow に .github/workflows/cirrus-notify.yml というのを追加しています。名前からして Cirrus CI の通知っぽいですけど Cirrus CI には通知の仕組みがなくて GitHub Actions を利用して通知してねというのが公式の方法みたいです。すごいな。

[1161454806] Takashi Kokubun 2022-10-26 05:26:20 UTC

NEWS に MJIT の主な実装が ruby 実装になったことや MinGW のサポートを停止したことなどを追記しています。

[df43611021] Takashi Kokubun 2022-10-26 05:49:31 UTC

923aed26ff217f0b5619d5c53c24be7e0823b951 で追加した Cirrus CI の通知のための GitHub Actions の workflow のトリガーの条件を追加して skip された時の通知を抑制しています。

[94f3aa2126] Takashi Kokubun 2022-10-26 06:02:04 UTC

923aed26ff217f0b5619d5c53c24be7e0823b951 で追加された Cirrus CI の通知のための GitHub Actions の workflow の payload の内容を整形しています。

[287eac5e8e] Nobuyoshi Nakada 2022-10-26 01:43:41 UTC

IO::Buffer#get_value, #get_values などの例外メッセージの値の埋め込みに使う指示子に PRIdSIZE マクロを使って環境によって適切なサイズのものを使うように修正しています。

[a14611cd54] Nobuyoshi Nakada 2022-10-26 01:53:10 UTC

未定義のマクロ参照の警告抑制のため preprocessor の分岐の #if を #ifdef に変更したり defined() のチェックを追加したりしています。

[131c31a920] Nobuyoshi Nakada 2022-10-26 10:43:14 UTC

Ractor.new で experimental の警告メッセージを出すのを ruby 実装の箇所に移動しています。警告の出力箇所として "<internal:ractor>" のようなファイル名が使われてしまうため。 [ruby-core:110499] [Bug #19081]