ruby-trunk-changes 2024-02-26

今日は主に拡張ライブラリ socket に Happy Eyeballs という仕様を実装する変更などがありました。

[c976cb52a2] Stan Lo 2024-02-25 15:22:30 UTC

irb の組み込みコマンド show_source と show_doc のヘルプメッセージを追加しています。 https://github.com/ruby/irb/pull/887

[a1ca96e1fd] "dependabot[bot]" 2024-02-26 02:10:36 UTC

GitHub Actions の workflow で利用している github/codeql-action アクションのバージョンを更新しています。

[dc146babf4] Nobuyoshi Nakada 2024-02-26 01:48:54 UTC

Kernel#Complex() にキーワード引数 exception: false を渡して例外を発生せず nil を返すようにした時に rb_thread_t::errinfo がクリアされずに残ってたので後で意図しない例外が発生してしまうことがあったのを修正しています。 [ruby-core:116930] [Bug #20296]

[f23d502805] Nobuyoshi Nakada 2024-02-26 02:30:11 UTC

dc146babf47a84bbd1f176d766637d4a40327019 で修正した Kernel::Complex() のテストを専用の assertion メソッドを導入して書き直しています。 [ruby-core:116930] [Bug #20296]

[616b414621] "dependabot[bot]" 2024-02-26 03:02:00 UTC

YJIT 用の Rust のパッケージ capstone のバージョンを更新しています。 https://github.com/ruby/ruby/pull/10094

[9ec342e07d] Misaki Shioi 2024-02-26 03:14:11 UTC

拡張ライブラリ socket に Happy Eyeballs という IPv4/IPv6 の接続を同時に試して高速化するという仕様([RFC 8305](https://datatracker.ietf.org/doc/html/rfc8305))を実装しています。デフォルトで有効になっていますが Socket.tcp_fast_fallback= で設定をグローバルに切り替えられるようです。 https://github.com/ruby/ruby/pull/9374 [ruby-core:115985] [Feature #20108]

[a0f7de814a] Nobuyoshi Nakada 2024-02-26 03:29:23 UTC

コミットログをみると f23d5028059078a346efc977287b669d494a5a3f で導入した Kernel#Complex() のテストのための assertion メソッドの小さな変更みたいですが、一緒に 9ec342e07df6aa5e2c2e9003517753a2f1b508fd の Happy Eyeballs の変更が revert されてしまっています。

[d4e24021d3] Nobuyoshi Nakada 2024-02-26 04:12:05 UTC

a0f7de814ae5c299d6ce99bed5fb308a05d50ba0 で誤って revert してしまった 9ec342e07df6aa5e2c2e9003517753a2f1b508fd の Happy Eyeballs の追加を再度適用しています。

[459198999e] Naoto Ono 2024-02-24 01:09:06 UTC

GitHub Actions の workflow の Launchable 対応のための step を .github/actions/launchable/ 配下に独自のアクション定義として切り出しています。

[91ec1fc4e7] Hiroshi SHIBATA 2024-02-26 06:27:26 UTC

6aa5067ab970e70693529cde5102fab587158f7f で revert されていた rubygems のテストでの一時ディレクトリ削除のチェックする assertion の追加を再度適用しています。

[65f40967d5] Nobuyoshi Nakada 2024-02-21 13:35:14 UTC

rubygems のテストで一時ディレクトリのパスが長すぎてエラーになってしまうのをさけるためテストメソッド名を一時ディレクトリに含めるのをやめています。 https://github.com/ruby/ruby/pull/7483

[7dd4b30b77] Nobuyoshi Nakada 2024-02-22 16:46:01 UTC

rubygems のテストで一時ディレクトリの削除チェックの assertion で Windowsファイルシステムでは利用中のファイルが消せない仕様のため利用中かどうかわかるようにして利用中だったら assertion は失敗させるけど削除はしないようにしています。

[7176c186d0] Nobuyoshi Nakada 2024-02-22 16:51:23 UTC

rubygems のテストで拡張ライブラリ fiddle を利用しているもので Fille::Handle の close 漏れしているテストメソッドがあったので ensure 節を追加して close するようにしています。

[164e464b04] Aaron Patterson 2024-02-26 00:45:08 UTC

拡張ライブラリ strscan に StringScanner#scan_byte と StringScanner#peek_byte というメソッドを新規追加しています。 名前の通り 1 byte だけ読む、またはカーソルを進めず次の 1 byte だけみて Integer で返すというメソッドです。 https://github.com/ruby/strscan/pull/89

[38e3ad2675] Nobuyoshi Nakada 2024-02-25 08:03:10 UTC

標準添付ライブラリ tempfile の gemspec ファイルの spec.files を git ls-files から得るところを bundler の bundle gem で新規作成する時の最近のテンプレにそうように変更しています。これ昨日の tmpdir の時も思ったけど bundler のテンプレートの変更に追随する必要あるのかな?

[dddf62426b] Nobuyoshi Nakada 2024-02-25 08:14:52 UTC

38e3ad267569f38336458d461791b4a1cd79b5d1 の続きで標準添付ライブラリ tempfile の gemspec ファイルの spec.files の取得でバッククオートのかわりに IO.popen を利用するように変更しています。

[1ca3482e0a] Pierrick Bouvier 2024-02-26 07:03:12 UTC

C API のテスト用の拡張ライブラリで preprocessor 分岐で pthread.h が利用できない環境でのみ Init_xxx() 関数の戻り値の型が書かれてなかったのを修正しています。