# brew changelog > brew release notes. - Vendor: brew - Category: Developer Tools - Official site: https://brew.sh/ - Tracked by: What's New (https://whatsnew.fyi/product/brew) - Harvested from: GitHub (Homebrew/brew) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. ## Releases ### 6.0.13 - Date: 2026-07-27 - Version: 6.0.13 - Original notes: https://github.com/Homebrew/brew/releases/tag/6.0.13 - Permalink: https://whatsnew.fyi/product/brew/releases/6.0.13 - **changed** — Don't print the `--force` hint when `brew bundle cleanup` prompts - **changed** — Use --end-of-options for Git arguments - **changed** — Normalise systemd service labels - **fixed** — Skip unavailable xattrs in cask audits - **added** — Add phase timings to `brew prof` - **added** — Add `appimage` to cask stanza order - **fixed** — Remove Caskroom symlinks broken by cask uninstall, and warn when they exist - **changed** — Count squash-merge commits into the contributions count - **fixed** — Handle missing bottle mirror metadata - **changed** — `brew search --desc`: show casks without descriptions - **changed** — List formulae from untrusted taps - **changed** — Read `remote.origin.url` from `.git/config` without spawning Git - **fixed** — Cask migrator: do not copy a cask into itself through a rename alias - **fixed** — Handle cask mount failures and interrupts - **changed** — Enable PIE for Haskell on Linux - **changed** — Bundle add: accept fully-qualified names from untapped taps - **changed** — Wrap in-place terminal redraws in synchronized updates - **fixed** — Cask audit: fix nil crash in min_os check - **added** — Add Linux Landlock sandbox - **added** — Add stop_timeout to service DSL for graceful stop timeout ##### What's Changed * docs: update formula authoring and toolchain references by @p-linnane in https://github.com/Homebrew/brew/pull/23225 * Don't print the `--force` hint when `brew bundle cleanup` prompts by @p-linnane in https://github.com/Homebrew/brew/pull/23212 * Generate stable cask syntax jobs by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23222 * docs: convert Adding Software to Homebrew into a package-type router by @p-linnane in https://github.com/Homebrew/brew/pull/23224 * Use --end-of-options for Git arguments by @andrew in https://github.com/Homebrew/brew/pull/23223 * Normalise systemd service labels by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23228 * Skip unavailable xattrs in cask audits by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23229 * Add phase timings to `brew prof` by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23216 * docs: update maintainer operations guides by @p-linnane in https://github.com/Homebrew/brew/pull/23231 * Add `appimage` to cask stanza order by @p-linnane in https://github.com/Homebrew/brew/pull/23234 * Remove Caskroom symlinks broken by cask uninstall, and warn when they exist by @aholland in https://github.com/Homebrew/brew/pull/23235 * docs: enforce sentence-case headings and codify prose conventions by @p-linnane in https://github.com/Homebrew/brew/pull/23233 * Validate serialised install steps (6/25) by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23240 * list: warn about broken Caskroom symlinks from the Bash fast path by @aholland in https://github.com/Homebrew/brew/pull/23245 * list: test the Bash fast path against the Ruby command by @aholland in https://github.com/Homebrew/brew/pull/23247 * Count squash-merge commits into the contributions count by @Moisan in https://github.com/Homebrew/brew/pull/23221 * Add cask command wrappers (6/24) by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23183 * Handle missing bottle mirror metadata by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23244 * dev-cmd/contributions: require tap by @samford in https://github.com/Homebrew/brew/pull/23253 * `brew search --desc`: show casks without descriptions by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23241 * List formulae from untrusted taps by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23242 * Read `remote.origin.url` from `.git/config` without spawning Git by @hyuraku in https://github.com/Homebrew/brew/pull/23248 * write_env_script: add permission change by @Moisan in https://github.com/Homebrew/brew/pull/23249 * cask/migrator: do not copy a cask into itself through a rename alias by @aholland in https://github.com/Homebrew/brew/pull/23261 * Handle cask mount failures and interrupts by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23257 * formula: enable PIE for Haskell on Linux by @cho-m in https://github.com/Homebrew/brew/pull/23254 * Add generated cask scripts (7/24) by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23184 * DeprecateDisable: add formula unreachable reason by @samford in https://github.com/Homebrew/brew/pull/23262 * bundle add: accept fully-qualified names from untapped taps by @p-linnane in https://github.com/Homebrew/brew/pull/23266 * Wrap in-place terminal redraws in synchronized updates by @bendrucker in https://github.com/Homebrew/brew/pull/23264 * Warn when sandbox paths stay readable by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23256 * cask/audit: fix nil crash in min_os check by @krehel in https://github.com/Homebrew/brew/pull/23268 * pathname: build eager-init type objects once, not per allocation by @hyuraku in https://github.com/Homebrew/brew/pull/23267 * Fix flaky DownloadQueue interruption test by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23269 * shared_audits: pass --fail when fetching Forgejo repo data by @krehel in _[Truncated at 4000 characters — full notes: https://github.com/Homebrew/brew/releases/tag/6.0.13]_ ### 6.0.12 - Date: 2026-07-20 - Version: 6.0.12 - Original notes: https://github.com/Homebrew/brew/releases/tag/6.0.12 - Permalink: https://whatsnew.fyi/product/brew/releases/6.0.12 - **changed** — Rename vulns advisory database repo to Homebrew/advisory-database - **changed** — Bump vendored portable-ruby to 4.0.6 - **changed** — Map resolves information from API in formulary - **changed** — Skip repeated checksum verification of the same file in downloadable - **changed** — Enable cask FFI helpers for all users - **changed** — Don't show upgrade size with --build-from-source flag - **changed** — Use larger buffer and retain state in readline_nonblock - **fixed** — Raise ArgumentError when get_make_var variable is missing - **changed** — Use same cache on recursive expand for dependencies - **fixed** — Stop silently ignoring bottle manifest download failures - **changed** — Keep cask upgrades after approval failure - **fixed** — Don't enable developer mode when copying xattrs in cask quarantine - **changed** — Adjust attestation for breaking GitHub API change - **changed** — Recover legacy Cask metadata - **changed** — Suppress requires_rosetta caveat when Rosetta 2 is already installed - **changed** — Scan installed kegs by default and report untrusted-tap skips in vulns - **added** — Add JSON output method for doctor - **changed** — Serialise cask language variations - **changed** — Use tap sources for cask metadata - **changed** — Avoid masking external home symlinks ##### What's Changed * vulns: advisory database repo renamed to Homebrew/advisory-database by @andrew in https://github.com/Homebrew/brew/pull/23117 * Bump vendored portable-ruby to 4.0.6 by @brew-commit-app[bot] in https://github.com/Homebrew/brew/pull/23118 * formulary: map `resolves` information from API by @Bo98 in https://github.com/Homebrew/brew/pull/23114 * downloadable: skip repeated checksum verification of the same file by @aholland in https://github.com/Homebrew/brew/pull/23116 * Enable cask FFI helpers for all users by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23061 * cmd/upgrade: don't show upgrade size with --build-from-source by @Bo98 in https://github.com/Homebrew/brew/pull/23109 * readline_nonblock: use larger buffer and retain state by @cho-m in https://github.com/Homebrew/brew/pull/23120 * Raise ArgumentError when get_make_var variable is missing by @thiagogenez in https://github.com/Homebrew/brew/pull/22854 * Refactor away unnecessary T.must for first/last element access by @dduugg in https://github.com/Homebrew/brew/pull/23130 * test_bot/formulae: re-enable all tests on Tier 1 by @cho-m in https://github.com/Homebrew/brew/pull/23125 * dependency: use same cache on recursive expand by @cho-m in https://github.com/Homebrew/brew/pull/23127 * Explain why we check for flat_namespace usage by @SMillerDev in https://github.com/Homebrew/brew/pull/23132 * Include implicit dependencies in formula installer checks by @jacktose in https://github.com/Homebrew/brew/pull/23090 * Stop silently ignoring bottle manifest download failures by @carlocab in https://github.com/Homebrew/brew/pull/23134 * Keep cask upgrades after approval failure by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23135 * cask/quarantine: don't enable developer mode when copying xattrs by @Bo98 in https://github.com/Homebrew/brew/pull/23139 * attestation: adjust for breaking GitHub API change by @Bo98 in https://github.com/Homebrew/brew/pull/23142 * Recover legacy Cask metadata by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23136 * cask: suppress requires_rosetta caveat when Rosetta 2 is already installed by @kmarekspartz in https://github.com/Homebrew/brew/pull/23119 * vulns: scan installed kegs by default and report untrusted-tap skips by @andrew in https://github.com/Homebrew/brew/pull/23140 * Add install step enforcement cops by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23126 * Serialise cask language variations by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23124 * Add JSON output method for doctor by @SMillerDev in https://github.com/Homebrew/brew/pull/22448 * Add aged Caskroom fixture corpus by @aholland in https://github.com/Homebrew/brew/pull/23144 * Let Cask migration verification skip the API fallback and report failures by @aholland in https://github.com/Homebrew/brew/pull/23151 * cask/audit: recognise suppressed `requires_rosetta` caveat by @p-linnane in https://github.com/Homebrew/brew/pull/23155 * tap-new: fix invalid job-level options in generated workflow by @elasticdog in https://github.com/Homebrew/brew/pull/23154 * Sample environment configuration analytics by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23153 * Document retagged release policy by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23149 * Use tap sources for cask metadata by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23150 * Avoid masking external home symlinks by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23161 * Fix component order autocorrection by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23160 * pathname: Syntax workaround for CodeQL parser failures by @issyl0 in https://github.com/Homebrew/brew/pull/23162 * tap-new: lint generated workflows by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23157 * docs/FAQ: clarify brew upgrade handlin _[Truncated at 4000 characters — full notes: https://github.com/Homebrew/brew/releases/tag/6.0.12]_ ### 6.0.11 - Date: 2026-07-14 - Version: 6.0.11 - Original notes: https://github.com/Homebrew/brew/releases/tag/6.0.11 - Permalink: https://whatsnew.fyi/product/brew/releases/6.0.11 - **added** — Add brew vulns command - **added** — Accept --brewfile as an input source for brew deps command - **changed** — Enable more cask metadata migration to JSON for all users - **changed** — Skip rewriting Mach-O binaries when delete_rpath changes nothing - **changed** — Use RubyMacho 6.0.0 - **changed** — Preserve cask container metadata - **changed** — Show application of file and data patches - **changed** — Start bottle downloads before dependency fetches - **changed** — Prewarm Bootsnap caches after brew update - **fixed** — Fix brew outdated --greedy crash on installed casks without a URL - **fixed** — Keep the current internal package API file on brew cleanup -s - **fixed** — Fall back to verbatim head URL for non-forge repos in vulns scanner - **fixed** — Merge into existing records instead of overwriting in vulns OSV export - **removed** — Remove dead API methods and move generated_hash! to tests ##### What's Changed * Enable more cask metadata migration to JSON for all users by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22958 * Skip rewriting Mach-O binaries when delete_rpath changes nothing by @hyuraku in https://github.com/Homebrew/brew/pull/23079 * test_bot/formulae: remove generic tests by @cho-m in https://github.com/Homebrew/brew/pull/23082 * Return a shared type instance from type constructors when runtime checking is disabled by @dduugg in https://github.com/Homebrew/brew/pull/23078 * test_bot/formulae: skip portable Ruby tests on macOS if same version by @cho-m in https://github.com/Homebrew/brew/pull/23083 * Test fixes for portable Ruby macOS runners by @cho-m in https://github.com/Homebrew/brew/pull/23081 * test/cask/audit_spec: fix min OS for Intel by @cho-m in https://github.com/Homebrew/brew/pull/23085 * Fix `brew outdated --greedy` crash on installed casks without a URL by @p-linnane in https://github.com/Homebrew/brew/pull/23084 * Revert "Return a shared type instance from type constructors when runtime checking is disabled" by @dduugg in https://github.com/Homebrew/brew/pull/23091 * Fix more test failures by @cho-m in https://github.com/Homebrew/brew/pull/23088 * Add brew vulns command by @andrew in https://github.com/Homebrew/brew/pull/23080 * Remove dead API methods and move generated_hash! to tests by @dduugg in https://github.com/Homebrew/brew/pull/23095 * Fix donation link by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23098 * Test uninstalling casks by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23097 * Use RubyMacho 6.0.0 by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23047 * Test without Sorbet runtime by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23099 * Preserve cask container metadata by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23100 * cmd/deps: accept --brewfile as an input source by @andrew in https://github.com/Homebrew/brew/pull/23104 * vulns/scanner: fall back to verbatim head URL for non-forge repos by @andrew in https://github.com/Homebrew/brew/pull/23103 * dev-cmd/generate-vulns-advisories: OSV advisory export for homebrew-advisory-database by @andrew in https://github.com/Homebrew/brew/pull/23106 * Keep the current internal package API file on `brew cleanup -s` by @p-linnane in https://github.com/Homebrew/brew/pull/23111 * Show application of file and data patches by @Bo98 in https://github.com/Homebrew/brew/pull/23110 * vulns/osv_export: merge into existing records instead of overwriting by @andrew in https://github.com/Homebrew/brew/pull/23112 * test_bot/formulae: only run subset of `brew tests` for portable Ruby by @cho-m in https://github.com/Homebrew/brew/pull/23113 * Start bottle downloads before dependency fetches by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23105 * download_queue: wake on completed downloads by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23107 * Prewarm Bootsnap caches after `brew update` by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23108 * generate-vulns-advisories: derive initial fixed via FormulaVersions by @andrew in https://github.com/Homebrew/brew/pull/23115 **Full Changelog**: https://github.com/Homebrew/brew/compare/6.0.10...6.0.11 ### 6.0.10 - Date: 2026-07-13 - Version: 6.0.10 - Original notes: https://github.com/Homebrew/brew/releases/tag/6.0.10 - Permalink: https://whatsnew.fyi/product/brew/releases/6.0.10 - **changed** — Speed up StemParser in version/parser - **fixed** — Send bundle check failures to stderr - **changed** — Skip incompatible cask upgrades - **fixed** — Avoid generated rmdir for shared file lists - **fixed** — Fix test setup crash when multiple package APIs are cached - **fixed** — Fix spurious test-bot missing `:all` bottle warning - **fixed** — Fix misleading HEAD upgrade summary - **added** — Scrub internal package API cache files on `brew cleanup -s` - **fixed** — Skip unavailable sandbox sysctls - **added** — Support GitHub App JWTs in u/g/api.rb - **changed** — Make `Homebrew._system` private and move `quiet_system` off `Kernel` - **fixed** — Fix autosquash behavior to default cherry_picked to false - **added** — Add install step keychain cleanup - **added** — Add Utils.parallel_map for performance improvements in tap-info and services list - **changed** — Convert quarantine script to use FFI rather than Swift - **changed** — Migrate more cask metadata to JSON for developers - **fixed** — Fix bundle/parallel_installer terminal output after interactive installs - **changed** — Read all settings with one git invocation per repository - **added** — Pre-stage cask downloads - **added** — Allow no-CLT cask installs ##### What's Changed * version/parser: speed up StemParser by @Bo98 in https://github.com/Homebrew/brew/pull/23007 * Send bundle check failures to stderr by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23009 * Guard release against stale main by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23008 * dev-cmd/bump-formula-pr: keep failures when downgrade fails by @cho-m in https://github.com/Homebrew/brew/pull/23006 * Skip incompatible cask upgrades by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23012 * Remove redundant T.let annotations Sorbet can infer by @dduugg in https://github.com/Homebrew/brew/pull/23013 * Avoid generated rmdir for shared file lists by @loganrosen in https://github.com/Homebrew/brew/pull/22940 * docs: escape braces to avoid Liquid tag handling by @cho-m in https://github.com/Homebrew/brew/pull/23025 * Fix test setup crash when multiple package APIs are cached by @p-linnane in https://github.com/Homebrew/brew/pull/23016 * readall: remove todo tasks by @cho-m in https://github.com/Homebrew/brew/pull/23005 * Fix spurious test-bot missing `:all` bottle warning by @p-linnane in https://github.com/Homebrew/brew/pull/23019 * Fix misleading HEAD upgrade summary by @p-linnane in https://github.com/Homebrew/brew/pull/23018 * Scrub internal package API cache files on `brew cleanup -s` by @p-linnane in https://github.com/Homebrew/brew/pull/23022 * Don't require tap trust in casks/formulae shell specs by @p-linnane in https://github.com/Homebrew/brew/pull/23024 * Keep generic tool caches out of the sandboxed test home by @p-linnane in https://github.com/Homebrew/brew/pull/23026 * Skip unavailable sandbox sysctls by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23015 * test_bot: avoid unbalanced shard by @cho-m in https://github.com/Homebrew/brew/pull/23023 * u/g/api.rb: support GitHub App JWTs by @toobuntu in https://github.com/Homebrew/brew/pull/23017 * Make `Homebrew._system` private and move `quiet_system` off `Kernel` by @hyuraku in https://github.com/Homebrew/brew/pull/23030 * Fix autosquash behavior to default cherry_picked to false and add tes… by @hyuraku in https://github.com/Homebrew/brew/pull/23031 * Avoid trust errors for cask conflicts by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23027 * Add install step keychain cleanup by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23032 * fix escaping in shellenv documentation by @adamv in https://github.com/Homebrew/brew/pull/23035 * Extract queue staging hooks by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23033 * perf: add Utils.parallel_map, use it in tap-info and services list by @dduugg in https://github.com/Homebrew/brew/pull/22992 * Convert quarantine script to use FFI rather than Swift by @Bo98 in https://github.com/Homebrew/brew/pull/22377 * Migrate more cask metadata to JSON for developers by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22957 * bundle/parallel_installer: fix terminal output after interactive installs by @smorimoto in https://github.com/Homebrew/brew/pull/23038 * perf/settings: read all settings with one git invocation per repository by @dduugg in https://github.com/Homebrew/brew/pull/23037 * workflows: pin Homebrew/actions to 2026.07.10.1 by @p-linnane in https://github.com/Homebrew/brew/pull/23048 * utils/pypi: use relative cooldown by @branchv in https://github.com/Homebrew/brew/pull/23049 * Pre-stage cask downloads by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23034 * Allow no-CLT cask installs by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23043 * Add cask permission steps by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23045 * Use Actions bot for vendor-gems by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23042 * cmd/source: support npm urls by @branchv in https://github.com/Homebrew/brew/pull/23050 * d _[Truncated at 4000 characters — full notes: https://github.com/Homebrew/brew/releases/tag/6.0.10]_ ### 6.0.9 - Date: 2026-07-08 - Version: 6.0.9 - Original notes: https://github.com/Homebrew/brew/releases/tag/6.0.9 - Permalink: https://whatsnew.fyi/product/brew/releases/6.0.9 - **fixed** — Handle EUID/UID in install_steps like postinstall does - **fixed** — Don't lose the original exception when cask upgrade rollback itself fails - **changed** — Defer reinstall keg backup and silence analytics curl output - **fixed** — Don't crash cask upgrade when staged version directory is missing - **changed** — Gather system configuration concurrently for approximately 31% faster performance - **fixed** — Avoid filesystem checks from Pathname presence tests - **added** — Warn when all bottles are lost - **fixed** — Make the post-install quarantine release actually run during cask upgrade - **added** — Write cask receipts on upgrade - **changed** — Use sudo user's tap trust - **added** — Add GCC 14 for compiler selection in Dockerfile - **changed** — Avoid attempting same resource update in dev-cmd/bump-formula-pr ##### What's Changed * install_steps: handle EUID/UID like postinstall does by @Bo98 in https://github.com/Homebrew/brew/pull/22985 * cask/upgrade: don't lose the original exception when rollback itself fails by @aholland in https://github.com/Homebrew/brew/pull/22997 * Defer reinstall keg backup and silence analytics curl output by @p-linnane in https://github.com/Homebrew/brew/pull/22994 * cask: don't crash upgrade when staged version directory is missing by @gecube in https://github.com/Homebrew/brew/pull/22999 * perf/config: gather system configuration concurrently (~31% faster) by @dduugg in https://github.com/Homebrew/brew/pull/22989 * github_runner_matrix: unique runner for each shard by @cho-m in https://github.com/Homebrew/brew/pull/22991 * Avoid filesystem checks from Pathname presence tests by @dduugg in https://github.com/Homebrew/brew/pull/22988 * Warn when all bottles are lost by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22971 * cask/upgrade: make the post-install quarantine release actually run by @aholland in https://github.com/Homebrew/brew/pull/23002 * Write cask receipts on upgrade by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23001 * Use sudo user's tap trust by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/23000 * Dockerfile: add GCC 14 for compiler selection to use by @cho-m in https://github.com/Homebrew/brew/pull/23003 * Use new Linux self-hosted setup by @Bo98 in https://github.com/Homebrew/brew/pull/22995 * dev-cmd/bump-formula-pr: avoid attempting same resource update by @cho-m in https://github.com/Homebrew/brew/pull/23004 ##### New Contributors * @gecube made their first contribution in https://github.com/Homebrew/brew/pull/22999 **Full Changelog**: https://github.com/Homebrew/brew/compare/6.0.8...6.0.9 ### 6.0.8 - Date: 2026-07-06 - Version: 6.0.8 - Original notes: https://github.com/Homebrew/brew/releases/tag/6.0.8 - Permalink: https://whatsnew.fyi/product/brew/releases/6.0.8 - **added** — Add source option to brew bundle uv tools - **added** — Add structured link install steps - **changed** — Store bottle SBOM data in manifests - **changed** — Clarify install output for durations and single deps - **fixed** — Fix stale cask upgrade metadata ##### What's Changed * test/bundle/brew_spec: allow running test on generic OS by @cho-m in https://github.com/Homebrew/brew/pull/22973 * Add source option to brew bundle uv tools by @danielfleischer in https://github.com/Homebrew/brew/pull/22963 * test/test_bot_spec: use :trust_store context when testing trust by @cho-m in https://github.com/Homebrew/brew/pull/22972 * Update issue links in docs to use correct template by @SMillerDev in https://github.com/Homebrew/brew/pull/22982 * Store bottle SBOM data in manifests by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22981 * Clarify install output for durations and single deps by @HaraldNordgren in https://github.com/Homebrew/brew/pull/22980 * perf/sorbet: skip sorbet-runtime dispatch when runtime disabled (~6-8% faster) by @dduugg in https://github.com/Homebrew/brew/pull/22978 * Fix stale cask upgrade metadata by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22986 * perf/tap-info: generate tap hashes concurrently (up to ~77% faster) by @dduugg in https://github.com/Homebrew/brew/pull/22975 * perf/upgrade: avoid linear scans of core formula names (~20% faster) by @dduugg in https://github.com/Homebrew/brew/pull/22977 * Add structured link install steps by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22987 ##### New Contributors * @danielfleischer made their first contribution in https://github.com/Homebrew/brew/pull/22963 **Full Changelog**: https://github.com/Homebrew/brew/compare/6.0.7...6.0.8 ### 6.0.7 - Date: 2026-07-06 - Version: 6.0.7 - Original notes: https://github.com/Homebrew/brew/releases/tag/6.0.7 - Permalink: https://whatsnew.fyi/product/brew/releases/6.0.7 - **changed** — Set CC and CXX to unversioned gcc on Linux - **changed** — Require curl dependencies to have a working HTTP mirror in audit - **changed** — Force CMake to find shims before $HOMEBREW_PREFIX/bin - **changed** — Set CC/CXX to real names for llvm_clang - **changed** — Add CCACHE_FOUND=OFF to default CMake flags - **fixed** — Fix type error in contributions - **fixed** — Fix bump with invalid arch - **fixed** — Fix infinite loop in array alphabetisation - **fixed** — Fix type error in cask/artifact/pkg - **fixed** — Avoid delegate for dylib_id in os/mac/mach - **fixed** — Error when bump-cask-pr update fails - **changed** — Isolate the upgrade summary alignment spec from the formula API - **changed** — Cache formula lookups during dependency expansion - **changed** — Allow running bubblewrap in container - **changed** — Propagate OS requirement to dependents in formula_auditor - **changed** — Adjust Subversion checkout operands - **changed** — Prepare cask taps before bundle jobs - **changed** — Restrict livecheck redirects - **changed** — Limit headered curl redirects - **changed** — Uninstall untrusted casks safely - **added** — Add install step write cops ##### What's Changed * ENV/super: set CC and CXX to unversioned gcc on Linux by @cho-m in https://github.com/Homebrew/brew/pull/22889 * audit: require curl dependencies to have a working HTTP mirror by @p-linnane in https://github.com/Homebrew/brew/pull/22898 * Force CMake to find shims before `$HOMEBREW_PREFIX/bin` by @cho-m in https://github.com/Homebrew/brew/pull/22916 * Improve awkward wording of Backing Up App by @carter-thaxton in https://github.com/Homebrew/brew/pull/22918 * bump-cask-pr: error when update fails by @samford in https://github.com/Homebrew/brew/pull/22901 * contributions: fix type error by @samford in https://github.com/Homebrew/brew/pull/22915 * extend/ENV/super: set CC/CXX to real names for llvm_clang by @cho-m in https://github.com/Homebrew/brew/pull/22920 * bump: fix with invalid arch by @bevanjkay in https://github.com/Homebrew/brew/pull/22910 * style: fix infinite loop in array alphabetisation by @bevanjkay in https://github.com/Homebrew/brew/pull/22912 * os/mac/mach: avoid delegate for dylib_id by @cho-m in https://github.com/Homebrew/brew/pull/22924 * Isolate the upgrade summary alignment spec from the formula API by @p-linnane in https://github.com/Homebrew/brew/pull/22935 * Stabilize dependency-related tests by @p-linnane in https://github.com/Homebrew/brew/pull/22927 * cask/artifact/pkg: fix type error by @samford in https://github.com/Homebrew/brew/pull/22923 * docs/Formula-Cookbook: `write_env_script` needs binary path by @abitrolly in https://github.com/Homebrew/brew/pull/22934 * Allow running bubblewrap in container by @cho-m in https://github.com/Homebrew/brew/pull/22907 * Clarify Linux build tools installation instructions by @p-linnane in https://github.com/Homebrew/brew/pull/22925 * Cache formula lookups during dependency expansion by @p-linnane in https://github.com/Homebrew/brew/pull/22930 * Add `CCACHE_FOUND=OFF` to default CMake flags by @matteosecli in https://github.com/Homebrew/brew/pull/22902 * Info: hide unlinkable kegs by @HaraldNordgren in https://github.com/Homebrew/brew/pull/22897 * formula_auditor: propagate OS requirement to dependents by @cho-m in https://github.com/Homebrew/brew/pull/22938 * docs/Tap-Trust: replace announcement of future changes with what came to pass by @unitof in https://github.com/Homebrew/brew/pull/22928 * Adjust Subversion checkout operands by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22942 * Remove T.let from frozen constants Sorbet can now infer by @dduugg in https://github.com/Homebrew/brew/pull/22949 * Prepare cask taps before bundle jobs by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22943 * Restrict livecheck redirects by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22944 * Limit headered curl redirects by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22945 * Uninstall untrusted casks safely by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22946 * Add install step write cops by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22947 * upgrade: Split deps and find older version better by @HaraldNordgren in https://github.com/Homebrew/brew/pull/22951 * install_steps: allow gtk_update_icon_cache to run gtk4-update-icon-cache by @cho-m in https://github.com/Homebrew/brew/pull/22953 * dev-cmd/test-bot: make `--skip-recursive-dependents` default by @cho-m in https://github.com/Homebrew/brew/pull/22950 * Ignore same-name cask migrations by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22955 * Allow staged install step conversion by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22960 * Prune stale cask downloads by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22962 * Store cask metadata as JSON more often by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22952 * Preserve bottled SBOMs on pour by @MikeMcQuaid in https://github.com/Homebrew/brew/pull _[Truncated at 4000 characters — full notes: https://github.com/Homebrew/brew/releases/tag/6.0.7]_ ### 6.0.5 - Date: 2026-06-26 - Version: 6.0.5 - Original notes: https://github.com/Homebrew/brew/releases/tag/6.0.5 - Permalink: https://whatsnew.fyi/product/brew/releases/6.0.5 - **added** — Add `formula_opt_include` method to rubocop formula_path_methods - **fixed** — Reject patch targets that escape the staged source tree - **changed** — Use Process.spawn in system_command to avoid fork-unsafe exec3 child - **changed** — Add prefix parameter and relative libdir support to formula `std_meson_args` - **fixed** — Expand deferred env in curl URLs ##### What's Changed * rubocop/formula_path_methods: add `formula_opt_include` method by @botantony in https://github.com/Homebrew/brew/pull/22867 * Reject patch targets that escape the staged source tree by @p-linnane in https://github.com/Homebrew/brew/pull/22881 * system_command: use Process.spawn to avoid fork-unsafe exec3 child by @p-linnane in https://github.com/Homebrew/brew/pull/22880 * formula: `std_meson_args` prefix param and relative libdir by @cho-m in https://github.com/Homebrew/brew/pull/22888 * Expand deferred env in curl URLs by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22886 **Full Changelog**: https://github.com/Homebrew/brew/compare/6.0.4...6.0.5 ### 6.0.4 - Date: 2026-06-25 - Version: 6.0.4 - Original notes: https://github.com/Homebrew/brew/releases/tag/6.0.4 - Permalink: https://whatsnew.fyi/product/brew/releases/6.0.4 - **added** — Add `bump-compatibility-version` command - **added** — Add `formula_opt_include` helper to utils/path - **added** — Add type and resolves DSL for annotating patches - **changed** — Generate completions with style for default shells and auto corrections - **changed** — Forward the `--quiet` flag to all `brew bundle` subcommands - **changed** — Support path helpers in services - **changed** — Filter info JSON package types - **changed** — Align upgrade summary columns - **changed** — Key Brewfile trust entries by custom tap remotes - **fixed** — Rescue `MethodDeprecatedError` when attempting to load installed caskfiles - **fixed** — Rescue `MethodDeprecatedError` when loading from installed caskfile in installer - **fixed** — Fix HOMEBREW_FORBID_PACKAGES_FROM_PATHS bypasses - **fixed** — Fix core cask tap redirects - **fixed** — Warn about missing libraries in brew info - **fixed** — Bump-formula-pr: do not repeat release notes multiple times - **fixed** — Redact GitHub token in bump dry-run output - **removed** — Remove dead Formula methods - **security** — Disable tap Git credential prompts - **security** — Reject inline cask definitions passed to the MCP server ##### What's Changed * Cask Cookbook: document `generate_completions_from_executable` stanza by @bevanjkay in https://github.com/Homebrew/brew/pull/22848 * generate_completions: add style for default shells and auto corrections by @daeho-ro in https://github.com/Homebrew/brew/pull/22841 * Add `bump-compatibility-version` command by @p-linnane in https://github.com/Homebrew/brew/pull/22846 * Filter info JSON package types by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22851 * Enable formula path helper cop by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22845 * Rescue `MethodDeprecatedError` when attempting to load installed caskfiles by @Rylan12 in https://github.com/Homebrew/brew/pull/22856 * Speed up tests by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22852 * Approve stale lead maintainer PRs by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22818 * Rescue `MethodDeprecatedError` when loading from installed caskfile in installer by @Rylan12 in https://github.com/Homebrew/brew/pull/22859 * Align upgrade summary columns by @paulogdm in https://github.com/Homebrew/brew/pull/22844 * Remove dead Formula methods and annotate public DSL by @dduugg in https://github.com/Homebrew/brew/pull/22733 * download_queue: use tuple instead of `T::Array` by @botantony in https://github.com/Homebrew/brew/pull/22861 * Warn about missing libraries in brew info by @HaraldNordgren in https://github.com/Homebrew/brew/pull/22849 * utils/path: add `formula_opt_include` helper by @botantony in https://github.com/Homebrew/brew/pull/22865 * Forward the `--quiet` flag to all `brew bundle` subcommands by @wfarr in https://github.com/Homebrew/brew/pull/22868 * patch: add type and resolves DSL for annotating patches by @andrew in https://github.com/Homebrew/brew/pull/22466 * Support path helpers in services by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22870 * Disable tap Git credential prompts by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22869 * Fix HOMEBREW_FORBID_PACKAGES_FROM_PATHS bypasses by @p-linnane in https://github.com/Homebrew/brew/pull/22872 * formula_auditor: audit new formulae for duplicates by @botantony in https://github.com/Homebrew/brew/pull/22860 * bump-formula-pr: do not repeat release notes multiple times by @botantony in https://github.com/Homebrew/brew/pull/22871 * Redact GitHub token in bump dry-run output by @p-linnane in https://github.com/Homebrew/brew/pull/22874 * Reject inline cask definitions passed to the MCP server by @p-linnane in https://github.com/Homebrew/brew/pull/22875 * Key Brewfile trust entries by custom tap remotes by @liby in https://github.com/Homebrew/brew/pull/22862 * Fix core cask tap redirects by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22876 ##### New Contributors * @paulogdm made their first contribution in https://github.com/Homebrew/brew/pull/22844 * @wfarr made their first contribution in https://github.com/Homebrew/brew/pull/22868 * @liby made their first contribution in https://github.com/Homebrew/brew/pull/22862 **Full Changelog**: https://github.com/Homebrew/brew/compare/6.0.3...6.0.4 ### 6.0.3 - Date: 2026-06-22 - Version: 6.0.3 - Original notes: https://github.com/Homebrew/brew/releases/tag/6.0.3 - Permalink: https://whatsnew.fyi/product/brew/releases/6.0.3 - **added** — Allow tap trust in build sandbox - **added** — Add livecheck compressed option - **added** — Add install step config writes - **added** — Support tap trust in Brewfiles - **added** — Support splitting cask versions by arch - **added** — Add list command --no-installed-on-request switch - **added** — Add patch directory for local patch - **changed** — Annotate upgradable dependencies in install plans - **changed** — Don't bold upgradable dependencies in install plans - **changed** — Preserve tap remotes in bundle dumps - **changed** — Follow symlinked trust stores - **changed** — Read user Git config for private downloads - **changed** — Respect auto-update cask opt-out - **changed** — Allow sometimes skipping the sandbox inside nested sandboxes - **fixed** — Services command checks --sudo-service-user exists - **fixed** — Formula installer skips conflicts if not linking - **fixed** — Formula installer creates opt link even when skip_link - **fixed** — Fix brew bundle topological sort crash on missing dependency node - **fixed** — Fix caveats replacing order (HOMEBREW_PREFIX) in API formula reconstruction - **fixed** — Avoid duplicate upgrade warnings ##### What's Changed * docs: drop advice to disable security or lower support tier by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22749 * release: exclude Dependabot PRs from changelog by @ZhongRuoyu in https://github.com/Homebrew/brew/pull/22750 * Document more supply-chain guardrails by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22752 * Allow tap trust in build sandbox by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22751 * Don't warn for partially trusted skipped taps by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22755 * services: check `--sudo-service-user` exists by @sexagesimal in https://github.com/Homebrew/brew/pull/22763 * Follow symlinked trust stores by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22762 * Annotate upgradable dependencies in install plans by @HaraldNordgren in https://github.com/Homebrew/brew/pull/22761 * livecheck: add compressed option by @samford in https://github.com/Homebrew/brew/pull/22757 * Don't bold upgradable dependencies in install plans by @HaraldNordgren in https://github.com/Homebrew/brew/pull/22765 * formula_installer: skip conflicts if not linking by @cho-m in https://github.com/Homebrew/brew/pull/22766 * Preserve tap remotes in bundle dumps by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22754 * Stabilise formula auditor merge-base specs by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22760 * Enable Sorbet/ConstantsFromStrings and override cops by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22758 * Drop redundant installed guard from pretty_install_status callers by @HaraldNordgren in https://github.com/Homebrew/brew/pull/22767 * Skip self-conflicts during install by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22764 * Add install step config writes by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22759 * Locate installed racks from untrusted taps by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22771 * Read user Git config for private downloads by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22779 * formula_installer: create opt link even when skip_link by @cho-m in https://github.com/Homebrew/brew/pull/22783 * Ask PR authors for motivation and bug reproduction steps by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22787 * Revert pull request #22767 by @HaraldNordgren in https://github.com/Homebrew/brew/pull/22791 * Null Git global config for source_modified_time by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22789 * Skip invalid casks in Cask::Cask.all by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22780 * Trust custom-remote tap by reference in test-bot by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22781 * Tighten issue template wording for brevity by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22790 * Support tap trust in Brewfiles by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22772 * Skip auto-update outdated list before upgrade/outdated by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22786 * Null Git global config for local repository inspections by @carlocab in https://github.com/Homebrew/brew/pull/22797 * manpages: update Struct to T::Struct by @cho-m in https://github.com/Homebrew/brew/pull/22798 * bundle: narrow types by @cho-m in https://github.com/Homebrew/brew/pull/22799 * audit: fix except_cops array by @samford in https://github.com/Homebrew/brew/pull/22800 * support splitting cask versions by arch by @TyceHerrman in https://github.com/Homebrew/brew/pull/22462 * Fix brew bundle topological sort crash on missing dependency node by @bendrucker in https://github.com/Homebrew/brew/pull/22803 * Handle API source patch symlinks by @MikeMcQuaid in https://github.com/Homebrew/brew/pull/22806 * Fix caveats replacing order (HOMEBREW_PREFIX) in API formula reconstruction by @umireo _[Truncated at 4000 characters — full notes: https://github.com/Homebrew/brew/releases/tag/6.0.3]_