Go 1.27이 제네릭 메서드를 도입하고 encoding/json/v2, 표준 uuid 패키지, ML-DSA 양자내성 서명(crypto/mldsa), goroutineleak 프로파일을 정식 제공한다. 80바이트 미만 일부 할당이 최대 30% 빨라지고 실제 프로그램은 약 1% 개선되지만 바이너리는 약 60KB 커진다. 타이머 채널의 비버퍼링 고정, HTTP 응답 본문 자동 소진, //go:linkname 제한 강화처럼 기존 동작을 바꾸는 변경이 있어 업그레이드 전 호환성 점검이 필요하다.
이번 릴리스의 간판은 제네릭 메서드다. 이전에는 제네릭 연산을 최상위 함수로 써야 했지만 이제 리시버와 별개의 타입 매개변수를 메서드에 선언할 수 있다. 단 인터페이스는 여전히 타입 매개변수 메서드를 선언하거나 제네릭 메서드로 구현할 수 없다.
표준 라이브러리도 크게 확장됐다. encoding/json/v2와 jsontext가 빌드 플래그 없이 쓰이고 기존 v1도 내부적으로 v2를 사용한다(문제 시 GOEXPERIMENT=nojsonv2로 복원). 표준 uuid 패키지(RFC 9562, New/NewV4/NewV7), FIPS 204 ML-DSA를 구현한 crypto/mldsa와 TLS 1.3 서명, 그리고 채널·뮤텍스에 영구히 막힌 고루틴을 찾아주는 정식 goroutineleak 프로파일(/debug/pprof/goroutineleak)이 들어왔다. 성능 면에서는 크기별 특화 할당 루틴으로 80바이트 미만 일부 할당 비용이 최대 30% 줄지만 전체 개선은 약 1%, 바이너리는 약 60KB 증가한다.
조심할 부분은 동작 변경이다. 타이머 채널 비버퍼링 고정, HTTP 응답 본문 자동 소진, //go:linkname 제한 강화가 기존 코드에 영향을 줄 수 있다. 또 json/v2는 성능을 위해 맵 키를 기본 정렬하지 않으므로 안정적 출력이 필요하면 json.Deterministic을 지정해야 한다.