Homebrew 5.1.0 has been released.
Homebrew’s most significant changes since 5.0.0 are expanded brew bundle support, brew version-install, new -full formula handling and installer updates.
Major changes and deprecations since 5.0.0:
brew bundlemanages Rust Cargo packages fromBrewfiles,uvtools and Flatpak remotes or apps.brew bundlefetches downloads in parallel before install, auto-taps formulae and casks from external taps, usesmas getfor better fresh Apple ID handling, setsHOMEBREW_INSIDE_BUNDLEand adds--no-secretsfor safer environment inspection.brew version-installcreates, extracts and installs older formula versions in one step.- Homebrew publishes an unversioned
Homebrew.pkginstaller URL and uses Portable Ruby 4.0.1 with Ruby 4.0. - Homebrew adds
ffmpeg-full,imagemagick-full, automatic linking for versioned or-fullkeg-only formulae when the unversioned sibling is absent and stricter rejection of dependencies on*-fullformulae. - Homebrew deprecates
Formula#needsandneeds :openmp,option :cxx11andoption :universaland other APIs scheduled for the normal release-cycle removals.
Upcoming changes:
- Homebrew plans the Ubuntu 24.04 CI migration for 5.2.0, which is expected to raise the Linux baseline to
glibc2.39 andlibstdc++6.0.33. - Homebrew continues the
mastertomainmigration introduced in 4.6.0; some repositories stop updatingmasterin 5.1.0 and the remaining compatibility branches are scheduled for removal in 5.2.0 in favour ofmain.
Homebrew’s other changes since 5.0.0 worth highlighting are the following:
brew servicessupportsnicepriorities for services.brew servicessetsThrottleIntervalfor LaunchAgents and LaunchDaemons on macOS.brew sh --rubyopens a shell with Homebrew’s bundled Ruby and Bundler preconfigured.brew shellenvuses simpler shell detection and is easier to override when auto-detection is wrong.brew lgtmis recommended in the PR template before submitting changes andbrew lgtm --onlinecovers checks that need network access.brew --tapsprints Homebrew’s taps directory.brew sourcejumps straight to a formula’s source repository.brew tap-infoexits with a failure status for unknown taps, which makes scripting more reliable.brew editauto-taps Homebrew/core or Homebrew/cask when API-known formulae or casks are edited on tapless installs.brew configon macOS reports the detected Metal toolchain version.brew infomarks installed and uninstalled formulae or casks more clearly.brew searchlabels deprecated and disabled formulae and casks directly in search results.brew outdatedrespectsHOMEBREW_UPGRADE_GREEDY_CASKS.brew doctorwarns early when Linuxglibcis older than the upcoming CI baseline.brew uninstallrefuses to uninstall casks that other installed casks depend on and keeps going when one requested formula or cask fails.brew upgradeandbrew reinstallkeep working through individual name-resolution failures instead of stopping early.- Homebrew requires AI-assistance disclosure in PRs, documents preferred AI and LLM usage in contributions and ships a
CLAUDE.mdguide alongsideAGENTS.md. - Homebrew GitHub Actions include
cache-homebrew-prefixfor prefix caching in CI.. - Homebrew GitHub Actions include
setup-rubyfor Ruby setup through Homebrew in CI. - Homebrew preserves
WSL_DISTRO_NAME, which keeps CLI tools launched from WSL behaving correctly. - Homebrew shows a progress bar for concurrent downloads.
- Homebrew audits better distinguish true self-submissions from other new-formula submissions.
- Homebrew allows dashes anywhere in tap names, not just after the
homebrew-prefix. - Homebrew auto-bumps resources within formulae that have explicit
livecheckblocks. - Homebrew points issue reporters to GitHub Discussions sooner when issues are not the best fit and updates contributor guidance on when to open discussions, PRs and issues.
- Homebrew checks SSSE3 support more clearly on Linux
x86_64when Homebrew requires it. - Homebrew falls back to simpler output on dumb terminals, which avoids garbled progress display in shells such as Emacs.
- Homebrew keeps custom
HOMEBREW_CURLRCpaths throughbrew update. - Homebrew points unsupported older macOS releases to MacPorts instead of unsupported Homebrew installs.
- Homebrew removes legacy migration code for the old
linuxbrewrepository, removes the remaining automatic migration logic for oldlinuxbrew-coreformulae and removes more obsoletelinuxbrew-coremigration entries. - Homebrew uses the correct Portable Ruby URLs for custom
HOMEBREW_ARTIFACT_DOMAINmirrors and uses the correct mirror links when building brew mirror URLs. - Homebrew guides contributors toward the modern command API as more legacy CLI parser fallback paths are removed.
- Homebrew contributor guidance tells LLM-assisted contributors to run the repository’s own
./bin/brewso local checks match CI more closely. - Homebrew reuses cached API data for up to 7 days in more places, reducing needless refreshes.
- Homebrew lets old installed casks that still contain removed DSL such as
appcastuninstall or upgrade again and filters brokenCaskroommetadata out of installed-cask listings. - Homebrew closes cleanup lockfiles properly, avoiding a file descriptor leak.
- Homebrew caching-proxy docs cover the Formulae API as well as bottles.
- Homebrew cask acceptance docs explain the notability bar for self-submitted casks more clearly and state that dropping support for current macOS versions can lead to rejection.
- Homebrew support-tier docs state that outdated macOS developer tools count as Tier 2 and
brew doctoruses clearer wording about when to report issues from Tier 2 configurations. - Homebrew formulae can use simpler shell-completion helpers, including a predefined
:cobraformat and a built-in:typerformat. - Homebrew audits
revisionandcompatibility_versionchanges more strictly, which helps catch ABI mistakes earlier. - Homebrew linkage checks fail indirect linkage problems more consistently, which helps catch broken dependencies earlier.
- Homebrew
std_npm_argsdisables package scripts by default, reducing exposure to malicious npm install hooks. - Homebrew container registry users can omit the Docker authentication header by setting
HOMEBREW_DOCKER_REGISTRY_BASIC_AUTH_TOKEN=none.
Finally:
- Homebrew simplified its governance model, cleaned up the related docs and updated references to the current Lead Maintainers.
- Homebrew is running a short user survey to help inform future development.
- Homebrew accepts donations through GitHub Sponsors, OpenCollective and Patreon.
Homebrew thanks all our hard-working maintainers, contributors, sponsors and supporters for getting us this far.