ruby-trunk-changes 2021-04-28

今日は標準添付ライブラリ net/http, net/imap, net/smtp, ostruct などの更新と、標準添付ライブラリ monitor の Monitor が Fiber 単位で排他するようにする仕様変更などがありました。

[c752a35816] Matt Valentine-House 2021-04-27 11:13:29 UTC

misc/lldb_cruby.py の dump_page コマンドで表示する情報の slot の free list 上でのインデックスも表示させるようにしています。

[f64bb9fc84] Matt Valentine-House 2021-04-27 11:17:55 UTC

c752a35816c64c0eef3324a860ad4a535fb8ff2b の続き。misc/lldb_cruby.py に dump_page_rvalue というコマンドを追加してオブジェクトの VALUE 値を指定してそれが含まれてる page の内容をダンプできるようにしています。

[1c1c91535c] Matt Valentine-House 2021-04-27 11:21:24 UTC

misc/lldb_cruby.py の dump_page_rvalue コマンドで引数で渡したオブジェクトの slot が目立つように印をつけて表示するようにしています。

[3a3b19b2bb] Benoit Daloze 2021-04-27 16:42:50 UTC

標準添付ライブラリ monitor を Fiber 単位で排他するようにしています。うーむ、なるほど。 blocking fiber じゃないとこれまで動いてたものが動かなくなる可能性はありそうですね(まあ Fiber と Monitor を同時に使うというのが意図通りだったということはあんまりなさそうですが)。 [ruby-core:103591] [Bug #17827]

[72eacd739d] git 2021-04-27 16:47:16 UTC

version.h の日付更新

[99eebf8260] Yusuke Endoh 2021-04-27 17:11:32 UTC

Fiber 内での Kernel#fork のテストで繰り返し回数を OpenBSD で減らしていたのを Solaris でも減らすようにしています。 CI でのタイムアウトを避けるためみたいです。

[fe11031b67] Yusuke Endoh 2021-04-27 17:27:58 UTC

標準添付ライブラリ net/ftp のテストで未使用の変数があったので警告抑制のため削除。

[8e2ac2140d] Yusuke Endoh 2021-04-27 18:12:48 UTC

4ae27d8075b2d138d13cb2b112f0ee50934b3017 で追加した net/ftp のテストで時刻のところに巨大な文字列を渡すテストであまり大きすぎると CI が失敗することがあったので少し小さくしています。

[734557498f] Yusuke Endoh 2021-04-28 00:10:58 UTC

標準添付ライブラリ net/ftp のテストで MJIT が有効な時にタイムアウトを伸ばずために使っていたモジュールが古い名前 RubyVM::MJIT のままだったので RubyVM::JIT に変更しています。そういえば MJIT -> JIT になったんだっけ。

[4c8cce5b8a] Tom Freudenberg 2021-03-08 17:03:15 UTC

標準添付ライブラリ net/smtp の Net::SMTP.start, #start メソッドに ssl_context_params キーワード引数を追加して利用する OpenSSL::SSL::SSLContext を渡せるようにしています。

[ff931d0336] mohamed 2021-02-15 17:36:50 UTC

標準添付ライブラリ net/smtp で Socket.tcp の connect_timeout キーワード引数を利用して Timeout.timeout のかわりに接続時のタイムアウトを実現するようにしています。

[eebecdf1c4] Hiroshi SHIBATA 2020-12-28 03:32:21 UTC

標準添付ライブラリ net/smtp の gemspec ファイルの spec.files を git ls-files を使ってたのを直接配列リテラルを書くようにしています。

[e22626f08e] Tom Freudenberg 2021-03-10 06:35:43 UTC

標準添付ライブラリ net/smtp のバージョンを "0.2.1-patch-ssl-context" というのにしています。うーん、このままリリースするのかな。

[8a2b7b79ee] mohamed 2021-01-13 22:03:14 UTC

標準添付ライブラリ net/http でも接続タイムアウトに Timeout.timeout を使っていたところを Socket.tcp の connect_timeout キーワード引数を利用するようにしています。

[842f00f452] Lukas Eipert 2020-12-30 20:24:16 UTC

標準添付ライブラリ net/http で URL で http_proxy などの変数の指定による URL に埋め込まれている user/password を %-encode されているものとしてデコードして使うようにしています。 [ruby-core:102089] [Bug #17542]

[1229ad0528] Jean Boussier 2021-03-18 21:05:06 UTC

標準添付ライブラリ net/http の URL のホスト部から ":" 以降を削る時の正規表現のオプションに s を使ってたのを m を使って改行が含まれてた時に改行を超えて全て削るようにしています。

[0296a64450] Jeremy Evans 2020-10-27 21:48:25 UTC

標準添付ライブラリ net/http の Net::HTTP#connect で OpenSSL::SSL::SSLContext.new の呼び出しを接続前にしておくようにしています。使ってるわけではないのですが、拡張ライブラリ openssl が未使用でここで初回の利用だった場合に初期化のためちょっと時間がかかるので、ソケットをはってから時間をかけるよりその前にやっておく、という意図のようです。 [ruby-core:60202] [Feature #9459]

[908785ef6d] Ryuta Kamizono 2021-04-25 18:12:36 UTC

標準添付ライブラリ net/imap の rdoc 用コメントの typo 修正。

[2afbe7113a] Alexander Popov 2021-03-17 21:24:10 UTC

misc/rb_optparse.bash や misc/rb_optparse.zsh のインデント変更と test/optparse/test_acceptable.rb の空行削除。コミットログをみるとなんか意味がありそうだけど、たぶん upstream のリポジトリでは ruby 本体に同期されないファイルの部分で他に変更があったのを cherry-pick した結果だと思います。

[37b445eaeb] Marc-Andre Lafortune 2020-09-30 22:21:27 UTC

標準添付ライブラリ ostruct で String#end_with? を使ってたところを正規表現を使って String#match? を使うようにしています。しかし match? が使えるようになったらかということですが、パフォーマンス的には end_with? でいいならそのほうが高速そうな気がしますが……。

[7f1323c3bd] Marc-Andre Lafortune 2020-09-02 20:05:59 UTC

標準添付ライブラリ ostruct で Hash#to_h にブロックを受け付けるように機能がない古い ruby のために OpenStruct#to_h メソッド定義を分岐するようにしています。to_h のブロック受け付けってそんなに新しいんだっけ。

[f985dafee7] Hiroshi SHIBATA 2021-04-28 08:58:04 UTC

標準添付ライブラリ ostruct の Ractor を使ったテストを defined?(Ractor) で Ractor クラスがある時だけテストメソッド定義するようにしています。

[795fb51f80] Nobuyoshi Nakada 2021-04-28 09:40:45 UTC

標準添付ライブラリ diget/rmd160 の extconf.rb で -DNDEBUG オプションの追加は ruby のバージョンが 3.0 以前の時だけにするようにしています。

[96fd1e1f22] Nobuyoshi Nakada 2021-04-28 09:16:02 UTC

拡張ライブラリ digest/xxx の extconf.rb で -DHAVE_CONFIG_H のコンパイラオプション追加を削除しています。