Today I’d like to announce Homebrew 1.8.0. The most significant changes since 1.7.0 are official Mojave support, linkage auto-repair on
brew info displaying analytics data and quarantining Cask’s downloads.
Major changes and deprecations since 1.7.0:
- Download strategies unused by Homebrew/homebrew-core have been deprecated
- We no longer provide support for
develspecs in Homebrew/homebrew-core (due to CI overhead)
- When a bottle isn’t available for your version of macOS we will use a bottle from an older version instead
- I (Mike McQuaid) will step down as lead maintainer on February 4th when the Homebrew maintainers meet in person for the first time
- Mojave is officially supported (and El Capitan unsupported)
brew upgradeautomatically reinstalls or upgrades formulae with broken linkage
brew shellenvoutputs configuration variables for Homebrew (and was reimplemented in Bash for speed)
brew infodisplays analytics data. This is the way that Homebrew maintainers query analytics data so we are using the same data as the community.
- JSON is used to marshal child process errors to avoid potential security issues
- Homebrew Cask’s downloads are quarantined
brew extractis a new command to extract old versions of formulae from Git history
- Homebrew Cask’s installs report analytics events
brew cask searchand
brew cask cleanupare deprecated in favour of
Other changes since 1.7.0 I’d like to highlight are the following:
brew gist-logs --privatecreates private gists
HOMEBREW_FORCE_HOMEBREW_ON_LINUXdisables using Linuxbrew settings when using Homebrew on Linux
brew stylechecks Bash style with
shellcheckand uses RuboCop RSpec by default
brew cleanupremoves old or unnecessary portable Rubies and linkage caches
brew linkageuses a JSON cache to increase reliability
brew update-resetaccepts a repository argument
bundle install --standaloneis used to handle vendored gems. This is used to use ActiveSupport File.atomic_write, ActiveSupport Hash#deep_merge,
String#delete_prefixbackport and ActiveSupport Object#blank? and #present? rather than maintaining our own poor imitations.
brew updatefollows GitHub API redirects
- Directories that need to be writable are created automatically and checked more thoroughly
brew linkagedata is used to check for multiple simultaneous versioned formulae linkage. This is more permissive than the previous recursive dependency check.
brew bundle check --verbosedisplays what software is missing and causing a
brew bundle checkto fail
brew updateprints a one-time donation request
- Many Homebrew maintainers will be attending FOSDEM 2019. Consider coming along and saying hello!
- Homebrew still accepts donations through Patreon. If you can afford it, please consider donating. If you’d rather not use Patreon, 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!