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 upgrade, 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 linkagebrew 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 searchandbrew cask cleanupare deprecated in favour ofbrew searchandbrew cleanup
Other changes since 1.7.0 I’d like to highlight are the following:
brew gist-logs --privatecreates private gists- Setting
HOMEBREW_FORCE_HOMEBREW_ON_LINUXdisables using Linuxbrew settings when using Homebrew on Linux brew stylechecks Bash style withshellcheckand uses RuboCop RSpec by defaultbrew cleanupremoves old or unnecessary portable Rubies and linkage cachesbrew linkageuses a JSON cache to increase reliabilitybrew update-resetaccepts a repository argumentbundle 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 abrew bundle checkto failbrew updateprints a one-time donation request
Finally:
- 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!