Hacker news

  • Top
  • New
  • Past
  • Ask
  • Show
  • Jobs

Show HN: Homebrew 6.0.0 (https://brew.sh)

1176 points by mikemcquaid about 19 hours ago | 271 comments | View on ycombinator

hk__2 about 14 hours ago |

Hi Mike, I’m @bfontaine on GitHub (I helped maintain Homebrew in ~2014-2016). I’m always impressed at your longevity as a maintainer; it’s been like what, 16+ years you’ve been maintaining Homebrew and you’re still here, still shipping new features! Thank you for everything!

PufPufPuf about 14 hours ago |

I have switched my full OS-level dev env to https://mise.jdx.dev/ from Homebrew+pipx+npm, initially as an experiment but found out that it actually works amazingly well. Many things get installed directly from GitHub releases or a corresponding package manager (uv, pnpm, go get ...), zero glue code to "repackage", zero version lag. You can install any arbitrary version of a package, even multiple ones at once, and dynamically adjust which ones are active per working folder or explicitly through environments.

Funnily Mise does not support dependencies, and I was quite surprised that it mostly doesn't matter, as either pnpm/uv handles that, or it's a static binary that just works. In the past, had the unfortunate experience of packaging a Python application for Homebrew (the ridiculous process involved importing around 50 dependencies as "resources", building every single one from source or manually checking if it's already on Homebrew, declaring build toolchains for 5 different programming languages as dependencies, waiting over an hour for CI to finish on every update, then an upstream update introduced a "build-time dependency loop" and the project suddenly became unpackable for Homebrew) so I totally get why Mise took the "easy way out" and just relies on language-specific package managers directly.

Only thing from my Brewfile that I couldn't replace was the Docker CLI (needed to interact with Colima). And I still use Homebrew for casks. I encourage others to experiment with their dev setups, there are some amazing new tools out there.

vitorsr about 14 hours ago |

Thanks for all the hard work.

We are not many [1], but Homebrew has been a great way to quickly bootstrap an environment in immutable Linux distributions.

Note that certain operating systems such as Universal Blue's Bazzite (1.28%), Bluefin (0.49%) and Aurora (0.28%) default to bundling Homebrew [2].

[1] https://formulae.brew.sh/analytics/os-version/365d/

[2] https://github.com/ublue-os/brew

MikeNotThePope 22 minutes ago |

This is somewhat impressive, but can you reverse a binary tree?!

https://www.quora.com/Whats-the-logic-behind-Google-rejectin...

commandersaki about 11 hours ago |

Homebrew is a non-profit project run entirely by volunteers, not employees. We need your funds to pay for software, hardware and hosting around continuous integration and future improvements to the project. Every donation will be spent on making Homebrew better for our users. Please consider a regular donation through GitHub Sponsors, OpenCollective and Patreon.

I donate to a lot of open source projects that I benefit from, but I’ve never really thought about Homebrew. I will get onto it.

klodolph about 14 hours ago |

I recently switched back to Homebrew from Nix, and the three big factors in that switch are:

- Brew seems to have better support for the packages it has, compared to Nix where it seems a percentage of packages are not as well maintained,

- Better Mac support; some Nix packages have features disabled on macOS, I think just because the maintainers of this packages don’t have a Mac for testing,

- Better UX.

Obviously I miss the reproducibility of Nix environments and the ability to easily create my own flakes with specific packages, but on the balance, Brew has won me back. (I still like Nix, and FWIW we use Nix at work.)

broxit about 15 hours ago |

Thanks for the update. Is there any chance we can get some kind of cooldown mechanism in Homebrew?

The only people I want to trust to quickly ship new code to my machine are Apple and my browser (which handles more untrusted input than anything else).

For everything else (vscode and its extensions, npm, homebrew, and all the apps that self-update), I prefer to err on the side of waiting a few days.

Some exceptional 0days might warrant a cooldown bypass, but even in its current form users are vulnerable to 0days until they run brew upgrade.

0xbadcafebee about 14 hours ago |

Personally I stopped using Homebrew after I got screwed too many times on mandatory upgrades that I couldn't pin. I use a combination of Mise and MacPorts now so I don't get any more surprise breakage and forced obsolescence. Plus Mise allows me to upgrade to any new version, whereas with Homebrew you have to wait for whenever the tap feels like upgrading (llama.cpp tap skips every 10 releases)

philistine about 14 hours ago |

The deprecation of Intel support is agressive! Every Mac enthusiast I know who uses a Mac as a server uses their old machines, which are pretty much all Intel. We'll lose support from you guys a year before Apple!

I know supporting Intel is an ordeal and a choice, but I'm firmly on the camp that Homebrew should find a way to maintain Intel support as long as possible.

satvikpendem about 13 hours ago |

Thank you for your work on Homebrew, I use it every day. On the matter of speed and parallel downloads, how does this release compare to Zerobrew [0]?

On another note, to commenters here, I've been using brew bundle with the Brewfile more and more these days as a declarative list of all user packages installed, should I just move to Mise or Nix instead? What are the benefits and drawbacks? Last time I used Nix on my MacBook a few years ago it seemed to brick my whole system so not sure what that was about.

[0] https://github.com/lucasgelfond/zerobrew

sebiw about 13 hours ago |

Shoutout to all the people making Homebrew possible! You rock! Everyone should consider donating to the project: https://opencollective.com/homebrew

kh2engab about 2 hours ago |

Is there a way to run the cask/tap search via browser address-bar %s? Like this: https://www.digikey.com/de/products?keywords=%s

IgorPartola about 12 hours ago |

Is Homebrew still tied to GitHub or has there been any move to provide redundancy across multiple providers?

Also coming from what I consider traditional package managers such as apt, rpm, emerge, pkg, etc. I am still confused on cans, taps, kegs, formulas, etc. Does anyone have a good and concise guide to what all these features are?

hendry about 1 hour ago |

I’ve also dropped nix-darwin for homebrew on my new m5.

Fantastic work Mike and team, though I’m still a little confused about cask upgrades.

petetnt about 12 hours ago |

Homebrew 6.0.0 seems to be the first major version of brew that is heavily written using AI. There’s new document at https://docs.brew.sh/Responsible-AI-Usage that was added 11 hours ago. Do you think that these guidelines have been followed consistently since 5.0.0?

dlandis about 14 hours ago |

Is it true that contributors to homebrew need to know how to invert a binary tree?

nxpnsv about 2 hours ago |

I noticed the change to trust already in the previous release. To uninstall something from a not yet trusted tap, I first have to trust it, then uninstall, and then untrust it. This feels a bit weird, but maybe it makes total sense...

whinvik about 12 hours ago |

I love using Homebrew but I wish there was more support for pinning. I recently setup a new remote VM and tried to use a Brewfile for my setup. Turns out I cannot pin Neovim and so had to force upgrade my setup to 0.12.

Forced upgrades are not nice.

terminalbraid about 13 hours ago |

How do you square advocating for the "Open Source Resistance" which touts "stop asking for permission" to do software and then saying "we need everything on MacOS to be signed and will be dropping packages that don't get Apple's permission"?

I'd consider donating, but I find that behavior to be part of squeezing free computing and participating in and advocating for the corporate erosion of ownership of one's hardware environment.

maxloh about 13 hours ago |

Homebrew is so good that I use it on Linux whenever possible.

Most Linux package managers cannot separate user-installed packages from system packages. This makes cleaning up your workstation nearly impossible and a pain in the ass, since you can't tell what should be removed, or more importantly, what can be removed.

Also, most native package managers update much slower than Homebrew, meaning you often only get outdated packages.

orsenthil about 12 hours ago |

Thank you. It is just funny and interesting to note people seeing Homebrew as their choice of default package manager on linux! It shows that people clearly care about the technically better solution which has a very good UX over the native choices that linux distros made over years, be it apt or yum or something else.

I install homebrew as a first thing on my corporate amazon linux too as many system packages are lacking, and I couldn't get neovim in a different way.

port11 about 1 hour ago |

Ask mode being the default is stellar. Thanks Mike!

Apple could’ve made something like this, or at least pay you handsomely for making Macs better to use.

7839284023 about 16 hours ago |

Awesome! Thank you for the update.

I noticed that homebrew updated _all_ my casks when running 'brew upgrade' (even those with "auto_updates: true" in their Cask JSON API).

Is this intended, new default behavior? This did not use to happen...

12_throw_away about 12 hours ago |

Well, I might as well ask my tech support question here :)

I just ran the upgrade to 6.0.0, and it downloaded so many things concurrently that it killed my wifi (old router). Is there a way to cap bandwidth or maximum concurrent connections? (this is something I have to do in many download heavy apps, e.g., steam)

swingboy about 14 hours ago |

Interesting that the `brew-rs` experiment has concluded and didn't find much of a performance increase. I suppose that is expected though with a lot of the bottleneck being network IO?

joshuat about 15 hours ago |

Is the eventual goal to move most formula/cask behavior into declarative install steps and treat Ruby as an escape hatch?

nosioptar about 13 hours ago |

I used OSX for about a year about 10 years ago. Homebrew was what made it worth using OSX. Thanks for all the effort put into homebrew.

I'd use it today on Linux, but I'm pretty anal about only using software from the distribution repos (or compiled locally if not available.)

egorfine about 12 hours ago |

> The master to main migration begun in 4.6.0 continues: more repositories no longer update master, GitHub Actions warn @master users to migrate to @main and the sync-default-branches workflows are removed

Speaking of important things.

jwr about 13 hours ago |

Thanks for all the work you put into this over the years. Homebrew became my go-to solution for installing software on my Macs (after MacPorts) and I just realized that someone has been doing all that work for me for so long. Much appreciated!

e40 about 13 hours ago |

Just want to thank you, Mike. I love Homebrew and wouldn't know what to do without it. My company sponsor's the project on github and I recommend that everyone consider helping out.

linsomniac about 11 hours ago |

Trying to understand if nix/nix-darwin is an alternative here. I just switched over my work machine to NixOS and I'm totally loving it. So far I've only used nix on Mac to install Wezterm, because I need the Linux and Mac versions to be exactly the same and the normal Mac downloader and Nix don't have matching versions, and that worked well.

ansonhoyt about 15 hours ago |

Is there a way to `brew trust` inside my Brewfile? That'd be nice for the handful of formulas I install from github repos via `brew bundle --global`.

luckykiddie about 7 hours ago |

I have been used Homebrew for years, the first choice to install an App is using the `brew install --cask` command.

But can you please support old Mac too? As you upgrade brew, many brew break for old Mac since the old library/framework. And in this situation, i had to switch from brew to macports plus brew. It's a pain for old Mac to using brew.

golem14 about 13 hours ago |

For those of us who use homebrew today, how do we get the new cool benefits ? Is there a command to upgrade (like ```brew upgrade```) everything to the new hotness, do we need to uninstall everything and reinstall ?

It's probably discussed somewhere but didn't find when glancing at the OP.

swiftcoder about 14 hours ago |

Congrats on the performance improvements. That's the most pleasant `brew upgrade` session I've had in years

shawkinaw about 14 hours ago |

Could really use a good rollback mechanism, is there one in the works perchance? I have broken my home server multiple times with bad InfluxDB and Grafana updates, and rollback was a huge pain. I’ve now disabled cleanup so old versions of packages are kept, but there must be a better way.

frizlab about 13 hours ago |

Thanks for your hard work!

I discovered Homebrew now sometimes asks whether I actually want to install a formula (e.g. `brew install ffmpeg` asks whether I want to install it because it has dependencies). Is there a way to disable this behavior and revert to the previous one?

hk1337 about 7 hours ago |

Does this fix the issue why the aws session-manager-plugin has to be removed?

Also, what about installation directories? I always install homebrew to ~/.brew since I know I’ll always have access to my home directory without sudo.

jamesgill about 14 hours ago |

I know this runs on Linux too. As a Linux user, I'm unclear on why I might use this instead of apt or dnf, for example. Any Linux users out there have experience with both Homebrew and one of these?

chuckreynolds about 13 hours ago |

Brew is so good... just sponsored on github. Thanks for the hard work!

eikenberry about 13 hours ago |

Does anyone know of a good comparison of the process to add a package to the system? I've used multiples of these sorts of user-land package managers and always find tools that aren't in the repositories that I have to install manually. It'd be great to just add these tools to an existing package manager but I've never seen this aspect of these package managers compared.

drgo about 8 hours ago |

As a daily user of Homebrew for > 10 years, thanks for all your hard work.

usernametaken29 about 4 hours ago |

Mac without brew just wouldn’t be Mac. Huge respect!

alsetmusic about 8 hours ago |

Top three things I install first are Sublime Text, Homebrew, and modern Bash (I'm not switching to Zshell). Great tools make computing enjoyable.

mattbettinson about 13 hours ago |

Okay, but can you reverse a binary tree?

pknerd about 14 hours ago |

Thanks for producing such an amazing piece of software. Most of my Mac installations are based on Homebrew, but I have to rely on version management tools like Pyenv or nvm for Python and Node. Wish there was some standard 'Homebrew' way to install multiple versions of node, php and Python

delduca about 11 hours ago |

Thanks for the homebrew and all work over those years!

threecheese about 14 hours ago |

I assume this trust issue is related to the not-infrequent MacOS notifications asking for permission to run Ruby in the background or when the machine starts. It says nothing about Homebrew though.

holysantamaria about 13 hours ago |

I will try this new release of brew but I have been extremely satisfied with determinate nix so far. It completely changed my confidence in installing new stuff

reactordev about 14 hours ago |

Hell yeah, tap trust!!!

jedahan about 11 hours ago |

I wish tap trust operated at the author/committer level than identifier level.

user3939382 about 5 hours ago |

With NetBSD and Macports, when I need to find a file I can predict where it is almost every time. With FreeBSD, Linux, and Brew, it feels like “here we go” while I guess. Since tools in categories like this are similar, things like this end up being tie breakers for me.

cbeach about 11 hours ago |

Slightly tangential, but I went to set up Homebrew today on a new Mac. Stupidly clicked the top link in Google (which was sponsored but not obviously so). Took me to a spoof Homebrew page. I ran the script. Typed in my Mac password like a fool when prompted, and nothing happened. Then I realised what an idiot I’d been.

Claude found evidence of an exfiltration malware on my laptop and I inmediately wiped the device and started again. Revoked all my keys, rotated all my passwords. And now I pray the damage is contained.

I can’t believe that Google would have let this slip through. I probably wasn't the only one that got caught out.

m463 about 11 hours ago |

macOS 27 (Golden Gate) drops Intel support, so ... in September 2027, macOS Intel x86_64 will be unsupported entirely and all related code deleted.

hmm... that's too bad.

phs318u about 11 hours ago |

Back in the day, pkgsrc was a thing (cross-platform; originally from NetBSD). Source based package distribution, it explicitly allowed for unprivileged installation to a prefix of your choice. I became very familiar with it as an ordinary Solaris user 20 years ago.

theragra about 12 hours ago |

I was so impressed with Homebrew, I've added a formula for far2l-tty.

Thanks for your job!

Hamuko about 12 hours ago |

I don't understand how the tap trust improves security at all. If I'm installing something from a third-party tap, instead of running tap + install, I now run tap + trust + install? How does this protect me against compromised taps?

let_rec about 14 hours ago |

Does Homebrew have good support for exact (and older) versions of packages now?

ch-bas about 14 hours ago |

Thanks for the hardwork.

airwarmedd about 13 hours ago |

damn, I can't believe, it's still getting updates. found out homebrew 6 months ago, I'm awe! amazing product

gigatexal about 12 hours ago |

Homebrew is the first thing I install on a new Mac. I love it. Thank you everyone for all the work. Looking forward to 6.0 and all the security stuff yay. I hope the apps I use that their maintainers adopt the changes.

pdntspa about 13 hours ago |

Does this handle macOS installs with multiple local users? I have to su into account 1 if I want to brew install something from account 2

dzonga about 11 hours ago |

mike, thanks for ur hard work. n all the maintainers b4.

tommica about 12 hours ago |

Such an amazing project!

paulddraper about 14 hours ago |

I tried hosting a homebrew tap, after hosting apt and yum repositories.

That was when I realized Homebrew is much, much harder.

Your server needs to implement the git protocol. You can't just stick it on some server with a CDN in front of it, you need to run and fortify a git server.

Strange choices IMHO.

riffic about 14 hours ago |

happy Bluefin Linux user and can vouch that the Homebrew experience in Linux is great as well. Really excited for where things are going.

ProAm about 7 hours ago |

Remember when this guy couldn't get hired at Apple, because Apple doesn't respect their customers or developers.....

academicfish about 8 hours ago |

Thanks

redml about 9 hours ago |

absolutely solid, thanks!

tiahura about 10 hours ago |

Seems like the sort of package that waiting on 6.0.1 might make sense.

napolux about 13 hours ago |

did google apologize for not hiring you?

awesome_dude about 12 hours ago |

Dependency management is still one of the hardest jobs in systems (languages, Operating systems, distributed applications, etc) - hat's off to you and your team for the hard work keeping everything together

shevy-java about 13 hours ago |

Has anyone tried it on Linux? It has been several months since I last tried it on Linux. I found some things worked but others did not. Has anyone more recent experiences here, say, within the last 6 months, on Linux specifically?

I am using my own custom "package" manager in ruby, but naturally it is nowhere near as sophisticated as homebrew. I am looking more towards complementing this, but these days I also lack time for more thorough testing, so I try to minimize pain points (and thus also less frequently use software written by others for the most part, unless it is a key project such as libreoffice and what not).

dionian about 14 hours ago |

homebrew is so nice, thank you for all your effort

phplovesong about 14 hours ago |

Does homebrew still do that insane thing when you want to upgrade a single package it tell you "hold my beer" and starts installing postgres and some obscure python version?

covratools about 13 hours ago |

Thank you!!

hanzeweiasa about 1 hour ago |

[flagged]

undefined about 19 hours ago |

undefined

hanzeweiasa about 5 hours ago |

[flagged]

hanzeweiasa about 9 hours ago |

[flagged]

azuanrb about 14 hours ago |

[dead]

yurlyCLOCLOCK about 14 hours ago |

[dead]

mvdtnz about 11 hours ago |

I don't think any software has ever wasted as much of my time as Brew. I can't think of a single positive experience I have had with it. I now absolutely refuse to use it for any reason.