HN 日本語サマリー

← 一覧へ戻る
プログラミング

Homebrew 7.0.0

Homebrew 7.0.0 (brew.sh)

133 pointsby mikemcquaid47 コメント

要約

Homebrew 7.0.0がリリースされ、インストールとアップグレードの高速化、サンドボックス機能の強化、ネイティブmacOSアプリの導入、脆弱性チェックとアドバイザリデータベースの組み込みなどが主な変更点です。macOS 10.15のサポート終了やIntel MacのTier 3移行も含まれます。パフォーマンス向上、セキュリティ強化、コマンドの改善も行われています。

全文翻訳

7.0.0 2026年9月13日 MikeMcQuaid 本日、Homebrew 7.0.0を発表できることを誇りに思います。6.0.0以降の最も重要な変更点は、インストールとアップグレードの高速化、サンドボックス機能の強化、ネイティブmacOSアプリ、組み込みの脆弱性チェックとアドバイザリデータベース、macOS 10.15サポートの終了、そしてIntel MacのTier 3への移行です。 目次 ⬆️ アップグレード 🍺 全てのHomebrewユーザー 🏎️ パフォーマンス 🔒 セキュリティ セキュリティアドバイザリ インストールとタップの保護 🔎 コマンドと設定 🗃️ Casks 🍎 macOSユーザー 🖥️ Homebrewアプリ 🐧 Linuxユーザー 🍾 デフォルト以外のプレフィックスユーザー 🔍 セキュリティチームと監査担当者 🐳 CI環境のHomebrewユーザー 🛠️ タップメンテナー 🪜 インストール手順 🙏 最後に ⬆️ アップグレード 自動アップデート、または手動のbrew update($HOMEBREW_NO_AUTO_UPDATEが設定されている場合)でHomebrewをアップグレードできます。これで7.0.0になります。 非推奨インターフェースは無効化されるまで警告を表示し、無効化されたインターフェースは使用を拒否し、削除されたインターフェースは利用できなくなります。 環境 7.0.0の動作とアクション タイミング PRリンク macOS 10.15以前 アップグレードしてmacOS 11以降へ 今すぐ 最小バージョン macOS Sonoma 14 Tier 3; ボトルと.pkgインストールのためにSequoia 15+へアップグレード 今すぐ サポートウィンドウ Apple Silicon上のmacOS Golden Gate 27 完全サポート(Tier 1)、プリビルドボトル付き 今すぐ ghcr.io/homebrew/ubuntu22.04 イメージ削除; ghcr.io/homebrew/brewへ移行 今すぐ 通知、削除 Homebrew/actions/*@master または @main master削除; CalVerリリースまたはフルSHAへピン留め 今すぐ ブランチ移行、リリース Setuidラッパー(実効UIDと実効UIDが異なるもの) 拒否; ラッパーなしでインストールのオーナーとして実行 今すぐ 実行モデル サードパーティ製brewラッパー Tier 3; 内部コマンドはラッパーをバイパス; ラッパープロジェクトからのサポートを求める 今すぐ ラッパーの変更 Homebrew/brew master ブートストラップ凍結; 削除前にmainへ切り替え 2027-03-01 ブートストラップ Intel macOS 11以降 Tier 3; 新規ボトルなし; Homebrewの実行停止前にMacPortsへ移行 2027-09-01 サポート、ボトル Apple Silicon macOS 11 サポート終了前にmacOS 12以降へアップグレード 2027-09-01 サポートスケジュール サードパーティ製formulaのpost_installとcaskのflightブロック 非推奨; *_stepsへ移行; brew style --fixで一般的なフックを変換 2027-12-11 非推奨、移行 🍺 全てのHomebrewユーザー 以下の改善は、特に明記されていない限り、すべてのプラットフォームに適用されます。 🏎️ パフォーマンス ダウンロード、準備、インストールの全体的な並列処理を向上させ、パフォーマンスを最大化しつつ、失敗と概要を調整します。 brew install、brew reinstall、brew upgradeは、パッケージの準備とダウンロードをオーバーラップさせます。これにはbrew bundleのバッチ処理も含まれ、パッケージ間の待ち時間を短縮し、Brewfileが複数のパッケージ名を指定したコマンドと同じ共有インストール作業の恩恵を受けられるようにします。 brew configは独立したシステム詳細を並列に収集するため、コンパイラ、オペレーティングシステム、リポジトリのチェックがオーバーラップし、診断レポートがサブプロセスを順番に待つ必要がなくなります。 brew tap-info --installed --json=v1は、複数のリポジトリがGitまたはネットワークチェックを必要とする場合に、インベントリ要求を短縮するためにタップメタデータを並列に収集し、スクリプトで期待される出力順序を維持します。 brew cleanupはキャッシュスキャンを繰り返すことを避け、多数のパッケージを持つインストールのクリーンアップを高速化します。 brew fetchは、ボトルとcaskのAPIメタデータから直接ダウンロード情報を読み込み、URLとチェックサムを発見するためだけに完全なパッケージ定義をロードすることなくダウンロードを開始します。 brew updateはRubyキャッシュを準備するため、後続のコマンドがより速く開始されます。 Homebrewは、ウォーム実行時に解析済みのAPIデータを再利用しながら、毎回署名を検証し、繰り返しパッケージコマンドの準備時間を短縮しますが、認証チェックは低下させません。 Homebrewは起動時にサブプロセスを少なく起動し、コマンドのオーバーヘッドを削減し、ターミナル寸法を直接読み取ることで、uutils sttyでのハングを回避します。 🔒 セキュリティ Homebrew 7.0.0には、様々なセキュリティ修正と新しいインストール保護機能が含まれています。 セキュリティアドバイザリ 最初に修正されたリリースは以下の通りです。 GHSA-rg9r-ppxp-87hm, High, 6.0.12で修正: サインされていないcask削除メタデータがsudoでコマンドを実行する可能性がありました。脆弱なリカバリコードとAPIアクセサはすべて削除されました。 GHSA-5263-whxq-77hp, Moderate, 7.0.0で修正: 悪意のあるcaskがLaunchServicesを通じてmacOSインストールサンドボックス外でコードを実行する可能性がありました。Homebrewはアプリケーション起動、Machサービス、Unixソケット接続を制限します。 GHSA-hqpg-hjr9-c7j8, Moderate, 6.0.12で修正: macOSインストーラーは、rootとしてプログラムを実行する可能性のあるプレフィックス所有のGit設定を無視します。 GHSA-x82f-cj53-gqfr, Low, 6.0.7で修正: brew livecheckはリダイレクトを制限し、サーバーサイドリクエストフォージェリを防ぎます。 GHSA-3m5g-jfx7-3p65, Low, 6.0.7で修正: ダウンロードリダイレクトは、秘密のヘッダーを他のホストに転送できません。 GHSA-r9gp-p4vv-f93x, Low, 6.0.6で修正: Gitリダイレクトはタップの制限をバイパスできません。 GHSA-9g4r-vmj2-j2gj, Low, 6.0.7で修正: Subversionの外部URLはコマンドオプションになることができません。 GHSA-r7qx-325v-4ccx, Low, 6.0.6で修正: パッチターゲットはステージングされたソースツリーからエスケープできません。 インストールとタップの保護 タップの信頼性は、悪意のあるサードパーティ製caskに対する主要な保護手段であり続けます。サンドボックス機能は主に偶発的な損害を制限し、インストール保護を追加します。信頼できないソフトウェアを安全に実行できるようにするものではありません。アプリケーションはユーザーの権限で実行され、ベンダーの.pkgインストーラーはサンドボックス外で実行され、sudoが必要になる場合があります。既存のソフトウェアが機能し続けるように、より厳しい制限とのバランスを取っています。 Homebrewは構造化されたセットアップを署名済みデータとして提供し、formulaとcaskの操作をサンドボックス化することで、任意のRuby実行と繰り返しパッケージロードを削減します。 Homebrewは依存関係のダウンロードをフェッチフェーズに移行し始めています。移行されたformulaはネットワークアクセスと書き込み可能なキャッシュでダウンロードされ、その後インストールはネットワークを無効にし、それらのキャッシュを読み取り専用にします。移行は継続中です。 Homebrewはデフォルトでホームディレクトリへのサンドボックス化された読み取りをブロックし、パッケージビルドから無関係な個人ファイルを排除しつつ、必要なHomebrewパスを許可します。プライベート一時ディレクトリにより、ビルドツールはネットワークアクセスを有効にすることなくローカルで通信できます。 Homebrewは、設定を読み取る前に実効ユーザーIDと実効ユーザーIDの不一致を拒否し、サポートされていない共有インストール向けのテストされていない権限スイッチコードを削除します。 信頼と環境の移行と置き換え。 🔎 コマンドと設定 コマンドは、より明確なプレビュー、パッケージ情報、サービス設定を提供します。 brew install --dry-runは、formulaとcaskをまとめてプレビューします。 brew list --no-installed-on-requestは、依存関係としてインストールされたformulaを特定します。 brew infoは、インストールできないパッケージを⊘で、アンインストールされたパッケージを✘で区別し、現在のマシンで実行可能かどうかをインストール開始前に理解しやすくするために、満たされていないオペレーティングシステムとアーキテクチャの要件をマークします。 brew servicesは、$HOMEBREW_USER_CONFIG_HOME/services/<formula>.envから永続的なオーバーライドを読み込み、ローカルのサービス設定がパッケージアップグレード後も維持され、生成されたサービスファイルを編集せずに再起動時に有効になるようにします。新しいサービスと再起動されたサービスは、macOSとLinuxではsh.brew.<formula>を使用し、再起動までレガシー登録を認識します。 brew bundleは、宣言されたソースから言語ツールを復元します。Cargo Gitリポジトリまたはパス、およびリモートuvツールのソースです。 brew doctor --jsonは、自動化のための構造化された診断を提供します。brew doctorは、別のbrewが現在のインストールをPATHでシャドウしている場合にも警告し、ラッパーとインストールの競合の診断に役立ちます。 brew deps --brewfileは、Brewfileの依存関係を検査し、その環境をインストールする前に開発環境が取り込むパッケージを確認しやすくします。 brew untapは、タップのパッケージを最初にアンインストールすることを提案し、不要になったパッケージソースとそのインストール済みソフトウェアを一緒に削除できるようにします。 HOMEBREW_AUTO_UPDATE_QUIETは、自動アップデートのパッケージ詳細を抑制し、通常のコマンド出力を集中させつつ、通常の利用のバックグラウンドでHomebrewがアップデートできるようにします。 Hom