ruby-trunk-changes 2022-06-01

今日は rubygems と bundler の legacy な実装の削除や不具合修正などがありました。

[fd83b8887f] David Rodríguez 2022-05-31 07:49:50 UTC

bundler が Gemfile の記述の警告を冗長に出力していたのを1回にまとめる修正。

[936e54063d] git 2022-05-31 15:14:46 UTC

version.h の日付更新

[ebb534801f] David Rodríguez 2022-03-22 12:52:19 UTC

rubygems の Gem::Specification の Marshal.load 用の _load メソッドで load した配列から Psych::PrivateType というクラスのインスタンスを削る処理がもう不要になってたとのことで削除しています。

[89ec3def74] David Rodríguez 2022-03-22 13:12:47 UTC

rubygems の Gem::Specification の Marshal.load のテストのチェック方法を緩めています。これも先の変更と同じく過去の不具合に対応したものみたいなので ebb534801f7032476fa069be11ee1e52f54819f5 の変更への追随なのかもしれません。

[8381c568e7] David Rodríguez 2022-03-22 13:21:59 UTC

ebb534801f7032476fa069be11ee1e52f54819f5 のさらに続きで rubygems の Gem::Specification の Marshal.load 対応で文字列を load した時に定数 YAML がなくて例外が発生したと思われる時には Psych を YAML に代入(Object.const_set)してから再実行するように fallback しています。

[f5b88d93ae] David Rodríguez 2022-05-30 19:46:47 UTC

bundler の Bundler::StubSpecification#full_gem_path で method_missing を呼ぶ fallback を削除しています。なんとなく古式ゆかしいメタプログラミング作法を感じますね。

[0a6b9924bd] David Rodríguez 2022-05-30 19:48:49 UTC

bundler の Bundler::StubSpecification に full_gem_path= というメソッドを追加しています。 default gems 用の specification に使われるクラスみたいですね。 bundle install 時の動作のために setter が不足してたみたいです。

[1177665e62] Ellen Marie Dash 2022-03-31 23:44:31 UTC

bundler の bundle remove サブマンドの実装に Bundler.reset_paths! の呼び出しを追加しています。コミットメッセージによると Gemfile.lock から削除した gem も消すために必要だったみたいです。