Skip to content

api: audit for Go 1.13 go1.13.txt #32813

@rsc

Description

@rsc

next.txt was copied to go1.13.txt but I am not sure an audit of that API happened.
Here is a tracking bug for it, with the netbsd-amd64 syscall additions removed (they're probably fine).

Missing approvals

debug/elf

Added in CL 184099:

  • pkg debug/elf, type Symbol struct, Library string
  • pkg debug/elf, type Symbol struct, Version string

errors

  • pkg errors, func As(error, interface{}) bool
  • pkg errors, func Is(error, error) bool
  • pkg errors, func Unwrap(error) error
  • pkg encoding/csv, method (*ParseError) Unwrap() error
  • pkg encoding/json, method (*MarshalerError) Unwrap() error
  • pkg net, method (*DNSConfigError) Unwrap() error
  • pkg net, method (*DNSError) Is(error) bool
  • pkg net, method (*OpError) Is(error) bool
  • pkg net, method (*OpError) Unwrap() error
  • pkg net, type DNSError struct, IsNotFound bool
  • pkg net/url, method (*Error) Unwrap() error
  • pkg os/exec, method (*Error) Unwrap() error
  • pkg os, method (*LinkError) Unwrap() error
  • pkg os, method (*PathError) Unwrap() error
  • pkg os, method (*SyscallError) Unwrap() error
  • pkg os, var ErrTemporary error
  • pkg os, var ErrTimeout error
  • pkg syscall, method (Errno) Is(error) bool
  • pkg text/template, method (ExecError) Unwrap() error

syscall

Added in CL 174197:

  • pkg syscall (windows-386), type SysProcAttr struct, ProcessAttributes *SecurityAttributes
  • pkg syscall (windows-386), type SysProcAttr struct, ThreadAttributes *SecurityAttributes
  • pkg syscall (windows-amd64), type SysProcAttr struct, ProcessAttributes *SecurityAttributes
  • pkg syscall (windows-amd64), type SysProcAttr struct, ThreadAttributes *SecurityAttributes

text/scanner

Likely revert:

  • pkg text/scanner, const AllowDigitSeparators = 1024
  • pkg text/scanner, const AllowDigitSeparators ideal-int

Approved But Missing From Release Notes

Post-approval: gri:

  • pkg text/scanner, const GoTokens = 2036

Approved in #29835:

  • pkg database/sql, method (*Conn) Raw(func(interface{}) error) error

Approved in #30064:

  • pkg go/token, func IsExported(string) bool
  • pkg go/token, func IsIdentifier(string) bool
  • pkg go/token, func IsKeyword(string) bool

Approved in #30638:

  • pkg os/exec, method (*Cmd) String() string

CL 175337 (adding RFC constant; post-approval: rsc):

  • pkg net/http, const SameSiteNoneMode = 4
  • pkg net/http, const SameSiteNoneMode SameSite

For #29655 (adding RFC constant; post-approval: rsc):

  • pkg net/http, const StatusEarlyHints = 103
  • pkg net/http, const StatusEarlyHints ideal-int

For #27945, approved separately:

  • pkg unicode, const Version = "11.0.0"
  • pkg unicode, var Dogra *RangeTable
  • pkg unicode, var Gunjala_Gondi *RangeTable
  • pkg unicode, var Hanifi_Rohingya *RangeTable
  • pkg unicode, var Makasar *RangeTable
  • pkg unicode, var Medefaidrin *RangeTable
  • pkg unicode, var Old_Sogdian *RangeTable
  • pkg unicode, var Sogdian *RangeTable

Approved

I am not sure we have a bug for the creation of crypto/ed25519, but I approved it at the time and it is in the release notes. That covers:

  • pkg crypto/ed25519, const PrivateKeySize = 64
  • pkg crypto/ed25519, const PrivateKeySize ideal-int
  • pkg crypto/ed25519, const PublicKeySize = 32
  • pkg crypto/ed25519, const PublicKeySize ideal-int
  • pkg crypto/ed25519, const SeedSize = 32
  • pkg crypto/ed25519, const SeedSize ideal-int
  • pkg crypto/ed25519, const SignatureSize = 64
  • pkg crypto/ed25519, const SignatureSize ideal-int
  • pkg crypto/ed25519, func GenerateKey(io.Reader) (PublicKey, PrivateKey, error)
  • pkg crypto/ed25519, func NewKeyFromSeed([]uint8) PrivateKey
  • pkg crypto/ed25519, func Sign(PrivateKey, []uint8) []uint8
  • pkg crypto/ed25519, func Verify(PublicKey, []uint8, []uint8) bool
  • pkg crypto/ed25519, method (PrivateKey) Public() crypto.PublicKey
  • pkg crypto/ed25519, method (PrivateKey) Seed() []uint8
  • pkg crypto/ed25519, method (PrivateKey) Sign(io.Reader, []uint8, crypto.SignerOpts) ([]uint8, error)
  • pkg crypto/ed25519, type PrivateKey []uint8
  • pkg crypto/ed25519, type PublicKey []uint8
  • pkg crypto/tls, const Ed25519 = 2055
  • pkg crypto/tls, const Ed25519 SignatureScheme
  • pkg crypto/x509, const Ed25519 = 4
  • pkg crypto/x509, const Ed25519 PublicKeyAlgorithm
  • pkg crypto/x509, const PureEd25519 = 16
  • pkg crypto/x509, const PureEd25519 SignatureAlgorithm

Post-approval: austin, thanm (comment below)

  • pkg debug/dwarf, method (*UnsupportedType) Common() *CommonType
  • pkg debug/dwarf, method (*UnsupportedType) Size() int64
  • pkg debug/dwarf, method (*UnsupportedType) String() string
  • pkg debug/dwarf, type UnsupportedType struct
  • pkg debug/dwarf, type UnsupportedType struct, embedded CommonType
  • pkg debug/dwarf, type UnsupportedType struct, Tag Tag

Post-approval: gri (comment below)

  • pkg go/constant, func Make(interface{}) Value
  • pkg go/constant, func Val(Value) interface{}
  • pkg go/types, func CheckExpr(*token.FileSet, *Package, token.Pos, ast.Expr, *Info) error

Approved in #25805:

  • pkg bytes, func ToValidUTF8([]uint8, []uint8) []uint8
  • pkg strings, func ToValidUTF8(string, string) string

Approved in #31231:

  • pkg database/sql, method (*NullInt32) Scan(interface{}) error
  • pkg database/sql, method (NullInt32) Value() (driver.Value, error)
  • pkg database/sql, method (*NullTime) Scan(interface{}) error
  • pkg database/sql, method (NullTime) Value() (driver.Value, error)
  • pkg database/sql, type NullInt32 struct
  • pkg database/sql, type NullInt32 struct, Int32 int32
  • pkg database/sql, type NullInt32 struct, Valid bool
  • pkg database/sql, type NullTime struct
  • pkg database/sql, type NullTime struct, Time time.Time
  • pkg database/sql, type NullTime struct, Valid bool

Approved in #28327:

  • pkg log, func Writer() io.Writer

Approved in #29578:

  • pkg math/big, method (*Int) TrailingZeroBits() uint

Approved in #29579:

  • pkg math/big, method (*Rat) SetUint64(uint64) *Rat

Approved in #23378:

  • pkg net, type ListenConfig struct, KeepAlive time.Duration

Approved in #30694:

  • pkg net/http, type Server struct, BaseContext func(net.Listener) context.Context
  • pkg net/http, type Server struct, ConnContext func(context.Context, net.Conn) context.Context

For #29915 (post-approval: rsc):

  • pkg net/http, method (Header) Clone() Header

For #23544 (post-approval: rsc):

  • pkg net/http, func NewRequestWithContext(context.Context, string, string, io.Reader) (*Request, error)
  • pkg net/http, method (*Request) Clone(context.Context) *Request

For #26013 (post-approval: rsc):

  • pkg net/http, method (*Transport) Clone() *Transport

For #27011 (post-approval: rsc):

  • pkg net/http, type Transport struct, ForceAttemptHTTP2 bool

For #22618 (post-approval: rsc):

  • pkg net/http, type Transport struct, ReadBufferSize int
  • pkg net/http, type Transport struct, WriteBufferSize int

These netbsd-ard64 are clearly OK (and all the syscall and log/syslog lines I have omitted):

  • pkg path/filepath (netbsd-arm64-cgo), const ListSeparator = 58
  • pkg path/filepath (netbsd-arm64-cgo), const Separator = 47
  • pkg path/filepath (netbsd-arm64), const ListSeparator = 58
  • pkg path/filepath (netbsd-arm64), const Separator = 47
  • pkg runtime (netbsd-arm64-cgo), const GOARCH = "arm64"
  • pkg runtime (netbsd-arm64-cgo), const GOOS = "netbsd"
  • pkg runtime (netbsd-arm64), const GOARCH = "arm64"
  • pkg runtime (netbsd-arm64), const GOOS = "netbsd"
  • pkg os (netbsd-arm64-cgo), const DevNull = "/dev/null"
  • pkg os (netbsd-arm64-cgo), const O_APPEND = 8
  • pkg os (netbsd-arm64-cgo), const O_CREATE = 512
  • pkg os (netbsd-arm64-cgo), const O_EXCL = 2048
  • pkg os (netbsd-arm64-cgo), const O_SYNC = 128
  • pkg os (netbsd-arm64-cgo), const O_TRUNC = 1024
  • pkg os (netbsd-arm64-cgo), const PathListSeparator = 58
  • pkg os (netbsd-arm64-cgo), const PathSeparator = 47
  • pkg os (netbsd-arm64), const DevNull = "/dev/null"
  • pkg os (netbsd-arm64), const O_APPEND = 8
  • pkg os (netbsd-arm64), const O_CREATE = 512
  • pkg os (netbsd-arm64), const O_EXCL = 2048
  • pkg os (netbsd-arm64), const O_SYNC = 128
  • pkg os (netbsd-arm64), const O_TRUNC = 1024
  • pkg os (netbsd-arm64), const PathListSeparator = 58
  • pkg os (netbsd-arm64), const PathSeparator = 47

Approved in #29960:

  • pkg os, func UserConfigDir() (string, error)

Approved in #7501:

  • pkg reflect, method (Value) IsZero() bool

Approved in #26037:

  • pkg testing, method (*B) ReportMetric(float64, string)
  • pkg testing, type BenchmarkResult struct, Extra map[string]float64

Approved in #21051:

  • pkg testing, func Init()

Approved in #28564:

  • pkg time, method (Duration) Microseconds() int64
  • pkg time, method (Duration) Milliseconds() int64

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions