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 apython@2formula will be added for installing Python 2.7 (although this will be keg-only so neitherpythonnorpython2will be added to thePATHby default without a manualbrew link --force). We will maintainpython2,python3andpython@3aliases. Any formulae that usedepends_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 removingdepends_on "python"so they use the systempythoninstead. - By 31st March 2018 we will deprecate and archive the 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/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 forRequirements. 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 usedepends_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 useenv :stdand use the first instance of the software in the PATH (found withwhich)- Various, old deprecated APIs have been disabled (https://github.com/Homebrew/brew/pull/3694) and more deprecations added.
brew reinstallandbrew upgradeno longer keep manuallybrew unlinked kegs as unlinked onreinstallorupgrade. 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’sPATH).
Other changes since 1.4.0 I’d like to highlight are the following:
brew auditallows the use ofenv :stdin non-Homebrew organisation tapsHOMEBREW_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. (https://github.com/Homebrew/brew/pull/3614) brew infonow shows--develand--HEADoptions for optionless formulae- Homebrew’s portable ruby has a GitHub mirror for users that cannot access Bintray (https://github.com/Homebrew/brew/pull/3683)
brew upgradeskips the formula rather than exiting if an upgrade fails due to an unsatisfiedRequirement- The
no_proxyvariable is passed through to the Homebrew fetch/install process (e.g. forcurl)(https://github.com/Homebrew/brew/pull/3584)
Finally:
- Homebrew has fewer maintainers than we once did so we’d love more help (https://github.com/Homebrew/brew/pull/3676). 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!