68 ms·
Today, I’m proud to announce Homebrew 7.0.0. The most significant changes since 6.0.0 are faster installations and upgrades, stronger sandboxing, a native macOS
by mikemcquaid 20d ago
Today, I’m proud to announce Homebrew 7.0.0. The most significant changes since 6.0.0 are faster installations and upgrades, stronger sandboxing, a native macOS app, built-in vulnerability checks and an advisory database, the end of macOS 10.15 support and Intel Macs moving to Tier 3 (announced last year).
- d3Xt3r 20d agoLiterally just upgraded before seeing this post; I had 31 outdated packages and the first thing I saw was how blazing fast it was! I looked online to see if something changed and saw this post. Speed was my biggest complaint about brew, so I'm glad to cross that one off my list of things I don't like about brew. Thank you for your hard work BTW, brew's been a lifesaver on macOS and immutable distros.
- mikemcquaid 20d agoGlad to hear it. A lot of time and energy has gone into performance work so glad that’s noticeable! Thanks for the kid words too <3
- bitexploder 20d agoIt is Rust now?
- staplung 20d agoIt's still in ruby, although I see the new GUI is in swift: https://github.com/homebrew https://github.com/homebrew Rewriting a program in Rust (specifically) really only makes sense for a few reasons: 1) the existing implementation is in an unsafe, cumbersome language (C, C++). 2) the existing implementation language is too slow and that slowness cannot be worked around. 3) the implementation is enormous, in a dynamic language and you desperately need stricter types. But this doesn't really favor Rust specifically. 1 doesn't apply because Ruby is garbage collected. It's doubtful 2 applies just given what homebrew does: the long pole is always going to be I/O. The performance improvements in version 7 seem to mostly be due to doing more concurrently. I highly doubt the Ruby-ness gets meaningfully in the way.
- bitexploder 20d agoI was kinda kidding because parent called it "blazing" fast lol. I didn't think it was Rust. Blazing fast software is reserved as a descriptor for Rust programs :)
- jdxcode 20d agoi just tested and `mise bootstrap` is over twice as fast at installing when a bottle was in the cache. other commands like `status/check` are 20-30x faster. that's without spending much work at all on perf—i'm sure i could bring these numbers down much further.
- lukeify 20d agoI don't know what I would do without brew on my Macs. Thank you and everyone who contributes!
- lifty 20d agoI think at one point you said you’re working on a rust rewrite? Is that still in the cards?
- sillywalk 20d agohttps://fishshell.com/blog/rustport/ https://fishshell.com/blog/rustport/ Fish 4.0: The Fish of Theseus (fishshell.com) 906 points by jdxcode on Dec 28, 2024 | hide | past | favorite | 198 comments https://news.ycombinator.com/item?id=42535217 https://news.ycombinator.com/item?id=42535217
- mikemcquaid 20d agoI tried it. It ended up being slower on most non-synthetic benchmarks (like repeatedly installing the same thing with warm caches). The lessons learned were instead used to make the Ruby frontend much faster.
- clumsysmurf 20d agoI don't know anything about homebrew, but have a question ... I see some parallels between homebrew and Gradle ... for the longest time Gradle was using Groovy for build scripts. The Gradle / Groovy build script DSL was a little too magic and dynamically typed. It looked cute, but led to issues in developer UX (awful stack traces), tooling (documentation and autocomplete), robustness, and performance. There are other reasons why Gradle is moving away from Groovy. I suspect that the number of people that use and know Groovy is steadily declining. Declarative Gradle, which is the future, is not Turing complete. I can't help but notice the parallels between Gradle / Groovy and Homebrew / Ruby: using a dynamically typed Ruby DSL with Turing completeness like the olden Gradle ways, and Ruby is declining in popularity like Groovy. I would have to imagine at some point, the people who know Ruby well enough to create / debug formulae will dwindle. What are the plans?
- robertlagrant 20d ago> I suspect that the number of people that use and know Groovy is steadily declining One big surprise for me at a genomics/bioinformatics company was that of the three main technologies for orchestating bioinformatics workflows, Snakemake, Cromwell, and Nextflow, Nextflow was in a language based on Groovy. It took me back.
- mikae1 20d agoThank you for Linux Homebrew! It works so damn well. For me the distro package manager is for system packages, Homebrew and Flatpak for the user facing apps.
- curt15 20d agoWhere do you draw the line between system packages and user facing apps? Some software defies such an easy categorization. If your default install doesn't come with docker and you install docker later for development, does that make docker a user-facing app? What about language toolchains like golang, rust, npm, etc?
- mikae1 20d ago> Where do you draw the line between system packages and user facing apps? If it works in Homebrew, I almost always pick Homebrew. :) I have a pretty good feeling for what works since for the past few years I've mostly used an atomic distro (Aurora, based on Universal Blue, based on Fedora). It just comes naturally for me on Fedora too. I've found that this way you can get many of the stability pros of using an atomic distro even on a non-atomic one.
- setopt 20d ago> I've found that this way you can get many of the stability pros of using an atomic distro even on a non-atomic one. Digression, but I’m curious since you brought it up: Are you saying that Silverblue-based distros are noticeably more stable than Fedora? Or is it more a theoretical benefit, that you believe more in the long-term stability of that architecture?
- mikae1 20d ago> Are you saying that Silverblue-based distros are noticeably more stable than Fedora? TBH, I can only say it's far more stable than openSUSE, Ubuntu and Manjaro which are the non-atomic distros I've used for a long time. Aurora has never broken and I've never had any major problems that I can recall in over two years. I never initiate updates of the system, my Flatpaks or Homebrew. That happens in the background and whenever i restart (without me noticing). It's Linux for those who have work to do and don't want to be a sysadmin for their desktop.
- darkamaul 20d agoSilly question - but how do you apply the cooldown to brew itself ? I would think this is one of the most critical dependency that you would not want to get right away at let it rest for a couple of days
- mikemcquaid 20d agoYou can’t, by design. We instead apply if for you on upstream packages from NPM, PyPi, etc. Our model is very different to those where cooldowns exist and make sense. As-is if would just delay security updates too.
- larodi 20d agowould you please share what amount of the new dev (work done on brew) is AI/LLM-assisted. this major version bump was very quick to arrive compared to when v6 got released?
- mikemcquaid 20d agoCan’t speak for others but a lot of my work. I review it all locally first. The flow feels a lot like reviewing human PRs locally. https://github.com/MikeMcQuaid/AgentIDE https://github.com/MikeMcQuaid/AgentIDE I actually wrote my own “Agent IDE” to make this prompt/review/push flow easier.
- larodi 20d agoThank you, very insightful. TBH, expected an actual flow of nonsense and suspicion meanwhile, but a daly later there is still none, perhaps the general sentiment already shifted enough. It also confirms the notion that the credibility of the author is more important than the credibility of the means to develop. Also, of course, we're all going to move to newer brew sooner or later, so this all effort is much appreciated.
- threecheese 20d agoLooks cool! Building. `The macOS deployment target is set to 27.0, but the range of supported ....` Golden Gate AAAAAARRRGGGHHHHHH Just another few days, right? :)
- jdorfman 20d agoCongrats and thank you to you and your team for maintaining critical infrastructure we all take for granted.
- animanoir 20d ago[dead]
- e40 20d agoDefinitely notice the speed increase. Thank you for Homebrew. It's one thing that makes macOS bearable.
- dostick 19d agoWas issue with upgrade running out of disk space fixed?