
2026/06/11 22:24
Show HN:Homebrew 6.0.0 をリリースします。
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
今日、Homebrew 6.0.0 がリリースされ、不可欠な幾つかのアーキテクチャ上の転換を伴い、より高速で安全かつ統合されたクロスプラットフォーム体験をもたらします。セキュリティは大幅に強化され、無沙汰されたサードパーティコードへの明示的な同意を求める必須の「タップ信頼(tap trust)」メカニズム、HTTPS リダイレクトバイパス、Gitフック経由でのroot実行、および不適切なplist処理の修正によって支えられています。内部側では、最適化された内部JSON API(デフォルト)および並列ダウンロードによるパフォーマンス向上で約30% の性能向上が実現し、起動時間も短縮されています(
HOMEBREW_USE_INTERNAL_API は非推奨)。本リリースでは、インストール前に変更を確認する「Ask Mode」を開発者デフォルトとして導入し、環境管理用の新コマンド brew exec や脆弱性情報チェック用の brew vulns といった新規コマンドを追加するとともに、brew bundle を並列化されたデフォルト動作、npm/krewサポート、Windows wingetとの統合により改良しています。Linux環境では、macOSの動作と整合させるためBubblewrapサンドボックス化がデフォルトとなりました。プラットフォームサポート面では、macOS 27(ゴールデンゲート)への初期サポートを追加しましたが、2026年9月までにIntel MacをTier 3ステータスに移行することを示しています。最後に、ベンチマーク結果によりパフォーマンス向上は主にキャッシュされたフェッチに限定されることが明らかとなったため、実験的なRustフロントエンドの開発は終了しRubyへ移行しました。本文
Homebrew 6.0.0 リリース記念:主要機能と変更点のまとめ
🌟 5.1.0 以降のハイライト
Homebrew 6.0.0 は、バージョン 5.1.0 からの継続的改善を踏まえた大きなアップデートです。主な新機能と改善点は以下の通りです。
🔐 タップ認証(Tap Trust)の導入
サードパーティ製タップ内の非サンドボックス化された Ruby スクリプトへのリスク軽減を図るため、明示的な信頼が必要となりました。
- 仕組み: 公式タップはデフォルトで信頼されるが、サードパーティ製タップは自動追加停止となり、手動で信頼する設定が必要です。
- 新しいコマンド:
: リモート URL からのタップを管理・信頼するオプションを追加。brew tap
:brew trust
フラグの追加。--json=v1
:brew tap-info
フィールドの追加。trusted
- brew bundle の対応:
オプションに対応し、カスタムリモートタップを信頼した状態でバンドルエントリーを記録します。trusted: - ドキュメント: Tap-Trust ドキュメント で詳細な扱い方を解説。
⚡ デフォルトの内部 JSON API
ネットワーク通信回数を削減し、更新速度を向上させるために導入されました。
- 所有メタデータを単一ダウンロードに統合。
- 以前は
でオンが必要でしたが、現在はデフォルトで有効(該変数は非推奨)。HOMEBREW_USE_INTERNAL_API
🐧 Linux サンドボックス化(Sandboxing)の強化
macOS と同等のセキュリティレベルを Linux でも実現します。
- Bubblewrap: ビルド・テスト・インストールフェーズ(postinstall)でサンドボックス環境を使用。
- CI 環境やホスティング Ubuntu への対応。
- インストール時のログ出力やカーシュの実行フックもサンドボックス化に対応。
⚙️ より適切なデフォルト設定(Ask Mode)
ユーザー調査に基づき、変更前の確認を強化しました。
- 開発者向け Ask Mode:
やbrew install
で変更前に依存関係のサマリーと確認プロンプトを表示。brew upgrade- ワンキーでの確認対応や、ask ドライランプロンプトの整備。
- アップグレード時のサマリー表示を早期化し、空の場合はプロンプトをスキップ。
📦 brew bundle の大幅改善
インストール効率と多環境サポートが向上しました。
- 並列実行: フォーミュラーインストールがデフォルトで並列ジョブを実行。
- 拡張機能対応: npm, cargo, go, uv, krew へのクレンジング(削除)サポートの追加。
- Windows 統合: Winget サポートの導入および mas get へのフォールバック改善。
- 安全性向上: NPM インストールプロセスの安全化とロック管理機能の強化。
🏎 パフォーマンス向上
全般的な速度向上が実現されました。
: 約 30% 高速化。brew leaves- 起動時の Ruby ライブラリ読み込み負荷削減。
- アップグレード時のボトル(バイナリ)フェッチの並列化。
🍎 macOS 27(Golden Gate)対応
新しい macOS バージョンに対する初期サポートを実装済みです。
🔮 今後の変更点とスケジュール
macOS Intel サポート終了の方針
- 2026 年 9 月: Intel x86_64 をティア 3に移行(CI サポート停止、新ボトル提供停止)。
- 2027 年 9 月: Intel x86_64 の完全サポート終了および関連コード削除。
リポジトリ名移行継続
→master
への移行が継続中(GHSA や workflows の更新方針による)。main
Gatekeeper チェック廃止予定
- macOS Gatekeeper で失敗するカーシュは、2026 年 9 月に無効化されます。
🔒 セキュリティ向上
3 つの深刻なセキュリティアドバイザリーを公表し、すべて修復済みです。
| アドバイザリー ID | 問題の内容 | 修復方法 |
|---|---|---|
| GHSA-7699-qf8c-q47m | POST ダウンロード戦略が HTTPS→HTTP のリダイレクトをバイパスし、解決 URL を破棄。 | 安全なリダイレクトの強制実装。 |
| GHSA-6689-q779-c33m | Git フック経由で macOS postinstall でルートコード実行可能。 | Git 状態クリーンアップとインストーラディレクトリの置換。 |
| GHSA-59v8-x8q4-px5c | インストーラーが の plist を信頼し、所有権を不正付与されるリスク。 | macOS ユーザー plist 処理の調整。 |
その他のセキュリティ強化
- 機密情報保護: Ruby 評価中の機密環境変数(
)のフィルタリング強化。HOMEBREW_* - 強制チェックサム:
を利用し、ダウンロード前のカーシュチェックサム検証を必須化可能に。HOMEBREW_CASK_OPTS_REQUIRE_SHA - 共有ポリシー: 公式セキュリティポリシーへのリンク公開。
🗑️ 非推奨化(Deprecations)
以下の項目が非推奨となり、将来的には機能する可能性はありません。
- 環境変数:
やHOMEBREW_BUNDLE_NO_SECRETS
など。HOMEBREW_USE_INTERNAL_API - オプション: デフォルト値でオンになっているオプションや未使用のオプション。
🎁 機能拡張とコマンドの改良
💻 カーシュ(Casks)の新機能
- ピン留め対応:
でカーシュサポート、ピン留め可能化。brew missing - Linux 強化: AppImage 追加、freedesktop trash 実装、Linux ユーザープライマリグループ対応。
- アップグレード改善: ダウンロードキュー共有、オプトアウト機能、アプリ再起動対応。
- 管理ツール:
とbrew doctor
で破損した Caskroom の修復機能追加。brew cleanup
🚰 タップ(Taps)の合理化
- 等価なリモート形式の認識統合(
サフィックス無視)。.git - 明示的なインストール実行と暗黙的インストールの停止。
- ローカルコアタップでのワークツリー管理。
ℹ️ コマンド出力の明確化
- brew info / tap-info:
- 競合や影付きフォーミュラーの一覧表示。
- JSON 出力オプション、Binaries セクションの充実。
- インストールステータスや古くなった
アップグレードターゲットの詳細表示。@versioned
- brew which-formula: インストールステータスとクランタイン(quarantine)状況の表示。
🆕 新しいコマンド
: npx 類似のコマンドで、フォーミュラー環境を実行。brew exec
: MDM/ルート環境下でも正しく動作させるための新コマンド。brew as-console-user
🧊 ライブチェックと冷却機能
- Bundler, RubyGems, npm, pip へのダウンロードクールダウン追加。
- スロットリング日の尊重によるサプラチェーンリスク回避。
🛎️ サービス管理
- systemd タイマーの自動開始とパスディレクトリの自動作成ロジック向上。
オプションのサポート強化。--sudo-service-user
🧪 開発者向けの変更点
インストールステップフレームワークの統合
- JSON API を通じた公開や、DSL データとして順序付けた動作(postinstall, preflight, postflight)の実装。
- homebrew/core と homebrew/cask で新しい DSL の採用により、従来のブロック記述を簡略化。
リファクタリングと型付け
- Sorbet: ランタイムデフォルトの制限と test-bot での再帰的チェック回避。
- コマンド解析の再設計(パーサーサブコマンドスケルトンの導入)。
- AST を使用したソース再書き込みによる API の可視性向上。
CI/CD とテスト環境
- Ubuntu 24.04 への CI 移行完了(5.1.0 からフラグ付け済み)。
- test-bot の依存関係影響注釈化と不完全な PR 自動閉鎖の強化。
コマンドによるタップ監査とテストカバレッジの提供。brew lgtm
📚 ドキュメントとガイドライン
- 統合ドキュメント: Rosetta サポート、未対応マルチユーザー環境、ノートビリティ要件などの追加。
- 非推奨化ポリシー: アップストリーム期待やライフサイクルリクエストへの対応。
- 互換性:
ガイダンスの明確化によるアップグレード効率化。compatibility_version
💬 その他のお知らせと感謝
🎉 現状報告
- 未解決問題: 現時点で homebrew/brew に未解決の問題はありません。
- ドキュメント更新: 新しい
ホームページスタイルへの移行完了。brew.sh - BrewUI: 今後の公式グラフィカルインターフェースとして開発中(一般公開未定)。
🔬 homebrew-rs の実験結果
- Ruby フロントエンドの一部を Rust に移す実験は完了しました。
- 結果: キャッシュ済みボトルフェッチでは Rust が優位でしたが、フルインストール(リンク・ヘルスチェックなど)では性能向上は見られませんでした。
- 判断: 現在はRuby に焦点を戻し、有用なネットワークおよびディスク I/O の早期開始にリソースを割く方針です。
- 詳しくは FAQ を参照してください。
🌍 「Everywhere」への拡大
Homebrew は以下のような環境で活用されています:
- WSL: Microsoft Windows Developer Config での快適な開発環境提供。
- Bazzite: Linux ディストリビューション上での良好な動作。
- Windows 専用機能:
との連携による winget サポート。brew bundle
🛡️ サプライチェーンセキュリティへの取り組み
既存・新規両方のセキュリティ対策を強化しています:
- macOS/Linux サンドボックス化、機密場所への読み込み制限、危険なエコシステムからの冷却など。
- 詳細は Supply Chain Security ドキュメント をご参照ください。
🤖 AI 利用とオープンソースの尊重
- 責任ある AI 利用: 新しいガイドラインを策定し、LLM 使用原則を明確化。
- Open Source Resistance: オープンソースソフトウェアの維持への参加を推奨。
このリリースまでこぎ着けた全てのボランティア維持者、貢献者、そしてスポンサーの皆様に心から感謝申し上げます。