اگر هنوز از مکهای قدیمی با پردازنده اینتل استفاده میکنید، محیط توسعهی شما همین امروز وارد شمارش معکوس شد. Homebrew 7.0.0 که در ۱۳ سپتامبر ۲۰۲۶ منتشر شد، با تغییر بنیادین در نحوه مدیریت امنیت و سختافزار، عملاً خبر از غروب عصر اینتل در این پروژه میدهد.
مدیریت بستهها در سیستمعامل مک — شبیه به یک انبار مرکزی است که ابزارهای مورد نیاز برنامهنویسان را بهصورت آماده تحویل میدهد — سالهاست که Homebrew را به استاندارد طلایی تبدیل کرده است. این پروژه توسط داوطلبان اداره میشود و برای نگهداری هزاران «فرمول» (تعاریف بسته) به نیروی انسانی متکی است. با مهاجرت کامل اپل به تراشههای اختصاصی (Apple Silicon)، زیرساختهای لازم برای پشتیبانی از مکهای قدیمی اینتل به باری تبدیل شده که تیم داوطلبان دیگر توان تحمل آن را ندارد.
همانطور که در تحلیلهای پیشین ما دربارهی چرخه حیات سختافزارهای قدیمی اشاره کردیم، این روند حذف تدریجی در کل صنعت مشاهده میشود. طبق اعلام رسمی در وبسایت brew.sh، بحرانیترین تغییر این نسخه، تنزل جایگاه macOS اینتل (x86_64) به سطح Tier 3 است. این یعنی اگرچه Homebrew تا ۱ سپتامبر ۲۰۲۷ روی این دستگاهها اجرا میشود، اما دیگر هیچ «بطری» (Binaryهای پیشکامپایل شده) جدیدی برای آنها ساخته نمیشود. در نتیجه، کاربران اینتل برای بهروزرسانی بستهها باید منتظر کامپایلهای دستی و بسیار کند بمانند.
به گزارش منابع پروژه، این تصمیم در راستای همسویی با اپل و گیتهاب است که هر دو پشتیبانی از اینتل را در جدیدترین نسخههای سیستمعامل و محیطهای اجرای خود متوقف کردهاند؛ بهطوری که macOS 27 Golden Gate بهطور کامل پشتیبانی از اینتل را کنار گذاشته است. همچنین، پشتیبانی از macOS 10.15 (Catalina) بهطور رسمی متوقف شد و کاربران باید فوراً به نسخه ۱۱ یا بالاتر ارتقا دهند. برای کسانی که مجبور به استفاده از سختافزار اینتل هستند، پروژه صراحتاً مهاجرت به MacPorts را برای دسترسی بهتر به بستههای باینری پیشنهاد میکند.
جدول زمانی حذف پشتیبانی
برای برنامهریزی مهاجرت، Homebrew این زمانبندی دقیق را برای توقف پشتیبانی و حذف ارائه داده است:
- macOS 10.15 و قدیمیتر: پشتیبانی بهطور فوری حذف شد؛ ارتقا به macOS 11 یا نسخههای جدیدتر الزامی است.
- macOS Sonoma 14: اکنون به Tier 3 منتقل شده است؛ کاربران برای دریافت بطریها و نصبهای .pkg باید به Sequoia 15 یا بالاتر ارتقا دهند.
- macOS اینتل (نسخه ۱۱ به بالا): از این لحظه در سطح Tier 3 قرار دارد و هیچ بطری جدیدی دریافت نمیکند. حذف کامل این پشتیبانی برای تاریخ ۱ سپتامبر ۲۰۲۷ برنامهریزی شده است.
- macOS 11 (Apple Silicon): پایان پشتیبانی در ۱ سپتامبر ۲۰۲۷؛ کاربران باید به macOS 12 یا بالاتر مهاجرت کنند.
- macOS Golden Gate 27: بهطور کامل پشتیبانی میشود (Tier 1) و روی Apple Silicon با بطریهای پیشساخته اجرا میگردد.
بازنگری امنیتی و ردیابی آسیبپذیریها
امنیت، موتور محرک اصلی نسخه ۷.۰.۰ است. این پروژه یک پایگاه داده مشورتی داخلی و دستور جدید brew vulns را معرفی کرده است که با استفاده از OSV.dev، بستههای نصبشده را برای یافتن آسیبپذیریهای شناختهشده اسکن میکند. کاربران میتوانند با پرچمهایی مثل --severity=high برای آسیبپذیریهای شدید، --deps برای بررسی وابستگیها و --brewfile برای بررسی فایلهای پیکربندی، جستوجوهای متمرکز انجام دهند.
ابزار brew vulns اولویت را به رفع مشکل میدهد و با استفاده از --fix-available بستههای قابل ترمیم و با --no-fix-available بستههای بدون راهکار را شناسایی میکند. همچنین از --fix-type برای تفکیک بین اصلاحات منتشر شده و وصلههای موقت استفاده میکند. پرچم --list-skipped نیز برای شناسایی شکافهای پوششی به کار میرود. برای حمایت از اکوسیستم گستردهتر، Homebrew این یافتهها را در API فرمولها و یک شاخص مشورتی قابل دانلود تحت لایسنس CC0 منتشر میکند. سیستم اکنون وصلههای امنیتی که با برچسب resolves مشخص شدهاند را میشناسد تا آسیبپذیریهای رفع شده را مجدداً گزارش نکند.
برای جلوگیری از نشت نرمافزارهای مخرب از محیطهای ایزوله، سندباکسینگ (Sandboxing) — شبیه به قرار دادن یک برنامه در یک اتاق دربسته و امن که اجازه دسترسی به بقیه خانه را ندارد — تقویت شده است:
- Landlock در لینوکس: جایگزینی Bubblewrap با Landlock برای حذف نیاز به دسترسیهای سطح بالا در داکر یا وابستگیهای خارجی. این سیستم از Landlock ABI 2 در لینوکس ۶.۱ پشتیبانی میکند، هرچند اگر کرنل نتواند محدودیتهای شبکه را اعمال کند، هشدار میدهد. دستور
brew configاکنون برای عیبیابی، نسخه Landlock ABI را گزارش میکند. - مرحله Fetch: دانلود وابستگیها به یک مرحله مجزا منتقل شد. پس از اتمام دانلود، دسترسی به شبکه قطع و حافظه موقت (Cache) فقطخواندنی میشود تا در حین نصب، هیچ کد خارجی وارد نشود.
- حفاظت از پوشه Home: دسترسی سندباکس به پوشه Home کاربر بهطور پیشفرض مسدود شد تا فایلهای شخصی از فرآیند ساخت بسته ایزوله بمانند. برای ارتباط ابزارهای ساخت بهصورت محلی، از دایرکتوریهای موقت خصوصی استفاده میشود تا نیازی به دسترسی شبکه نباشد.
- حفاظت از امتیازات: Homebrew اکنون تفاوت بین شناسههای کاربر واقعی و موثر (Real and Effective User IDs) را پیش از خواندن پیکربندی بررسی میکند تا از اجرای کدهای تستنشده در نصبهای مشترک (Shared Installations) جلوگیری کند.
بر اساس مستندات امنیتی، چندین حفره بحرانی نیز در این نسخه و بهروزرسانیهای اخیر بسته شدند:
- GHSA-5263-whxq-77hp (متوسط): در نسخه ۷.۰.۰ رفع شد؛ مانع از اجرای کدهای مخرب خارج از سندباکس macOS توسط Caskهای آلوده از طریق LaunchServices میشود. Homebrew اکنون اجرای اپلیکیشنها، سرویسهای Mach و اتصالات سوکت یونیکس را محدود میکند.
- GHSA-rg9r-ppxp-87hm (بالا): در نسخه ۶.۰.۱۲ رفع شد؛ متادیتای امضا نشده حذف شد که میتوانست دستورات را با دسترسی sudo اجرا کند.
- GHSA-hqpg-hjr9-c7j8 (متوسط): در نسخه ۶.۰.۱۲ رفع شد؛ مانع از آن میشود که نصبکننده macOS پیکربندی Git متعلق به prefix را نادیده بگیرد و برنامهها را با دسترسی root اجرا کند.
- GHSA-x82f-cj53-gqfr (پایین): در نسخه ۶.۰.۷ رفع شد؛ ریدایرکتهای
brew livecheckرا محدود میکند تا از حملات Server-Side Request Forgery (SSRF) جلوگیری شود. - GHSA-3m5g-jfx7-3p65 (پایین): در نسخه ۶.۰.۷ رفع شد؛ مانع از ارسال هدرهای محرمانه به میزبانهای دیگر در هنگام ریدایرکت دانلودها میشود.
- GHSA-r9gp-p4vv-f93x (پایین): در نسخه ۶.۰.۶ رفع شد؛ تضمین میکند که ریدایرکتهای Git نتوانند محدودیتهای tap را دور بزنند.
- GHSA-9g4r-vmj2-j2gj (پایین): در نسخه ۶.۰.۷ رفع شد؛ مانع از تبدیل URLهای خارجی Subversion به گزینههای دستوری میشود.
- GHSA-r7qx-325v-4ccx (پایین): در نسخه ۶.۰.۶ رفع شد؛ تضمین میکند که اهداف Patch نتوانند از درخت منبع مرحلهبندی شده خارج شوند.
جهش در عملکرد و پردازش موازی
نسخه ۷.۰.۰ تمرکز ویژهای بر کاهش زمان انتظار دارد. اکنون دستوراتی مثل brew install و brew upgrade آمادهسازی بستهها را با دانلود آنها همپوشانی میکنند. یعنی اگر لیستی از بستهها را از طریق یک Brewfile نصب میکنید، سیستم منتظر پایان کامل یک بسته نمیماند و دانلود بعدی را همزمان آغاز میکند.
سایر بهینهسازیها عبارتند از:
- پیکربندی موازی: دستور
brew configجزئیات سیستم را بهجای ترتیب متوالی، بهصورت موازی جمعآوری میکند و بررسیهای کامپایلر، سیستمعامل و مخزن را همزمان انجام میدهد. - کشینگ API: دادههای API در اجراهای متوالی (Warm Runs) بازاستفاده میشوند تا سرعت شروع دستورات افزایش یابد، در حالی که امضاهای دیجیتال در هر بار بارگذاری تأیید میشوند.
- کاهش فرآیندهای فرعی: تعداد Subprocessها در هنگام شروع کاهش یافته و ابعاد ترمینال مستقیماً خوانده میشود تا از توقفهای احتمالی با
uutils sttyجلوگیری شود. - پاکسازی بهینه:
brew cleanupدیگر اسکنهای تکراری حافظه موقت را انجام نمیدهد و در سیستمهایی با تعداد بستههای زیاد، سرعت را افزایش میدهد. - دریافت مستقیم (Direct Fetching): دستور
brew fetchاطلاعات دانلود را مستقیماً از متادیتای API برای بطریها و Caskها میخواند و دیگر نیازی به بارگذاری کامل تعاریف بسته برای یافتن URLها نیست. - متادیتای موازی: دستور
brew tap-info --installed --json=v1اکنون متادیتای tapها را بهصورت موازی جمعآوری میکند تا درخواستهای موجودی برای اسکریپتها سریعتر پاسخ داده شود.
بهروزرسانیهای دستورات و پیکربندی
نسخه ۷.۰.۰ چندین بهبود در رابط خط فرمان (CLI) ایجاد کرده است:
- پیشنمایش بهتر: دستور
brew install --dry-runاکنون فرمولها و Caskها را بهطور همزمان پیشنمایش میدهد. - شفافیت وابستگیها: دستور
brew list --no-installed-on-requestفرمولهایی را شناسایی میکند که صرفاً به عنوان وابستگی نصب شدهاند. - نشانه های بصری: دستور
brew infoاکنون از علامت ⊘ برای بستههای غیرقابل نصب و ✘ برای بستههای نصبنشده استفاده میکند و عدم برآورده شدن پیشنیازهای سیستمعامل یا معماری را مشخص میکند. - پایداری سرویسها: دستور
brew servicesاکنون اوررایدهای پایدار را از مسیر$HOMEBREW_USER_CONFIG_HOME/services/<formula>.envمیخواند تا تنظیمات محلی پس از ارتقا باقی بمانند. سرویسهای جدید ازsh.brew.<formula>در مک و لینوکس استفاده میکنند. - اتوماسیون: دستور
brew doctor --jsonتشخیصهای ساختاریافتهای برای اتوماسیون ارائه میدهد و هشدار میدهد اگر نسخه دیگری ازbrewدر PATH جایگزین نصب فعلی شده باشد. - بهبودهای Brewfile: دستور
brew deps --brewfileاجازه میدهد کاربران پیش از نصب، وابستگیهای یک Brewfile را بررسی کنند. همچنین Brewfileها اکنون منابع ابزارهای زبانی (مخازن Git در Cargo یاsource:برای ابزارهای uv) را ثبت میکنند. - بهروزرسانیهای بیصدا: متغیر
HOMEBREW_AUTO_UPDATE_QUIETجزئیات بهروزرسانیهای خودکار را حذف میکند تا خروجی ترمینال متمرکز باقی بماند.
معرفی BrewUI: پایان انحصار ترمینال
برای نخستین بار، Homebrew یک رابط گرافیکی رسمی به نام BrewUI را عرضه کرد. این اپلیکیشن بومی macOS، مدیریت بستهها را برای کسانی که ترجیح میدهند در محیط ترمینال نباشند، ممکن میکند.

کاربران میتوانند بستهها را جستوجو کرده، نرمافزارهای جدید را مرور کنند و نسخههای نصبشده را در یک پنجره واحد مدیریت نمایند. این برنامه برای macOS Tahoe 26 و بالاتر در دسترس است و از طریق brew install homebrew-app نصب میشود. نکته هوشمندانه این است که BrewUI برای هر عملیات، دستور brew متناظر با آن را نمایش میدهد تا کاربر بهتدریج با محیط خط فرمان آشنا شود.
مدیریت پیشوندهای غیرپیشفرض و Caskها
پشتیبانی از کاربرانی که Homebrew را در مکانهای غیرپیشفرض نصب میکنند بهبود یافته است. اکنون بطریهای سازگار به پیشوندهای کوتاهتر منتقل میشوند تا از کامپایل از منبع جلوگیری شود. محدودیتهای فعلی ۱۳ بایت برای Apple Silicon، ۲۶ بایت برای لینوکس و ۱۰ بایت برای بطریهای اینتل است. در آینده، «ساختهای پدگذاری شده» (Padded Builds) قصد دارند این حد را به ۶۴ بایت افزایش دهند.
Homebrew اکنون متادیتای جابهجایی را در زمان ساخت ثبت میکند تا نیاز به اسکنهای مکرر نصب کاهش یابد. بطریهایی که با :any یا :any_skip_relocation علامتگذاری شدهاند، به هر پیشوندی قابل انتقال هستند.
مدیریت Caskها نیز اصلاح شده است:
- اولویت لینک: لینکهای فرمول اکنون بر Caskها اولویت دارند، در صورتی که هر دو دستورات یکسانی را ارائه دهند.
- ارتقای انتخابی: دستور
brew upgradeاکنون Caskهای ناسازگار را نادیده گرفته و فقط سازگارها را ارتقا میدهد. هر دو دستورupgradeوoutdatedاز متغیرHOMEBREW_NO_UPGRADE_AUTO_UPDATES_CASKSپیروی میکنند. - لینکدهی منعطف: دستورات
brew linkوbrew unlinkاکنون پرچمهای--cask/--casksو--formula/--formulaeرا میپذیرند. پرچم--overwriteتداخلات را جایگزین میکند، در حالی که--forceفقط سمبلیکلینکهای مربوط به همان Cask را جایگزین میکند. - گونههای زبانی: API اکنون شامل گونههای زبانی Cask است که به ابزار اجازه میدهد بدون ارزیابی تعریف Ruby برای هر زبان، URL و Checksum صحیح را انتخاب کند.
ابزارهای توسعه و CI/CD
برای توسعهدهندگان و کسانی که از خط لولههای CI/CD استفاده میکنند، تغییرات مهمی رخ داده است. تصویر ghcr.io/homebrew/ubuntu22.04 حذف و با تصویر عمومی ghcr.io/homebrew/brew جایگزین شد.
کاربران CI باید ارجاعات @main و ارجاعات حذف شده @master در Homebrew/actions/* را به نسخههای خاص CalVer یا SHAهای کامل منتقل کنند. اکشن Homebrew/actions/setup-ruby اکنون از portable-ruby: true برای مطابقت با مفسر داخلی Homebrew پشتیبانی میکند.
متصدیان Tapها اکنون به brew tap-new دسترسی دارند که بهطور خودکار گردشکارهای بهروزرسانی و خط لولههای انتشار بطریهای تایید شده (Attesting) را ایجاد میکند. این امر تلاش دستی برای امن نگه داشتن مخازن شخص ثالث را کاهش میدهد.
سایر ابزارهای متصدیان عبارتند از:
brew audit: اکنون شامل--cask --online --fixبرای اصلاح پیشنیازهای macOS و حساسیت به حروف بزرگ و کوچک در نام اپلیکیشنها است. پرچم--strictفایلهای اجرایی پیشساخته npm را در فرمولهای اصلی شناسایی میکند تا ساخت از منبع اجباری شود.brew style --fix: چکسامهای Cask را بر اساس پلتفرم یکپارچه کرده و وابستگیها را مرتب میکند. همچنین الگوهای حذف گسترده مانندcom.install4j.*را رد میکند.brew benchmark: بارهای کاری نصب/دریافت سرد و گرم را بهطور جداگانه با استفاده از--runs=و--execبرای دستورات Hyperfine اندازهگیری میکند.brew bump-cask-pr: اکنون میتواند استانزهای نسخه مجزا برای اینتل و Apple Silicon را از نتایج خاص هر معماری تولید کند.brew bump-formula-pr: نسخه و بازبینی پینشده را برای پروژههایی که بهجای تگ از هشهای کامیت استفاده میکنند، همگام میکند.brew create: قالبهایی با مراحل مجزای Fetch و ساخت آفلاین برای Go و Rust تولید میکند تا از دانلود در حین کامپایل جلوگیری شود.
ویژگیهای پیشرفته فرمولها
Homebrew چندین ابزار کمکی برای نویسندگان فرمولها جهت بهبود کیفیت بستهها اضافه کرده است:
- یکپارچگی با پایتون: فرمولها اکنون از
python3برای انتخاب وابستگیها بدون مسیرهای سختافزاری (Hardcoded) استفاده میکنند. کمکیpython_major_minor_versionاز تکرار کدهای تشخیص نسخه جلوگیری میکند. - متادیتای Go: دستور
std_go_args(ldflags: :goreleaser)متادیتای رایج ساخت (نسخه، کامیت، تاریخ) را برای ساختهای GoReleaser فراهم میکند. - مدیریت سرویس: فرمولها اکنون میتوانند
stop_timeout(مثلاًstop_timeout 60) را تعریف کنند تا به اپلیکیشنهای حالتدار مانند دیتابیسها زمان بیشتری برای خاموش شدن ایمن بدهند. - بررسیهای دستی: نویسندگان میتوانند بررسی صفحه اصلی توسط انسان را با
homepage ..., browsed: "YYYY-MM-DD"ثبت کنند تا بررسیهای خودکار در صورتی که سایتی رباتها را مسدود کرده باشد، به مدت یک سال متوقف شود.
مهاجرت مراحل نصب
Homebrew در حال فاصله گرفتن از اجرای دلخواه Ruby در حین نصب است. بلوکهای Ruby در post_install فرمولها و preflight/postflight در Caskها منسوخ شده و جای خود را به *_steps تعریف شده دادهاند.
این عملیات ساختاریافته اجازه اعتبارسنجی و سندباکسینگ بهتری را میدهد. Tapهای رسمی در حال حاضر هوکهای قدیمی را رد میکنند و Tapهای شخص ثالث تا ۱۱ دسامبر ۲۰۲۷ هشدار دریافت خواهند کرد. کاربران میتوانند از brew style --fix برای تبدیل هوکهای رایج به فرمت جدید استفاده کنند.
تحلیل: هزینه داوطلبگرایی
این بهروزرسانی یادآور هشدارناکی از شکنندگی اکوسیستم متنباز است. Homebrew یک محصول شرکتی نیست، بلکه توسط داوطلبان اداره میشود. وقتی سختافزار (اینتل) توسط سازنده (اپل) و زیرساخت (گیتهاب) رها میشود، جامعه داوطلبان نمیتواند تا ابد این شکاف را پر کند.
برای کاربر عادی، این بدان معناست که بخش «نامرئی» گردش کار آنها — یعنی مدیر بسته — اکنون آنها را مجبور به چرخه ارتقای سختافزاری میکند. اگر هنوز از مک اینتل استفاده میکنید، محیط توسعه شما روی یک تایمر معکوس است که در سپتامبر ۲۰۲۷ به پایان میرسد.
از منظر امنیتی، حرکت به سمت Landlock و جداسازی مرحله دانلود نشان میدهد که Homebrew در حال بلوغ است. این ابزار از یک اسکریپت ساده برای نصب، به یک مدیر سیستم سختگیر تبدیل شده که با هر کد خارجی بهمثابه یک تهدید احتمالی برخورد میکند.
اگر هنوز از مک اینتل یا نسخههای قدیمی macOS استفاده میکنید، همین امروز وضعیت نصب خود را بررسی کنید. میتوانید brew doctor را اجرا کنید تا ببینید آیا سیستم شما هنوز بهطور کامل پشتیبانی میشود یا اکنون در قلمرو Tier 3 قرار گرفته است.
گام بعدی شما
- اگر از مک اینتل استفاده میکنید، همین حالا
brew doctorرا اجرا کنید تا وضعیت پشتیبانی سیستم خود را بسنجید. - برای کاهش زمان نصب، از فایلهای Brewfile برای مدیریت متمرکز وابستگیها استفاده کنید.
- اگر با محیط ترمینال راحت نیستید، BrewUI را روی macOS Tahoe نصب کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Apple Silicon و آینده محاسبات لبه مراجعه کنید.




گفتگو