Today I'm proud to announce the release of Homebrew 4.0.0.

The most significant change since 3.6.0 enables significantly faster Homebrew-maintained tap updates by migrating from Git-cloned taps to JSON downloads. In short, this means `brew update` and auto-updates will be much faster.

Also, if you read to the end you get to see me in a stupid beer outfit the other maintainers made me wear.

Check it out:
https://brew.sh/2023/02/16/homebrew-4.0.0/

4.0.0

Today, I’d like to announce Homebrew 4.0.0. The most significant change since 3.6.0 enables significantly faster Homebrew-maintained tap updates by migrating from Git-cloned taps to JSON downloads.

Homebrew

@mike I seem to remember a blog post by GitHub engineers on how to balance load of git pull/fetch and specifically calling homebrew out as a project doing a lot of load - I guess they are really happy now :D

Didn't read the linked post and don't use homebrew anymore (not on macOS anymore) but that sounds like a really great change!

@littlefox Check the workplace of Mike 😉
@littlefox Yes! I still work at GitHub so it's my coworkers I'm making happy :D
@mike I was made aware to take a look in your bio, didn't realize that before x)
@mike looks awesome, congrats! Y'all have put an amazing level of care into Homebrew and it shows.
@mike much appreciated! Do I understand it correctly that `brew update` still uses git to update my local homebrew-core tap if I don’t untap it?
@kabouzeid It won't be auto-updated if you untap it but will still be manually updated through an explicit `brew update`.
@mike amazing work. Thank you for all the work you and the Homebrew contributors give!
@mike Great incentive to read this post to the end! I expected a lot worse from a stupid beer outfit.

@mike Congrats.

One question though: will thirdparty taps remain working via the git approach?

@ringods Yes. All taps except homebrew-core and homebrew-cask will continue to work the way they always did (because they aren't so slow)
@mike Congratulations! Totally 💖 the beer outfit too 😀
@mike Hey, has your JSON got a JSON Schema?
Happy to help if not.
Happy to review if you do!
🙇‍♂️

@mike damn updates are *FAST* now!!

AWESOME job :)))

@mike Mike, what about legacy?
@Random_Seed @mike I was gonna ask the same but it turns out I upgraded unknowingly today on my work computer and nothing broke so far
@TomEstelrich @mike I’m on Catalina still, and got some unsupported verbiage.
@mike @marquiskurt Congrats! I was so out of the loop that I didn’t know about the “install_from_api” feature until today! Trying it now, and I wonder if I’m going to get as much improvement as I got by replacing the cocoapods master git repo with CDN.
@mike @marquiskurt Brilliant, got 1GB back. The new formulae files are only 20+MB.
@mike That’s awesome. I love brew.
@mike Congratulations!!

Question - are there any special things to do to upgrade from 3.x to 4, or just re-run the bash-curl script and all is fine?

@mike

@mike the beer outfit is not half bad! Congrats on both the release and looking good in beer!
@mike Outing myself as someone who doesn’t update his brew installation frequently enough… whenever a new version comes along, I find myself combing the site for info on a full upgrade. It’s not there, is it? Not an FAQ? Just rerun the installation shell incantation? Off to try it now…
@olisturm @mike Hey, it worked ;) May I suggest that the big headline that says “Install Homebrew” could have a smaller note “(Also works for major version upgrades.)”. Or something like that. Anyway, congrats on v4!

@mike Just wanted to celebrate the major release, play some music and perform the update… only to learn I'm already on 4.0.1 🤷

Still, thank you :)

@mike Awesome! Congratulations Mike! 🎉

@mike can't wait to read, backup and upgrade ❤️

RTFM never killed anyone ✌🏼

@mike thanks for leading this most excellent project! I look forward to the speedy new update system!
Hey @mike is upgrading as easy as running 'brew upgrade` or is there another way?
@mike One of my favourite Mac utilities just had a major version bump!
@mike did you ever consider migrating to #CrystalLang so that you can avoid the whole dependency thing while still being able to be closer to Ruby?
@alexanderadam Considered it, can't see it ever working given our formula/cask DSL is written in Ruby and relies heavily on Ruby's stdlib.

@mike thank you so much for your response!
Well, the formulas would probably need something like Anyolite.

https://github.com/Anyolite/anyolite

GitHub - Anyolite/anyolite: Embedded mruby/Ruby for Crystal

Embedded mruby/Ruby for Crystal. Contribute to Anyolite/anyolite development by creating an account on GitHub.

GitHub
@alexanderadam We're not going to do that :)
@mike Well done! I just pulled 72 updates and nary a hiccup. The outfit was truly ridiculous. Thanks for taking one for the team.
@mike Congratulations! Very impressive release, with some bold moves that look like they'll be great for the ecosystem. Thank you for your continued work on Homebrew!