-
Notifications
You must be signed in to change notification settings - Fork 17.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
api: audit for Go 1.24 #70701
Comments
I left a couple of small API follow-up questions:
|
I believe Ian are I are close to addressing #63952 (comment), and I'm planning to run that tweak by the proposal committee later today just to formalize it. That should block RC1, but I expect it to be resolved by later today. For #62384 (comment) I think we need a little more documentation, but no changes to the API, so that doesn't have to block RC1. @ianlancetaylor , are you happy with your API audit? If so, we can close this as soon as the debug/elf tweaks are done. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This can be closed once CL 635079 lands. |
Actually, we have one more small API question here: https://go-review.googlesource.com/c/go/+/635336/comment/238a2cab_e32e56f4/ |
I've reviewed all the changes here and they look OK to me. |
Done.
Resolved. (This still needs a documentation update, but not an API change.) |
This is a tracking issue for doing an audit of API additions for Go 1.24 as of CL 634055.
New API changes for Go 1.24
bytes
func FieldsFuncSeq([]uint8, func(int32) bool) iter.Seq[[]uint8]
bytes, strings: add iterator forms of existing functions #61901func FieldsSeq([]uint8) iter.Seq[[]uint8]
bytes, strings: add iterator forms of existing functions #61901func Lines([]uint8) iter.Seq[[]uint8]
bytes, strings: add iterator forms of existing functions #61901func SplitAfterSeq([]uint8, []uint8) iter.Seq[[]uint8]
bytes, strings: add iterator forms of existing functions #61901func SplitSeq([]uint8, []uint8) iter.Seq[[]uint8]
bytes, strings: add iterator forms of existing functions #61901crypto/cipher
func NewCFBDecrypter //deprecated
crypto/cipher: deprecate NewOFB, NewCFBDecrypter and NewCFBEncrypter #69445func NewCFBEncrypter //deprecated
crypto/cipher: deprecate NewOFB, NewCFBDecrypter and NewCFBEncrypter #69445func NewGCMWithRandomNonce(Block) (AEAD, error)
crypto/cipher: add NewGCMWithRandomNonce #69981func NewOFB //deprecated
crypto/cipher: deprecate NewOFB, NewCFBDecrypter and NewCFBEncrypter #69445crypto/fips140
func Enabled() bool
crypto: mechanism to enable FIPS mode #70123crypto/hkdf
func Expand[$0 hash.Hash](func() $0, []uint8, string, int) ([]uint8, error)
crypto/hkdf: add package #61477func Extract[$0 hash.Hash](func() $0, []uint8, []uint8) ([]uint8, error)
crypto/hkdf: add package #61477func Key[$0 hash.Hash](func() $0, []uint8, []uint8, string, int) ([]uint8, error)
crypto/hkdf: add package #61477crypto/mlkem
const CiphertextSize1024 = 1568
crypto/mlkem: new package #70122const CiphertextSize1024 ideal-int
crypto/mlkem: new package #70122const CiphertextSize768 = 1088
crypto/mlkem: new package #70122const CiphertextSize768 ideal-int
crypto/mlkem: new package #70122const EncapsulationKeySize1024 = 1568
crypto/mlkem: new package #70122const EncapsulationKeySize1024 ideal-int
crypto/mlkem: new package #70122const EncapsulationKeySize768 = 1184
crypto/mlkem: new package #70122const EncapsulationKeySize768 ideal-int
crypto/mlkem: new package #70122const SeedSize = 64
crypto/mlkem: new package #70122const SeedSize ideal-int
crypto/mlkem: new package #70122const SharedKeySize = 32
crypto/mlkem: new package #70122const SharedKeySize ideal-int
crypto/mlkem: new package #70122func GenerateKey1024() (*DecapsulationKey1024, error)
crypto/mlkem: new package #70122func GenerateKey768() (*DecapsulationKey768, error)
crypto/mlkem: new package #70122func NewDecapsulationKey1024([]uint8) (*DecapsulationKey1024, error)
crypto/mlkem: new package #70122func NewDecapsulationKey768([]uint8) (*DecapsulationKey768, error)
crypto/mlkem: new package #70122func NewEncapsulationKey1024([]uint8) (*EncapsulationKey1024, error)
crypto/mlkem: new package #70122func NewEncapsulationKey768([]uint8) (*EncapsulationKey768, error)
crypto/mlkem: new package #70122method (*DecapsulationKey1024) Bytes() []uint8
crypto/mlkem: new package #70122method (*DecapsulationKey1024) Decapsulate([]uint8) ([]uint8, error)
crypto/mlkem: new package #70122method (*DecapsulationKey1024) EncapsulationKey() *EncapsulationKey1024
crypto/mlkem: new package #70122method (*DecapsulationKey768) Bytes() []uint8
crypto/mlkem: new package #70122method (*DecapsulationKey768) Decapsulate([]uint8) ([]uint8, error)
crypto/mlkem: new package #70122method (*DecapsulationKey768) EncapsulationKey() *EncapsulationKey768
crypto/mlkem: new package #70122method (*EncapsulationKey1024) Bytes() []uint8
crypto/mlkem: new package #70122method (*EncapsulationKey1024) Encapsulate() ([]uint8, []uint8)
crypto/mlkem: new package #70122method (*EncapsulationKey768) Bytes() []uint8
crypto/mlkem: new package #70122method (*EncapsulationKey768) Encapsulate() ([]uint8, []uint8)
crypto/mlkem: new package #70122type DecapsulationKey1024 struct
crypto/mlkem: new package #70122type DecapsulationKey768 struct
crypto/mlkem: new package #70122type EncapsulationKey1024 struct
crypto/mlkem: new package #70122type EncapsulationKey768 struct
crypto/mlkem: new package #70122crypto/pbkdf2
func Key[$0 hash.Hash](func() $0, string, []uint8, int, int) ([]uint8, error)
crypto/pbkdf2: add package #69488crypto/rand
func Text() string
crypto/rand: add func Text #67057crypto/sha3
func New224() *SHA3
crypto/sha3: import from x/crypto #69982func New256() *SHA3
crypto/sha3: import from x/crypto #69982func New384() *SHA3
crypto/sha3: import from x/crypto #69982func New512() *SHA3
crypto/sha3: import from x/crypto #69982func NewCSHAKE128([]uint8, []uint8) *SHAKE
crypto/sha3: import from x/crypto #69982func NewCSHAKE256([]uint8, []uint8) *SHAKE
crypto/sha3: import from x/crypto #69982func NewSHAKE128() *SHAKE
crypto/sha3: import from x/crypto #69982func NewSHAKE256() *SHAKE
crypto/sha3: import from x/crypto #69982func Sum224([]uint8) [28]uint8
crypto/sha3: import from x/crypto #69982func Sum256([]uint8) [32]uint8
crypto/sha3: import from x/crypto #69982func Sum384([]uint8) [48]uint8
crypto/sha3: import from x/crypto #69982func Sum512([]uint8) [64]uint8
crypto/sha3: import from x/crypto #69982func SumSHAKE128([]uint8, int) []uint8
crypto/sha3: import from x/crypto #69982func SumSHAKE256([]uint8, int) []uint8
crypto/sha3: import from x/crypto #69982method (*SHA3) AppendBinary([]uint8) ([]uint8, error)
crypto/sha3: import from x/crypto #69982method (*SHA3) BlockSize() int
crypto/sha3: import from x/crypto #69982method (*SHA3) MarshalBinary() ([]uint8, error)
crypto/sha3: import from x/crypto #69982method (*SHA3) Reset()
crypto/sha3: import from x/crypto #69982method (*SHA3) Size() int
crypto/sha3: import from x/crypto #69982method (*SHA3) Sum([]uint8) []uint8
crypto/sha3: import from x/crypto #69982method (*SHA3) UnmarshalBinary([]uint8) error
crypto/sha3: import from x/crypto #69982method (*SHA3) Write([]uint8) (int, error)
crypto/sha3: import from x/crypto #69982method (*SHAKE) AppendBinary([]uint8) ([]uint8, error)
crypto/sha3: import from x/crypto #69982method (*SHAKE) BlockSize() int
crypto/sha3: import from x/crypto #69982method (*SHAKE) MarshalBinary() ([]uint8, error)
crypto/sha3: import from x/crypto #69982method (*SHAKE) Read([]uint8) (int, error)
crypto/sha3: import from x/crypto #69982method (*SHAKE) Reset()
crypto/sha3: import from x/crypto #69982method (*SHAKE) UnmarshalBinary([]uint8) error
crypto/sha3: import from x/crypto #69982method (*SHAKE) Write([]uint8) (int, error)
crypto/sha3: import from x/crypto #69982type SHA3 struct
crypto/sha3: import from x/crypto #69982type SHAKE struct
crypto/sha3: import from x/crypto #69982crypto/subtle
func WithDataIndependentTiming(func())
crypto/subtle: add WithDataIndependentTiming #66450crypto/tls
const X25519MLKEM768 = 4588
crypto/tls: add X25519MLKEM768 and use by default; remove x25519Kyber768Draft00 #69985const X25519MLKEM768 CurveID
crypto/tls: add X25519MLKEM768 and use by default; remove x25519Kyber768Draft00 #69985type ClientHelloInfo struct, Extensions []uint16
crypto/tls: add Extensions to ClientHelloInfo #32936type Config struct, EncryptedClientHelloKeys []EncryptedClientHelloKey
crypto/tls: support server side Encrypted Client Hello #68500type EncryptedClientHelloKey struct
crypto/tls: support server side Encrypted Client Hello #68500type EncryptedClientHelloKey struct, Config []uint8
crypto/tls: support server side Encrypted Client Hello #68500type EncryptedClientHelloKey struct, PrivateKey []uint8
crypto/tls: support server side Encrypted Client Hello #68500type EncryptedClientHelloKey struct, SendAsRetry bool
crypto/tls: support server side Encrypted Client Hello #68500crypto/x509
const NoValidChains = 10
crypto/x509: support Inhibit Any-policy and Policy Constraints #68484const NoValidChains InvalidReason
crypto/x509: support Inhibit Any-policy and Policy Constraints #68484method (OID) AppendBinary([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384method (OID) AppendText([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384type Certificate struct, InhibitAnyPolicy int
crypto/x509: support Inhibit Any-policy and Policy Constraints #68484type Certificate struct, InhibitAnyPolicyZero bool
crypto/x509: support Inhibit Any-policy and Policy Constraints #68484type Certificate struct, InhibitPolicyMapping int
crypto/x509: support Inhibit Any-policy and Policy Constraints #68484type Certificate struct, InhibitPolicyMappingZero bool
crypto/x509: support Inhibit Any-policy and Policy Constraints #68484type Certificate struct, PolicyMappings []PolicyMapping
crypto/x509: support Inhibit Any-policy and Policy Constraints #68484type Certificate struct, RequireExplicitPolicy int
crypto/x509: support Inhibit Any-policy and Policy Constraints #68484type Certificate struct, RequireExplicitPolicyZero bool
crypto/x509: support Inhibit Any-policy and Policy Constraints #68484type PolicyMapping struct
crypto/x509: support Inhibit Any-policy and Policy Constraints #68484type PolicyMapping struct, IssuerDomainPolicy OID
crypto/x509: support Inhibit Any-policy and Policy Constraints #68484type PolicyMapping struct, SubjectDomainPolicy OID
crypto/x509: support Inhibit Any-policy and Policy Constraints #68484type VerifyOptions struct, CertificatePolicies []OID
crypto/x509: support Inhibit Any-policy and Policy Constraints #68484debug/elf
const VER_FLG_BASE = 1
debug/elf: add SHT_GNU_VERDEF section parsing #63952const VER_FLG_BASE DynamicVersionFlag
debug/elf: add SHT_GNU_VERDEF section parsing #63952const VER_FLG_INFO = 4
debug/elf: add SHT_GNU_VERDEF section parsing #63952const VER_FLG_INFO DynamicVersionFlag
debug/elf: add SHT_GNU_VERDEF section parsing #63952const VER_FLG_WEAK = 2
debug/elf: add SHT_GNU_VERDEF section parsing #63952const VER_FLG_WEAK DynamicVersionFlag
debug/elf: add SHT_GNU_VERDEF section parsing #63952const VerFlagGlobal = 2
debug/elf: add SHT_GNU_VERDEF section parsing #63952const VerFlagGlobal SymbolVersionFlag
debug/elf: add SHT_GNU_VERDEF section parsing #63952const VerFlagHidden = 4
debug/elf: add SHT_GNU_VERDEF section parsing #63952const VerFlagHidden SymbolVersionFlag
debug/elf: add SHT_GNU_VERDEF section parsing #63952const VerFlagLocal = 1
debug/elf: add SHT_GNU_VERDEF section parsing #63952const VerFlagLocal SymbolVersionFlag
debug/elf: add SHT_GNU_VERDEF section parsing #63952const VerFlagNone = 0
debug/elf: add SHT_GNU_VERDEF section parsing #63952const VerFlagNone SymbolVersionFlag
debug/elf: add SHT_GNU_VERDEF section parsing #63952method (*File) DynamicVersionNeeds() ([]DynamicVersionNeed, error)
debug/elf: add SHT_GNU_VERDEF section parsing #63952method (*File) DynamicVersions() ([]DynamicVersion, error)
debug/elf: add SHT_GNU_VERDEF section parsing #63952type DynamicVersion struct
debug/elf: add SHT_GNU_VERDEF section parsing #63952type DynamicVersion struct, Deps []string
debug/elf: add SHT_GNU_VERDEF section parsing #63952type DynamicVersion struct, Flags DynamicVersionFlag
debug/elf: add SHT_GNU_VERDEF section parsing #63952type DynamicVersion struct, Index uint16
debug/elf: add SHT_GNU_VERDEF section parsing #63952type DynamicVersion struct, Version uint16
debug/elf: add SHT_GNU_VERDEF section parsing #63952type DynamicVersionDep struct
debug/elf: add SHT_GNU_VERDEF section parsing #63952type DynamicVersionDep struct, Dep string
debug/elf: add SHT_GNU_VERDEF section parsing #63952type DynamicVersionDep struct, Flags DynamicVersionFlag
debug/elf: add SHT_GNU_VERDEF section parsing #63952type DynamicVersionDep struct, Other uint16
debug/elf: add SHT_GNU_VERDEF section parsing #63952type DynamicVersionFlag uint16
debug/elf: add SHT_GNU_VERDEF section parsing #63952type DynamicVersionNeed struct
debug/elf: add SHT_GNU_VERDEF section parsing #63952type DynamicVersionNeed struct, Name string
debug/elf: add SHT_GNU_VERDEF section parsing #63952type DynamicVersionNeed struct, Needs []DynamicVersionDep
debug/elf: add SHT_GNU_VERDEF section parsing #63952type DynamicVersionNeed struct, Version uint16
debug/elf: add SHT_GNU_VERDEF section parsing #63952type Symbol struct, VersionFlags SymbolVersionFlag
debug/elf: add SHT_GNU_VERDEF section parsing #63952type Symbol struct, VersionIndex int16
debug/elf: add SHT_GNU_VERDEF section parsing #63952type SymbolVersionFlag uint8
debug/elf: add SHT_GNU_VERDEF section parsing #63952encoding
type BinaryAppender interface { AppendBinary }
encoding: add AppendText and AppendBinary #62384type BinaryAppender interface, AppendBinary([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384type TextAppender interface { AppendText }
encoding: add AppendText and AppendBinary #62384type TextAppender interface, AppendText([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384go/types
method (*Interface) EmbeddedTypes() iter.Seq[Type]
go/types: add iterator methods #66626method (*Interface) ExplicitMethods() iter.Seq[*Func]
go/types: add iterator methods #66626method (*Interface) Methods() iter.Seq[*Func]
go/types: add iterator methods #66626method (*MethodSet) Methods() iter.Seq[*Selection]
go/types: add iterator methods #66626method (*Named) Methods() iter.Seq[*Func]
go/types: add iterator methods #66626method (*Scope) Children() iter.Seq[*Scope]
go/types: add iterator methods #66626method (*Struct) Fields() iter.Seq[*Var]
go/types: add iterator methods #66626method (*Tuple) Variables() iter.Seq[*Var]
go/types: add iterator methods #66626method (*TypeList) Types() iter.Seq[Type]
go/types: add iterator methods #66626method (*TypeParamList) TypeParams() iter.Seq[*TypeParam]
go/types: add iterator methods #66626method (*Union) Terms() iter.Seq[*Term]
go/types: add iterator methods #66626hash/maphash
func Comparable[$0 comparable](Seed, $0) uint64
hash/maphash: add func Comparable #54670func WriteComparable[$0 comparable](*Hash, $0)
hash/maphash: add func Comparable #54670log/slog
method (*LevelVar) AppendText([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384method (Level) AppendText([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384var DiscardHandler Handler
log/slog: addslog.DiscardHandler
#62005math/big
method (*Float) AppendText([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384method (*Int) AppendText([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384method (*Rat) AppendText([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384math/rand/v2
method (*ChaCha8) AppendBinary([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384method (*PCG) AppendBinary([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384net
method (IP) AppendText([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384net/http
method (*Protocols) SetHTTP1(bool)
net/http: HTTP version selection API #67814method (*Protocols) SetHTTP2(bool)
net/http: HTTP version selection API #67814method (*Protocols) SetUnencryptedHTTP2(bool)
net/http: support unencrypted HTTP/2 (h2c) #67816method (Protocols) HTTP1() bool
net/http: HTTP version selection API #67814method (Protocols) HTTP2() bool
net/http: HTTP version selection API #67814method (Protocols) String() string
net/http: HTTP version selection API #67814method (Protocols) UnencryptedHTTP2() bool
net/http: support unencrypted HTTP/2 (h2c) #67816type HTTP2Config struct
net/http: HTTP/2 configuration API #67813type HTTP2Config struct, CountError func(string)
net/http: HTTP/2 configuration API #67813type HTTP2Config struct, MaxConcurrentStreams int
net/http: HTTP/2 configuration API #67813type HTTP2Config struct, MaxDecoderHeaderTableSize int
net/http: HTTP/2 configuration API #67813type HTTP2Config struct, MaxEncoderHeaderTableSize int
net/http: HTTP/2 configuration API #67813type HTTP2Config struct, MaxReadFrameSize int
net/http: HTTP/2 configuration API #67813type HTTP2Config struct, MaxReceiveBufferPerConnection int
net/http: HTTP/2 configuration API #67813type HTTP2Config struct, MaxReceiveBufferPerStream int
net/http: HTTP/2 configuration API #67813type HTTP2Config struct, PermitProhibitedCipherSuites bool
net/http: HTTP/2 configuration API #67813type HTTP2Config struct, PingTimeout time.Duration
net/http: HTTP/2 configuration API #67813type HTTP2Config struct, SendPingTimeout time.Duration
net/http: HTTP/2 configuration API #67813type HTTP2Config struct, WriteByteTimeout time.Duration
net/http: HTTP/2 configuration API #67813type Protocols struct
net/http: HTTP version selection API #67814type Server struct, HTTP2 *HTTP2Config
net/http: HTTP/2 configuration API #67813type Server struct, Protocols *Protocols
net/http: HTTP version selection API #67814type Transport struct, HTTP2 *HTTP2Config
net/http: HTTP/2 configuration API #67813type Transport struct, Protocols *Protocols
net/http: HTTP version selection API #67814net/netip
method (Addr) AppendBinary([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384method (Addr) AppendText([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384method (AddrPort) AppendBinary([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384method (AddrPort) AppendText([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384method (Prefix) AppendBinary([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384method (Prefix) AppendText([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384net/url
method (*URL) AppendBinary([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384os
func OpenInRoot(string, string) (*File, error)
os: safer file open functions #67002func OpenRoot(string) (*Root, error)
os: safer file open functions #67002method (*Root) Close() error
os: safer file open functions #67002method (*Root) Create(string) (*File, error)
os: safer file open functions #67002method (*Root) FS() fs.FS
os: safer file open functions #67002method (*Root) Lstat(string) (fs.FileInfo, error)
os: safer file open functions #67002method (*Root) Mkdir(string, fs.FileMode) error
os: safer file open functions #67002method (*Root) Name() string
os: safer file open functions #67002method (*Root) Open(string) (*File, error)
os: safer file open functions #67002method (*Root) OpenFile(string, int, fs.FileMode) (*File, error)
os: safer file open functions #67002method (*Root) OpenRoot(string) (*Root, error)
os: safer file open functions #67002method (*Root) Remove(string) error
os: safer file open functions #67002method (*Root) Stat(string) (fs.FileInfo, error)
os: safer file open functions #67002type Root struct
os: safer file open functions #67002regexp
method (*Regexp) AppendText([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384runtime
func AddCleanup[$0 interface{}, $1 interface{}](*$0, func($1), $1) Cleanup
runtime: add AddCleanup #67535func GOROOT //deprecated
runtime: deprecate func GOROOT #51473method (Cleanup) Stop()
runtime: add AddCleanup #67535type Cleanup struct
runtime: add AddCleanup #67535strings
func FieldsFuncSeq(string, func(int32) bool) iter.Seq[string]
bytes, strings: add iterator forms of existing functions #61901func FieldsSeq(string) iter.Seq[string]
bytes, strings: add iterator forms of existing functions #61901func Lines(string) iter.Seq[string]
bytes, strings: add iterator forms of existing functions #61901func SplitAfterSeq(string, string) iter.Seq[string]
bytes, strings: add iterator forms of existing functions #61901func SplitSeq(string, string) iter.Seq[string]
bytes, strings: add iterator forms of existing functions #61901testing
method (*B) Chdir(string)
testing: add TB.Chdir #62516method (*B) Context() context.Context
testing: reconsider adding Context method to testing.T #36532method (*B) Loop() bool
testing: add testing.B.Loop for iteration #61515method (*F) Chdir(string)
testing: add TB.Chdir #62516method (*F) Context() context.Context
testing: reconsider adding Context method to testing.T #36532method (*T) Chdir(string)
testing: add TB.Chdir #62516method (*T) Context() context.Context
testing: reconsider adding Context method to testing.T #36532type TB interface, Chdir(string)
testing: add TB.Chdir #62516type TB interface, Context() context.Context
testing: reconsider adding Context method to testing.T #36532time
method (Time) AppendBinary([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384method (Time) AppendText([]uint8) ([]uint8, error)
encoding: add AppendText and AppendBinary #62384weak
func Make[$0 interface{}](*$0) Pointer[$0]
weak: new package providing weak pointers #67552method (Pointer[$0]) Value() *$0
weak: new package providing weak pointers #67552type Pointer[$0 interface{}] struct
weak: new package providing weak pointers #67552CC @aclements, @ianlancetaylor, @golang/release.
The text was updated successfully, but these errors were encountered: