手動セットアップ時のデフォルト設定ファイル読み込みを廃止
Bootsnap 1.24.5では、手動セットアップ時にデフォルトで設定ファイルを読み込む挙動を廃止しました。これにより、Homebrewのようなマルチアプリケーション環境で動作するCLIツールが、意図しない別アプリケーションのBootsnap設定を読み込むリスクを解消します。
背景
Bootsnapを手動セットアップする環境では、デフォルトの設定ファイル読み込みが意図しない副作用を引き起こす問題がありました。具体的には、Homebrewのようなシステム全体に影響するCLIアプリケーションが、同一環境にインストールされた別のRubyアプリケーションの Bootsnap設定ファイル を誤って読み込んでしまうケースです。
CLIツールはシステムリソースを共有する性質上、この種の設定汚染は予期せぬ動作の原因になり得ます。
技術的な変更
バージョン番号の更新に加え、CHANGELOGに本変更の内容が記録されています。
lib/bootsnap/version.rb のバージョン定数が "1.24.4" から "1.24.5" に更新されました。
変更前:
module Bootsnap
VERSION = "1.24.4"
end
変更後:
module Bootsnap
VERSION = "1.24.5"
end
CHANGELOGには以下のように記載されています:
No longer load the config file by default when setup is done manually. This is so cli applications like homebrew don't mistakenly load another app's bootsnap config.
この変更は 手動セットアップ(setup is done manually) の場合にのみ適用されます。Railsアプリケーションのような通常のBootsnap利用では、従来どおり設定ファイルの読み込みが行われます。
まとめ
Bootsnap 1.24.5は、手動セットアップ時の設定ファイルの暗黙的な読み込みを廃止することで、CLIツールが別アプリケーションのBootsnap設定を読み込むリスクを解消しています。この変更はフレームワーク統合経由の通常利用には影響せず、手動セットアップを行うCLIツール固有の問題に的を絞った修正です。