Офіційний реліз Go 1.25: Нова ера у програмуванні

Офіційний реліз Go 1.25: Нова ера у програмуванні

Команда Go оголосила про офіційний реліз програмного забезпечення Go 1.25, який вийшов точно в термін через шість місяців після версії 1.24. Ця версія має багато нововведень, що торкаються практично всіх аспектів інструментарію, середовища виконання та стандартної бібліотеки.

Експериментальний збирач сміття: покращення продуктивності

Одним з найяскравіших нововведень є новий експериментальний збирач сміття, розроблений для покращення продуктивності при обробці малих об’єктів. Це може зменшити накладні витрати на GC на 10-40% у реальних робочих навантаженнях.

Нові можливості з пакетом encoding/json/v2

Разом з цим з’являється ще одна експериментальна функція — пакет encoding/json/v2, що обіцяє швидше декодування та більш гнучку конфігурацію. Обидва нововведення поки що є експериментальними, надаючи розробникам можливість спробувати їх на ранніх етапах та висловити відгуки до остаточного затвердження.

Автоматичне налаштування GOMAXPROCS для контейнерів

Go 1.25 також приносить обізнаний про контейнери GOMAXPROCS за замовчуванням. Це означає, що застосунки, що працюють у середовищах, таких як Kubernetes, можуть автоматично адаптуватись до обмежень процесора без ручних налаштувань. Крім того, компілятор став розумнішим, з швидшими алокаціями зрізів та інформацією про налагодження DWARF5. Це зменшує розмір бінарників та прискорює зв’язування для великих проектів.

Поліпшення інструментів і нові функції тестування

Інструменти також отримали свої покращення. Нові аналізатори go vet виявляють поширені помилки, а декілька покращень команди go, таких як можливість ігнорувати каталоги в go.mod чи запуск локального сервера документації за допомогою go doc -http, додають зручності. Також з’явився абсолютно новий пакет testing/synctest, що спрощує тестування конкурентного коду без звичних проблем.

Поліпшення стандартної бібліотеки та підтримка

Насамкінець, як завжди, ось список поліпшень стандартної бібліотеки — від підвищення продуктивності криптографії до більш послідовного парсингу ASN.1, а також нових мережевих та TLS функцій. Підтримка старіших версій macOS була скасована, а Go 1.25 стане останньою версією для зламаного порту 32-бітної версії Windows/ARM перед його видаленням.

Детальніше ознайомитися з усіма змінами можна на офіційній сторінці анонсу Go 1.25 та в релізних нотах.