2015-01-18 17:00:10 -07:00
|
|
|
Overall:
|
2015-05-14 17:02:53 -06:00
|
|
|
- toolchain in Go
|
|
|
|
- new GC
|
2015-01-18 17:00:10 -07:00
|
|
|
|
2015-03-20 17:17:13 -06:00
|
|
|
Language:
|
2015-05-14 17:02:53 -06:00
|
|
|
- permit omission of key type in map composite literals where key is a composite literal (https://golang.org/cl/2591)
|
2015-03-20 17:17:13 -06:00
|
|
|
|
|
|
|
Build:
|
2015-05-14 17:02:53 -06:00
|
|
|
- Go 1.4 required to build (https://golang.org/cl/2470, https://golang.org/cl/2993)
|
2015-01-18 17:00:10 -07:00
|
|
|
|
2015-02-05 23:09:08 -07:00
|
|
|
New Ports:
|
2015-05-14 17:02:53 -06:00
|
|
|
- darwin/arm, a.k.a iOS. (https://golang.org/cl/2118, 2119, 3273, 2121, 2122, ..., 2127)
|
|
|
|
- darwin/arm64
|
|
|
|
- linux/arm64 (cgo is supported, but only with external linking)
|
|
|
|
- openbsd/arm (no cgo or external linking)
|
2015-04-27 17:28:16 -06:00
|
|
|
|
2015-03-14 06:53:31 -06:00
|
|
|
Removed Ports:
|
2015-05-14 17:02:53 -06:00
|
|
|
- dragonfly/386 (https://golang.org/cl/7543)
|
|
|
|
- The port to Snow Leopard (OS X 10.6) is no longer actively maintained.
|
|
|
|
|
|
|
|
Runtime:
|
|
|
|
- goroutine scheduling order changed; never guaranteed by language,
|
|
|
|
but can break tests that implicitly assume a specific execution
|
|
|
|
order
|
2015-03-14 06:53:31 -06:00
|
|
|
|
2015-01-02 15:35:55 -07:00
|
|
|
API additions and behavior changes:
|
|
|
|
|
2015-03-15 15:23:02 -06:00
|
|
|
archive/zip: add (*Writer).SetOffset method (https://golang.org/cl/7445)
|
2015-01-06 23:40:22 -07:00
|
|
|
bufio: add Reader.Discard (https://golang.org/cl/2260)
|
2015-04-03 17:51:08 -06:00
|
|
|
bytes: add Buffer.Cap (https://golang.org/cl/8342)
|
2015-04-06 17:20:45 -06:00
|
|
|
bytes, strings: add Reader.Size (https://golang.org/cl/3199)
|
2015-04-30 01:19:24 -06:00
|
|
|
bytes, strings: add LastIndexByte (https://golang.org/cl/9500)
|
2014-12-26 14:00:49 -07:00
|
|
|
crypto/cipher: clarify what will happen if len(src) != len(dst) for the Stream interface. (https://golang.org/cl/1754)
|
2015-01-18 17:00:10 -07:00
|
|
|
crypto/elliptic: add Name field to CurveParams struct (https://golang.org/cl/2133)
|
2015-04-28 10:42:21 -06:00
|
|
|
crypto/elliptic: Unmarshaling points now automatically checks that the point is on the curve (https://golang.org/cl/2421)
|
2014-12-18 19:47:12 -07:00
|
|
|
crypto/tls: change default minimum version to TLS 1.0. (https://golang.org/cl/1791)
|
2015-04-28 10:42:21 -06:00
|
|
|
crypto/tls: including Certificate Transparency SCTs in the handshake is now supported (https://golang.org/cl/8988)
|
|
|
|
crypto/tls: session ticket keys can now be rotated at runtime (https://golang.org/cl/9072)
|
|
|
|
crypto/tls: servers will now always call GetCertificate to pick a certificate for a connection when Certificates is empty (https://golang.org/cl/8792)
|
2015-02-24 17:06:08 -07:00
|
|
|
crypto/x509: wildcards are now only accepted as the first label (https://golang.org/cl/5691)
|
2015-04-28 10:42:21 -06:00
|
|
|
crypto/x509: unknown critical extensions now cause errors in Verify, not when parsing (https://golang.org/cl/9390)
|
2015-04-01 17:33:43 -06:00
|
|
|
database/sql: add Stats (https://golang.org/cl/7950)
|
2014-12-22 10:32:34 -07:00
|
|
|
encoding/base64: add unpadded encodings (https://golang.org/cl/1511)
|
2015-04-13 15:40:09 -06:00
|
|
|
flag: new nicer format for PrintDefaults (https://golang.org/cl/7330)
|
|
|
|
fmt: empty slices now print nothing with %x (bug fix) (https://golang.org/cl/8864)
|
2015-04-15 10:01:38 -06:00
|
|
|
fmt: reflect.Value now prints what it holds (https://golang.org/cl/8731)
|
2015-02-24 00:51:05 -07:00
|
|
|
go/ast: add Implicit field to ast.EmptyStmt; changed meaning of ast.EmptyStmt.Semicolon position (https://golang.org/cl/5720)
|
2015-05-05 19:17:24 -06:00
|
|
|
go/build: reserved GOARCHes for common architectures (https://golang.org/cl/9644)
|
2015-04-15 10:01:38 -06:00
|
|
|
io: add CopyBuffer, Copy with user-provided buffer (https://golang.org/cl/8730)
|
2015-01-30 09:01:14 -07:00
|
|
|
log: add SetOutput functions (https://golang.org/cl/2686, https://golang.org/cl/3023)
|
2015-04-10 20:32:10 -06:00
|
|
|
log: add LUTC flag (https://golang.org/cl/8761)
|
2015-03-20 17:17:13 -06:00
|
|
|
math/big: add arbitrary precision Floats (many cl's)
|
2015-04-30 09:34:21 -06:00
|
|
|
math/big: add Jacobi and Int.ModSqrt (https://golang.org/cl/1886)
|
2015-03-27 12:11:54 -06:00
|
|
|
mime: add ExtensionByType (https://golang.org/cl/7444)
|
2015-04-07 03:59:52 -06:00
|
|
|
mime/quotedprintable: new package (https://golang.org/cl/5940 + others)
|
2015-04-29 16:53:07 -06:00
|
|
|
net: add Source field to OpError (https://go-review.googlesource.com/9231)
|
2015-05-06 00:55:22 -06:00
|
|
|
net: fix inconsistent errors (https://golang.org/cl/9236)
|
2015-05-12 19:06:20 -06:00
|
|
|
net: add SocketConn, SocketPacketConn (https://golang.org/cl/9275)
|
2014-12-30 11:01:49 -07:00
|
|
|
net/http: support for setting trailers from a server Handler (https://golang.org/cl/2157)
|
2015-03-23 11:49:23 -06:00
|
|
|
net/http: ignore the Unix epoch time in ServeContent (https://golang.org/cl/7915)
|
2015-02-18 12:59:16 -07:00
|
|
|
net/http/cgi: fix REMOTE_ADDR, REMOTE_HOST, add REMOTE_PORT (https://golang.org/cl/4933)
|
2014-12-28 14:37:44 -07:00
|
|
|
net/smtp: add TLSConnectionState accessor (https://golang.org/cl/2151)
|
2015-05-06 10:30:52 -06:00
|
|
|
os: add LookupEnv (https://golang.org/cl/9791)
|
2015-02-16 14:27:20 -07:00
|
|
|
os/signal: add Ignore and Reset (https://golang.org/cl/3580)
|
2015-04-21 09:30:49 -06:00
|
|
|
reflect: add ArrayOf (https://golang.org/cl/4111)
|
2015-04-15 23:37:51 -06:00
|
|
|
reflect: add FuncOf (https://golang.org/cl/1996)
|
2015-01-18 17:00:10 -07:00
|
|
|
runtime, syscall: use SYSCALL instruction on FreeBSD (Go 1.5 now requires FreeBSD 8-STABLE+) (https://golang.org/cl/3020)
|
2015-03-24 20:31:35 -06:00
|
|
|
runtime, syscall: use get_random_bytes syscall for NaCl (Go 1.5 now requires NaCl SDK pepper-39 or above) (https://golang.org/cl/1755)
|
2015-05-18 13:38:56 -06:00
|
|
|
runtime/pprof: memory profiles include overall memory statistics by default (https://golang.org/cl/9491)
|
2015-01-18 17:00:10 -07:00
|
|
|
strings: add Compare(x, y string) int, for symmetry with bytes.Compare (https://golang.org/cl/2828)
|
2015-03-23 11:49:23 -06:00
|
|
|
syscall: Add Foreground and Pgid to SysProcAttr (https://golang.org/cl/5130)
|
|
|
|
syscall: add missing Syscall9 for darwin/amd64 (https://golang.org/cl/6555)
|
2015-02-04 10:32:44 -07:00
|
|
|
testing/quick: support generation of arrays (https://golang.org/cl/3865)
|
2015-04-03 17:51:08 -06:00
|
|
|
text/template: add Options method (https://golang.org/cl/8462)
|
2015-05-02 18:51:58 -06:00
|
|
|
text/template: huge integers are now parse errors (https://golang.org/cl/9651)
|
2015-04-10 14:19:20 -06:00
|
|
|
time: add time.AppendFormat(https://golang.org/cl/1760)
|
2015-01-02 15:35:55 -07:00
|
|
|
|
2015-01-12 16:16:30 -07:00
|
|
|
Tools:
|
|
|
|
|
2015-03-13 20:36:51 -06:00
|
|
|
build: external linking support for windows (https://golang.org/cl/7163, 7282, 7283, 7284, 7534, 7535)
|
2015-04-30 18:42:16 -06:00
|
|
|
cmd/cover: tool now lives in the standard repository (https://golang.org/cl/9560)
|
2015-04-07 17:20:38 -06:00
|
|
|
cmd/gc: constant arithmetic is based on math/big (https://golang.org/cl/7830, 7851, 7857, 8426, 7858, 7912, 8171)
|
2015-03-12 11:24:24 -06:00
|
|
|
cmd/go, go/build: add ${SRCDIR} variable expansion to cgo lines (https://golang.org/cl/1756)
|
2015-03-27 03:12:00 -06:00
|
|
|
cmd/go: add $DOLLAR to generate's variables (https://golang.org/cl/8091)
|
2015-02-22 10:48:16 -07:00
|
|
|
cmd/go: std wildcard now excludes commands in main repo (https://golang.org/cl/5550)
|
2015-03-06 10:48:08 -07:00
|
|
|
cmd/go: .swig/.swigcxx files now require SWIG 3.0.6 or later
|
2015-04-17 11:50:56 -06:00
|
|
|
cmd/go: add -run flag to go generate (https://golang.org/cl/9005)
|
2015-04-17 14:34:55 -06:00
|
|
|
cmd/go: add $GOLINE to generate's variables (https://golang.org/cl/9007)
|
2015-04-27 17:23:43 -06:00
|
|
|
cmd/go: add go doc (https://golang.org/cl/9227)
|
2015-01-12 16:16:30 -07:00
|
|
|
cmd/vet: better validation of struct tags (https://golang.org/cl/2685)
|
2015-02-02 16:53:24 -07:00
|
|
|
cmd/ld: no longer record build timestamp in Windows PE file header (https://golang.org/cl/3740)
|
2015-04-10 17:47:14 -06:00
|
|
|
cmd/go: add -toolexec build option
|
|
|
|
cmd/go: drop -ccflags build option
|
|
|
|
cmd/go: add -asmflags build option
|
|
|
|
cmd/go: add -buildmode build option
|
|
|
|
cmd/gc: add -dynlink option (for amd64 only)
|
|
|
|
cmd/ld: add -buildmode option
|
2015-02-23 13:17:20 -07:00
|
|
|
cmd/trace: new command to view traces (https://golang.org/cl/3601)
|
2015-01-02 15:35:55 -07:00
|
|
|
|
|
|
|
Performance:
|
|
|
|
|
2015-03-31 07:16:40 -06:00
|
|
|
cmd/gc: evaluate concrete == interface without allocating (https://golang.org/cl/2096)
|
2015-01-18 17:00:10 -07:00
|
|
|
cmd/gc: optimize memclr of slices and arrays (https://golang.org/cl/2520)
|
2015-03-27 07:25:25 -06:00
|
|
|
cmd/gc: transform closure calls to function calls (https://golang.org/cl/4050)
|
2015-03-31 07:16:40 -06:00
|
|
|
cmd/gc: transitive inlining (https://golang.org/cl/5952)
|
|
|
|
cmd/gc, runtime: speed up some cases of _, ok := i.(T) (https://golang.org/cl/7697)
|
|
|
|
cmd/gc: speed up large string switches (https://golang.org/cl/7698)
|
|
|
|
cmd/gc: inline x := y.(*T) and x, ok := y.(*T) (https://golang.org/cl/7862)
|
|
|
|
cmd/gc: allocate backing storage for non-escaping interfaces on stack (https://golang.org/cl/8201)
|
2015-03-27 07:25:25 -06:00
|
|
|
encoding/xml: avoid an allocation for tags without attributes (https://golang.org/cl/4160)
|
|
|
|
image: many optimizations
|
|
|
|
runtime: add ARM runtime.cmpstring and bytes.Compare (https://golang.org/cl/8010)
|
2015-05-14 17:02:53 -06:00
|
|
|
runtime: do not scan maps when k/v do not contain pointers (https://golang.org/cl/3288)
|
|
|
|
runtime: reduce thrashing of gs between ps (https://golang.org/cl/9872)
|
2015-01-18 17:00:10 -07:00
|
|
|
sort: number of Sort performance optimizations (https://golang.org/cl/2100, https://golang.org/cl/2614, ...)
|
2015-01-02 15:35:55 -07:00
|
|
|
strconv: optimize decimal to string conversion (https://golang.org/cl/2105)
|
2015-03-27 07:25:25 -06:00
|
|
|
strconv: optimize float to string conversion (https://golang.org/cl/5600)
|
|
|
|
sync: add active spinning to Mutex (https://golang.org/cl/5430)
|
2015-01-08 14:09:22 -07:00
|
|
|
math/big: faster assembly kernels for amd64 and 386 (https://golang.org/cl/2503, https://golang.org/cl/2560)
|
|
|
|
math/big: faster "pure Go" kernels for platforms w/o assembly kernels (https://golang.org/cl/2480)
|
2015-03-23 11:49:23 -06:00
|
|
|
regexp: port RE2's bitstate backtracker to the regexp package (https://golang.org/cl/2153)
|
2015-02-13 16:12:03 -07:00
|
|
|
|
|
|
|
Assembler:
|
|
|
|
|
2015-04-10 17:47:14 -06:00
|
|
|
New cmd/asm tool (now use go tool asm, not go tool 6a)
|
|
|
|
|
|
|
|
Assembler now supports -dynlink option.
|
|
|
|
|
2015-02-13 16:12:03 -07:00
|
|
|
ARM assembly syntax has had some features removed.
|
|
|
|
|
|
|
|
- mentioning SP or PC as a hardware register
|
|
|
|
These are always pseudo-registers except that in some contexts
|
|
|
|
they're not, and it's confusing because the context should not affect
|
|
|
|
which register you mean. Change the references to the hardware
|
|
|
|
registers to be explicit: R13 for SP, R15 for PC.
|
|
|
|
- constant creation using assignment
|
|
|
|
The files say a=b when they could instead say #define a b.
|
|
|
|
There is no reason to have both mechanisms.
|
|
|
|
- R(0) to refer to R0.
|
|
|
|
Some macros use this to a great extent. Again, it's easy just to
|
|
|
|
use a #define to rename a register.
|
|
|
|
|
|
|
|
Also expression evaluation now uses uint64s instead of signed integers and the
|
|
|
|
precedence of operators is now Go-like rather than C-like.
|