Вышла версия Homebrew 6.0 с новым механизмом безопасности, песочницей Linux и многим др...
Вышла версия Homebrew 6.0 с новым механизмом безопасности, песочницей Linux и многим другим Команда разработчиков популярного менеджера пакетов Homebrew выпустила версию 6.0. Это один из самых значимых мажорных релизов за последнее время: команда сфокусировалась на безопасности, производительности и поддержке новых платформ. В целом, 6.0.0 — это шаг в сторону более безопасной и предсказуемой работы с зависимостями, особенно при активном использовании сторонних taps или работе в Linux. Основные нововведения: * `Tap Trust`. Это ключевое изменение для безопасности. Раньше сторонние репозитории (taps) могли содержать произвольный Ruby-код, который выполнялся с правами пользователя без дополнительной проверки. В 6.0.0 модель сменили: теперь перед выполнением кода из стороннего tap пользователь должен явно выразить доверие. Официальные taps (homebrew-core, homebrew-cask) остаются доверенными по умолчанию — обычным пользователям ничего дополнительно настраивать не придётся. * `Внутренний JSON API по умолчанию`. Раньше этот API можно было включить только через переменную окружения HOMEBREW_USE_INTERNAL_API. Теперь он активен у всех: он объединяет метаданные пакетов в один загружаемый файл. В результате `brew update` работает быстрее, а сетевых запросов становится меньше. Саму переменную теперь рекомендуют удалить из настроек. * `Песочница (sandbox) для Linux`. На macOS изоляция процессов при сборке, тестировании и после установки уже давно работала (с помощью Seatbelt). В 6.0.0 эту логику перенесли и на Linux: теперь там используется инструмент Bubblewrap. Песочница включена по умолчанию для разработчиков. Она ограничивает доступ к файловой системе и сети во время сборки и тестов, что снижает риски. При этом в песочнице разрешён вывод логов — для удобства отладки. Для Ubuntu в CI-средах Bubblewrap устанавливается автоматически. * `Улучшенные настройки по умолчанию`. После опроса пользователей в режим `ask` (показ сводки зависимостей и запроса подтверждения перед действиями) перевели по умолчанию команды `brew install` и `brew upgrade`. Это помогает избежать неожиданных изменений. * `Оптимизации производительности`. Запустили параллельную загрузку «бутылок» (предварительно собранных пакетов) при обновлении, что заметно ускоряет крупные операции. Команда `brew leaves` (показывает пакеты, установленные независимо от других) стала примерно на 30% быстрее. Также оптимизировали загрузку библиотек Ruby при старте — это сокращает время до начала выполнения любой команды. * `Расширение `brew bundle``. Этот инструмент для декларативного описания окружения получил много улучшений: параллельная установка формул теперь запускается автоматически по умолчанию, добавили поддержку новых экосистем (npm для Node.js, krew для плагинов kubectl, winget для Windows в WSL). Также добавили подсказки перед удалением пакетов при очистке, чтобы избежать неожиданных удалений в автоматизированных пайплайнах. * `Новые команды`. Появилась `brew exec` — она запускает программу из пакета Homebrew в окружении этого пакета (по аналогии с npx для npm). Ещё есть `brew vulns` — она проверяет установленные пакеты на известные уязвимости, сверяясь с базой OSV. * `Поддержка macOS 27 (Golden Gate)`. В 6.0.0 заложили начальную поддержку этой будущей версии macOS * `Постепенный отказ от поддержки Intel`. Поскольку Apple прекращает поддержку Intel в macOS 27, Homebrew тоже меняет политику: с сентября 2026 года для macOS на процессорах Intel перестанут собирать новые бинарные пакеты («бутылки»), а с сентября 2027 года эта платформа будет полностью снята с поддержки (код удалят). * `Исправления уязвимостей`. В релизе закрыли три проблемы: с перенаправлениями при загрузке, с установщиком macOS (в определённых сценариях позволяла локальное повышение привилегий) и ужесточили фильтрацию чувствительных переменных окружения. Также появилась отдельная страница в документации с описанием мер по защите цепочки поставок. https://brew.sh/2026/06/11/homebrew-6.0.0/