diff --git a/api/go1.12.txt b/api/go1.12.txt
new file mode 100644
index 0000000..865f04b
--- /dev/null
+++ b/api/go1.12.txt
@@ -0,0 +1,251 @@
+pkg bytes, func ReplaceAll([]uint8, []uint8, []uint8) []uint8
+pkg crypto/tls, const TLS_AES_128_GCM_SHA256 = 4865
+pkg crypto/tls, const TLS_AES_128_GCM_SHA256 uint16
+pkg crypto/tls, const TLS_AES_256_GCM_SHA384 = 4866
+pkg crypto/tls, const TLS_AES_256_GCM_SHA384 uint16
+pkg crypto/tls, const TLS_CHACHA20_POLY1305_SHA256 = 4867
+pkg crypto/tls, const TLS_CHACHA20_POLY1305_SHA256 uint16
+pkg crypto/tls, const VersionTLS13 = 772
+pkg crypto/tls, const VersionTLS13 ideal-int
+pkg crypto/tls, type RecordHeaderError struct, Conn net.Conn
+pkg debug/elf, const R_RISCV_32_PCREL = 57
+pkg debug/elf, const R_RISCV_32_PCREL R_RISCV
+pkg debug/pe, const IMAGE_FILE_MACHINE_ARMNT = 452
+pkg debug/pe, const IMAGE_FILE_MACHINE_ARMNT ideal-int
+pkg expvar, method (*Map) Delete(string)
+pkg go/doc, const PreserveAST = 4
+pkg go/doc, const PreserveAST Mode
+pkg go/importer, func ForCompiler(*token.FileSet, string, Lookup) types.Importer
+pkg go/token, method (*File) LineStart(int) Pos
+pkg io, type StringWriter interface { WriteString }
+pkg io, type StringWriter interface, WriteString(string) (int, error)
+pkg log, method (*Logger) Writer() io.Writer
+pkg math/bits, func Add(uint, uint, uint) (uint, uint)
+pkg math/bits, func Add32(uint32, uint32, uint32) (uint32, uint32)
+pkg math/bits, func Add64(uint64, uint64, uint64) (uint64, uint64)
+pkg math/bits, func Div(uint, uint, uint) (uint, uint)
+pkg math/bits, func Div32(uint32, uint32, uint32) (uint32, uint32)
+pkg math/bits, func Div64(uint64, uint64, uint64) (uint64, uint64)
+pkg math/bits, func Mul(uint, uint) (uint, uint)
+pkg math/bits, func Mul32(uint32, uint32) (uint32, uint32)
+pkg math/bits, func Mul64(uint64, uint64) (uint64, uint64)
+pkg math/bits, func Sub(uint, uint, uint) (uint, uint)
+pkg math/bits, func Sub32(uint32, uint32, uint32) (uint32, uint32)
+pkg math/bits, func Sub64(uint64, uint64, uint64) (uint64, uint64)
+pkg net/http, const StatusTooEarly = 425
+pkg net/http, const StatusTooEarly ideal-int
+pkg net/http, method (*Client) CloseIdleConnections()
+pkg os, const ModeType = 2401763328
+pkg os, func UserHomeDir() (string, error)
+pkg os, method (*ProcessState) ExitCode() int
+pkg os/exec, method (ExitError) ExitCode() int
+pkg reflect, method (*MapIter) Key() Value
+pkg reflect, method (*MapIter) Next() bool
+pkg reflect, method (*MapIter) Value() Value
+pkg reflect, method (Value) MapRange() *MapIter
+pkg reflect, type MapIter struct
+pkg runtime/debug, func ReadBuildInfo() (*BuildInfo, bool)
+pkg runtime/debug, type BuildInfo struct
+pkg runtime/debug, type BuildInfo struct, Deps []*Module
+pkg runtime/debug, type BuildInfo struct, Main Module
+pkg runtime/debug, type BuildInfo struct, Path string
+pkg runtime/debug, type Module struct
+pkg runtime/debug, type Module struct, Path string
+pkg runtime/debug, type Module struct, Replace *Module
+pkg runtime/debug, type Module struct, Sum string
+pkg runtime/debug, type Module struct, Version string
+pkg strings, func ReplaceAll(string, string, string) string
+pkg strings, method (*Builder) Cap() int
+pkg syscall (freebsd-386), const S_IRWXG = 56
+pkg syscall (freebsd-386), const S_IRWXG ideal-int
+pkg syscall (freebsd-386), const S_IRWXO = 7
+pkg syscall (freebsd-386), const S_IRWXO ideal-int
+pkg syscall (freebsd-386), func Fstatat(int, string, *Stat_t, int) error
+pkg syscall (freebsd-386), func Mknod(string, uint32, uint64) error
+pkg syscall (freebsd-386), type Dirent struct, Fileno uint64
+pkg syscall (freebsd-386), type Dirent struct, Namlen uint16
+pkg syscall (freebsd-386), type Dirent struct, Off int64
+pkg syscall (freebsd-386), type Dirent struct, Pad0 uint8
+pkg syscall (freebsd-386), type Dirent struct, Pad1 uint16
+pkg syscall (freebsd-386), type Stat_t struct, Atim Timespec
+pkg syscall (freebsd-386), type Stat_t struct, Atim_ext int32
+pkg syscall (freebsd-386), type Stat_t struct, Birthtim Timespec
+pkg syscall (freebsd-386), type Stat_t struct, Blksize int32
+pkg syscall (freebsd-386), type Stat_t struct, Btim_ext int32
+pkg syscall (freebsd-386), type Stat_t struct, Ctim Timespec
+pkg syscall (freebsd-386), type Stat_t struct, Ctim_ext int32
+pkg syscall (freebsd-386), type Stat_t struct, Dev uint64
+pkg syscall (freebsd-386), type Stat_t struct, Gen uint64
+pkg syscall (freebsd-386), type Stat_t struct, Ino uint64
+pkg syscall (freebsd-386), type Stat_t struct, Mtim Timespec
+pkg syscall (freebsd-386), type Stat_t struct, Mtim_ext int32
+pkg syscall (freebsd-386), type Stat_t struct, Nlink uint64
+pkg syscall (freebsd-386), type Stat_t struct, Padding0 int16
+pkg syscall (freebsd-386), type Stat_t struct, Padding1 int32
+pkg syscall (freebsd-386), type Stat_t struct, Rdev uint64
+pkg syscall (freebsd-386), type Stat_t struct, Spare [10]uint64
+pkg syscall (freebsd-386), type Statfs_t struct, Mntfromname [1024]int8
+pkg syscall (freebsd-386), type Statfs_t struct, Mntonname [1024]int8
+pkg syscall (freebsd-386-cgo), const S_IRWXG = 56
+pkg syscall (freebsd-386-cgo), const S_IRWXG ideal-int
+pkg syscall (freebsd-386-cgo), const S_IRWXO = 7
+pkg syscall (freebsd-386-cgo), const S_IRWXO ideal-int
+pkg syscall (freebsd-386-cgo), func Fstatat(int, string, *Stat_t, int) error
+pkg syscall (freebsd-386-cgo), func Mknod(string, uint32, uint64) error
+pkg syscall (freebsd-386-cgo), type Dirent struct, Fileno uint64
+pkg syscall (freebsd-386-cgo), type Dirent struct, Namlen uint16
+pkg syscall (freebsd-386-cgo), type Dirent struct, Off int64
+pkg syscall (freebsd-386-cgo), type Dirent struct, Pad0 uint8
+pkg syscall (freebsd-386-cgo), type Dirent struct, Pad1 uint16
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Atim Timespec
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Atim_ext int32
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Birthtim Timespec
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Blksize int32
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Btim_ext int32
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Ctim Timespec
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Ctim_ext int32
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Dev uint64
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Gen uint64
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Ino uint64
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Mtim Timespec
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Mtim_ext int32
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Nlink uint64
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Padding0 int16
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Padding1 int32
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Rdev uint64
+pkg syscall (freebsd-386-cgo), type Stat_t struct, Spare [10]uint64
+pkg syscall (freebsd-386-cgo), type Statfs_t struct, Mntfromname [1024]int8
+pkg syscall (freebsd-386-cgo), type Statfs_t struct, Mntonname [1024]int8
+pkg syscall (freebsd-amd64), const S_IRWXG = 56
+pkg syscall (freebsd-amd64), const S_IRWXG ideal-int
+pkg syscall (freebsd-amd64), const S_IRWXO = 7
+pkg syscall (freebsd-amd64), const S_IRWXO ideal-int
+pkg syscall (freebsd-amd64), func Fstatat(int, string, *Stat_t, int) error
+pkg syscall (freebsd-amd64), func Mknod(string, uint32, uint64) error
+pkg syscall (freebsd-amd64), type Dirent struct, Fileno uint64
+pkg syscall (freebsd-amd64), type Dirent struct, Namlen uint16
+pkg syscall (freebsd-amd64), type Dirent struct, Off int64
+pkg syscall (freebsd-amd64), type Dirent struct, Pad0 uint8
+pkg syscall (freebsd-amd64), type Dirent struct, Pad1 uint16
+pkg syscall (freebsd-amd64), type Stat_t struct, Atim Timespec
+pkg syscall (freebsd-amd64), type Stat_t struct, Birthtim Timespec
+pkg syscall (freebsd-amd64), type Stat_t struct, Blksize int32
+pkg syscall (freebsd-amd64), type Stat_t struct, Ctim Timespec
+pkg syscall (freebsd-amd64), type Stat_t struct, Dev uint64
+pkg syscall (freebsd-amd64), type Stat_t struct, Gen uint64
+pkg syscall (freebsd-amd64), type Stat_t struct, Ino uint64
+pkg syscall (freebsd-amd64), type Stat_t struct, Mtim Timespec
+pkg syscall (freebsd-amd64), type Stat_t struct, Nlink uint64
+pkg syscall (freebsd-amd64), type Stat_t struct, Padding0 int16
+pkg syscall (freebsd-amd64), type Stat_t struct, Padding1 int32
+pkg syscall (freebsd-amd64), type Stat_t struct, Rdev uint64
+pkg syscall (freebsd-amd64), type Stat_t struct, Spare [10]uint64
+pkg syscall (freebsd-amd64), type Statfs_t struct, Mntfromname [1024]int8
+pkg syscall (freebsd-amd64), type Statfs_t struct, Mntonname [1024]int8
+pkg syscall (freebsd-amd64-cgo), const S_IRWXG = 56
+pkg syscall (freebsd-amd64-cgo), const S_IRWXG ideal-int
+pkg syscall (freebsd-amd64-cgo), const S_IRWXO = 7
+pkg syscall (freebsd-amd64-cgo), const S_IRWXO ideal-int
+pkg syscall (freebsd-amd64-cgo), func Fstatat(int, string, *Stat_t, int) error
+pkg syscall (freebsd-amd64-cgo), func Mknod(string, uint32, uint64) error
+pkg syscall (freebsd-amd64-cgo), type Dirent struct, Fileno uint64
+pkg syscall (freebsd-amd64-cgo), type Dirent struct, Namlen uint16
+pkg syscall (freebsd-amd64-cgo), type Dirent struct, Off int64
+pkg syscall (freebsd-amd64-cgo), type Dirent struct, Pad0 uint8
+pkg syscall (freebsd-amd64-cgo), type Dirent struct, Pad1 uint16
+pkg syscall (freebsd-amd64-cgo), type Stat_t struct, Atim Timespec
+pkg syscall (freebsd-amd64-cgo), type Stat_t struct, Birthtim Timespec
+pkg syscall (freebsd-amd64-cgo), type Stat_t struct, Blksize int32
+pkg syscall (freebsd-amd64-cgo), type Stat_t struct, Ctim Timespec
+pkg syscall (freebsd-amd64-cgo), type Stat_t struct, Dev uint64
+pkg syscall (freebsd-amd64-cgo), type Stat_t struct, Gen uint64
+pkg syscall (freebsd-amd64-cgo), type Stat_t struct, Ino uint64
+pkg syscall (freebsd-amd64-cgo), type Stat_t struct, Mtim Timespec
+pkg syscall (freebsd-amd64-cgo), type Stat_t struct, Nlink uint64
+pkg syscall (freebsd-amd64-cgo), type Stat_t struct, Padding0 int16
+pkg syscall (freebsd-amd64-cgo), type Stat_t struct, Padding1 int32
+pkg syscall (freebsd-amd64-cgo), type Stat_t struct, Rdev uint64
+pkg syscall (freebsd-amd64-cgo), type Stat_t struct, Spare [10]uint64
+pkg syscall (freebsd-amd64-cgo), type Statfs_t struct, Mntfromname [1024]int8
+pkg syscall (freebsd-amd64-cgo), type Statfs_t struct, Mntonname [1024]int8
+pkg syscall (freebsd-arm), const S_IRWXG = 56
+pkg syscall (freebsd-arm), const S_IRWXG ideal-int
+pkg syscall (freebsd-arm), const S_IRWXO = 7
+pkg syscall (freebsd-arm), const S_IRWXO ideal-int
+pkg syscall (freebsd-arm), func Fstatat(int, string, *Stat_t, int) error
+pkg syscall (freebsd-arm), func Mknod(string, uint32, uint64) error
+pkg syscall (freebsd-arm), type Dirent struct, Fileno uint64
+pkg syscall (freebsd-arm), type Dirent struct, Namlen uint16
+pkg syscall (freebsd-arm), type Dirent struct, Off int64
+pkg syscall (freebsd-arm), type Dirent struct, Pad0 uint8
+pkg syscall (freebsd-arm), type Dirent struct, Pad1 uint16
+pkg syscall (freebsd-arm), type Stat_t struct, Atim Timespec
+pkg syscall (freebsd-arm), type Stat_t struct, Birthtim Timespec
+pkg syscall (freebsd-arm), type Stat_t struct, Blksize int32
+pkg syscall (freebsd-arm), type Stat_t struct, Ctim Timespec
+pkg syscall (freebsd-arm), type Stat_t struct, Dev uint64
+pkg syscall (freebsd-arm), type Stat_t struct, Gen uint64
+pkg syscall (freebsd-arm), type Stat_t struct, Ino uint64
+pkg syscall (freebsd-arm), type Stat_t struct, Mtim Timespec
+pkg syscall (freebsd-arm), type Stat_t struct, Nlink uint64
+pkg syscall (freebsd-arm), type Stat_t struct, Padding0 int16
+pkg syscall (freebsd-arm), type Stat_t struct, Padding1 int32
+pkg syscall (freebsd-arm), type Stat_t struct, Rdev uint64
+pkg syscall (freebsd-arm), type Stat_t struct, Spare [10]uint64
+pkg syscall (freebsd-arm), type Statfs_t struct, Mntfromname [1024]int8
+pkg syscall (freebsd-arm), type Statfs_t struct, Mntonname [1024]int8
+pkg syscall (freebsd-arm-cgo), const S_IRWXG = 56
+pkg syscall (freebsd-arm-cgo), const S_IRWXG ideal-int
+pkg syscall (freebsd-arm-cgo), const S_IRWXO = 7
+pkg syscall (freebsd-arm-cgo), const S_IRWXO ideal-int
+pkg syscall (freebsd-arm-cgo), func Fstatat(int, string, *Stat_t, int) error
+pkg syscall (freebsd-arm-cgo), func Mknod(string, uint32, uint64) error
+pkg syscall (freebsd-arm-cgo), type Dirent struct, Fileno uint64
+pkg syscall (freebsd-arm-cgo), type Dirent struct, Namlen uint16
+pkg syscall (freebsd-arm-cgo), type Dirent struct, Off int64
+pkg syscall (freebsd-arm-cgo), type Dirent struct, Pad0 uint8
+pkg syscall (freebsd-arm-cgo), type Dirent struct, Pad1 uint16
+pkg syscall (freebsd-arm-cgo), type Stat_t struct, Atim Timespec
+pkg syscall (freebsd-arm-cgo), type Stat_t struct, Birthtim Timespec
+pkg syscall (freebsd-arm-cgo), type Stat_t struct, Blksize int32
+pkg syscall (freebsd-arm-cgo), type Stat_t struct, Ctim Timespec
+pkg syscall (freebsd-arm-cgo), type Stat_t struct, Dev uint64
+pkg syscall (freebsd-arm-cgo), type Stat_t struct, Gen uint64
+pkg syscall (freebsd-arm-cgo), type Stat_t struct, Ino uint64
+pkg syscall (freebsd-arm-cgo), type Stat_t struct, Mtim Timespec
+pkg syscall (freebsd-arm-cgo), type Stat_t struct, Nlink uint64
+pkg syscall (freebsd-arm-cgo), type Stat_t struct, Padding0 int16
+pkg syscall (freebsd-arm-cgo), type Stat_t struct, Padding1 int32
+pkg syscall (freebsd-arm-cgo), type Stat_t struct, Rdev uint64
+pkg syscall (freebsd-arm-cgo), type Stat_t struct, Spare [10]uint64
+pkg syscall (freebsd-arm-cgo), type Statfs_t struct, Mntfromname [1024]int8
+pkg syscall (freebsd-arm-cgo), type Statfs_t struct, Mntonname [1024]int8
+pkg syscall (openbsd-386), const S_IRWXG = 56
+pkg syscall (openbsd-386), const S_IRWXG ideal-int
+pkg syscall (openbsd-386), const S_IRWXO = 7
+pkg syscall (openbsd-386), const S_IRWXO ideal-int
+pkg syscall (openbsd-386-cgo), const S_IRWXG = 56
+pkg syscall (openbsd-386-cgo), const S_IRWXG ideal-int
+pkg syscall (openbsd-386-cgo), const S_IRWXO = 7
+pkg syscall (openbsd-386-cgo), const S_IRWXO ideal-int
+pkg syscall (openbsd-amd64), const S_IRWXG = 56
+pkg syscall (openbsd-amd64), const S_IRWXG ideal-int
+pkg syscall (openbsd-amd64), const S_IRWXO = 7
+pkg syscall (openbsd-amd64), const S_IRWXO ideal-int
+pkg syscall (openbsd-amd64-cgo), const S_IRWXG = 56
+pkg syscall (openbsd-amd64-cgo), const S_IRWXG ideal-int
+pkg syscall (openbsd-amd64-cgo), const S_IRWXO = 7
+pkg syscall (openbsd-amd64-cgo), const S_IRWXO ideal-int
+pkg syscall (windows-386), const UNIX_PATH_MAX = 108
+pkg syscall (windows-386), const UNIX_PATH_MAX ideal-int
+pkg syscall (windows-386), func Syscall18(uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno)
+pkg syscall (windows-386), type RawSockaddrAny struct, Pad [100]int8
+pkg syscall (windows-386), type RawSockaddrUnix struct, Family uint16
+pkg syscall (windows-386), type RawSockaddrUnix struct, Path [108]int8
+pkg syscall (windows-amd64), const UNIX_PATH_MAX = 108
+pkg syscall (windows-amd64), const UNIX_PATH_MAX ideal-int
+pkg syscall (windows-amd64), func Syscall18(uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno)
+pkg syscall (windows-amd64), type RawSockaddrAny struct, Pad [100]int8
+pkg syscall (windows-amd64), type RawSockaddrUnix struct, Family uint16
+pkg syscall (windows-amd64), type RawSockaddrUnix struct, Path [108]int8
+pkg syscall, type RawSockaddrUnix struct
