This is a tracking issue for doing an audit of API additions for Go 1.25 as of CL 676895.
New API changes for Go 1.25
crypto
func SignMessage(Signer, io.Reader, []uint8, SignerOpts) ([]uint8, error)#63405type MessageSigner interface { Public, Sign, SignMessage }#63405type MessageSigner interface, Public() PublicKey#63405type MessageSigner interface, Sign(io.Reader, []uint8, SignerOpts) ([]uint8, error)#63405type MessageSigner interface, SignMessage(io.Reader, []uint8, SignerOpts) ([]uint8, error)#63405
crypto/ecdsa
func ParseRawPrivateKey(elliptic.Curve, []uint8) (*PrivateKey, error)#63963func ParseUncompressedPublicKey(elliptic.Curve, []uint8) (*PublicKey, error)#63963method (*PrivateKey) Bytes() ([]uint8, error)#63963method (*PublicKey) Bytes() ([]uint8, error)#63963
crypto/sha3
method (*SHA3) Clone() (hash.Cloner, error)#69521
crypto/tls
type Config struct, GetEncryptedClientHelloKeys func(*ClientHelloInfo) ([]EncryptedClientHelloKey, error)#71920type ConnectionState struct, CurveID CurveID#67516
debug/elf
const PT_RISCV_ATTRIBUTES = 1879048195#72843const PT_RISCV_ATTRIBUTES ProgType#72843const SHT_RISCV_ATTRIBUTES = 1879048195#72843const SHT_RISCV_ATTRIBUTES SectionType#72843
go/ast
const FilterFuncDuplicates //deprecated#73088const FilterImportDuplicates //deprecated#73088const FilterUnassociatedComments //deprecated#73088func FilterPackage //deprecated#73088func MergePackageFiles //deprecated#73088func PackageExports //deprecated#73088func PreorderStack(Node, []Node, func(Node, []Node) bool)#73319type MergeMode //deprecated#73088
go/parser
func ParseDir //deprecated#71122
go/token
method (*FileSet) AddExistingFiles(...*File)#73205
go/types
const FieldVar = 6#70250const FieldVar VarKind#70250const LocalVar = 2#70250const LocalVar VarKind#70250const PackageVar = 1#70250const PackageVar VarKind#70250const ParamVar = 4#70250const ParamVar VarKind#70250const RecvVar = 3#70250const RecvVar VarKind#70250const ResultVar = 5#70250const ResultVar VarKind#70250func LookupSelection(Type, bool, *Package, string) (Selection, bool)#70737method (*Var) Kind() VarKind#70250method (*Var) SetKind(VarKind)#70250method (VarKind) String() string#70250type VarKind uint8#70250
hash
type Cloner interface { BlockSize, Clone, Reset, Size, Sum, Write }#69521type Cloner interface, BlockSize() int#69521type Cloner interface, Clone() (Cloner, error)#69521type Cloner interface, Reset()#69521type Cloner interface, Size() int#69521type Cloner interface, Sum([]uint8) []uint8#69521type Cloner interface, Write([]uint8) (int, error)#69521type XOF interface { BlockSize, Read, Reset, Write }#69518type XOF interface, BlockSize() int#69518type XOF interface, Read([]uint8) (int, error)#69518type XOF interface, Reset()#69518type XOF interface, Write([]uint8) (int, error)#69518
hash/maphash
method (*Hash) Clone() (hash.Cloner, error)#69521
io/fs
func Lstat(FS, string) (FileInfo, error)#49580func ReadLink(FS, string) (string, error)#49580type ReadLinkFS interface { Lstat, Open, ReadLink }#49580type ReadLinkFS interface, Lstat(string) (FileInfo, error)#49580type ReadLinkFS interface, Open(string) (File, error)#49580type ReadLinkFS interface, ReadLink(string) (string, error)#49580
log/slog
func GroupAttrs(string, ...Attr) Attr#66365method (Record) Source() *Source#70280
mime/multipart
func FileContentDisposition(string, string) string#46771
net/http
func NewCrossOriginProtection() *CrossOriginProtection#73626method (*CrossOriginProtection) AddInsecureBypassPattern(string)#73626method (*CrossOriginProtection) AddTrustedOrigin(string) error#73626method (*CrossOriginProtection) Check(*Request) error#73626method (*CrossOriginProtection) Handler(Handler) Handler#73626method (*CrossOriginProtection) SetDenyHandler(Handler)#73626type CrossOriginProtection struct#73626
os
method (*Root) Chmod(string, fs.FileMode) error#67002method (*Root) Chown(string, int, int) error#67002method (*Root) Chtimes(string, time.Time, time.Time) error#67002method (*Root) Lchown(string, int, int) error#67002method (*Root) Link(string, string) error#67002method (*Root) MkdirAll(string, fs.FileMode) error#67002method (*Root) ReadFile(string) ([]uint8, error)#73126method (*Root) Readlink(string) (string, error)#67002method (*Root) RemoveAll(string) error#67002method (*Root) Rename(string, string) error#67002method (*Root) Symlink(string, string) error#67002method (*Root) WriteFile(string, []uint8, fs.FileMode) error#73126
reflect
func TypeAssert[$0 interface{}](Value) ($0, bool)#62121
runtime
func SetDefaultGOMAXPROCS()#73193
runtime/trace
func NewFlightRecorder(FlightRecorderConfig) *FlightRecorder#63185method (*FlightRecorder) Enabled() bool#63185method (*FlightRecorder) Start() error#63185method (*FlightRecorder) Stop()#63185method (*FlightRecorder) WriteTo(io.Writer) (int64, error)#63185type FlightRecorder struct#63185type FlightRecorderConfig struct#63185type FlightRecorderConfig struct, MaxBytes uint64#63185type FlightRecorderConfig struct, MinAge time.Duration#63185
sync
method (*WaitGroup) Go(func())#63796
testing
method (*B) Attr(string, string)#43936method (*B) Output() io.Writer#59928method (*F) Attr(string, string)#43936method (*F) Output() io.Writer#59928method (*T) Attr(string, string)#43936method (*T) Output() io.Writer#59928type TB interface, Attr(string, string)#43936type TB interface, Output() io.Writer#59928
testing/fstest
method (MapFS) Lstat(string) (fs.FileInfo, error)#49580method (MapFS) ReadLink(string) (string, error)#49580
testing/synctest
func Test(*testing.T, func(*testing.T))#67434func Wait()#67434
unicode
var CategoryAliases map[string]string#70780var Cn *RangeTable#70780var LC *RangeTable#70780
CC @aclements, @ianlancetaylor, @golang/release.
Comment From: gabyhelp
Related Issues
- api: audit for Go 1.23 #67843 (closed)
- api: audit for Go 1.22 #64343 (closed)
- api: audit for Go 1.20 #57126 (closed)
- api: audit for Go 1.24 #70701 (closed)
- api: audit for Go 1.18 #51333 (closed)
- api: audit for Go 1.16 go1.16.txt #43407 (closed)
- api: audit for Go 1.19 #53310 (closed)
- api: audit for Go 1.14 go1.14.txt #36167 (closed)
- api: audit for Go 1.13 go1.13.txt #32813 (closed)
- api: audit for Go 1.15 go1.15.txt #39489 (closed)
(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)
Comment From: mateusz834
Also see #73937
Comment From: cherrymui
debug/elf, hash/maphash, os, reflect, runtime, runtime/trace, sync, and testing/synctest LGTM.
Comment From: cherrymui
@findleyr mentioned offline that go/* packages look good.
Comment From: aclements
All new APIs LGTM, with a few minor issues I'm tracking:
- [x] Possibly making the zero value of
net/http.CrossOriginProtectionusable. (Done) - [x] An open question about
go/types.EmbeddedFieldKind. (Resolved; no change required) - [x] Possibly landing CL 644255 in
x/cryptoso thatblake2bimplements the newhash.XOFinterface. Since this is anxrepo andx/crypto/blake2bis not vendored into std, this is less critical.