Выпуск Go 1.25 — DWARF5, более строгая семантика проверки nil, эксперимент с jsonv2 и изменения в инструментальной цепочке
Ключевое обновление
Go 1.25 (выпущен 12 августа 2025 года) является практическим релизом, который влияет на разработчиков, а не просто очередным незначительным обновлением. Релиз вводит вывод отладки DWARF-5 и параметры компоновщика, которые уменьшают размер бинарных файлов и время компоновки для больших программ, исправляет давнюю ошибку компилятора, которая теперь обеспечивает правильные проверки указателей nil (что может привести к панике в ранее работающем, но некорректном коде), завершает поддержку конкурентного тестирования synctest и предоставляет экспериментальную высокопроизводительную реализацию encoding/json/v2 под флагом GOEXPERIMENT=jsonv2. Инструментальная цепочка также изменяет некоторые значения по умолчанию: AddressSanitizer теперь по умолчанию включает обнаружение утечек при выходе из программы, команда go будет создавать меньше предустановленных вспомогательных бинарных файлов, а новые анализаторы vet (например, waitgroup и hostport) помогут выявить распространенные ошибки в конкурентности и сетевом взаимодействии.
Почему это важно
Исправление указателя nil является изменением с высоким риском в реальном мире: код, который некорректно использовал значения, полученные до проверки ошибки, теперь может вызвать панику; это требует запуска вашего набора тестов и CI под Go 1.25 для выявления регрессий и их исправления (переместите проверки ошибок на более ранние этапы или рефакторинг). DWARF-5 и параметры компоновщика значительно ускоряют сборки отладки и уменьшают размер символов для больших сервисов и монорепозиториев, улучшая время итерации разработчиков и стоимость CI. Эксперимент с jsonv2 обеспечивает значительно более быстрое декодирование во многих рабочих нагрузках; стоит попробовать в стадии тестирования для сервисов с большим объемом JSON, поскольку поведение немного отличается, и текст ошибок может измениться. Значение по умолчанию для обнаружения утечек ASAN может сломать тесты, которые зависят от того, что C-выделения не освобождаются; при необходимости настройте ASAN_OPTIONS в CI. Новые анализаторы vet и synctest упрощают выявление ошибок конкурентности на более ранних этапах. Действия: зафиксируйте инструментальную цепочку в CI, запускайте полные наборы тестов под Go 1.25 (и попробуйте GOEXPERIMENT=jsonv2 в контролируемой среде), включите новые анализаторы vet и проведите аудит кода, который зависит от хаков len/cap, шаблонов unsafe.Pointer или отложенных проверок ошибок.
Источник
Читать дальше
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 мс.