اصل ماجرا
نسخهٔ جدید Homebrew (6.0.0) ویژگیهای مهمی همچون مکانیزم اعتماد به tapها، API داخلی JSON پیشفرض، sandboxing برای لینوکس و بهبودهای عملکردی ارائه میکند. همچنین پشتیبانی اولیه از macOS 27 (Golden Gate) و بهبودهای چشمگیر در brew bundle و امنیت افزوده شده است.
متن کامل ترجمهشده
امروز، من افتخار می کنم که Homebrew 6.0.0 را اعلام کنم. تغییرات قابل توجهی از 5.1.0 به بعد یک مکانیسم امنیت اعتماد به دست جدید، جدید تر، کوچک تر، استاندارد داخلی Homebrew JSON API، sandboxing بر روی لینوکس، پیش فرض های بهتر گزارش شده توسط نظرسنجی کاربران ما، بسیاری از بهبود های باند برنج، بهبود عملکرد و پشتیبانی اولیه برای macOS 27 (Golden Gate) هستند. ✨ برجسته از 5.1.0 اعتماد به دست Homebrew 6.0.0 اعتماد به دست را معرفی می کند.- Homebrew اطمینان از تپ اول را اجرا می کند تا تپ غیر قابل اطمینان قبل از اجرا کد خود را نشان می دهد، اطمینان از تپ اول قبل از نصب، متوقف اتوماتیک تپ غیر قابل اطمینان، پین تپ اجازه می دهد، ممنوعیت و لیست اعتماد را از راه دور و استفاده از تپ اعتماد هنگام ارزیابی تمام فرمول ها و قفسه ها. - brew tapgains فرمان برای مدیریت تپ اعتماد، می تواند یک تپ را با URL از راه دور خود را نشان می دهد. - brew trustadds a- —json=v1flag و- brew tap-infoadds a- trustedfield. - brew bundlehonors trusted:option and- brew bundle dumprecords trusted bundle entries, marking custom-remote taps as trusted. - docs.آن را از طریق HOMEBREW_USE_INTERNAL_API از 5.0.0 انتخاب شده است؛ این متغیر در حال حاضر از دست داده شده است (به زیر نگاه کنید). Linux Sandbox The Linux Bubblewrap sandbox aligns Linux with macOS, where build, test and postinstall phases already run sandboxed. It is on by default for developers, Homebrew moved its macOS sandbox logic to share code, improved Linux sandbox behavior (with Homebrew/homebrew-core setting the sandbox env in CI), hardened sandboxed install phases, sandboxed cask executable hooks, allowed logs in the build sandbox, installed Bubwrapble on hosted Ubuntu and skips sandbox setup for syntax-only jobs. ️ Better defaults - Following our- Homebrew به جمع آوری اپراتورها را جمع آوری می کند، خلاصه اپراتورها را زودتر چاپ می کند، به جمع آوری اپراتورها را هنگامی که خالی است، اضافه می کند، به جمع آوری اپراتورها را اضافه می کند و توضیح می دهد. brew bundle - brew bundlegains بسیاری از بهبود ها را، به ویژه نصب فرمول paralel است که در حال حاضر کارها را به طور خودکار به طور پیش فرض اجرا می کند، علاوه بر npm و krew گسترش ها، پشتیبانی پاکسازی گسترده تر و، در ویندوز، wingetsupport. - Homebrew پشتیبانی پاکسازی را به npm، حمل و نقل، رفتن و گسترش های uv اضافه می کند و از قبل از حذف در طول پاکسازی درخواست می کند. - Homebrew به جمع آوری اپراتورها را اجرا می کند که نوع اپراتورها را- brew bundleperforms npm امن تر نصب می کند. ️ Performance Homebrew سریع تر در سراسر بورستا، با بهبود عملکرد راه اندازی، یک ~30٪ سریع تر brew leaves، پاراملیس شده بوتل از دست دادن در ارتقاء و کمتر کار بارگذاری کتابخانه های Ruby در راه اندازی نصب می کند. macOS 27 (Golden Gate) Homebrew اضافه پشتیبانی اولیه برای macOS 27 (Golden Gate). تغییرات آینده - macOS 27 (Golden Gate) پشتیبانی از Intel را کاهش می دهد، بنابراین بر اساس سطح پشتیبانی ما: در سپتامبر 2026، macOS Intel x86_64moves به سطح 3 بدون پشتیبانی CI و هیچ بوتل جدید (پک های باینری) ساخته شده برای macOS Intel; در سپتامبر 2027، macOS Intelx86_64 به طوردر ماه سپتامبر 2026، امنیت توصیه های امنیتی Homebrew سه توصیه ای برای امنیت منتشر کرد: - استراتژی دانلود POST حفاظت از انتقال HTTPS به HTTP را با حذف URL حل شده (GHSA-7699-qf8c-q47m) از بین برده است. - اجرای کد ریشه ای از طریق هاک های Git در macOS .pkgpostinstall (GHSA-6689-q779-c33m) امکان پذیر بود، با پاک کردن وضعیت git Homebrew و جایگزین کردن دیپلماتیک git نصب کننده است. - بسته نصب macOS با اعتماد به یک محیط کنترل شده توسط کاربر /vartmpplist و می تواند مالکیت Homebrew را به یک حمله کننده محلی (GHSA-59v8-x84-q779-c33m) اختصاص دهد، با اصلاح macOS.kgpackage-user— Homebrew قبل از دانلود چک های ممنوع برای قفسه ها و فرمول ها را اجرا می کند و به شما اجازه می دهد برای قفسه ها با HOMEBREW_CASK_OPTS_REQUIRE_SHA چک های لازم را انجام دهید. - لینک های Homebrew به یک سیاست امنیتی مشترک. ️ Deprecations - Homebrew deprecates گزینه های غیر مورد استفاده برای deprecation. - انواع دیگر Homebrew 6.0 deprecations. - پشتیبانی SBOM از Homebrew در حال حاضر با HOMEBREW_BUNDLE_NO_SECRETSandHOMEBREWUSE_INTERNAL_API است. - Homebrew گزینه های غیر مورد استفاده را برای deprecation نشان می دهد. - اضافه کردن اپلیکیشن های Homebrew 6.0 برای reprecations. - پشتیبانی از Homebre- Homebrew خودکار_updatescasks را بهبود می بخشد: چگونه آنها را به روز رسانی می کند، رفتار را بهتر می کند، به روز رسانی های خودکار پس از انتخاب و به روز رسانی آنها را هنگامی که نسخه باند استثنایی است. - caskadds a- generate_completions_from_executableDSL artefact و شامل هدف های artefact حل شده در خروج JSON است. - Homebrew نشان می دهد یک انتقال نسخه کاک در بعد از ارتقاء کاک، خروجی های کاک کاک معتبر، سرعت کپی های کاک را افزایش می دهد و دارای caskroomuse گروه اصلی کاربر در لینوکس. - brew doctorand brew- cleanhandle کاسکروما کاسکروما کاسکروما کاسکروما کاسیک ها. پشتیبانی سیستم عامل - HomebreHomebrew/homebrew-cask از جدید depends_on maximum_macos:syntax استفاده می کند و بستگی های macOS خود را در Homebrew/homebrew-cask و Homebrew/homebrew-core اصلاح می کند. - Homebrew M5 و M5 Pro/Max شناسایی CPU اضافه می کند و سطح OCLP را می پوشاند زمانی که macOS قدیمی است. - Homebrew برچسب های WSL تجزیه و تحلیل، نشان می دهد که ویندوز بر روی WSL ساخته شده است و از OS::Linuxup به OSmodule حرکت می کند. Taps - Homebrew فرم های دکمه از راه دور برابر تر را شناسایی می کند، بدون توجه به .guffixits زمانی که GitHub را با هم مقایسه می کند، از راه دور می کند و استانداردهای دکمه از راه دور راi️ brew info and brew tap-info - brew infooutput clearer: consistent and helpful, with a Binaries section listing executables, a clearer recursive runtime dependencies line, clearer identical conflicts and shadowed formulas and a list versions JSON output. - brew infooutput installed state better: the upgrade target for outdated- @-versioned formulas, installed dependents with- —verbose, depreciated and disabled packages in install status, installed formulas resolved from the receipt’s tap with a shadowing warning, the installed version and an upgrade hint on the headline, other installed versions and an installed info inventory. - brew and brew tap-infosk the uninstalled marker when not a problem, show more info tapes for pack- brew as-console-useris یک فرمان جدید برای اجرا Homebrew به عنوان کاربر صحیح تحت MDM/- rootenvironments و- brew update <formula>is aliased to-upgrade. - Homebrew tidies کمک و completions: omitting aliases from completions, hiding HOMEBREW_CASK_OPTS_*from help, hidinginer commands and hidinghide_from_man_pagecommands frombrew commands. - Homebrew اجتناب از نصب یادداشت های هشدار و هشدار هنگامی که فرمول executables در PATH سایه شده اند. Cooldowns, livecheck and bumping - Homebrew adds download cooldowns for Bundler, RubyGems livecheck, npm and pipes defaults, PyPI res⬇️ دانلود ها و دانلود ها و دانلود ها - brew fetch —all-platformsfetches هر فرمت، Homebrew دانلود ها و دانلود ها را در هنگام استفاده از concurrency چاپ می کند، دانلود ها و دانلود ها جزئیات را در اشتباهات شبکه حفظ می کند، دانلود ها و راهنمایی های آشکار در هنگام دانلود HTML، نه یک باینری را اجتناب می کند. - Homebrew از Caskroom chgrp اجتناب می کند. ️ خدمات - Homebrew زمان های سیستم برای خدمات را آغاز می کند، به طور خودکار دیپلماتیک های مسیر خدمات را ایجاد می کند (با استفاده از Homebrew / homebrew-core که منطق ایجاد مسیر خدمات جدید را پذیرفته است) و تنظیمات مسیر خدمات بیش از حد را نظارت می کند. - brewno services no longer fails to load with —sudo-service-user.فرمت قدم های نصب - فرمت قدم های نصب به طور معمول پس از نصب، قبل از پرواز و پس از پرواز رفتار های معمول را به عنوان داده های DSL به طور کلمه ای که تنها از طریق APIs JSON نشان داده می شود، بیان می کند. جایی که فرمول یا cask فقط آماده سازی فایل ساده انجام می دهد، دیگر نیاز به دانلود و ارزیابی یک فایل Ruby در زمان نصب ندارد. Homebrew قدم های فرمول نصب، مراحل نصب cask، یک نظارت برای مراحل نصب فرمول، نصب اقدامات مرحله بازسازی، روش های مرحله بازسازی، بررسی قدم RuboCop و نظارت از تبدیل قدم های پرواز cask، homebrewcore / andhomebrew / caskadopt DSLs جدید (post_install_steps,postinstalland flight steps) را اضافه می کند. Inhomebrew / homcoreandebrew / caskthis شامل- Homebrew هشدار می دهد برای Homebrew مدیریت Nix. داخلی، نوشتن و تجزیه - Homebrew جایگزین brew که به روز رسانی، استفاده از یک AST برای rewrite های منبع و ارتقاء بصیرت API عمومی و دکمه ها. - Homebrew تجزیه و تجزیه تجزیه و تجزیه Command Parsing: Parser subcommand scaffolding، تبدیل باند، خدمات و زیر فرمان های باقی مانده، گسترش محدودیت های گزینه های زیر فرمان و استفاده کمک، و دیگر محدود کردن گزینه های جهانی به زیر فرمان ها. - Homebrew محدودیت های زمان اجرا Sorbet را محدود می کند و محدودیت های بارگذاری بارگذاری Sorbet در آزمایشگاه ها را محدود می کند. ️ ترکیب مداوم و ابزار توسعه دهنده - مهاجرت Ubuntu 24.04 CI پرچمدار در 5.1.0 برای 6- brew lgtmcovers به بررسی و آزمایش فرمول و Homebrew کار در مورد یک کیش غیر قابل نوشتن برای دستور های lgtm in-brew.sh. - workflows/dockerbuilds Ubuntu 26.04 images and- testdisables- return falsehandling. Documentation - Homebrew’s documentation improves: the Rosetta cask support policy, unsupported multi-user settings, notability requirements, -fullformula guidance, upstream expectations and lifecycle requests, the newauto_updatesbehaviour and a consolidated depreciation policy. - Homebrew clarifies compatibility_versionguidance and Homebrew/homebrew-core backfillscompatibility_version 1. This will help reduce the number of forms that need upgraded by brew upلطفا یک هدیه منظم از طریق GitHub Sponsors، OpenCollective و Patreon را در نظر بگیرید. - Homebrew / brew در زمان نوشتن هیچ مشکلی باز نیست. - Homebrew دارای یک سبک صفحه اصلی جدید brew.sh است. - BrewUI یک رابط گرافیک رسمی Homebrew است. هنوز برای استفاده عمومی آماده نیست. - تجربیات brew-rsex در قسمت های متحرک از Frontend Ruby Homebrew به Rust به پایان رسیده است: مقادیر نشان داده اند Frontend Rust Homebrew تنها در پیش روی قفسه قفسه شده، که در حال حاضر باقیمانده می شود، نه بر روی نصب های کامل نمایندگان (بست کردن بطری ها، لینک کردن، نوشتن متادا و بررسی های بهداشتی)، بنابراین تمرکز بر روی عملکرد به Ruby و شروع شبکه مفید و دیسک I / O
[…]
چرا مهمه؟
در این نسخه مکانیزم جدید «اعتماد به tap» معرفی شد که مانع اجرای کد مخرب از مخازن شخص ثالث میشود؛ این تغییر برای تمام کاربران Homebrew، بهویژه توسعهدهندگان و کسانی که بستههای شخص ثالث نصب میکنند، امنیت بیشتری به ارمغان میآورد. همچنین API داخلی JSON پیشفرض باعث سرعت بالاتر بهروزرسانیها میشود و sandboxing در لینوکس عملکرد نصب را ایمنتر میکند. این تحولات برای کاربران نهایی، مدیران سیستم و تیمهای DevOps مهم است چون خطرات امنیتی کاهش مییابد و تجربهٔ استفاده از Homebrew سریعتر میشود.
به درد کی میخوره؟
• توسعهدهندگان نرمافزار • مدیران سیستم و DevOps • کاربران پیشرفتهٔ macOS و Linux • تیمهای امنیت اطلاعات
تو عمل چی کار کنیم؟
کاربران باید پس از بهروزرسانی به 6.0.0، tapهای غیرمطمئن را بررسی و در صورت نیاز بهصورت دستی اعتماد بدهند؛ همچنین میتوانند از API داخلی JSON برای بهروزرسانیهای سریعتر استفاده کنند. در لینوکس، sandboxing بهطور پیشفرض فعال است، بنابراین نیازی به تنظیمات اضافی نیست. توصیه میشود مستندات جدید «Tap‑Trust» را مطالعه کرده و تنظیمات پیشفرض جدید را مطابق نیازهای خود تنظیم کنند.
نظر Blue IT News
نسخهٔ 6.0.0 گامی مهم در جهت تقویت امنیت زنجیرهٔ تأمین Homebrew است؛ بهخصوص برای کاربران لینوکس که پیشتر کمتر تحت محافظت بودند. توصیه میکنیم بهسرعت به این نسخه ارتقا یابید تا از بهبودهای عملکردی و امنیتی بهرهمند شوید.
<div class=“disclosure”> این صفحه ترجمه و تفسیر کاملی از گزارش اصلی Brew است که توسط تیم تحریریه بلو آی تی نیوز به فارسی ترجمه و تحلیل شده. برای مشاهده نسخه اصلی، به منبع مراجعه کنید. </div>