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 bundleandBrewfilehas been hugely improved. It also documents the many newbrew bundlefeatures and changes in this release. brew bundleandbrew servicesare built-in commands instead of being provided by an external tap.brew bundle (exec|env|sh)no longer filter the user’s environment (like otherbrewcommands do)brew servicessupports passing multiple formulaeBrewfiles have aversion_file:DSL that allowsbrew bundleto write to e.g. a.ruby-versionfile based on the installed versionbrew bundleno longer includes${HOMEBREW_PREFIX}/binin the$PATHby default. You can do this in yourBrewfilewithENV["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-prallows 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 doctorlinks to Support Tiersbrew doctorchecks 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
brewmuch faster.
Deprecations
Other changes since 4.4.0 I’d like to highlight are the following:
brew install --askandHOMEBREW_ASKallow viewing the packages, dependencies and sizes in a prompt before installationbrew install --skip-linkallows installation without runningbrew linkbrew update-if-neededprovides a much faster possible replacement forbrew updatethat does nothing if no auto-update is requiredbrew install --as-dependencyallows installation of formulae as dependencies rather than “on request”brewallows being run byrootinpodmancontainersHOMEBREW_TEMPdefaults to/var/tmpon Linux, assuming it exists, is readable and is writablebrew install --caskproduces fewer GitHub Actions warnings- Homebrew supports GCC 15
brew pyenv-synccreates major version symlinks to fixpyenvsupport- The Homebrew macOS
.pkginstaller will upgrade existing installations HOMEBREW_UPGRADE_GREEDY_CASKSallows specifying a list of casks that should always be upgraded with--greedy- Formulae can include
PowerShell (
pwsh) orclapcompletions. @@HOMEBREW_PREFIX@@can be replaced with the value ofHOMEBREW_PREFIXin external patchesbrew aliasandbrew unaliascommands are part of Homebrew/brew rather than an external tapbrew editandbrew bundle editlook for VSCode variants, e.g. Cursorbrew bump*can bump synced formulae togetherbrew *env-synchas aHOMEBREW_ENV_SYNC_STRICTmode 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 verifyallows verifying package attributionsbrew auditflagspkg-configdependencies in core tap. We have fully moved to usingpkgconfin Homebrew/homebrew-core instead.- Formulae allow using Sequoia’s
jqinstead of Homebrew’s brew configprints the current Homebrew/brew branch- Homebrew’s Tabs/
INSTALL_RECEIPT.jsoninclude thebottle_rebuildinruntime_dependencies - Homebrew will use macOS’s new
lockfwhere available - Homebrew’s CI is no longer running
brew testson 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.