Today I’d like to announce Homebrew 3.1.0. The most significant change since 3.0.0 is the migration of our bottles (binary packages) to GitHub Packages.
Major changes and deprecations since 3.0.0:
- GitHub Packages is the default package download/upload location on macOS and Linux. This is due to Bintray’s shutdown on May 1st 2021.
- Various deprecated, disabled and deleted code.
HOMEBREW_NO_BOTTLE_SOURCE_FALLBACKis removed (as its behaviour is now the default).
- GitHub Packages writes bottles’ tabs into the GitHub Packages manifest JSON.
brew bottle --only-json-tabhas been added to allow future GitHub Packages bottles to store their tab outside the bottle to allow reproducible builds. This is why downloads from GitHub Packages also include a small manifest JSON download. This also allows future creation of
all: SHA256bottles for bottles shared across all platforms.
Other changes since 3.0.0 I’d like to highlight are the following:
sedsuperenv shim is removed.
- CodeCov in Homebrew’s GitHub Actions no longer requires a hardcoded token.
brew update --quietis a bit quieter.
brew updateoutputs to
stderrwhen not outputting to a TTY to ease
brew updatereports outdated formulae and suggests
installed_on_requestis correctly set in the tab for dependencies again. This will improve usage of
brew bundle dumpafter reinstalling packages.
- Homebrew does not load non-Bundler gems to prevent issues from user-installed gems.
- Homebrew’s default
rubywarning level is now
-W1(to avoid hiding legitimate warnings.)
pkguninstallation is faster.
brew --prefix <formula>is faster.
brew --versionis faster.
brew listalso uses
lsfor casks output (to be consistent with formulae).
brew listvisually separates formulae and casks.
brew bumpsupports casks.
service dois a new formula DSL to allow plists to be easily generated.
- Always require developer tools on Apple Silicon (because
codesignis needed when pouring bottles).
codesignfails more error output is now printed.
rubysuperenv shims are provided to work around broken macOS
- A better error message is output when users don’t have any GitHub API credentials set.
- Homebrew’s Annual General Meeting in February elected a new Project Leadership Committee, Technical Steering Committee, and I (Mike McQuaid) was re-elected as Project Leader
- 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. Particular thanks on Homebrew 3.1.0 go to GitHub for providing GitHub Packages and helping in our migration. Enjoy using Homebrew!