今日は主に GC の共有ライブラリ化のビルドプロセスの修正や rubygems/bundler の更新、NEWS の整理などがありました。リリースが近くなってきたって感じですね。
[d61933e503] Matt Valentine-House 2024-11-22 12:32:16 UTC
GC の外部実装の共有ライブラリのビルドプロセスの整備。 gc/default.c も gc/default/ のサブディレクトリの配下に移動しています。 default の実装も共有ライブラリにするのかと思いましたがデフォルトではそういうわけではなさそうですね。
[551be8219e] Matt Valentine-House 2024-11-22 13:30:00 UTC
GC の実装を共有ライブラリに切り出してビルドした時の対応のために一部の関数を USE_SHARED_GC マクロが定義されている場合に export するようにしています。常に export してはだめなのかな。
[f127bcb829] Matt Valentine-House 2024-11-23 09:28:17 UTC
なぜか macOS でのみ宣言していた rb_current_ec_set() を常に使うようにしています。
[4e6ada3ae4] David Rodríguez 2024-11-22 10:18:52 UTC
rubygems の gem setup サブコマンドでの不要な処理の削除。
[77990f6751] David Rodríguez 2024-11-22 10:23:08 UTC
rubygems の古くなっていたコメントの削除。
[eb87147bda] David Rodríguez 2024-11-08 12:41:08 UTC
bundler のテストのチェックを強化。
[e1de5a6e3b] David Rodríguez 2024-11-21 17:16:19 UTC
bundler で URL に認証情報が埋め込まれている時のフィルタリングを修正しています。
[1d510a952d] gemmaro 2024-11-25 13:40:23 UTC
bundler の bundle gem で生成する新規プロジェクトの README.md のテンプレートの記述を更新しています。
[cedcf2d681] Jean Boussier 2024-11-25 12:05:18 UTC
rb_raise() で可変長引数の処理のためのマクロ va_end() が例外発生して大域脱出する rb_vraise() の後に書かれてたので、例外オブジェクトの生成までして va_end() を呼んでから例外を発生させるように修正しています。
[0f41cc442e] tomoya ishida 2024-11-25 17:38:45 UTC
標準添付ライブラリ reline の補完処理のクオートの処理の再修正。 https://github.com/ruby/reline/pull/782
[c215e95572] David Rodríguez 2024-11-20 12:03:59 UTC
bundler の不要な処理を遅延させる最適化のようです。
[e7bb505130] David Rodríguez 2024-11-20 12:18:26 UTC
bundler の Bundler::Installer の処理の一部を Bundler::Definition#setup_domain! というメソッドに切り出すリファクタリング。
[62b9da7088] David Rodríguez 2024-11-20 10:59:11 UTC
bundler の bundle lock --add-checksums オプションをつけた時に依存関係の更新がなかったら CHECKSUMS が追記されないのを修正しているようです。
[cdd47436ae] "dependabot[bot]" 2024-11-25 16:57:05 UTC
rubygems の Rust 製拡張ライブラリを含む gem のテストのためのプロジェクトの rb-sys パッケージのバージョンを更新しています。
[081bdc5125] Maxime Chevalier-Boisvert 2024-11-25 19:32:19 UTC
YJIT の Rust 実装のコマンドラインオプション指定の typo 修正。 https://github.com/ruby/ruby/pull/12167
[9362753d07] Stan Lo 2024-11-23 14:38:41 UTC
doc/maintainers.md の rdoc のメンテナリストに Stan Lo と Colby Swandale を追記しています。
[7c200a46ad] Stan Lo 2024-11-23 14:42:36 UTC
doc/maintainers.md のヘッダと本文のあいだに空行を追加しています。
[c3144e4f6d] Stan Lo 2024-11-23 14:44:24 UTC
doc/maintainers.md の Module という単語がクロスリファレンスになるのを防ぐためエスケープを追加しています。
[96766517b0] Stan Lo 2024-11-23 14:57:34 UTC
doc/maintainers.md のアカウント名に GitHub のリンクをつけるようにしています。
[544d684412] Stan Lo 2024-11-24 12:59:01 UTC
doc/maintainers.md のアカウント名のリンクをインラインでなく footnote を使うようにしています。
[7be0d50514] Mike Linksvayer 2024-11-25 20:25:42 UTC
標準添付ライブラリ logger の gemspec ファイルで spec.files にライセンスファイルを追加しています。
[36f67f6bbb] Hiroshi SHIBATA 2024-11-26 00:22:59 UTC
標準添付ライブラリ resolv のテストで ruby 2.5 から追加の暗黙のブロックパラメーターが利用されていたので使うのをやめています。
[56fbf64a53] Maximillian Polhill 2024-11-25 19:29:55 UTC
Symbol#to_s が再定義されていないか確認するのに check_cfunc() を使っていたところを check_method_basic_definition() という関数を導入して METHOD_ENTRY_BASIC() マクロを利用するようにしています。これは flags をチェックするだけなのでたぶん高速になるということかと。
[4e59ae6e27] Shugo Maeda 2024-11-26 02:13:59 UTC
NEWS に MatchData#bytebegin と MatchData#byteend の新規メソッド追加について追記しています。
[c08e1f336c] Hiroshi SHIBATA 2024-11-26 02:28:09 UTC
標準添付ライブラリ resolv のテストで Windows 環境で不安定なものを skip するようにしています。
[02b70256b5] Nobuyoshi Nakada 2024-11-26 01:55:49 UTC
String#[] のようなインデックスの指定に大きな負の数値を渡すと underflow を起こすことがあった不具合を修正しています。
[6b4f8945d6] Nobuyoshi Nakada 2024-11-26 02:05:16 UTC
String#[] の最適化のためのパスに coderange が Encoding に対して正常な文字列であることを確認する条件を追加しています。
[c60cac50f4] Yusuke Endoh 2024-11-26 03:08:55 UTC
NEWS の組み込みクラスの変更のセクションをクラス/モジュール名の辞書順に並べ替えています。
[92cf8a5705] Yusuke Endoh 2024-11-26 03:10:03 UTC
NEWS の追記漏れのあった非互換や新機能について追記しています。
[22c1ba9409] Yusuke Endoh 2024-11-26 03:12:59 UTC
NEWS の Happy Eyeballs V2 の影響するメソッド名の typo 修正。
[1d9dc4c504] Hiroshi SHIBATA 2024-11-26 01:32:51 UTC
da8f55401174408bda4823f5ac52adfc38a92b0e の標準添付ライブラリ uri のテストの警告抑制のための include するモジュールの変更を revert しています。
[8655b9f7c6] Hiroshi SHIBATA 2024-11-26 01:47:12 UTC
1d9dc4c5044c056d9c3ec61aafde9905dba49a67 の続きで標準添付ライブラリ uri のテストで deprecated になっている URI::REGEXP::PATTERN を利用するために include する部分も含めて全体を EnvUtil.suppress_warning で包んで警告抑制するようにしています。
[aa5b1d8df9] Nobuyoshi Nakada 2024-11-26 04:09:24 UTC
NEWS に Warning.caegories メソッドの新規追加について追記しています。 [ruby-core:116909] [Feature #20293]
[519701657f] Jeremy Evans 2024-11-26 05:00:59 UTC
NEWS に Kernel#singleton_method が include/prepend した Module のメソッドも返すようになった変更について追記しています。 [Bug #20620]
[ee0de3fd4e] Jean Boussier 2024-11-05 18:57:46 UTC
拡張ライブラリ json で JSON.dump の第2引数に IO を渡した時に全体を生成してから書き出さずに極力速やかに出力するようにしてメモリ消費量を抑えるようにしています。むしろこれまで途中で書き込んでなかったんだ。まあそれはそれで中途半端な状態のファイルが見えない(見えにくい)という利点はあったかもしれませんが、わざわざ IO 渡せる I/F になっている以上はストリーム書き込みしてるものだと思ってました。 https://github.com/ruby/json/issues/524
[6805e88935] Jean Boussier 2024-11-23 08:51:57 UTC
拡張ライブラリ json で rb_gc_mark_locations() を呼んでいたのですがその内容が期待と違っていたとのことで独自に領域内の VALUE 要素に rb_gc_mark() を呼ぶ実装に置き換えています。
[693a793521] Jean Boussier 2024-11-25 10:15:53 UTC
拡張ライブラリ json で JSON.dump でエラーが発生した時に内部的に利用している singleton な例外オブジェクトを外に漏らしてしまっていたのを修正しています。 https://github.com/ruby/json/issues/710
[7b66aee0b7] David Rodríguez 2024-11-13 16:56:25 UTC
bundler で Bundler::Definition のインスタンス変数の初期化を分岐によって異なる順番で初期化していたのをそろえるようにしています。 Object Shapes で異なる shapes にならないようにするためですかね?
[6916999fed] David Rodríguez 2024-11-13 16:57:09 UTC
bundler の Bundler::Definition#most_specific_locked_platform で参照するインスタンス変数の間違いを修正。
[631908d9a8] David Rodríguez 2024-11-14 08:40:00 UTC
bundler でローカル変数を使いまわすようにするリファクタリング。
[83ce2351ff] David Rodríguez 2024-11-14 08:52:26 UTC
bundler で未使用のローカル変数の代入の削除。
[d6a0e575c9] David Rodríguez 2024-11-15 22:00:07 UTC
bundler で platform に合致する spec の探索で候補が 1つだけの時のショートカット追加。
[7c93460331] David Rodríguez 2024-11-14 09:01:56 UTC
bundler の Bundler::SpecSet#dependencies のリファクタリング。
[6386d49f9e] David Rodríguez 2024-11-18 12:41:41 UTC
bundler の Bundler::Definition#converge_specs などで development_dependencies を考慮に含めるのをやめるようにしています。
[d63eeafe69] David Rodríguez 2024-11-18 13:03:37 UTC
bundler のテストで let で source や remote の URL の値を注入していたのをやめて直接書くようにしています。
[91995d0ad1] David Rodríguez 2024-11-18 13:17:50 UTC
bundler のテストで bundle install を実行する時に --verbose オプションを渡してたのを削っています。
[dd400ba630] David Rodríguez 2024-11-19 15:25:16 UTC
bundler の Bundler::Deifinition#converge_locked_specs で @gems_to_unlock のリストの gem を除外していたのを #converge_specs で実施するように移動しています。
[11e522b913] David Rodríguez 2024-11-21 10:59:57 UTC
よくわかりませんが bundler の bundle install で依存関係の変更で不要になった gem の扱いを変更しているみたいです。
[4addaaf4df] David Rodríguez 2024-11-18 19:51:41 UTC
rubygems と bundler で Enumerable#flat_map を利用するようにリファクタリングしています。
[963f98a94f] David Rodríguez 2024-11-18 19:53:48 UTC
rubygems と bundler で Enumerable#filter_map を利用するようにリファクタリングしています。
[c76b1ea2a6] David Rodríguez 2024-11-15 23:20:09 UTC
bundler に Bundler::Materialization という Class を追加して依存関係解決の最適化をやりやすくしているようです。
[36fb7994fe] David Rodríguez 2024-11-18 11:42:48 UTC
bundler の Bundler::SpecSet#for の引数を変更して、第2引数に platforms を渡す呼びかたもサポートするようにしています。新旧両方の呼びかたに対応するためにやけに大変なことをしているけど呼び元が bundler の外にもあるからかな。古い呼びかたには警告を出すようにしています。
[44ad2e3f38] David Rodríguez 2024-11-18 13:18:40 UTC
bundler の lockfile に記述のある gem のバージョンが yank された時の挙動の修正? みたいです。
[10de74b75b] David Rodríguez 2024-11-21 10:50:07 UTC
bundler の冗長な処理を省く最適化。
[2b91a56d40] David Rodríguez 2024-11-14 21:03:46 UTC
bundler の不要になったコードの除去。
[5471f284d2] Hiroshi SHIBATA 2024-11-26 05:40:24 UTC
bundled gems の rbs のテストの skip する指定のための tool/rbs_skip_tests に json のテストを追記しています。
[16d98dc3c1] Yusuke Endoh 2024-11-26 10:02:53 UTC
8655b9f7c644b023036c8745e3b26ed541af2325 の標準添付ライブラリ uri の警告抑制のさらに続きで EnvUtil.suppress_warning でくくるのはテストメソッド内はまた別途くるむようにしています。そうかテストメソッドの定義部分で警告抑制してもテストの実行時は別なので意味がないのか。ついでに URI::REGEXP::PATTERN を include しているところではテストの意図としてわざとこの定数を使っている旨コメントに追記しています。
[c5d31cb96b] Nobuyoshi Nakada 2024-11-25 16:04:07 UTC
common.mk および template/Makefile.in の GC の実装の共有ライブラリ化ビルド時のルールを修正しています。common.mk は Windows 環境でも使われるので shell に依存したアクションは書けないので template/Makefile.in のほうに逃がしています。
[9a5f6a45c6] Nobuyoshi Nakada 2024-11-25 16:22:38 UTC
GC の外部実装を共有ライブラリとしてビルドするための gc/extconf_base.rb でオプションの指定方法を修正しています。
[d057503252] Nobuyoshi Nakada 2024-11-25 16:23:42 UTC
common.mk の GC 実装を共有ライブラリとしてビルドする時のアクションで ext/extmk.rb を使って Makefile 生成するようにしています。
[9508cf86de] Nobuyoshi Nakada 2024-11-25 16:39:20 UTC
common.mk に make clean-shared-gc および make distclean-shared-gc ターゲットを追加して共有ライブラリとしてビルドした GC 実装のディレクトリの掃除ができるようにしています。
[ad28f3a779] Nobuyoshi Nakada 2024-11-26 09:33:54 UTC
kernel.rb で Kernel#with_yjit の定義を明示的に private にするようにしています。特異メソッドの Kernel.with_yjit が定義されないようにってことだけど、module_function の状態で後から private にしたら特異メソッドって消えるのかな? それとも private の引数の部分でメソッド定義することで context が変化するのかな。
[ffbfec394a] Raed Rizqie 2024-11-25 15:58:07 UTC
configure の MinGW 環境での NET_LUID という型の存在チェックをする時に windows.h ヘッダを #include するように指定しています。
[796d315958] Jean Boussier 2024-11-26 09:17:40 UTC
NEWS に Hash.new のキーワード引数 capacity の追加について追記しています。 [Feature #19236]