ruby-trunk-changes 2021-07-27

今日は主に rubygems/bundler の更新や標準添付ライブラリ uri の更新、Unicode の絵文字のバージョンの 13.1 への更新などがありました。

[705b1bdef2] Andrew Haines 2021-07-15 10:36:46 UTC

bundler のシグナルハンドラ登録の実装を修正して元々設定されてたハンドラを復旧する処理を追加しています。

[90899c50c2] Daniel Niknam 2021-07-21 15:02:40 UTC

bundler の load 時の LoadError の警告を削除しています。1.9.2 で $LOAD_PATH からカレントディレクトリを消した時に追加した警告で、もういらないだろうという判断みたいです。

[4271f4aea5] David Rodríguez 2021-07-22 09:35:15 UTC

bundler が生成する binstub のテンプレートで gem のバージョンを決める方法を変更しています。

[6eb6f740f2] David Rodríguez 2021-01-11 13:47:09 UTC

bundler の gem インストール時の例外のバックトレースの出力をデバッグ時のみにしてたのを常に表示するようにしています。

[6bcedabfdd] David Rodríguez 2021-07-23 13:53:59 UTC

bundler の gem インストール時のエラーメッセージから "gem install -v ..." をしてみよというようなメッセージを削っています。

[88e46cf6b8] David Rodríguez 2019-12-05 18:03:20 UTC

rubygems から syck を使っていた時のなごりを削除しています。

[803c60858e] Nobuyoshi Nakada 2021-06-04 01:38:43 UTC

rubygems の Gem::Requirement の marshal_load メソッドでロードされたオブジェクトが Array じゃなかった時に例外を発生させるようにしています。不正なパッケージが渡された時にセキュリティ上の問題があったようです。

[24aca87def] David Rodríguez 2021-07-25 10:35:35 UTC

bundler のテストで bundle install --quiet の効果をチェックするテストがうまくテストできてなかったみたいでわざと RUBYOPT 環境変数経由で警告を出力するスクリプトを実行させるようにしてその警告が抑制されているのを確認するようにしています。

[9ac89fe35e] David Rodríguez 2021-07-25 11:03:09 UTC

bundle install --quiet で警告は表示されるように変更しています。

[9cddc0ec94] David Rodríguez 2021-07-25 14:11:18 UTC

rubygems から標準添付ライブラリ shellwords を require するのを実際に使う直前まで遅延させるようにしています。

[960023ff54] David Rodríguez 2021-07-25 14:11:40 UTC

rubygems で不要になってた require "resolv" を削除しています。

[350f4a0b66] David Rodríguez 2021-07-25 14:12:03 UTC

同じく rubygems で不要になっていた require "base64" を削除しています。

[095b5bbcc1] David Rodríguez 2021-07-25 14:10:55 UTC

bundler でも require "shellwords" を実際に必要になるタイミングまで遅延させるようにしています。

[91a3f06e98] Daniel Niknam 2021-07-24 07:21:42 UTC

bundler に Bundler::Source::Rubygems#no_remotes? というメソッドを新規追加しています。

[b500e8fab4] Daniel Niknam 2021-07-24 07:25:08 UTC

bundler に Bundler::SourceList#implicit_global_source? というメソッドを新規追加しています。

[2f9e0cf181] Daniel Niknam 2021-07-24 15:27:02 UTC

bundler のテストで生成する Gemfile に source がないものを全て追加するようにしています。 source がない Gemfile を deprecate にしたいみたいです。

[1ef360230e] Daniel Niknam 2021-07-24 07:25:48 UTC

ということで bundler で Gemfile に source の指定がないものは警告を出力するようにしています。

[bd8daa8523] Daniel Niknam 2021-07-25 04:16:11 UTC

1ef360230ec0bf078124a3001ef2e1ae7886e236 で bundler が Gemfile に source がないのを deprecated にしたので gem がみつけられなかった時に source がない場合に個別に出してた警告は不要になったとして削除しています。

[5b27c1a15b] git 2021-07-27 00:57:09 UTC

version.h の日付更新

[ed51e8b8fa] Nobuyoshi Nakada 2021-07-27 02:47:11 UTC

finalizer のテストのためにわざと深くネストした VM stack を作るために tap メソッドを使ってたのを Proc の再帰呼び出しを利用するようにしています。

[2d0a1e5f61] Nobuyoshi Nakada 2021-07-27 03:30:06 UTC

ed51e8b8fa9f7e811e69de30f7695dc2242e8e69 の finalizer のテストの変更の続きで GC.start を 1000回繰り返すようにしています。がこれはなんでだろう。

[2de7c29b37] Yusuke Endoh 2021-07-27 04:41:10 UTC

b940a453572b5c3ed5c0951647929e14f5843a7d で追加したヒアドキュメントのテストで未使用変数の警告抑制のため変数名を "_" で開始するようにしています。

[cd49940cff] Nobuyoshi Nakada 2021-07-27 05:55:20 UTC

ed51e8b8fa9f7e811e69de30f7695dc2242e8e69 および 2d0a1e5f610be3230e0f5e4ab9650fef610fd342 のさらに続きで finalizer のテストを子プロセスを起動するようにしています。

[13f8521c63] Samuel Williams 2021-07-19 07:21:46 UTC

blocking fiber を使った時の Thread#join がハングアップする可能性があった不具合の修正。意図しないタイミングで ruby メソッド呼び出しの処理が入る可能性があって rb_thread_t::status をチェックするだけだと不十分な可能性があったようで rb_thread_t::value もチェックするようにしています。

[0754cc4888] Nobuyoshi Nakada 2021-07-27 00:11:23 UTC

tool/intern_ids.rb というスクリプトを追加して defs/id.def を元に ID の static 変数宣言を生成できるようにしています。

[6329da588b] Nobuyoshi Nakada 2021-07-27 00:20:24 UTC

object.c と rational.c でメソッド名を毎回 rb_intern() していたところを事前に定義済みの ID 変数を参照するように変更しています。

[537e824561] Nobuyoshi Nakada 2021-07-27 00:23:47 UTC

transcode.c の Init_transcode() で static 変数の Symbol を作るのに rb_intern() を使っていたのを rb_intern_const() を利用するようにリファクタリングしています。

[03e7fc895e] Nobuyoshi Nakada 2021-07-27 00:27:29 UTC

enum.c と transcode.c に毎回 rb_intern() していた識別子を static 変数を宣言して Init_xxx() 関数で初期化するようにしています。

[82191da2a2] Nobuyoshi Nakada 2021-07-27 00:28:48 UTC

defs/id.def に __recursive_key__ を追加して thread.c の Init_Thread() で static 変数に初期化してたのを組み込みの変数を利用するようにしています。

[a288c21a5d] kvokka 2021-05-29 10:29:39 UTC

標準添付ライブラリ uri で Ractor 対応のためクラス変数を利用していたところを Mutex を使って排他した定数を利用するようにしています。

[1cf111774f] Benoit Daloze 2021-06-25 11:38:01 UTC

再度標準添付ライブラリ uri の Ractor 対応をしています。今度は Mutex は利用していないようです。

[d3d68aa842] Hiroshi SHIBATA 2021-06-25 05:54:12 UTC

1cf111774f03c6d1ddba735cb8cc79483f16f699 で(再)追加された標準添付ライブラリ uri の Ractor 対応のテストで assert_ractor を利用するように書きかえています。

[01e98d8785] Martin Dürst 2021-07-27 06:01:34 UTC

common.mk の Unicode の Emoji のバージョンを 13.1 に更新しています。

[3010b40477] Martin Dürst 2021-07-27 08:05:06 UTC

test/ruby/enc/test_emoji_breaks.rb で Unicode の絵文字バージョンのチェックも追加しています。

[b875a85c53] Hiroshi SHIBATA 2021-07-27 08:20:54 UTC

標準添付ライブラリ uri の不足していた 'uri/ws' の require を追加しています。

[6656309fe2] Hiroshi SHIBATA 2021-07-27 08:34:13 UTC

1cf111774f03c6d1ddba735cb8cc79483f16f699 の標準添付ライブラリ uri の Ractor 対応の定数の宣言を lib/uri.rb から lib/uri/common.rb に移動しています。並列テスト時に失敗することがあったそうで、なんでだろ。

[c3d31377b3] Hiroshi SHIBATA 2021-07-27 09:00:32 UTC

rubyspec の Unicode の絵文字バージョンチェックを 01e98d87853bd612e6ac03a517cb60b077f5339c の変更に追随させています。

[26b1e6fca8] Martin Dürst 2021-07-27 09:12:24 UTC

test/ruby/enc/test_emoji_breaks.rb を新しい Unicode 絵文字のデータに対応して修正しています。 [ruby-core:104540] [Bug #18028]

[acfec23bec] Nobuyoshi Nakada 2021-07-27 09:49:28 UTC

26b1e6fca8f2c9e02e7b5d26fb35a16f3e7a66a3 で bin や lib にうっかりファイル(シンボリックリンク)が追加されてしまっていたのを削除しています。

[230111802c] Jeremy Evans 2021-06-17 16:09:16 UTC

標準添付ライブラリ find で無視する例外に Errno::EINVAL も追加しています。 Windows 環境で発生する場合があったみたいです。 [ruby-core:86050] [Bug #14591]