ruby-trunk-changes 2022-09-28

今日は標準添付ライブラリ timeout で管理用の Thread をデフォルトの ThreadGroup に明示的に所属させる修正や YJIT の aarch64 アーキテクチャで一部のチップで使えない命令を使わないようにする対応、標準添付ライブラリ net/http で環境変数 http_proxy から認証情報を得る挙動を OS によって制限していたのをやめる変更などがありました。

[c35e924f64] Burdette Lamar 2022-09-27 13:50:53 UTC

doc/io_streams.rdoc に each 系メソッドの例など追記しています。 https://github.com/ruby/ruby/pull/6445

[1a06bc94d9] Chad Wilson 2022-09-27 14:48:16 UTC

拡張ライブラリ psych の JRuby 向けのライブラリの snakeyaml のバージョンの指定を更新しています。

[9d56d9975d] Lars Kanis 2022-09-25 09:14:11 UTC

標準添付ライブラリ timeout でプロセス内で共通になった監視用 Thread の作成時に ThreadGroup::Default の ThreadGroup に所属させるようにしています。Timeout.timeout を呼び出した元の Thread が特別な ThreadGroup に所属しているとそこに追加されてしまうので誤って殺されたりする可能性があったため。 [ruby-core:110053] [Bug #19020]

[bcd30fb961] Vít Ondruch 2022-09-16 12:06:54 UTC

b7577b4d9e0fd92522fc30e10fe712e245adee8c で rubyspec の Time.new のテストでタイムゾーンに Europe/Amsterdam を利用したテストはコメントアウトしていたのを revert しています。tzdata のパッケージのほうの間違い? だったみたいでそれが修正されたとのこと。

[5d4048e0bc] Burdette Lamar 2022-09-27 18:58:28 UTC

doc/io_streams.rdoc のサンプルコードをブロックつき open メソッドを使うなど修正しています。 https://github.com/ruby/ruby/pull/6454

[28433e9aa0] Kevin Newton 2022-09-27 20:58:01 UTC

YJIT の aarch64 アーキテクチャ向けの JIT コンパイル時に LDADDAL という命令を利用していたのが Graviton 1 では利用できない命令だったとのことで LDAXR と STLXR という排他的 load/store の命令っぽいものを利用するようにしているようです。 https://github.com/ruby/ruby/pull/6455

[8fcbb79742] Maxime Chevalier-Boisvert 2022-09-27 23:27:19 UTC

configure で YJIT の --yjit-stats オプションの利用可否の判定を inline assembler で判定していたのを廃止しているみたいです。 28433e9aa0c765c9d20bc6397439a1b12e66bcbd の対応で不要になった? https://github.com/ruby/ruby/pull/6457

[a58cbddd57] Maxime Chevalier-Boisvert 2022-09-27 23:27:39 UTC

YJIT の label 生成の処理でラベル名に空白が含まれていた時のエラー処理として assert() を追加しています。Rust の assert() はどういう挙動なんだろう。 https://github.com/ruby/ruby/pull/6459

[b8e804e410] Maciej Rzasa 2022-07-29 09:33:23 UTC

拡張ライブラリ bigdecimal の rdoc 用コメントに Kernel#BigDecimal の精度(ndigits)の引数に 0 を指定したら自動的に精度が決められるという記述を追記しています。

[b58710e006] Hiroshi SHIBATA 2022-09-28 08:06:12 UTC

test/test_extlibs.rb という拡張ライブラリの存在チェックするテストからコメントアウトされていた dbm と gdbm の行を削除しています。

[cd77e71bba] Jeremy Evans 2022-08-24 18:38:17 UTC

r58461 (c7ec1b1f599de0297bbf2cba92a923a337df73a6) [Feature #12921] で標準添付ライブラリ net/http の Net::HTTP#proxy_user, #proxy_pass で環境変数 http_proxy から proxy の認証情報を利用してもいいかどうかを一部の OS でのみ許していたのを常に利用可能にしています。チケットでは Windows も許可される OS に含めていいのではないかという要望でしたが、OpenBSD でも他のユーザーの環境変数をみることはできないのでもうこの OS の判定が古いというのと、コミットログをみるに環境変数に認証情報を含めるのはよくないというのは利用者のポリシーの問題であって net/http の機能を落とすのは違うんじゃないかという判断みたいです。まあ機能がなくても環境変数設定しちゃったらダメなので対策としては若干迂遠な話ではありますよね。しかしチケットをみるとあんまり議論した様子がないけど合意は取れてるのかな? [ruby-core:109190] [Bug #18908]