ruby-trunk-changes 2023-04-12

今日は主に rubygems の WebAuthn 対応や Hash のイテレーターのネスト数をチェックする機能の不具合修正などがありました。

[7b230bc848] Peter Zhu 2023-04-10 21:09:13 UTC

object.c に struct RBasic::flags のビットフラグの使われかたについてのコメントを追加しています。

[8c360ce713] Jean Boussier 2023-04-11 08:55:46 UTC

Hash のイテレーターのネストした深さを struct RBasic::flags 内に埋め込んでる処理で Object Shapes のためのビットまで書き換えてしまっていた不具合を修正しています。 flags にネスト数を書く処理を iter_lev_in_flags_set() という関数に切り出していますが、内容は同じようにみえるのではてなんで元の実装ではだめだったんだろう? [ruby-core:113182] [Bug #19589]

[7297374c5e] Takashi Kokubun 2023-04-11 15:02:52 UTC

YJIT のコード領域のためのメモリ管理で alignment のための padding を環境によって小さくするようにしているようです。 https://github.com/ruby/ruby/pull/7671

[b4571097df] Peter Zhu 2023-04-11 13:16:52 UTC

32bit 環境でも Variable Width Allocation による slot サイズの異なる heap を用意するようにしているようです。

[ce99e50ede] eileencodes 2023-04-04 17:18:13 UTC

ISeq 内に大域脱出を捕捉するための命令列があるかどうかのフラグを struct rb_iseq_constant_body::catch_except_p として持っていたのはコンパイル時にのみ必要な情報なので struct iseq_compile_data に移動しています。なるほど。

[91dcce5ed1] Peter Zhu 2023-04-11 14:14:45 UTC

構造体 rb_classext_t のメンバー max_iv_count の型を uint32_t から attr_index_t という専用の型に変更しています。

[1432b3768a] Takashi Kokubun 2023-04-11 21:59:11 UTC

YJIT の Rust 実装に arm64 でのみ必要な関数の定義を必要な環境でのみコンパイルするようにしています。

[c767e6f0c2] Alan Wu 2023-04-11 23:35:30 UTC

1432b3768aad4cfd95d584077f76c617dcc62978 の YJIT の Rust 実装の警告除去の #cfg の書きかたが間違っていたのを修正しています。

[57bc4cfa28] Alan Wu 2023-04-11 23:43:47 UTC

win32/.document というファイルを削除しています。既に中に書かれているファイルもなくなっていたので。

[6275284f02] Ashley Ellis Pierce 2022-12-20 21:01:08 UTC

rubygems に WebAuthn による認証の対応を追加しているみたいです。

[332c4b6726] Jenny Shen 2023-02-15 15:48:35 UTC

rubygems にさらに WebAuthn 対応のためのクラスを追加しています。

[354a5c646e] Jenny Shen 2023-02-15 15:49:27 UTC

さらに rubygems に WebAuthn 対応のための例外クラス Gem::WebauthnVerificationError を追加しています。

[27322e51a7] Jenny Shen 2023-02-15 15:50:45 UTC

rubygems の WebAuthn 対応のテストのための mock 用クラスを追加しています。

[6e7bf0677d] Jenny Shen 2023-02-15 15:51:43 UTC

rubygems に WebAuthn 対応のための Gem::WebauthnListener というクラスを追加しています。

[353f9adccc] Jenny Shen 2023-02-16 04:36:15 UTC

rubygems のテストに gem コマンドでの WebAuthn での otp 入力するテストを追加しています。

[ef85b6de42] Jenny Shen 2023-02-21 17:48:37 UTC

rubygemsRubyGems.org へのリクエストヘッダに Access-Control-Allow-xxx ヘッダを追加するようにしているようです。

[096f6eec3e] Jenny Shen 2023-02-27 15:07:12 UTC

rubygems の WebAuthn 対応のファイル構成の変更。

[b6e860ba1b] Jenny Shen 2023-02-15 15:46:47 UTC

rubygems の WebAuthn 対応で otp 取得時の待ち処理を追加、のつもりみたいですけど肝心の Thread を使った otp 取得のところがダミーコードのままになってるような気が。

[cd60113faa] Jenny Shen 2023-02-15 15:52:32 UTC

b6e860ba1bae04a1ce269a40ef4731fe52855a16rubygems の WebAuthn 対応の otp 取得処理がダミーのままになってたのを修正ちえいます。

[c7a8d63df8] Jenny Shen 2023-02-16 21:14:36 UTC

b6e860ba1bae04a1ce269a40ef4731fe52855a16rubygems の WebAuthn 対応で otp 取得時のエラー対応を追加しています。

[b909ca94bd] Jenny Shen 2023-02-21 17:37:33 UTC

c7a8d63df84c4884cb30cc58292ec36efabfabbbrubygems の otp 取得時のエラー処理の JRuby 対応のための書きなおし。

[1b1485ae4d] Eric Herscovich 2023-03-20 18:44:25 UTC

rubygems の WebAuthn 対応の otp 入力を促す時のメッセージに --otp オプションについての言及を追記しています。

[851344965a] Ashley Ellis Pierce 2023-03-29 17:20:47 UTC

rubygems の WebAuthn 対応で検証のためのリクエストに API Key が利用できる時は Basic 認証のかわりにそちらを利用するようにしています。

[f06a48a92a] Nobuyoshi Nakada 2023-04-12 06:59:49 UTC

rubygems の WebAuthn 対応のテストのために立てたサーバーを落とし忘れていたので teardown を追加して止めるようにしています。

[2e1a95b569] Nobuyoshi Nakada 2023-04-12 03:12:04 UTC

regexec.c の find_cache_index_table() という関数からテーブルの検索部分を bsearch_cache_index() という関数に切り出すリファクタリング

[1b697d7cb5] Nobuyoshi Nakada 2023-04-12 03:48:45 UTC

同じく regexec.c の find_cache_index_table() や reset_match_cache() という関数の引数に const 修飾子を追加しています。

[0ac3f2c20e] Nobuyoshi Nakada 2023-04-12 05:54:26 UTC

正規表現マッチの memo 化による最適化でキャッシュをクリアするための関数呼び出しの引数の間違いを修正しています。 異常終了する可能性があったみたいです。 [ruby-core:113165] [Bug #19587]