В Go 1.27 появились generic-методы — главное изменение релиза. Метод теперь может объявлять собственные параметры типа, независимые от параметров получателя. Раньше такие операции приходилось выносить в свободные функции. Например, у Box[T] появился метод Map[U], который превращает Box[int] в Box[string]. Интерфейсы так не умеют: generic-метод нельзя использовать для удовлетворения интерфейса — компилятор запретит.
Ещё разрешили указывать вложенные поля в структурных литералах: для типа User со встроенным Base можно писать User{ID: 7} вместо User{Base: Base{ID: 7}}. Обобщённый вывод типов заработал в контекстах, где ожидается функция: слайс []func([]int) int теперь принимает first и last без явного first[int].
Компилятор генерирует вызовы size-specialized аллокаций для мелких объектов (до 80 байт), ускоряя их до 30%; в реальных программах выигрыш около 1%. Отключается через GOEXPERIMENT=nosizespecializedmalloc. В трейсбеках горутин теперь видны runtime/pprof-метки, если go.mod требует Go 1.27. Появился профиль goroutineleak, который через GC находит навсегда заблокированные горутины.
Добавлен пакет crypto/mldsa с постквантовыми подписями MLDSA44, MLDSA65, MLDSA87, поддержкой в crypto/x509 и crypto/tls. В стандартной библиотеке наконец есть uuid: генерирует и парсит UUID по RFC 9562, есть NewV4 и NewV7. JSON v2 (encoding/json/v2) вышел из эксперимента, а классический encoding/json теперь работает на v2-реализации; поведение сохраняется, для стабильной сортировки ключей есть опция json.Deterministic.
Экспериментальный пакет simd даёт переносимые SIMD-инструкции, включается через GOEXPERIMENT=simd. Появились strings.CutLast и bytes.CutLast. В hash/maphash добавили Hasher[T] для кастомного хеширования и сравнения. math/big получил Int.Divide с режимами округления Trunc, Floor, Round, Ceil. (*Rand).N теперь метод для случайных чисел любого типа. synctest.Sleep совмещает Sleep и Wait. httptest.NewTestServer создаёт сервер без TCP, на in-memory сети. Unicode обновлён до 17.
Ещё: таймерные каналы всегда без буфера (asynctimerchan удалён), http.Response.Body сама дочитывает данные при Close, HTTP/2 уважает клиентские приоритеты RFC 9218, crypto/x509 на Windows и macOS читает SSL_CERT_FILE и SSL_CERT_DIR. go test по умолчанию запускает проверку stdversion, go doc умеет pkg@version и -ex, go fix получил новые анализаторы, go mod tidy сливает require-блоки. В скрытых изменениях: HTTP/2 превратился в настоящий пакет net/http/internal/http2, появились зачатки HTTP/3, три оптимизации компилятора (known bits, loop-invariant code motion, switch с lookup tables), рантайм уже использует simd для Swiss Table, линкер переформатировал метаданные, ограничен нелегальный //go:linkname, экспериментальный mapsplitgroup меняет layout map, и в os.Root закрыли ещё один путь эскапа.