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 cleanupis run periodically if the
HOMEBREW_INSTALL_CLEANUPenvironment variable is set. The
HOMEBREW_INSTALL_CLEANUPenvironment variable will also trigger individual formula cleanup on reinstall, install or upgrade.
brew upgrade --cleanupand
HOMEBREW_UPGRADE_CLEANUPhave been replaced with the
HOMEBREW_INSTALL_CLEANUPvariable. These will become default behaviours in 2.0.0.
- Homebrew 1.9.0 no longer runs on 32-bit Intel CPUs.
brew updateno longer migrates legacy keg symlinks, tap names, repository locations, cache locations or cache entries.
brew prunehas been replaced by and is now run as part of
brew cask --versionhas been replaced with
brew cask searchwith
brew search --cask.
HOMEBREW_BUILD_FROM_SOURCEenvironment variable has been deprecated in favour of passing
--build-from-sourceto individual formulae installs.
brew installon 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 --forcewill 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 cleanupwill 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 the
- 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 --jsondefaults to the latest JSON version and no longer requires a version argument.
TERMINFOenvironment 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 bottlenow allows relocation of more bottles by ignoring source code and skipping matches to build dependencies.
- More commands now have robust options handling.
brew doctornow outputs the non-default Xcode prefix to ease debugging when Homebrew is using one in a strange location.
brew upgradewill not upgrade formulae installed from one tap to formulae installed in another.
- Homebrew now has a mission statement.
Dockerfilefor building Linuxbrew. This is built automatically on Linuxbrew’s Docker Hub page.
- 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!