Homebrew 7.0.0 rilis dengan breaking changes besar: drop support macOS lama, formula baru, dan perintah yang berubah. Simak selengkapnya di sini.

Homebrew 7.0.0 sudah resmi keluar minggu lalu, dan buat kamu yang tiap hari ngoding di Mac — ini berita yang gak bisa dilewatin. Versi mayor ini adalah lompatan pertama sejak Homebrew 4.0.0 di awal 2023, jadi lumayan banyak yang berubah di bawah cap. Tim Homebrew bilang rilis ini fokus ke "modernisasi fondasi" biar package manager ini tetap relevan di era Apple Silicon dan macOS terbaru. Artinya, ada breaking changes yang bikin beberapa formula lama gak jalan, perintah tertentu di-deprecate, dan minimal requirement macOS naik ke versi yang lebih baru.

Perubahan paling bikin gemes (dan wajib kamu perhatiin) adalah penghentian dukungan untuk macOS 11 Big Sur dan 12 Monterey. Sekarang minimal requirement resmi adalah macOS 13 Ventura. Kalau kamu masih ngejar deadline proyek di Mac lama yang belum sempat upgrade OS, ini berarti `brew install` bakal error atau paling tidak kasih peringatan keras. Tim Homebrew jelasin alasan utamanya soalnya toolchain modern seperti GCC 13, LLVM 17, dan Python 3.12 butuh library sistem yang cuma ada di Ventura ke atas. Jadi bukan cuma capricious decision — tapi memang technical necessity.

Formula dan Keg Dikemas Ulang Lebih Ketat

Selain OS requirement, Homebrew 7.0.0 bawa overhaul besar di sisi formula dan keg. Sekarang semua formula wajib pakai `license` field yang valid — gak boleh kosong, gak boleh "custom" sembarangan. Ini bagian dari upaya compliance supaya Homebrew aman dipakai di lingkungan enterprise yang ketat soal lisensi open source. Banyak formula lama yang belum update metadata-nya jadi ikut ke-drop atau dipindah ke `homebrew/core` archive. Kalau kamu punya tap custom atau formula internal, wajib cek ulang `brew style` dan `brew audit` sebelum upgrade.

Advertisement

Advertisement

Slot in-article yang tampil setelah paragraf ketiga.

Perubahan lain yang cukup signifikan: `brew install --build-from-source` sekarang jadi default behavior untuk formula yang gak punya bottle (pre-compiled binary) di platform kamu. Dulu Homebrew coba-coba download bottle dulu, kalau gagal baru build from source. Sekarang logikanya dibalik — prioritaskan build from source biar konsisten, kecuali kamu eksplisit minta `--force-bottle`. Buat CI/CD pipeline yang andalkan caching bottle, ini bisa bikin build time naik drastis. Workaround-nya: pastiin formula kamu punya bottle untuk semua arsitektur (arm64 dan x86_64) atau siapin self-hosted runner yang support build native.

Perintah Deprecated dan Yang Baru

Beberapa perintah lama resmi dihapus di v7. `brew services list` sekarang diganti `brew services info --all` yang output-nya lebih terstruktur dan parse-friendly buat script. `brew cleanup --prune=all` juga ilang — diganti `brew cleanup --prune=all --dry-run` dulu buat cek, baru eksekusi tanpa flag dry-run. Yang paling bikin bingung banyak orang: `brew link --overwrite` sekarang butuh flag `--force` eksplisit, jadi gak bisa lagi jalanin `brew link --overwrite foo` doang. Tim Homebrew bilang ini buat mencegah accidental overwrite yang sering bikin broken symlink di `/usr/local` atau `/opt/homebrew`.

Di sisi positif, ada fitur baru yang cukup helpful: `brew doctor` sekarang cek duplicate kegs di multiple taps dan kasih saran cleanup otomatis. `brew outdated --json=v2` output-nya sekarang include `installed_version` dan `latest_version` dalam satu object, jadi gak perlu parse dua field terpisah. Dan `brew bundle` support `whalebrew` dan `vscode` extensions natively — tinggal tambahin `whalebrew "image"` atau `vscode "extension-id"` di Brewfile kamu. Buat tim yang pakai Docker dan VS Code heavy, ini ngelakuin setup onboarding jadi one-liner.

Tips Upgrade Aman Buat Kamu

Sebelum kamu jalanin `brew update && brew upgrade`, ada checklist cepat biar gak pusing nanti malam. Pertama, backup Brewfile kamu: `brew bundle dump --force --describe --file=~/Brewfile.backup.$(date +%Y%m%d)`. Kedua, cek formula apa aja yang bakal ke-upgrade dengan `brew outdated --verbose` — perhatiin yang marked "pinned" atau "pinned by dependency". Ketiga, kalau kamu pakai Python/Ruby/Node via Homebrew, pertimbangin pindah ke version manager kayak `pyenv`, `rbenv`, atau `fnm` — soalnya Homebrew 7.0.0 cenderung agresif upgrade runtime versi terbaru yang bisa breaking project lama. Keempat, test di branch terpisah atau VM dulu kalau bisa, jangan langsung di machine production.

Kalau kamu maintain tap internal atau formula custom, jalanin `brew style --fix` dan `brew audit --strict` di semua formula sebelum push. Error paling umum di v7 adalah missing `license` field, `depends_on` yang gak spesifik versi minimum, dan `url` tanpa `sha256` checksum. Fix semua itu, baru buat PR ke tap kamu. Dan jangan lupa: `brew analytics off` kalau gak mau data usage dikirim — default-nya tetap on kecuali kamu opt-out eksplisit.

Catatan redaksi

Kalau lo cuma ambil satu hal dari artikel ini

AI Updates update dari Hacker News Front Page.

Sumber asli

Artikel ini merupakan rewrite editorial dari laporan Hacker News Front Page.

Baca artikel asli di Hacker News Front Page→
#AIUpdates#HackerNewsFrontPage#rss