ruby-trunk-changes 2024-01-11

今日は主に細かなメモリリークの修正や rubygems/bundler の更新などがありました。

[8940922d18] Peter Zhu 2024-01-07 19:26:10 UTC

GC.latest_compact_info の rdoc 用コメントの内容が古くなってたのを修正し体裁も整えています。

[82b57d7bfe] Peter Zhu 2024-01-08 16:32:48 UTC

Object Shapes によるインスタンス変数管理でインスタンス変数アクセスのパターンが増えて too complex になってるオブジェクトの dup で複製する時に st_table が解放されず leak していたのを修正しています。 [ruby-core:116078] [Bug #20162]

[015b0e2e1d] Alan Wu 2024-01-10 17:37:08 UTC

YJIT のために rb_yjit_fix_mul_fix() という関数を export していましたが未使用だったので削除しています。

[5906f6a50e] Kevin Newton 2024-01-10 18:47:46 UTC

GitHub Actions の workflows に prism を利用して make btest を実行する workflow を追加しています。また tool/prism_btests というファイルを追加して実行対象のテストファイルを列挙するようにしています。

[25f5b83689] KJ Tsanaktsidis 2023-11-27 09:26:17 UTC

RGENGC_DEBUG=5 というマクロ定義をしてビルドした時に異常終了するという不具合の修正。デバッグ出力のために obj_info() という関数を呼んでいるのが初期化が完了していないオブジェクトに対して呼ばれてしまうことがあったようです。かわりに obj_info_basic() という関数を追加して未初期化でも落ちないようにしています。 [ruby-core:108646] [Bug #18795]

[ef75125271] Jeremy Evans 2024-01-10 21:07:34 UTC

左辺値が定数の時の演算子つき代入の文法を defined? に渡すと "expression" になるのを他の変数などと同様に "assignment" になるように修正しています。 [ruby-core:115991] [Bug #20111]

[a6ba45e9b0] "S.H" 2024-01-11 00:21:55 UTC

いくつか C のソースコードで余分な行末のセミコロンが重複していたのを削除しています。https://github.com/ruby/ruby/pull/9469

[d5e83a0601] Brave Hager 2024-01-10 14:49:47 UTC

rubygems の rdoc 用コメント内のサンプルコードでインデント除去つきのヒアドキュメントを利用するように変更しています。

[bd9548810c] Hiroshi SHIBATA 2024-01-10 07:18:57 UTC

rubygems のテスト用の helper? で不要な _synchronize メソッドを削除しています。

[9f784915cd] Hiroshi SHIBATA 2024-01-10 07:36:58 UTC

rubygems で rubocop の指定による多値をエミュレートするための return 文を配列リテラルを使った記法に変更しています。

[27688b6a1d] Hiroshi SHIBATA 2024-01-11 00:33:01 UTC

rubygems の helper で minitest のリポジトリへの参照 URL をただのコメントに変更しています。

[76a8c963c7] KJ Tsanaktsidis 2023-08-18 13:19:21 UTC

Process.waitpid を複数の Thread から同時に呼んだ時のテストを追加しています。 [ruby-core:112091] [Bug #19387]

parse.y の nd_st_key() という関数で新たに追加したリテラル用の node の種別ごとに対応するキャスト用の関数を通すようにしています。

[1bd98c820d] Yusuke Endoh 2024-01-10 10:52:53 UTC

拡張ライブラリ socket で geftaddrinfo(3) を呼ぶ時に割り込み可能にするために pthread を利用する実装で性能のために pthread_attr_setaffinity_np() を利用して CPU の割当ての制御を行なっていたのをやめています。 仮想環境などで sched_getcpu() がおかしな値を返すことがあったり、性能への影響もあまりなかったからとのこと。 [ruby-core:116129] [Bug #20172]

[94e1d3f3fa] Cody Cutrer 2024-01-09 18:15:31 UTC

bundler の Bundler::LazySpecification というクラスに Bundler::MatchMetadata の include を追加しています。

[08e22c64b3] Kenta Murata 2023-12-26 01:25:46 UTC

rubygems の spec ファイルの cache ディレクトリを決定するロジックの修正。

[ff0119354e] Hiroshi SHIBATA 2024-01-10 08:01:29 UTC

rubygems で rubocop による正規表現のかわりに String#include? を利用するようにする指示を適用。

[443e417885] Hiroshi SHIBATA 2024-01-10 08:02:03 UTC

rubygems で rubocop によるかっこを除去する変更を適用。個人的には多少冗長でも人間のために明示的なかっこはあったほうがいいと思いますけどね。

[ea31461ba0] Hiroshi SHIBATA 2024-01-10 08:02:32 UTC

rubygems で rubocop による文字列リテラルのクオートの変更の適用。

[888a8f4318] Hiroshi SHIBATA 2024-01-10 08:02:51 UTC

rubycop による文字列リテラルのクオート記号の変更の適用。

[983ca8e9c9] Hiroshi SHIBATA 2024-01-10 08:03:08 UTC

rubocop による余分な空白の除去の適用。

[a1d5c6555e] Hiroshi SHIBATA 2024-01-10 08:03:30 UTC

rubocop による余分な空白の除去の適用。

[0e8b1973b4] Hiroshi SHIBATA 2024-01-10 08:03:47 UTC

rubocop による冗長な明示的 return の除去の適用。

[acdc6abca8] Hiroshi SHIBATA 2024-01-10 09:37:37 UTC

443e4178859ed4d2789c3e5c982647a8e10d7021 でのかっこの除去で誤ってかっこを削ってしまったところがあったようで rubocop による警告を抑制するためのコメントをつけて元に戻しています。

[e900814467] David Rodríguez 2023-12-22 17:16:01 UTC

bundler のテスト用のヘルパーのメソッドを private にするリファクタリング

[ab1936faf9] David Rodríguez 2023-12-22 17:16:54 UTC

bundler でメソッド名の改名。

[7f0dbfc9c8] David Rodríguez 2023-12-22 17:58:55 UTC

bundler で冗長なメソッド呼び出しを遅延させて必要ない時に呼ばないようにするリファクタリングのようです。

[580d4a4053] David Rodríguez 2023-12-22 18:29:47 UTC

bundler のテストで git status --porcelain コマンド実行の結果を capture しようとしてエラーになった時のデバッグ用? に再度 git status --porcelain コマンド実行してたのを git diff を実行するようにしています。

[b8f859f0bf] David Rodríguez 2023-12-22 17:59:44 UTC

よくわかりませんが bundler の依存関係解決で platform の解決についての修正のようです。

[ef0705b3c2] David Rodríguez 2024-01-05 18:47:32 UTC

よくわかりませんが bundler の依存関係解決で依存している gem の add_development_dependency が衝突した時の処理の修正のようです。

[aa908aa065] David Rodríguez 2023-12-26 19:23:35 UTC

rubygems の gem update 時に内部的に自動的に追加する? --previous-version というオプションを古い rubygems 対応で分岐していたのを削除しています。

[3980cebda5] David Rodríguez 2023-12-26 19:55:39 UTC

rubygems の gem update --system で実行している ruby のバージョンに依存して更新するバージョンの制約を設けるようにしてるようです▽

[0156b7416c] David Rodríguez 2023-12-26 19:21:26 UTC

rubygems の gem update --system の実行時に "Updating rubygems-update" のメッセージが出力されるのを抑制しています。

[f4a347b90f] David Rodríguez 2023-12-22 21:18:23 UTC

bundler のとあるテストで gem install する時に BUNDLER_IGNORE_DEFAULT_GEM=true という環境変数を設定するようにしています。

[0ebc3f7969] Hiroshi SHIBATA 2024-01-11 06:02:07 UTC

0ebc3f7969c8ad46c22b856c12e742806b1ddde9GitHub Actions の dependabot のための workflow で監視対象のディレクトリを .github/ に広げてたのを元に戻しています。

[505ac323e3] Hiroshi SHIBATA 2024-01-11 06:21:45 UTC

ad3db6711c4aa48c82f4091342aab7394ee45736 の dependabot の対象に .github/actions も含めるためのリトライ。GitHub Actions の dependabot 用の workflow 個別にサブディレクトリを指定するジョブを明示的に書くようにしています。

[1a66828a7e] "dependabot[bot]" 2024-01-11 06:03:57 UTC

GitHub Actions の workflow で利用している lewagon/wait-on-check-action というアクションのバージョンを更新しています。

[c26fdce9ec] "dependabot[bot]" 2024-01-11 06:04:05 UTC

GitHub Actions の workflows で利用している ruby/setup-ruby アクションのバージョンを更新しています。

[7558625be1] Nobuyoshi Nakada 2024-01-11 05:54:03 UTC

標準添付ライブラリ rdoc でファイルの modeline を検出して自動的にフォーマットを判定する機能を少し強化しているようです。 test_can_parse_modeline メソッドのほうの ensure 節でのファイル掃除が消えてしまっている気がします。

[563f61102b] "dependabot[bot]" 2024-01-11 06:23:27 UTC

GitHub Actions の workflows で利用している actions/cache のバージョンを更新しています。

[4088280643] "dependabot[bot]" 2024-01-11 06:04:00 UTC

GitHub Actions の workflows で利用している actions/upload-artifact アクションのバージョンを更新しています。

[60844ecf2e] Yusuke Endoh 2024-01-11 08:03:22 UTC

76a8c963c7ad975b7bbfc1c4979bf7a2de15af27 で追加した複数 Thread からの Process.waitpid のテストでメソッドの引数が -1 のところは明示的にかっこをつけて $VERBOSE=true 時の警告を抑制しています。

[78cd5b3657] Yusuke Endoh 2024-01-11 08:04:13 UTC

正規表現のテストで assert メソッドの引数に明示的なかっこを追加したり未使用の警告抑制のため変数名の prefix に "_" を追加したりしています。

[b10aa7757e] Hiroshi SHIBATA 2024-01-11 08:36:51 UTC

変更点のリストを表示する tool/gen-github-release.rb で --no-dry-run オプションを指定して実際に GitHub の release のエントリを作成する時に Octkit での release 作成のメソッドに make_latest: false を渡すようにしています。GitHub 上の release リソースに latest タグをつけるのを抑制するためみたいです。

[d6741572ef] Nobuyoshi Nakada 2024-01-11 08:39:43 UTC

7558625be1d1f8160e7e138a773925b75a87f283 で追加した標準添付ライブラリ rdoc の既存のテストの ensure 節を復活させています。

[7cc8d58cc9] Nobuyoshi Nakada 2024-01-11 08:46:09 UTC

parse.y の nd_st_key_val() という関数は nd_st_key() と同一だったので削除してこちらを使うようにしています。

[0480c07344] Nobuyoshi Nakada 2024-01-11 09:28:53 UTC

GitHub Actions の check_misc という workflow で f730a5a31d7d072f752e9bf41e8b285305933328 で追加したフォーマット文字列の修飾子のチェックのための step を削除しています。VC2013 のサポートが切れたためとのこと。

[3d3bc029c5] Nobuyoshi Nakada 2024-01-11 09:46:51 UTC

parse.y の parser_set_encode() で magic comment の encoding 指定に internal/external/locale/filesystem などの指定がされた時にエラーにするようにしています。