Today, I’d like to announce Homebrew 5.0.0. The most significant changes since 4.6.0 are download concurrency by default, official support for Linux ARM64/AArch64, timescales for deprecating macOS Intel and removing macOS Gatekeeper bypass behaviours.
Major changes and deprecations since 4.6.0:
- HOMEBREW_DOWNLOAD_CONCURRENCY=auto is set by default. This enables parallel downloads by default for all users. It can be disabled by setting HOMEBREW_DOWNLOAD_CONCURRENCY=1. Concurrent downloads now have progress reporting. We expect there may be a long-tail of issues, please report them!
- Homebrew has promoted Linux ARM64/AArch64 to Tier 1 support.
- Casks without codesigning are deprecated. We will disable all Homebrew/homebrew-cask casks that fail Gatekeeper checks in September 2026.
- Homebrew now provides official macOS 26 (Tahoe) support.
Homebrew’s future macOS support is noted in our Support Tiers document
at https://docs.brew.sh/Support-Tiers#future-macos-support.
- In September (or later) 2026, Homebrew will not run on macOS Catalina 10.15 and earlier and macOS Intel x86_64 will move to Tier 3, dropping CI support and no additional bottles (binary packages) will be built for macOS Intel.
- In September (or later) 2027, Homebrew will not run on macOS Big Sur 11 on Apple Silicon or at all on Intel x86_64.
- HOMEBREW_USE_INTERNAL_API allows opt-in to the new, smaller internal Homebrew JSON API. This will become the default behaviour in a later version of Homebrew. Please consider opting-in now and reporting any issues you encounter.
- --no-quarantine and --quarantine flags have been deprecated as Homebrew does not wish to easily provide circumvention to macOS security features.
- Various other deprecations/disables/removals.
Other changes since 4.6.0 I’d like to highlight are the following:
- brew bundle supports installing go packages in Brewfile. brew bundle --no-go and HOMEBREW_BUNDLE_DUMP_NO_GO will opt-out of this behaviour.
- brew bundle defaults the global Brewfile location to the user configuration directory.
- brew bump-*-pr will automatically tap core taps if needed.
- brew doctor skips the disclaimer when --quiet is passed.
- brew doctor warns on a pkg-config macOS SDK version mismatch.
- brew mcp-server provides more development commands.
- brew search --alpine searches Alpine Linux packages.
- brew services supports keep_alive systemctl services with Restart=on-failure.
- brew info --sizes shows the sizes of each formula and cask.
- brew audit will do online checks for Codeberg repositories.
- brew lgtm runs multiple style checks in one command.
- brew release now runs the release workflow and uploads artifacts. This means Homebrew/brew now uses immutable releases.
- brew style --changed checks style on all changed files in a repository or tap.
- Homebrew/homebrew-test-bot, Homebrew/homebrew-portable-ruby and Homebrew/command-not-found were imported into Homebrew/brew. This means all Homebrew external commands have now been moved into primary repositories (Homebrew/brew, Homebrew/homebrew-core or Homebrew/homebrew-cask).
- /usr/local prefix replacement is more selective to increase the number of relocatable bottles.
- launchctl service removal sudo failures are non-fatal.
- CGO_ENABLED is enabled by default on ARM64 Linux.
- pkgconf will be reinstalled automatically on a macOS version mismatch.
- rubydoc.brew.sh has been redirected to docs.brew.sh/rubydoc.
- head Git URLs always require a branch name.
- HOMEBREW_FORBIDDEN_CASK_ARTIFACTS allows selectively blocking cask install methods.
- HOMEBREW_DEVELOPER is required when installing formulae from paths.
- Formula’s compatibility_version DSL will help us reduce the number of upgrades needed in future.
- Formula’s no_linkage DSL will help stricter linkage detection and avoid issues.
- Formulae can be migrated to casks within the same tap.
- Linux’s host libstdc++ (instead of gcc) is used for automatically determining if a brewed gcc dependency is needed.
- Homebrew will avoid downloading JSON API files multiple times per run.
- Homebrew no longer provides CI for macOS Ventura in Homebrew/core.
- Homebrew’s Linux CI uses GCC 12.
- Homebrew will not run on macOS Mojave and older.
- Homebrew prefers LLVM’s clang over gcc on macOS.
- Homebrew defaults to -O2 with gcc.
- Dependencies are resolved correctly when installing older bottles.
- Casks are better supported and have better usability on Linux.
Finally:
- We have clarified our stance on adult content in Homebrew formulae and casks.
- We have loosened our criteria for accepting software into Homebrew.
- Homebrew accepts donations through GitHub Sponsors, OpenCollective and Patreon. If you can afford it, please consider donating.
Thanks to all our hard-working maintainers, contributors, sponsors and supporters for getting us this far.
.png)

