Канал о разработке Антона Околелова. Разрабочик/ex-тимлид Go, живу в Чехии. Мысли, новости, вопросы.
По вопросам рекламы @antonokolelov
Post #495
3.48K
Вышел go 1.25 rc1 (ожидаемая дата релиза: август 2025)
Вот некоторые штуки, которые там есть:
>> Среда выполнения (Runtime)
GOMAXPROCS теперь учитывает контейнеры
На Linux автоматически ограничивается лимитами CPU в cgroup (важно для Kubernetes)
Динамически обновляется при изменении доступных CPU
Новый экспериментальный сборщик мусора
Включается через GOEXPERIMENT=greenteagc (описание GC)
Обещает снижение накладных расходов на 10-40%
>> Инструменты
Команда go
Новая директива ignore в go.mod для исключения каталогов
go doc -http запускает веб-сервер с документацией
Поддержка JSON в
Новые анализаторы в go vet
waitgroup - находит неправильное использование sync.WaitGroup.Add
hostport - предупреждает о проблемах с IPv6 в сетевых адресах
>> Стандартная библиотека
Новые пакеты
testing/synctest - для тестирования конкурентного кода
encoding/json/v2 - экспериментальная новая реализация JSON (быстрее декодирование)
Улучшения производительности
Компилятор чаще размещает слайсы на стеке
Параллельное выполнение cleanup-функций в runtime
>> Безопасность и исправления
Компилятор
Исправлена проверка nil-указателей (некоторый код может начать паниковать)
Генерация отладочной информации в формате DWARF 5
TLS
Запрещены SHA-1 алгоритмы подписи в TLS 1.2
Поддержка Encrypted Client Hello
🫥 Cross Join
⠀
Вот некоторые штуки, которые там есть:
>> Среда выполнения (Runtime)
GOMAXPROCS теперь учитывает контейнеры
На Linux автоматически ограничивается лимитами CPU в cgroup (важно для Kubernetes)
Динамически обновляется при изменении доступных CPU
Новый экспериментальный сборщик мусора
Включается через GOEXPERIMENT=greenteagc (описание GC)
Обещает снижение накладных расходов на 10-40%
>> Инструменты
Команда go
Новая директива ignore в go.mod для исключения каталогов
go doc -http запускает веб-сервер с документацией
Поддержка JSON в
go version -m -jsonНовые анализаторы в go vet
waitgroup - находит неправильное использование sync.WaitGroup.Add
hostport - предупреждает о проблемах с IPv6 в сетевых адресах
>> Стандартная библиотека
Новые пакеты
testing/synctest - для тестирования конкурентного кода
encoding/json/v2 - экспериментальная новая реализация JSON (быстрее декодирование)
Улучшения производительности
Компилятор чаще размещает слайсы на стеке
Параллельное выполнение cleanup-функций в runtime
>> Безопасность и исправления
Компилятор
Исправлена проверка nil-указателей (некоторый код может начать паниковать)
// этот код ошибочно не паниковал в случае ошибки,
// хотя f использовалось до проверки err != nil
package main
import "os"
func main() {
f, err := os.Open("nonExistentFile")
name := f.Name()
if err != nil {
return
}
println(name)
}
Генерация отладочной информации в формате DWARF 5
TLS
Запрещены SHA-1 алгоритмы подписи в TLS 1.2
Поддержка Encrypted Client Hello
🫥 Cross Join
⠀
- 🔥 19
- 👍 11
- ❤ 2





