Today, I’d like to announce Homebrew 4.5.0.
The most significant changes since 4.4.0 are major improvements to brew bundle
/services
, preliminary Linux support for casks, official Support Tiers, Tier 2 ARM64 Linux support, Ruby 3.4 and several deprecations.
Major changes and deprecations since 4.4.0:
brew bundle
and brew services
- The documentation for Homebrew Bundle,
brew bundle
andBrewfile
has been hugely improved. It also documents the many newbrew bundle
features and changes in this release. brew bundle
andbrew services
are built-in commands instead of being provided by an external tap.brew bundle (exec|env|sh)
no longer filter the user’s environment (like otherbrew
commands do)brew services
supports passing multiple formulaeBrewfile
s have aversion_file:
DSL that allowsbrew bundle
to write to e.g. a.ruby-version
file based on the installed versionbrew bundle
no longer includes${HOMEBREW_PREFIX}/bin
in the$PATH
by default. You can do this in yourBrewfile
withENV["PATH"] = "#{HOMEBREW_PREFIX}/bin:#{ENV["PATH"]}"
.
Linux casks
- Some Homebrew casks are supported on Linux. Right now these are mostly fonts and those with Linux binaries. Some casks will never be available on Linux, such as those for macOS-specific software. The Homebrew Linux fonts cask tap has been deprecated as a result.
brew bump-cask-pr
allows bumping multi-platform casks on Linux
Support Tiers
- Homebrew has three documented Support Tiers plus Unsupported. Tier 1, previously called “supported”, is where you’ll get bottles/binary packages and we have CI coverage.
brew doctor
links to Support Tiersbrew doctor
checks for OpenCore Legacy Patcher- Clarify that the OpenCore Legacy Patcher is Tier 2 or 3
ARM64 Linux
- Homebrew provides a Portable Ruby for ARM64 Linux. This is the first step towards hopefully being able to provide Tier 1 support for ARM64 Linux in the future.
- Homebrew refers to ARM64 Linux, not AArch64 Linux (for consistency with macOS)
- Homebrew publishes some ARM64 Docker images
Ruby
- Homebrew provides Portable Ruby 3.4.3. It also requires Ruby >=3.4 to run.
- Homebrew has enabled Bootsnap by default. This should make repeated invocations of
brew
much faster.
Deprecations
Other changes since 4.4.0 I’d like to highlight are the following:
brew install --ask
andHOMEBREW_ASK
allow viewing the packages, dependencies and sizes in a prompt before installationbrew install --skip-link
allows installation without runningbrew link
brew update-if-needed
provides a much faster possible replacement forbrew update
that does nothing if no auto-update is requiredbrew install --as-dependency
allows installation of formulae as dependencies rather than “on request”brew
allows being run byroot
inpodman
containersHOMEBREW_TEMP
defaults to/var/tmp
on Linux, assuming it exists, is readable and is writablebrew install --cask
produces fewer GitHub Actions warnings- Homebrew supports GCC 15
brew pyenv-sync
creates major version symlinks to fixpyenv
support- The Homebrew macOS
.pkg
installer will upgrade existing installations HOMEBREW_UPGRADE_GREEDY_CASKS
allows specifying a list of casks that should always be upgraded with--greedy
- Formulae can include
PowerShell (
pwsh
) orclap
completions. @@HOMEBREW_PREFIX@@
can be replaced with the value ofHOMEBREW_PREFIX
in external patchesbrew alias
andbrew unalias
commands are part of Homebrew/brew rather than an external tapbrew edit
andbrew bundle edit
look for VSCode variants, e.g. Cursorbrew bump*
can bump synced formulae togetherbrew *env-sync
has aHOMEBREW_ENV_SYNC_STRICT
mode for stricter version handling- In formulae and casks,
deprecate!
/disable!
support specifying replacement software and can specify replacement type brew bump-*
only warns, rather than errors, on duplicate PRs for non-official tapsbrew verify
allows verifying package attributionsbrew audit
flagspkg-config
dependencies in core tap. We have fully moved to usingpkgconf
in Homebrew/homebrew-core instead.- Formulae allow using Sequoia’s
jq
instead of Homebrew’s brew config
prints the current Homebrew/brew branch- Homebrew’s Tabs/
INSTALL_RECEIPT.json
include thebottle_rebuild
inruntime_dependencies
- Homebrew will use macOS’s new
lockf
where available - Homebrew’s CI is no longer running
brew tests
on macOS 13. It was too slow and we’re dropping macOS 13 support later this year.
Finally:
- Homebrew has switched to SSH-based Git commit signing
- Homebrew has provided FAQs about their relationship with Workbrew
- Homebrew accepts donations through GitHub Sponsors and still accepts donations through Patreon. If you can afford it, please consider donating. If you’d rather not use GitHub Sponsors or Patreon (our preferred donation methods), check out the other ways to donate in our README.
Thanks to all our hard-working maintainers, contributors, sponsors and supporters for getting us this far.