Brad Fitzpatrick | fd2642b | 2015-01-18 16:00:10 -0800 | [diff] [blame] | 1 | Overall: |
Brad Fitzpatrick | 2b2f09b | 2015-03-23 10:49:23 -0700 | [diff] [blame] | 2 | toolchain in Go |
| 3 | new GC |
Brad Fitzpatrick | fd2642b | 2015-01-18 16:00:10 -0800 | [diff] [blame] | 4 | |
Robert Griesemer | 754bb71 | 2015-03-20 16:17:13 -0700 | [diff] [blame] | 5 | Language: |
| 6 | permit omission of key type in map composite literals where key is a composite literal (https://golang.org/cl/2591) |
| 7 | |
| 8 | Build: |
| 9 | Go 1.4 required to build (https://golang.org/cl/2470, https://golang.org/cl/2993) |
Brad Fitzpatrick | fd2642b | 2015-01-18 16:00:10 -0800 | [diff] [blame] | 10 | |
Shenghou Ma | 89669c6 | 2015-02-06 01:09:08 -0500 | [diff] [blame] | 11 | New Ports: |
Brad Fitzpatrick | 2b2f09b | 2015-03-23 10:49:23 -0700 | [diff] [blame] | 12 | darwin/arm, a.k.a iOS. (https://golang.org/cl/2118, 2119, 3273, 2121, 2122, ..., 2127) |
Shenghou Ma | 8ac129e | 2015-04-08 04:48:49 -0400 | [diff] [blame] | 13 | linux/arm64 (cgo is supported, but only with external linking) |
Shenghou Ma | 89669c6 | 2015-02-06 01:09:08 -0500 | [diff] [blame] | 14 | |
Joel Sing | 3e981d9 | 2015-03-14 23:53:31 +1100 | [diff] [blame] | 15 | Removed Ports: |
| 16 | dragonfly/386 (https://golang.org/cl/7543) |
| 17 | |
Brad Fitzpatrick | 0e05bd5 | 2015-01-02 14:35:55 -0800 | [diff] [blame] | 18 | API additions and behavior changes: |
| 19 | |
Shenghou Ma | dcf1ab3 | 2015-03-15 17:23:02 -0400 | [diff] [blame] | 20 | archive/zip: add (*Writer).SetOffset method (https://golang.org/cl/7445) |
Brad Fitzpatrick | 3ef3947 | 2015-01-06 22:40:22 -0800 | [diff] [blame] | 21 | bufio: add Reader.Discard (https://golang.org/cl/2260) |
Rob Pike | ea2c94e | 2015-04-03 16:51:08 -0700 | [diff] [blame] | 22 | bytes: add Buffer.Cap (https://golang.org/cl/8342) |
Josh Bleecher Snyder | ee54d57 | 2015-04-06 16:20:45 -0700 | [diff] [blame] | 23 | bytes, strings: add Reader.Size (https://golang.org/cl/3199) |
Shenghou Ma | 09d369f | 2014-12-26 16:00:49 -0500 | [diff] [blame] | 24 | crypto/cipher: clarify what will happen if len(src) != len(dst) for the Stream interface. (https://golang.org/cl/1754) |
Brad Fitzpatrick | fd2642b | 2015-01-18 16:00:10 -0800 | [diff] [blame] | 25 | crypto/elliptic: add Name field to CurveParams struct (https://golang.org/cl/2133) |
Brad Fitzpatrick | 7a8e897 | 2014-12-19 13:47:12 +1100 | [diff] [blame] | 26 | crypto/tls: change default minimum version to TLS 1.0. (https://golang.org/cl/1791) |
Adam Langley | b0d8cb6 | 2015-02-24 16:06:08 -0800 | [diff] [blame] | 27 | crypto/x509: wildcards are now only accepted as the first label (https://golang.org/cl/5691) |
Josh Bleecher Snyder | fb4b467 | 2015-04-01 16:33:43 -0700 | [diff] [blame] | 28 | database/sql: add Stats (https://golang.org/cl/7950) |
Josh Bleecher Snyder | 466118c | 2014-12-22 09:32:34 -0800 | [diff] [blame] | 29 | encoding/base64: add unpadded encodings (https://golang.org/cl/1511) |
Rob Pike | 0d1c027 | 2015-04-13 14:40:09 -0700 | [diff] [blame] | 30 | flag: new nicer format for PrintDefaults (https://golang.org/cl/7330) |
| 31 | fmt: empty slices now print nothing with %x (bug fix) (https://golang.org/cl/8864) |
Rob Pike | 40db92f | 2015-04-15 09:01:38 -0700 | [diff] [blame^] | 32 | fmt: reflect.Value now prints what it holds (https://golang.org/cl/8731) |
Robert Griesemer | 5ce9fde | 2015-02-23 23:51:05 -0800 | [diff] [blame] | 33 | go/ast: add Implicit field to ast.EmptyStmt; changed meaning of ast.EmptyStmt.Semicolon position (https://golang.org/cl/5720) |
Rob Pike | 40db92f | 2015-04-15 09:01:38 -0700 | [diff] [blame^] | 34 | io: add CopyBuffer, Copy with user-provided buffer (https://golang.org/cl/8730) |
Andrew Gerrand | da167b0 | 2015-01-30 16:01:14 +0000 | [diff] [blame] | 35 | log: add SetOutput functions (https://golang.org/cl/2686, https://golang.org/cl/3023) |
Rob Pike | 2539ccb | 2015-04-10 19:32:10 -0700 | [diff] [blame] | 36 | log: add LUTC flag (https://golang.org/cl/8761) |
Robert Griesemer | 754bb71 | 2015-03-20 16:17:13 -0700 | [diff] [blame] | 37 | math/big: add arbitrary precision Floats (many cl's) |
Josh Bleecher Snyder | 2f7ad52 | 2015-03-27 11:11:54 -0700 | [diff] [blame] | 38 | mime: add ExtensionByType (https://golang.org/cl/7444) |
Brad Fitzpatrick | 827a8a56 | 2015-04-07 11:59:52 +0200 | [diff] [blame] | 39 | mime/quotedprintable: new package (https://golang.org/cl/5940 + others) |
Brad Fitzpatrick | 7e56eee | 2014-12-30 10:01:49 -0800 | [diff] [blame] | 40 | net/http: support for setting trailers from a server Handler (https://golang.org/cl/2157) |
Brad Fitzpatrick | 2b2f09b | 2015-03-23 10:49:23 -0700 | [diff] [blame] | 41 | net/http: ignore the Unix epoch time in ServeContent (https://golang.org/cl/7915) |
Brad Fitzpatrick | bbf38e9 | 2015-02-18 11:59:16 -0800 | [diff] [blame] | 42 | net/http/cgi: fix REMOTE_ADDR, REMOTE_HOST, add REMOTE_PORT (https://golang.org/cl/4933) |
Brad Fitzpatrick | 3b76b01 | 2014-12-28 13:37:44 -0800 | [diff] [blame] | 43 | net/smtp: add TLSConnectionState accessor (https://golang.org/cl/2151) |
Michael MacInnis | a25e40d | 2015-02-16 16:27:20 -0500 | [diff] [blame] | 44 | os/signal: add Ignore and Reset (https://golang.org/cl/3580) |
Brad Fitzpatrick | fd2642b | 2015-01-18 16:00:10 -0800 | [diff] [blame] | 45 | runtime, syscall: use SYSCALL instruction on FreeBSD (Go 1.5 now requires FreeBSD 8-STABLE+) (https://golang.org/cl/3020) |
Shenghou Ma | e89fdb82 | 2015-03-24 22:31:35 -0400 | [diff] [blame] | 46 | 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) |
Brad Fitzpatrick | fd2642b | 2015-01-18 16:00:10 -0800 | [diff] [blame] | 47 | strings: add Compare(x, y string) int, for symmetry with bytes.Compare (https://golang.org/cl/2828) |
Brad Fitzpatrick | 2b2f09b | 2015-03-23 10:49:23 -0700 | [diff] [blame] | 48 | syscall: Add Foreground and Pgid to SysProcAttr (https://golang.org/cl/5130) |
| 49 | syscall: add missing Syscall9 for darwin/amd64 (https://golang.org/cl/6555) |
Josh Bleecher Snyder | 11c1227 | 2015-02-04 09:32:44 -0800 | [diff] [blame] | 50 | testing/quick: support generation of arrays (https://golang.org/cl/3865) |
Rob Pike | ea2c94e | 2015-04-03 16:51:08 -0700 | [diff] [blame] | 51 | text/template: add Options method (https://golang.org/cl/8462) |
Rob Pike | 49a5a97 | 2015-04-10 13:19:20 -0700 | [diff] [blame] | 52 | time: add time.AppendFormat(https://golang.org/cl/1760) |
Brad Fitzpatrick | 0e05bd5 | 2015-01-02 14:35:55 -0800 | [diff] [blame] | 53 | |
Rob Pike | 1a27c07 | 2015-01-13 10:16:30 +1100 | [diff] [blame] | 54 | Tools: |
| 55 | |
Shenghou Ma | 21aad02 | 2015-03-13 22:36:51 -0400 | [diff] [blame] | 56 | build: external linking support for windows (https://golang.org/cl/7163, 7282, 7283, 7284, 7534, 7535) |
Robert Griesemer | 2f16ddc | 2015-04-07 16:20:38 -0700 | [diff] [blame] | 57 | cmd/gc: constant arithmetic is based on math/big (https://golang.org/cl/7830, 7851, 7857, 8426, 7858, 7912, 8171) |
Shenghou Ma | 214fbd4 | 2015-03-12 13:24:24 -0400 | [diff] [blame] | 58 | cmd/go, go/build: add ${SRCDIR} variable expansion to cgo lines (https://golang.org/cl/1756) |
Damian Gryski | c754be8 | 2015-03-27 10:12:00 +0100 | [diff] [blame] | 59 | cmd/go: add $DOLLAR to generate's variables (https://golang.org/cl/8091) |
Russ Cox | 271a650 | 2015-02-22 12:48:16 -0500 | [diff] [blame] | 60 | cmd/go: std wildcard now excludes commands in main repo (https://golang.org/cl/5550) |
Ian Lance Taylor | 73a73e5 | 2015-03-06 09:48:08 -0800 | [diff] [blame] | 61 | cmd/go: .swig/.swigcxx files now require SWIG 3.0.6 or later |
Rob Pike | 1a27c07 | 2015-01-13 10:16:30 +1100 | [diff] [blame] | 62 | cmd/vet: better validation of struct tags (https://golang.org/cl/2685) |
Shenghou Ma | 9837620 | 2015-02-02 18:53:24 -0500 | [diff] [blame] | 63 | cmd/ld: no longer record build timestamp in Windows PE file header (https://golang.org/cl/3740) |
Ian Lance Taylor | 0eadcc8 | 2015-04-10 16:47:14 -0700 | [diff] [blame] | 64 | cmd/go: add -toolexec build option |
| 65 | cmd/go: drop -ccflags build option |
| 66 | cmd/go: add -asmflags build option |
| 67 | cmd/go: add -buildmode build option |
| 68 | cmd/gc: add -dynlink option (for amd64 only) |
| 69 | cmd/ld: add -buildmode option |
Brad Fitzpatrick | 715d017 | 2015-02-23 12:17:20 -0800 | [diff] [blame] | 70 | cmd/trace: new command to view traces (https://golang.org/cl/3601) |
Brad Fitzpatrick | 0e05bd5 | 2015-01-02 14:35:55 -0800 | [diff] [blame] | 71 | |
| 72 | Performance: |
| 73 | |
Brad Fitzpatrick | f8fd550 | 2015-03-31 06:16:40 -0700 | [diff] [blame] | 74 | cmd/gc: evaluate concrete == interface without allocating (https://golang.org/cl/2096) |
Brad Fitzpatrick | fd2642b | 2015-01-18 16:00:10 -0800 | [diff] [blame] | 75 | cmd/gc: optimize memclr of slices and arrays (https://golang.org/cl/2520) |
Brad Fitzpatrick | ffc2299 | 2015-03-27 14:25:25 +0100 | [diff] [blame] | 76 | cmd/gc: transform closure calls to function calls (https://golang.org/cl/4050) |
Brad Fitzpatrick | f8fd550 | 2015-03-31 06:16:40 -0700 | [diff] [blame] | 77 | cmd/gc: transitive inlining (https://golang.org/cl/5952) |
| 78 | cmd/gc, runtime: speed up some cases of _, ok := i.(T) (https://golang.org/cl/7697) |
| 79 | cmd/gc: speed up large string switches (https://golang.org/cl/7698) |
| 80 | cmd/gc: inline x := y.(*T) and x, ok := y.(*T) (https://golang.org/cl/7862) |
| 81 | cmd/gc: allocate backing storage for non-escaping interfaces on stack (https://golang.org/cl/8201) |
Brad Fitzpatrick | ffc2299 | 2015-03-27 14:25:25 +0100 | [diff] [blame] | 82 | encoding/xml: avoid an allocation for tags without attributes (https://golang.org/cl/4160) |
| 83 | image: many optimizations |
| 84 | runtime: add ARM runtime.cmpstring and bytes.Compare (https://golang.org/cl/8010) |
Brad Fitzpatrick | fd2642b | 2015-01-18 16:00:10 -0800 | [diff] [blame] | 85 | sort: number of Sort performance optimizations (https://golang.org/cl/2100, https://golang.org/cl/2614, ...) |
Brad Fitzpatrick | 0e05bd5 | 2015-01-02 14:35:55 -0800 | [diff] [blame] | 86 | strconv: optimize decimal to string conversion (https://golang.org/cl/2105) |
Brad Fitzpatrick | ffc2299 | 2015-03-27 14:25:25 +0100 | [diff] [blame] | 87 | strconv: optimize float to string conversion (https://golang.org/cl/5600) |
| 88 | sync: add active spinning to Mutex (https://golang.org/cl/5430) |
Robert Griesemer | fbe2845 | 2015-01-08 13:09:22 -0800 | [diff] [blame] | 89 | math/big: faster assembly kernels for amd64 and 386 (https://golang.org/cl/2503, https://golang.org/cl/2560) |
| 90 | math/big: faster "pure Go" kernels for platforms w/o assembly kernels (https://golang.org/cl/2480) |
Brad Fitzpatrick | 2b2f09b | 2015-03-23 10:49:23 -0700 | [diff] [blame] | 91 | regexp: port RE2's bitstate backtracker to the regexp package (https://golang.org/cl/2153) |
Rob Pike | 94d0b38 | 2015-02-13 15:12:03 -0800 | [diff] [blame] | 92 | |
| 93 | Assembler: |
| 94 | |
Ian Lance Taylor | 0eadcc8 | 2015-04-10 16:47:14 -0700 | [diff] [blame] | 95 | New cmd/asm tool (now use go tool asm, not go tool 6a) |
| 96 | |
| 97 | Assembler now supports -dynlink option. |
| 98 | |
Rob Pike | 94d0b38 | 2015-02-13 15:12:03 -0800 | [diff] [blame] | 99 | ARM assembly syntax has had some features removed. |
| 100 | |
| 101 | - mentioning SP or PC as a hardware register |
| 102 | These are always pseudo-registers except that in some contexts |
| 103 | they're not, and it's confusing because the context should not affect |
| 104 | which register you mean. Change the references to the hardware |
| 105 | registers to be explicit: R13 for SP, R15 for PC. |
| 106 | - constant creation using assignment |
| 107 | The files say a=b when they could instead say #define a b. |
| 108 | There is no reason to have both mechanisms. |
| 109 | - R(0) to refer to R0. |
| 110 | Some macros use this to a great extent. Again, it's easy just to |
| 111 | use a #define to rename a register. |
| 112 | |
| 113 | Also expression evaluation now uses uint64s instead of signed integers and the |
| 114 | precedence of operators is now Go-like rather than C-like. |