Today I’d like to announce Homebrew 1.9.0. The most significant changes since 1.8.0 are Linux support, (optional) automatic brew cleanup
and providing bottles (binary packages) to more Homebrew users.
Major changes and deprecations since 1.8.0:
- Homebrew 1.9.0 has beta support for Linux and Windows 10 (with the Windows Subsystem for Linux). Homebrew on Linux (known as Linuxbrew) does not require root access.
brew cleanup
is run periodically if theHOMEBREW_INSTALL_CLEANUP
environment variable is set. TheHOMEBREW_INSTALL_CLEANUP
environment variable will also trigger individual formula cleanup on reinstall, install or upgrade.brew upgrade --cleanup
andHOMEBREW_UPGRADE_CLEANUP
have been replaced with theHOMEBREW_INSTALL_CLEANUP
variable. These will become default behaviours in 2.0.0.- Homebrew 1.9.0 no longer runs on 32-bit Intel CPUs.
brew update
no longer migrates legacy keg symlinks, tap names, repository locations, cache locations or cache entries.brew prune
has been replaced by and is now run as part ofbrew cleanup
.brew cask --version
has been replaced withbrew --version
andbrew cask search
withbrew search --cask
.- The
HOMEBREW_BUILD_FROM_SOURCE
environment variable has been deprecated in favour of passing--build-from-source
to individual formulae installs. brew install
on macOS uses the same CFLAGS for bottles and building from source.- Homebrew/homebrew-core requires all formulae to be open source by the OSI definition.
brew link --force
will not link software already provided by macOS.
Future major changes and deprecations coming in 2.0.0:
- Homebrew 2.0.0 will officially support Linux and Windows 10 (with the Windows Subsystem for Linux).
brew cleanup
will be run periodically and for trigger individual formula cleanup on reinstall, install or upgrade. You can enable this behaviour now on 1.9.0 by setting theHOMEBREW_INSTALL_CLEANUP
variable.- Homebrew 2.0.0 will not run on macOS 10.8 and below. For 10.4 - 10.6 support see Tigerbrew.
- Homebrew 2.0.0 will not be able to create universal binaries (even in taps).
- Homebrew 2.0.0 will no longer migrate old installations from the legacy Homebrew/homebrew repository.
- Homebrew 2.0.0 will not have any formulae with options in Homebrew/homebrew-core. Options will still be supported and encouraged by third-party taps.
Other changes since 1.8.0 I’d like to highlight are the following:
brew info --json
defaults to the latest JSON version and no longer requires a version argument.- The
TERMINFO
environment variable is passed through to Homebrew to enable support for some terminal emulators. - Incomplete downloads can be resumed even when the server rejects HEAD requests.
- macOS Mojave bottles are now optimised for the newer CPUs required by Mojave.
brew
’s ZSH completion performs more caching.brew bottle
now allows relocation of more bottles by ignoring source code and skipping matches to build dependencies.- More commands now have robust options handling.
brew doctor
now outputs the non-default Xcode prefix to ease debugging when Homebrew is using one in a strange location.brew upgrade
will not upgrade formulae installed from one tap to formulae installed in another.- Homebrew now has a mission statement.
Homebrew/brew
contains aDockerfile
for building Linuxbrew. This is built automatically on Homebrew’s Docker Hub page.
Finally:
- Many Homebrew maintainers will be attending FOSDEM 2019 (say hello!) and meeting afterwards to discuss the future governance of Homebrew.
- Homebrew still accepts donations through Patreon. If you can afford it, please consider donating. If you’d rather not use Patreon (our preferred donation method), 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. Enjoy using Homebrew!