-
Notifications
You must be signed in to change notification settings - Fork 17.6k
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.23 #67843
Comments
Reading through the list, these all LGTM, meaning I remember the proposals and still think that the APIs are correct. |
I also looked a bit at the proposed and implemented APIs. Everything seems to align. The |
I have also reviewed. LGTM. |
For posterity: the |
This is a tracking issue for doing an audit of API additions for Go 1.23 as of CL 590835.
New API changes for Go 1.23
archive/tar
type FileInfoNames interface { Gname, IsDir, ModTime, Mode, Name, Size, Sys, Uname }
archive/tar: add FileInfoNames interface #50102type FileInfoNames interface, Gname() (string, error)
archive/tar: add FileInfoNames interface #50102type FileInfoNames interface, IsDir() bool
archive/tar: add FileInfoNames interface #50102type FileInfoNames interface, ModTime() time.Time
archive/tar: add FileInfoNames interface #50102type FileInfoNames interface, Mode() fs.FileMode
archive/tar: add FileInfoNames interface #50102type FileInfoNames interface, Name() string
archive/tar: add FileInfoNames interface #50102type FileInfoNames interface, Size() int64
archive/tar: add FileInfoNames interface #50102type FileInfoNames interface, Sys() interface{}
archive/tar: add FileInfoNames interface #50102type FileInfoNames interface, Uname() (string, error)
archive/tar: add FileInfoNames interface #50102crypto/tls
const QUICResumeSession = 8
crypto/tls: improved 0-RTT QUIC APIs #63691const QUICResumeSession QUICEventKind
crypto/tls: improved 0-RTT QUIC APIs #63691const QUICStoreSession = 9
crypto/tls: improved 0-RTT QUIC APIs #63691const QUICStoreSession QUICEventKind
crypto/tls: improved 0-RTT QUIC APIs #63691method (*ECHRejectionError) Error() string
crypto/tls: support Encrypted Client Hello in clients #63369method (*QUICConn) StoreSession(*SessionState) error
crypto/tls: improved 0-RTT QUIC APIs #63691type Config struct, EncryptedClientHelloConfigList []uint8
crypto/tls: support Encrypted Client Hello in clients #63369type Config struct, EncryptedClientHelloRejectionVerify func(ConnectionState) error
crypto/tls: support Encrypted Client Hello in clients #63369type ConnectionState struct, ECHAccepted bool
crypto/tls: support Encrypted Client Hello in clients #63369type ECHRejectionError struct
crypto/tls: support Encrypted Client Hello in clients #63369type ECHRejectionError struct, RetryConfigList []uint8
crypto/tls: support Encrypted Client Hello in clients #63369type QUICConfig struct, EnableStoreSessionEvent bool
crypto/tls: improved 0-RTT QUIC APIs #63691type QUICEvent struct, SessionState *SessionState
crypto/tls: improved 0-RTT QUIC APIs #63691type QUICSessionTicketOptions struct, Extra [][]uint8
crypto/tls: improved 0-RTT QUIC APIs #63691crypto/x509
func ParseOID(string) (OID, error)
crypto/x509: make OID have text, binary marshal methods #66249method (*OID) UnmarshalBinary([]uint8) error
crypto/x509: make OID have text, binary marshal methods #66249method (*OID) UnmarshalText([]uint8) error
crypto/x509: make OID have text, binary marshal methods #66249method (OID) MarshalBinary() ([]uint8, error)
crypto/x509: make OID have text, binary marshal methods #66249method (OID) MarshalText() ([]uint8, error)
crypto/x509: make OID have text, binary marshal methods #66249debug/elf
const PT_OPENBSD_NOBTCFI = 1705237480
cmd/asm,cmd/compile: add support for control flow integrity #66054const PT_OPENBSD_NOBTCFI ProgType
cmd/asm,cmd/compile: add support for control flow integrity #66054const STT_GNU_IFUNC = 10
debug/elf: missing symbol type STT_GNU_IFUNC #66836const STT_GNU_IFUNC SymType
debug/elf: missing symbol type STT_GNU_IFUNC #66836const STT_RELC = 8
debug/elf: missing symbol type STT_GNU_IFUNC #66836const STT_RELC SymType
debug/elf: missing symbol type STT_GNU_IFUNC #66836const STT_SRELC = 9
debug/elf: missing symbol type STT_GNU_IFUNC #66836const STT_SRELC SymType
debug/elf: missing symbol type STT_GNU_IFUNC #66836encoding/binary
func Append([]uint8, ByteOrder, interface{}) ([]uint8, error)
encoding/binary: add func Append #60023func Decode([]uint8, ByteOrder, interface{}) (int, error)
encoding/binary: add func Append #60023func Encode([]uint8, ByteOrder, interface{}) (int, error)
encoding/binary: add func Append #60023go/ast
func Preorder(Node) iter.Seq[Node]
go/ast: add Preorder iterator #66339go/types
method (*Alias) Origin() *Alias
go/types: add Alias parameter methods #67143method (*Alias) Rhs() Type
go/types: add Alias.Rhs method #66559method (*Alias) SetTypeParams([]*TypeParam)
go/types: add Alias parameter methods #67143method (*Alias) TypeArgs() *TypeList
go/types: add Alias parameter methods #67143method (*Alias) TypeParams() *TypeParamList
go/types: add Alias parameter methods #67143method (*Func) Signature() *Signature
go/types: add Func.Signature method #65772iter
func Pull2[$0 interface{}, $1 interface{}](Seq2[$0, $1]) (func() ($0, $1, bool), func())
iter: new package for iterators #61897func Pull[$0 interface{}](Seq[$0]) (func() ($0, bool), func())
iter: new package for iterators #61897type Seq2[$0 interface{}, $1 interface{}] func(func($0, $1) bool)
iter: new package for iterators #61897type Seq[$0 interface{}] func(func($0) bool)
iter: new package for iterators #61897maps
func All[$0 interface{ ~map[$1]$2 }, $1 comparable, $2 interface{}]($0) iter.Seq2[$1, $2]
maps: add iterator-related functions #61900func Collect[$0 comparable, $1 interface{}](iter.Seq2[$0, $1]) map[$0]$1
maps: add iterator-related functions #61900func Insert[$0 interface{ ~map[$1]$2 }, $1 comparable, $2 interface{}]($0, iter.Seq2[$1, $2])
maps: add iterator-related functions #61900func Keys[$0 interface{ ~map[$1]$2 }, $1 comparable, $2 interface{}]($0) iter.Seq[$1]
maps: add iterator-related functions #61900func Values[$0 interface{ ~map[$1]$2 }, $1 comparable, $2 interface{}]($0) iter.Seq[$2]
maps: add iterator-related functions #61900math/rand/v2
func Uint() uint
math/rand/v2: revised API for math/rand #61716method (*ChaCha8) Read([]uint8) (int, error)
math/rand/v2: add ChaCha8.Read #67059method (*Rand) Uint() uint
math/rand/v2: revised API for math/rand #61716net
method (*DNSError) Unwrap() error
net: add UnwrapErr field and Unwrap method to *DNSError #63116method (*TCPConn) SetKeepAliveConfig(KeepAliveConfig) error
net: more detailed TCP keep-alive configuration #62254type DNSError struct, UnwrapErr error
net: add UnwrapErr field and Unwrap method to *DNSError #63116type Dialer struct, KeepAliveConfig KeepAliveConfig
net: more detailed TCP keep-alive configuration #62254type KeepAliveConfig struct
net: more detailed TCP keep-alive configuration #62254type KeepAliveConfig struct, Count int
net: more detailed TCP keep-alive configuration #62254type KeepAliveConfig struct, Enable bool
net: more detailed TCP keep-alive configuration #62254type KeepAliveConfig struct, Idle time.Duration
net: more detailed TCP keep-alive configuration #62254type KeepAliveConfig struct, Interval time.Duration
net: more detailed TCP keep-alive configuration #62254type ListenConfig struct, KeepAliveConfig KeepAliveConfig
net: more detailed TCP keep-alive configuration #62254net/http
func ParseCookie(string) ([]*Cookie, error)
net/http: add ParseCookie, ParseSetCookie #66008func ParseSetCookie(string) (*Cookie, error)
net/http: add ParseCookie, ParseSetCookie #66008method (*Request) CookiesNamed(string) []*Cookie
net/http: add Request.CookiesNamed #61472type Cookie struct, Partitioned bool
net/http: support partitioned cookies #62490type Cookie struct, Quoted bool
net/http: add field Cookie.Quoted bool #46443type Request struct, Pattern string
net/http: expose matched pattern in Request #66405net/http/httptest
func NewRequestWithContext(context.Context, string, string, io.Reader) *http.Request
net/http/httptest: add NewRequestWithContext #59473os
func CopyFS(string, fs.FS) error
os: add CopyFS #62484path/filepath
func Localize(string) (string, error)
path/filepath: add Localize to safely convert a slash-separated path into an operating system path #57151reflect
func SliceAt(Type, unsafe.Pointer, int) Value
reflect: add SliceAt function #61308method (Value) Seq() iter.Seq[Value]
reflect: add Type.CanSeq/CanSeq2 and Value.Seq/Seq2 methods #66056method (Value) Seq2() iter.Seq2[Value, Value]
reflect: add Type.CanSeq/CanSeq2 and Value.Seq/Seq2 methods #66056type Type interface, CanSeq() bool
reflect: add Type.CanSeq/CanSeq2 and Value.Seq/Seq2 methods #66056type Type interface, CanSeq2() bool
reflect: add Type.CanSeq/CanSeq2 and Value.Seq/Seq2 methods #66056type Type interface, OverflowComplex(complex128) bool
reflect: Overflow methods should be on Type #60427type Type interface, OverflowFloat(float64) bool
reflect: Overflow methods should be on Type #60427type Type interface, OverflowInt(int64) bool
reflect: Overflow methods should be on Type #60427type Type interface, OverflowUint(uint64) bool
reflect: Overflow methods should be on Type #60427runtime/debug
func SetCrashOutput(*os.File, CrashOptions) error
runtime/debug: add SetCrashOutput(file *os.File) #42888type CrashOptions struct
runtime/debug: add SetCrashOutput options #67182slices
func All[$0 interface{ ~[]$1 }, $1 interface{}]($0) iter.Seq2[int, $1]
slices: add iterator-related functions #61899func AppendSeq[$0 interface{ ~[]$1 }, $1 interface{}]($0, iter.Seq[$1]) $0
slices: add iterator-related functions #61899func Backward[$0 interface{ ~[]$1 }, $1 interface{}]($0) iter.Seq2[int, $1]
slices: add iterator-related functions #61899func Chunk[$0 interface{ ~[]$1 }, $1 interface{}]($0, int) iter.Seq[$0]
slices: add Chunk function to divide []T into [][]T chunks #53987func Collect[$0 interface{}](iter.Seq[$0]) []$0
slices: add iterator-related functions #61899func Repeat[$0 interface{ ~[]$1 }, $1 interface{}]($0, int) $0
slices: add Repeat function #65238func SortedFunc[$0 interface{}](iter.Seq[$0], func($0, $0) int) []$0
slices: add iterator-related functions #61899func SortedStableFunc[$0 interface{}](iter.Seq[$0], func($0, $0) int) []$0
slices: add iterator-related functions #61899func Sorted[$0 cmp.Ordered](iter.Seq[$0]) []$0
slices: add iterator-related functions #61899func Values[$0 interface{ ~[]$1 }, $1 interface{}]($0) iter.Seq[$1]
slices: add iterator-related functions #61899structs
type HostLayout struct
structs: add HostLayout "directive" type #66408sync
method (*Map) Clear()
sync: add Map.Clear method #61696sync/atomic
func AndInt32(*int32, int32) int32
sync/atomic: add OR/AND operators for unsigned types #61395func AndInt64(*int64, int64) int64
sync/atomic: add OR/AND operators for unsigned types #61395func AndUint32(*uint32, uint32) uint32
sync/atomic: add OR/AND operators for unsigned types #61395func AndUint64(*uint64, uint64) uint64
sync/atomic: add OR/AND operators for unsigned types #61395func AndUintptr(*uintptr, uintptr) uintptr
sync/atomic: add OR/AND operators for unsigned types #61395func OrInt32(*int32, int32) int32
sync/atomic: add OR/AND operators for unsigned types #61395func OrInt64(*int64, int64) int64
sync/atomic: add OR/AND operators for unsigned types #61395func OrUint32(*uint32, uint32) uint32
sync/atomic: add OR/AND operators for unsigned types #61395func OrUint64(*uint64, uint64) uint64
sync/atomic: add OR/AND operators for unsigned types #61395func OrUintptr(*uintptr, uintptr) uintptr
sync/atomic: add OR/AND operators for unsigned types #61395method (*Int32) And(int32) int32
sync/atomic: add OR/AND operators for unsigned types #61395method (*Int32) Or(int32) int32
sync/atomic: add OR/AND operators for unsigned types #61395method (*Int64) And(int64) int64
sync/atomic: add OR/AND operators for unsigned types #61395method (*Int64) Or(int64) int64
sync/atomic: add OR/AND operators for unsigned types #61395method (*Uint32) And(uint32) uint32
sync/atomic: add OR/AND operators for unsigned types #61395method (*Uint32) Or(uint32) uint32
sync/atomic: add OR/AND operators for unsigned types #61395method (*Uint64) And(uint64) uint64
sync/atomic: add OR/AND operators for unsigned types #61395method (*Uint64) Or(uint64) uint64
sync/atomic: add OR/AND operators for unsigned types #61395method (*Uintptr) And(uintptr) uintptr
sync/atomic: add OR/AND operators for unsigned types #61395method (*Uintptr) Or(uintptr) uintptr
sync/atomic: add OR/AND operators for unsigned types #61395syscall (windows-386)
const WSAENOPROTOOPT = 10042
net: more detailed TCP keep-alive configuration #62254const WSAENOPROTOOPT Errno
net: more detailed TCP keep-alive configuration #62254syscall (windows-amd64)
const WSAENOPROTOOPT = 10042
net: more detailed TCP keep-alive configuration #62254const WSAENOPROTOOPT Errno
net: more detailed TCP keep-alive configuration #62254unicode/utf16
func RuneLen(int32) int
unicode/utf16: add RuneLen #44940unique
func Make[$0 comparable]($0) Handle[$0]
unique: new package with unique.Handle #62483method (Handle[$0]) Value() $0
unique: new package with unique.Handle #62483type Handle[$0 comparable] struct
unique: new package with unique.Handle #62483CC @rsc, @ianlancetaylor, @golang/release.
The text was updated successfully, but these errors were encountered: