Rust 1.90: rustc переключается на LLD в качестве стандартного компоновщика на x86_64 Linux
Основное обновление
Проект Rust объявил, что начиная с Rust 1.90.0 stable (запланирован на 2025-09-18) rustc будет использовать компоновщик LLVM LLD по умолчанию для целевой платформы x86_64-unknown-linux-gnu. В бенчмарках это изменение сокращает время компоновки до 7 раз для инкрементальных сборок (пример с ripgrep показал ~40% ускорение от начала до конца для инкрементальных отладочных пересборок и ~20% улучшение для полных отладочных сборок). Новый стандарт уже доступен в бета-версии 1.90 — проекты должны протестировать свои сборки на бета-версии и сообщить о проблемах, если они обнаружат регрессии компоновщика.
Почему это важно
Это практическое, ощутимое улучшение производительности для разработчиков Rust на Linux и систем CI: компоновка часто занимает доминирующую часть времени сборки для больших бинарных файлов и отладочных сборок, поэтому более быстрая компоновка напрямую сокращает циклы редактирования-компиляции и время выполнения CI. Для команд это может означать меньшие очереди CI, меньшее время и затраты на исполнителей, а также более быструю итерацию разработчиков без изменения кода. Поскольку rust-lld поставляется с инструментальными цепочками, вам не нужно устанавливать системные компоновщики, чтобы получить выгоду; однако изменение специфично для целевой платформы (x86_64 Linux) и не является глобальным поведением инструментальной цепочки для других платформ.
Существует небольшая поверхность совместимости: LLD не является побитово совместимым с GNU ld в редких случаях, поэтому некоторые библиотеки, которые полагались на устаревшую семантику компоновщика, могут потребовать флаги компоновки (или отказ). Если вы столкнетесь с проблемами, вы можете вернуться к предыдущему поведению для каждого проекта, установив RUSTFLAGS или .cargo/config.toml с -Clinker-features=-lld (или добавив эквивалентный флаг в вашу сборку CI). Практически рекомендуемые немедленные действия: протестируйте свои репозитории на бета-версии 1.90 в CI, обновите любые зафиксированные образы Docker/конфигурации rustup, используемые в CI, до бета/стабильного канала для проверки, и добавьте флаг отказа в шаблоны CI только в случае появления реальной несовместимости компоновщика. Также следите за длительными сборками, которые уже ограничены ресурсами, поскольку параллелизм LLD может увеличить использование CPU во время компоновки; если это повлияет на ваших исполнителей, ограничьте параллелизм или временно используйте отказ.
Это изменение является улучшением инструментов с низким риском и высокой отдачей для разработки Rust на Linux с ясными операционными и производственными преимуществами для разработчиков; подготовьтесь, запустив бета-версию в CI, следите за регрессиями времени компоновки и используйте задокументированный флаг отказа, когда это необходимо.
Источник
Читать дальше
Node.js v25 запланирован на 2025‑10‑15 — ожидается семантический мажорный релиз
30 сентября 2025 г.Node.js v25 запланирован на 15 октября 2025 года (крайний срок коммитов 2025‑09‑15). Команды должны запускать CI против нового мажора, проверять нативные модули и готовить канареечные деплои.
Azure Functions Proxies: поддержка сообщества заканчивается 2025‑09‑30 — мигрируйте с Proxies сейчас
29 сентября 2025 г.Microsoft объявила, что Azure Functions Proxies не будет поддерживаться после 2025‑09‑30; команды, все еще использующие Proxies, должны немедленно провести инвентаризацию и мигрировать на поддерживаемую API-платформу (APIM, Front Door или легкий обратный прокси).
NodeShield: принудительное соблюдение SBOM в реальном времени (CBOM) для Node.js ограничивает атаки на цепочку поставок с незначительными накладными расходами
28 сентября 2025 г.Новая статья представляет NodeShield, систему принудительного соблюдения в реальном времени, которая использует SBOM, дополненные возможностями по зависимостям (CBOM), чтобы предотвратить злоупотребления в цепочке поставок в Node.js с эффективностью ~98% и накладными расходами <1 мс.