This is a tracking issue for doing an audit of API additions for Go 1.27 as of CL 784680 .
New API changes for Go 1.27
bytes
crypto
crypto/mldsa
const MLDSA44PublicKeySize = 1312 crypto/mldsa: new package #77626
const MLDSA44PublicKeySize ideal-int crypto/mldsa: new package #77626
const MLDSA44SignatureSize = 2420 crypto/mldsa: new package #77626
const MLDSA44SignatureSize ideal-int crypto/mldsa: new package #77626
const MLDSA65PublicKeySize = 1952 crypto/mldsa: new package #77626
const MLDSA65PublicKeySize ideal-int crypto/mldsa: new package #77626
const MLDSA65SignatureSize = 3309 crypto/mldsa: new package #77626
const MLDSA65SignatureSize ideal-int crypto/mldsa: new package #77626
const MLDSA87PublicKeySize = 2592 crypto/mldsa: new package #77626
const MLDSA87PublicKeySize ideal-int crypto/mldsa: new package #77626
const MLDSA87SignatureSize = 4627 crypto/mldsa: new package #77626
const MLDSA87SignatureSize ideal-int crypto/mldsa: new package #77626
const PrivateKeySize = 32 crypto/mldsa: new package #77626
const PrivateKeySize ideal-int crypto/mldsa: new package #77626
func GenerateKey(Parameters) (*PrivateKey, error) crypto/mldsa: new package #77626
func MLDSA44() Parameters crypto/mldsa: new package #77626
func MLDSA65() Parameters crypto/mldsa: new package #77626
func MLDSA87() Parameters crypto/mldsa: new package #77626
func NewPrivateKey(Parameters, []uint8) (*PrivateKey, error) crypto/mldsa: new package #77626
func NewPublicKey(Parameters, []uint8) (*PublicKey, error) crypto/mldsa: new package #77626
func Verify(*PublicKey, []uint8, []uint8, *Options) error crypto/mldsa: new package #77626
method (*Options) HashFunc() crypto.Hash crypto/mldsa: new package #77626
method (*PrivateKey) Bytes() []uint8 crypto/mldsa: new package #77626
method (*PrivateKey) Equal(crypto.PrivateKey) bool crypto/mldsa: new package #77626
method (*PrivateKey) Public() crypto.PublicKey crypto/mldsa: new package #77626
method (*PrivateKey) PublicKey() *PublicKey crypto/mldsa: new package #77626
method (*PrivateKey) Sign(io.Reader, []uint8, crypto.SignerOpts) ([]uint8, error) crypto/mldsa: new package #77626
method (*PrivateKey) SignDeterministic([]uint8, crypto.SignerOpts) ([]uint8, error) crypto/mldsa: new package #77626
method (*PublicKey) Bytes() []uint8 crypto/mldsa: new package #77626
method (*PublicKey) Equal(crypto.PublicKey) bool crypto/mldsa: new package #77626
method (*PublicKey) Parameters() Parameters crypto/mldsa: new package #77626
method (Parameters) PublicKeySize() int crypto/mldsa: new package #77626
method (Parameters) SignatureSize() int crypto/mldsa: new package #77626
method (Parameters) String() string crypto/mldsa: new package #77626
type Options struct crypto/mldsa: new package #77626
type Options struct, Context string crypto/mldsa: new package #77626
type Parameters struct crypto/mldsa: new package #77626
type PrivateKey struct crypto/mldsa: new package #77626
type PublicKey struct crypto/mldsa: new package #77626
crypto/tls
crypto/x509
const MLDSA = 5 crypto/x509,crypto/tls: add ML-DSA support #78888
const MLDSA PublicKeyAlgorithm crypto/x509,crypto/tls: add ML-DSA support #78888
const MLDSA44 = 17 crypto/x509,crypto/tls: add ML-DSA support #78888
const MLDSA44 SignatureAlgorithm crypto/x509,crypto/tls: add ML-DSA support #78888
const MLDSA65 = 18 crypto/x509,crypto/tls: add ML-DSA support #78888
const MLDSA65 SignatureAlgorithm crypto/x509,crypto/tls: add ML-DSA support #78888
const MLDSA87 = 19 crypto/x509,crypto/tls: add ML-DSA support #78888
const MLDSA87 SignatureAlgorithm crypto/x509,crypto/tls: add ML-DSA support #78888
type Certificate struct, RawSignatureAlgorithm []uint8 crypto/x509: add Certificate.RawSignatureAlgorithm #76133
type CertificateRequest struct, RawSignatureAlgorithm []uint8 crypto/x509: add Certificate.RawSignatureAlgorithm #76133
type RevocationList struct, RawSignatureAlgorithm []uint8 crypto/x509: add Certificate.RawSignatureAlgorithm #76133
database/sql
database/sql/driver
type RowsColumnScanner interface { Close, Columns, Next, NextRow, ScanColumn } database/sql/driver: allow driver to entirely override Scan #67546
type RowsColumnScanner interface, Close() error database/sql/driver: allow driver to entirely override Scan #67546
type RowsColumnScanner interface, Columns() []string database/sql/driver: allow driver to entirely override Scan #67546
type RowsColumnScanner interface, Next([]Value) error database/sql/driver: allow driver to entirely override Scan #67546
type RowsColumnScanner interface, NextRow() error database/sql/driver: allow driver to entirely override Scan #67546
type RowsColumnScanner interface, ScanColumn(ScanContext, int, interface{}) error database/sql/driver: allow driver to entirely override Scan #67546
type ScanContext struct database/sql/driver: allow driver to entirely override Scan #67546
go/constant
go/scanner
go/token
go/types
method (*TypeList) String() string go/types: add String methods to TypeParamList, TypeList, and Instance #79287
method (*TypeParamList) String() string go/types: add String methods to TypeParamList, TypeList, and Instance #79287
method (Hasher) Equal(Type, Type) bool go/types: add Hasher{,IgnoreTags} types #69420
method (Hasher) Hash(*maphash.Hash, Type) go/types: add Hasher{,IgnoreTags} types #69420
method (HasherIgnoreTags) Equal(Type, Type) bool go/types: add Hasher{,IgnoreTags} types #69420
method (HasherIgnoreTags) Hash(*maphash.Hash, Type) go/types: add Hasher{,IgnoreTags} types #69420
method (Instance) String() string go/types: add String methods to TypeParamList, TypeList, and Instance #79287
type Hasher struct go/types: add Hasher{,IgnoreTags} types #69420
type HasherIgnoreTags struct go/types: add Hasher{,IgnoreTags} types #69420
hash/maphash
math/big
net/http
net/http/httptest
net/url
strings
testing/synctest
unicode
uuid
CC @aclements , @ianlancetaylor , @golang/release.
This is a tracking issue for doing an audit of API additions for Go 1.27 as of CL 784680.
New API changes for Go 1.27
bytes
func CutLast([]uint8, []uint8) ([]uint8, []uint8, bool)strings, bytes: add CutLast #71151crypto
const MLDSAMu = 20crypto/mldsa: new package #77626const MLDSAMu Hashcrypto/mldsa: new package #77626crypto/mldsa
const MLDSA44PublicKeySize = 1312crypto/mldsa: new package #77626const MLDSA44PublicKeySize ideal-intcrypto/mldsa: new package #77626const MLDSA44SignatureSize = 2420crypto/mldsa: new package #77626const MLDSA44SignatureSize ideal-intcrypto/mldsa: new package #77626const MLDSA65PublicKeySize = 1952crypto/mldsa: new package #77626const MLDSA65PublicKeySize ideal-intcrypto/mldsa: new package #77626const MLDSA65SignatureSize = 3309crypto/mldsa: new package #77626const MLDSA65SignatureSize ideal-intcrypto/mldsa: new package #77626const MLDSA87PublicKeySize = 2592crypto/mldsa: new package #77626const MLDSA87PublicKeySize ideal-intcrypto/mldsa: new package #77626const MLDSA87SignatureSize = 4627crypto/mldsa: new package #77626const MLDSA87SignatureSize ideal-intcrypto/mldsa: new package #77626const PrivateKeySize = 32crypto/mldsa: new package #77626const PrivateKeySize ideal-intcrypto/mldsa: new package #77626func GenerateKey(Parameters) (*PrivateKey, error)crypto/mldsa: new package #77626func MLDSA44() Parameterscrypto/mldsa: new package #77626func MLDSA65() Parameterscrypto/mldsa: new package #77626func MLDSA87() Parameterscrypto/mldsa: new package #77626func NewPrivateKey(Parameters, []uint8) (*PrivateKey, error)crypto/mldsa: new package #77626func NewPublicKey(Parameters, []uint8) (*PublicKey, error)crypto/mldsa: new package #77626func Verify(*PublicKey, []uint8, []uint8, *Options) errorcrypto/mldsa: new package #77626method (*Options) HashFunc() crypto.Hashcrypto/mldsa: new package #77626method (*PrivateKey) Bytes() []uint8crypto/mldsa: new package #77626method (*PrivateKey) Equal(crypto.PrivateKey) boolcrypto/mldsa: new package #77626method (*PrivateKey) Public() crypto.PublicKeycrypto/mldsa: new package #77626method (*PrivateKey) PublicKey() *PublicKeycrypto/mldsa: new package #77626method (*PrivateKey) Sign(io.Reader, []uint8, crypto.SignerOpts) ([]uint8, error)crypto/mldsa: new package #77626method (*PrivateKey) SignDeterministic([]uint8, crypto.SignerOpts) ([]uint8, error)crypto/mldsa: new package #77626method (*PublicKey) Bytes() []uint8crypto/mldsa: new package #77626method (*PublicKey) Equal(crypto.PublicKey) boolcrypto/mldsa: new package #77626method (*PublicKey) Parameters() Parameterscrypto/mldsa: new package #77626method (Parameters) PublicKeySize() intcrypto/mldsa: new package #77626method (Parameters) SignatureSize() intcrypto/mldsa: new package #77626method (Parameters) String() stringcrypto/mldsa: new package #77626type Options structcrypto/mldsa: new package #77626type Options struct, Context stringcrypto/mldsa: new package #77626type Parameters structcrypto/mldsa: new package #77626type PrivateKey structcrypto/mldsa: new package #77626type PublicKey structcrypto/mldsa: new package #77626crypto/tls
const MLDSA44 = 2308crypto/x509,crypto/tls: add ML-DSA support #78888const MLDSA44 SignatureSchemecrypto/x509,crypto/tls: add ML-DSA support #78888const MLDSA65 = 2309crypto/x509,crypto/tls: add ML-DSA support #78888const MLDSA65 SignatureSchemecrypto/x509,crypto/tls: add ML-DSA support #78888const MLDSA87 = 2310crypto/x509,crypto/tls: add ML-DSA support #78888const MLDSA87 SignatureSchemecrypto/x509,crypto/tls: add ML-DSA support #78888const MLKEM1024 = 514crypto/tls: implement MLKEM1024 key exchange #78543const MLKEM1024 CurveIDcrypto/tls: implement MLKEM1024 key exchange #78543type Config struct, Rand //deprecatedproposal: crypto/tls: deprecate Config.Rand #79367type QUICConfig struct, ClientHelloInfoConn net.Conncrypto/tls: allow QUIC to configure net.Conn used on ClientHelloInfo #77363crypto/x509
const MLDSA = 5crypto/x509,crypto/tls: add ML-DSA support #78888const MLDSA PublicKeyAlgorithmcrypto/x509,crypto/tls: add ML-DSA support #78888const MLDSA44 = 17crypto/x509,crypto/tls: add ML-DSA support #78888const MLDSA44 SignatureAlgorithmcrypto/x509,crypto/tls: add ML-DSA support #78888const MLDSA65 = 18crypto/x509,crypto/tls: add ML-DSA support #78888const MLDSA65 SignatureAlgorithmcrypto/x509,crypto/tls: add ML-DSA support #78888const MLDSA87 = 19crypto/x509,crypto/tls: add ML-DSA support #78888const MLDSA87 SignatureAlgorithmcrypto/x509,crypto/tls: add ML-DSA support #78888type Certificate struct, RawSignatureAlgorithm []uint8crypto/x509: add Certificate.RawSignatureAlgorithm #76133type CertificateRequest struct, RawSignatureAlgorithm []uint8crypto/x509: add Certificate.RawSignatureAlgorithm #76133type RevocationList struct, RawSignatureAlgorithm []uint8crypto/x509: add Certificate.RawSignatureAlgorithm #76133database/sql
func ConvertAssign(driver.ScanContext, interface{}, driver.Value) errordatabase/sql/driver: allow driver to entirely override Scan #67546database/sql/driver
type RowsColumnScanner interface { Close, Columns, Next, NextRow, ScanColumn }database/sql/driver: allow driver to entirely override Scan #67546type RowsColumnScanner interface, Close() errordatabase/sql/driver: allow driver to entirely override Scan #67546type RowsColumnScanner interface, Columns() []stringdatabase/sql/driver: allow driver to entirely override Scan #67546type RowsColumnScanner interface, Next([]Value) errordatabase/sql/driver: allow driver to entirely override Scan #67546type RowsColumnScanner interface, NextRow() errordatabase/sql/driver: allow driver to entirely override Scan #67546type RowsColumnScanner interface, ScanColumn(ScanContext, int, interface{}) errordatabase/sql/driver: allow driver to entirely override Scan #67546type ScanContext structdatabase/sql/driver: allow driver to entirely override Scan #67546go/constant
func StringLen(Value) int64go/constant: add StringLen function #79042go/scanner
method (*Scanner) End() token.Posgo/scanner: add(*Scanner).End()#74958go/token
method (*File) String() stringgo/token: add (*File).String method #76285go/types
method (*TypeList) String() stringgo/types: add String methods to TypeParamList, TypeList, and Instance #79287method (*TypeParamList) String() stringgo/types: add String methods to TypeParamList, TypeList, and Instance #79287method (Hasher) Equal(Type, Type) boolgo/types: add Hasher{,IgnoreTags} types #69420method (Hasher) Hash(*maphash.Hash, Type)go/types: add Hasher{,IgnoreTags} types #69420method (HasherIgnoreTags) Equal(Type, Type) boolgo/types: add Hasher{,IgnoreTags} types #69420method (HasherIgnoreTags) Hash(*maphash.Hash, Type)go/types: add Hasher{,IgnoreTags} types #69420method (Instance) String() stringgo/types: add String methods to TypeParamList, TypeList, and Instance #79287type Hasher structgo/types: add Hasher{,IgnoreTags} types #69420type HasherIgnoreTags structgo/types: add Hasher{,IgnoreTags} types #69420hash/maphash
method (ComparableHasher[$0]) Equal($0, $0) boolhash/maphash: standardize the hash function #70471method (ComparableHasher[$0]) Hash(*Hash, $0)hash/maphash: standardize the hash function #70471type ComparableHasher[$0 comparable] structhash/maphash: standardize the hash function #70471type Hasher[$0 interface{}] interface { Equal, Hash }hash/maphash: standardize the hash function #70471type Hasher[$0 interface{}] interface, Equal($0, $0) boolhash/maphash: standardize the hash function #70471type Hasher[$0 interface{}] interface, Hash(*Hash, $0)hash/maphash: standardize the hash function #70471math/big
const Ceil = 5math/big: add Int.Divide method with rounding modes #76821const Ceil RoundingModemath/big: add Int.Divide method with rounding modes #76821const Floor = 4math/big: add Int.Divide method with rounding modes #76821const Floor RoundingModemath/big: add Int.Divide method with rounding modes #76821const Round = 0math/big: add Int.Divide method with rounding modes #76821const Round RoundingModemath/big: add Int.Divide method with rounding modes #76821const Trunc = 2math/big: add Int.Divide method with rounding modes #76821const Trunc RoundingModemath/big: add Int.Divide method with rounding modes #76821method (*Int) Divide(*Int, *Int, *Int, RoundingMode) (*Int, *Int)math/big: add Int.Divide method with rounding modes #76821net/http
type Server struct, DisableClientPriority boolx/net/http2: add support for RFC 9218 priorities #75500net/http/httptest
func NewTestServer(testing.TB, http.Handler) *Servernet/http/httptest: synctest support #76608net/url
method (*URL) Clone() *URLnet/url: URL.Clone, Values.Clone #73450method (Values) Clone() Valuesnet/url: URL.Clone, Values.Clone #73450strings
func CutLast(string, string) (string, string, bool)strings, bytes: add CutLast #71151testing/synctest
func Sleep(time.Duration)testing/synctest: add convenience function for Sleep then Wait #77169unicode
const Version = "17.0.0"all: update to Unicode 17 #77266var Beria_Erfe *RangeTableall: update to Unicode 17 #77266var Garay *RangeTableall: update to Unicode 17 #77266var Gurung_Khema *RangeTableall: update to Unicode 17 #77266var IDS_Unary_Operator *RangeTableall: update to Unicode 17 #77266var ID_Compat_Math_Continue *RangeTableall: update to Unicode 17 #77266var ID_Compat_Math_Start *RangeTableall: update to Unicode 17 #77266var Kirat_Rai *RangeTableall: update to Unicode 17 #77266var Modifier_Combining_Mark *RangeTableall: update to Unicode 17 #77266var Ol_Onal *RangeTableall: update to Unicode 17 #77266var Sidetic *RangeTableall: update to Unicode 17 #77266var Sunuwar *RangeTableall: update to Unicode 17 #77266var Tai_Yo *RangeTableall: update to Unicode 17 #77266var Todhri *RangeTableall: update to Unicode 17 #77266var Tolong_Siki *RangeTableall: update to Unicode 17 #77266var Tulu_Tigalari *RangeTableall: update to Unicode 17 #77266uuid
func Max() UUIDuuid: add API to generate and parse UUID #62026func MustParse(string) UUIDuuid: add API to generate and parse UUID #62026func New() UUIDuuid: add API to generate and parse UUID #62026func NewV4() UUIDuuid: add API to generate and parse UUID #62026func NewV7() UUIDuuid: add API to generate and parse UUID #62026func Nil() UUIDuuid: add API to generate and parse UUID #62026func Parse(string) (UUID, error)uuid: add API to generate and parse UUID #62026method (*UUID) UnmarshalText([]uint8) erroruuid: add API to generate and parse UUID #62026method (UUID) AppendText([]uint8) ([]uint8, error)uuid: add API to generate and parse UUID #62026method (UUID) Compare(UUID) intuuid: add API to generate and parse UUID #62026method (UUID) MarshalText() ([]uint8, error)uuid: add API to generate and parse UUID #62026method (UUID) String() stringuuid: add API to generate and parse UUID #62026type UUID [16]uint8uuid: add API to generate and parse UUID #62026CC @aclements, @ianlancetaylor, @golang/release.