Today I’d like to announce Homebrew 1.5.0. The most significant changes since 1.4.0 are deprecations of formula APIs and some Homebrew organisation formula taps.
Future dates for your calendar:
- On 1st March 2018 the
pythonformula will be upgraded to Python 3.x and a
python@2formula will be added for installing Python 2.7 (although this will be keg-only so neither
python2will be added to the
PATHby default without a manual
brew link --force). We will maintain
python@3aliases. Any formulae that use
depends_on "python"outside Homebrew/core will need to be updated at this point if they wish to keep using Python 2. Note: macOS has provided Python 2.7 since OS X Lion (10.7) so you can update formulae that need Python 2 today by removing
depends_on "python"so they use the system
- By 31st March 2018 we will deprecate and archive the Homebrew/homebrew-php tap. Unfortunately we have been unable to maintain an acceptable, consistent user or contributor experience and CI workload through non-core formula taps in the Homebrew organisation so we are continuing to migrate widely used formulae into Homebrew/core and encourage more niche formulae and options to be supported outside the Homebrew organisation.
Major changes and deprecations since 1.4.0:
- The Homebrew/homebrew-science tap has been archived (for the reasons explained above) as noted previously. This does not represent an adversarial relationship between Homebrew and the science community (as we have imported the widely used formulae from this tap) but an inability to maintain an acceptable level of quality in this tap and differences of opinion on contributor experience (this tap aimed to work on Homebrew and Linuxbrew which made contribution difficult).
brew postgresql-upgrade-databaseis a new command to simplify upgrading PostgreSQL databases between major versions.
default_formulaare no longer supported for
Requirements. This was originally added to ease our bottle/binary package building when Homebrew was primarily a build-from-source package manager. Now that Homebrew is primarily a binary package manager,
default_formulawas no longer useful and was the source of many complex dependency resolution bugs.
Requirements that allowed you to use
depends_onfor software outside of Homebrew that was also provided by Homebrew have been deprecated. Instead formulae that wish to support e.g. a non-Homebrew Python should use
env :stdand use the first instance of the software in the PATH (found with
- Various, old deprecated APIs have been disabled and more deprecations added.
brew upgradeno longer keep manually
brew unlinked kegs as unlinked on
upgrade. Without this change there was no way of differentiating manually unlinked and failed-to-link kegs so a single keg link failure would stop any future version trying to link (leading to the software unexpectedly being missing from the user’s
Other changes since 1.4.0 I’d like to highlight are the following:
brew auditallows the use of
env :stdin non-Homebrew organisation taps
HOMEBREW_DEVELOPERs are encouraged to submit pull requests for deprecations
- Attempting to
brew installa formula that doesn’t exist will only check if the formula was deleted in the last month (rather than ever) to improve performance.
brew infonow shows
--HEADoptions for optionless formulae
- Homebrew’s portable Ruby has a GitHub mirror for users that cannot access Bintray
brew upgradeskips the formula rather than exiting if an upgrade fails due to an unsatisfied
no_proxyvariable is passed through to the Homebrew fetch/install process (e.g. for
- Homebrew has fewer maintainers than we once did so we’d love more help. If you’re interested check out the documented expectations for Homebrew maintainers.
- Homebrew still accepts donations through Patreon. If you can afford it, please consider donating. If you’d rather not use Patreon we’ve updated the README on how to make single donations through PayPal, cheque or wire transfer.
Thanks to all our hard-working maintainers, contributors, sponsors and supporters for getting us this far. Enjoy using Homebrew!