OLD | NEW |
1 <!-- Weekly Snapshot History --> | 1 <!-- Weekly Snapshot History --> |
2 | 2 |
3 <p>This page summarizes the changes between tagged weekly snapshots of Go. | 3 <p>This page summarizes the changes between tagged weekly snapshots of Go. |
4 For full details, see the <a href="http://code.google.com/p/go/source/list">Merc
urial change log</a>.</p> | 4 For full details, see the <a href="http://code.google.com/p/go/source/list">Merc
urial change log</a>.</p> |
5 | 5 |
6 <p>Weekly snapshots occur often and may not be stable. | 6 <p>Weekly snapshots occur often and may not be stable. |
7 If stability of API and code is more important than having the | 7 If stability of API and code is more important than having the |
8 latest features, use the <a href="release.html">official releases</a> instead.</
p> | 8 latest features, use the <a href="release.html">official releases</a> instead.</
p> |
9 | 9 |
10 <p>To update to a specific snapshot, use:</p> | 10 <p>To update to a specific snapshot, use:</p> |
11 | 11 |
12 <pre> | 12 <pre> |
13 hg pull | 13 hg pull |
14 hg update weekly.<i>YYYY-MM-DD</i> | 14 hg update weekly.<i>YYYY-MM-DD</i> |
15 </pre> | 15 </pre> |
16 | 16 |
| 17 <h2 id="2011-10-18">2011-10-18</h2> |
| 18 |
| 19 <pre> |
| 20 This weekly snapshot includes some language and package changes that may |
| 21 require code changes. Please read these notes carefully, as there are many |
| 22 changes and your code will likely be affected. |
| 23 |
| 24 The syntax for map deletion has been changed. Code that looks like: |
| 25 m[x] = 0, false |
| 26 should be written as: |
| 27 delete(m, x) |
| 28 The compiler still accepts m[x] = 0, false for now; even so, you can use gofix |
| 29 to rewrite such assignments into delete(m, x). |
| 30 |
| 31 The Go compiler will reject a return statement without arguments when any of |
| 32 the result variables has been shadowed. Code rejected as a result of this |
| 33 change is likely to be buggy. |
| 34 |
| 35 Receive-only channels (<-chan T) cannot be closed. |
| 36 The compiler will diagnose such attempts. |
| 37 |
| 38 The first element of a map iteration is chosen at random. Code that depends on |
| 39 iteration order will need to be updated. |
| 40 |
| 41 Goroutines may be run during program initialization. |
| 42 |
| 43 A string may be appended to a byte slice. This code is now legal: |
| 44 var b []byte |
| 45 var s string |
| 46 b = append(b, s...) |
| 47 |
| 48 The gotry command and its associated try package have been deleted. |
| 49 It was a fun experiment that - in the end - didn't carry its weight. |
| 50 |
| 51 The gotype tool has been moved to exp/gotype and its associated go/types |
| 52 package has been moved to exp/types. The deprecated go/typechecker package has |
| 53 been deleted. |
| 54 |
| 55 The enbflint tool has been moved to pkg/exp/ebnflint and its associated ebnf |
| 56 package has been moved to pkg/exp/ebnf. |
| 57 |
| 58 The netchan package has been moved to old/netchan. |
| 59 |
| 60 The http/spdy package has been moved to exp/spdy. |
| 61 |
| 62 The exp/datafmt package has been deleted. |
| 63 |
| 64 The container/vector package has been deleted. Slices are better: |
| 65 http://code.google.com/p/go-wiki/wiki/SliceTricks |
| 66 |
| 67 Other changes: |
| 68 * 5l/6l/8l: correct ELFRESERVE diagnostic (thanks Anthony Martin). |
| 69 * 6l/8l: support OS X code signing (thanks Mikkel Krautz). |
| 70 * asn1: accept UTF8 strings as ASN.1 ANY values. |
| 71 * big: handle aliasing correctly for Rat.SetFrac. |
| 72 * build: add missing nuke target (thanks Anthony Martin), |
| 73 catch future accidental dependencies to exp or old packages, |
| 74 more robustly detect gold 2.20 (thanks Christopher Wedgwood), |
| 75 pass $GCFLAGS to compiler, |
| 76 stop on failed deps.bash. |
| 77 * crypto/tls: add 3DES ciphersuites, |
| 78 add server side SNI support, |
| 79 fetch root CA from Windows store (thanks Mikkel Krautz), |
| 80 fetch root certificates using Mac OS API (thanks Mikkel Krautz), |
| 81 fix broken looping code in windows root CA fetcher (thanks Mikkel Krautz
), |
| 82 more Unix root certificate locations. |
| 83 * crypto/x509: add code for dealing with PKIX public keys, |
| 84 keep the raw Subject and Issuer. |
| 85 * csv: fix overly aggressive TrimLeadingSpace. |
| 86 * exp/ssh: general cleanups for client support (thanks Dave Cheney). |
| 87 * exp/template/html: fix bug in cssEscaper. |
| 88 * exp/terminal: split terminal handling from exp/ssh. |
| 89 * exp/winfsnotify: filesystem watcher for Windows (thanks Hector Chu). |
| 90 * fmt: fix test relying on map iteration order. |
| 91 * gc: changes to export format in preparation for inlining, |
| 92 pass FlagNoPointers to runtime.new, |
| 93 preserve uint8 and byte distinction in errors and import data, |
| 94 stricter multiple assignment + test, |
| 95 treat uintptr as potentially containing a pointer. |
| 96 * go/scanner: remove AllowIllegalChars mode. |
| 97 * go/token: document deserialization property. |
| 98 * gob: avoid one copy for every message written. |
| 99 * godefs: add enum/const testdata (thanks Dave Cheney). |
| 100 * godoc: generate package toc in template, not in JavaScript, |
| 101 show "unexported" declarations when executing "godoc builtin", |
| 102 show correct source name with -path. |
| 103 * gofix: make fix order explicit, add mapdelete. |
| 104 * gofmt: fix //line handling, |
| 105 disallow rewrites for incomplete programs. |
| 106 * gotest: avoid conflicts with the name of the tested package (thanks Esko Luont
ola), |
| 107 test example code. |
| 108 * goyacc: clean up after units (thanks Anthony Martin), |
| 109 make more gofmt-compliant. |
| 110 * html: add a Render function, various bug fixes and improvements, |
| 111 parser improvements (thanks Andrew Balholm). |
| 112 * http: DoS protection: cap non-Handler Request.Body reads, |
| 113 RoundTrippers shouldn't mutate Request, |
| 114 avoid panic caused by nil URL (thanks Anthony Martin), |
| 115 fix read timeouts and closing, |
| 116 remove Request.RawURL. |
| 117 * image/tiff: implement PackBits decoding (thanks Benny Siegert). |
| 118 * ld: fix "cannot create 8.out.exe" (thanks Jaroslavas Počepko). |
| 119 * misc/emacs: add a "godoc" command, like M-x man (thanks Evan Martin). |
| 120 * misc/swig: delete binaries (thanks Anthony Martin). |
| 121 * misc/windows: automated toolchain packager (thanks Joe Poirier). |
| 122 * net/windows: implement ip protocol name to number resolver (thanks Alex Brainm
an). |
| 123 * net: add File method to IPConn (thanks Mikio Hara), |
| 124 allow LookupSRV on non-standard DNS names, |
| 125 fix "unexpected socket family" error from WriteToUDP (thanks Albert Stra
sheim), |
| 126 fix socket leak in case of Dial failure (thanks Chris Farmiloe), |
| 127 remove duplicate error information in Dial (thanks Andrey Mirtchovski), |
| 128 return error from CloseRead and CloseWrite (thanks Albert Strasheim), |
| 129 skip ICMP test on Windows too unless uid 0. |
| 130 * reflect: disallow Interface method on Value obtained via unexported name, |
| 131 make unsafe use of SliceHeader gc-friendly. |
| 132 * rpc: don't panic on write error. |
| 133 * runtime: faster strings, |
| 134 fix crash if user sets MemProfileRate=0, |
| 135 fix crash when returning from syscall during gc (thanks Hector Chu), |
| 136 fix memory leak in parallel garbage collector. |
| 137 * scanner: invalidate scanner.Position when no token is present. |
| 138 * spec: define order of multiple assignment. |
| 139 * syscall/windows: dll function load and calling changes (thanks Alex Brainman). |
| 140 * syscall: add #ifdefs to fix the manual corrections in ztypes_linux_arm.go (tha
nks Dave Cheney), |
| 141 adjust Mount to accomodate stricter FS implementations. |
| 142 * testing: fix time reported for failing tests. |
| 143 * utf8: add Valid and ValidString. |
| 144 * websocket: tweak hybi ReadHandshake to support Firefox (thanks Luca Greco). |
| 145 * xml: match Marshal's XMLName behavior in Unmarshal (thanks Chris Farmiloe). |
| 146 </pre> |
| 147 |
17 <h2 id="2011-10-06">2011-10-06</h2> | 148 <h2 id="2011-10-06">2011-10-06</h2> |
18 | 149 |
19 <pre> | 150 <pre> |
20 This weekly snapshot includes changes to the io, image, and math packages that | 151 This weekly snapshot includes changes to the io, image, and math packages that |
21 may require changes to client code. | 152 may require changes to client code. |
22 | 153 |
23 The io package's Copyn function has been renamed to CopyN. | 154 The io package's Copyn function has been renamed to CopyN. |
24 | 155 |
25 The math package's Fabs, Fdim, Fmax, Fmin and Fmod functions | 156 The math package's Fabs, Fdim, Fmax, Fmin and Fmod functions |
26 have been renamed to Abs, Dim, Max, Min, and Mod. | 157 have been renamed to Abs, Dim, Max, Min, and Mod. |
(...skipping 4136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4163 global channel lock is gone.· | 4294 global channel lock is gone.· |
4164 * sync: RWMutex now allows concurrent readers (thanks Péter Szabó)· | 4295 * sync: RWMutex now allows concurrent readers (thanks Péter Szabó)· |
4165 * template: can use maps as data (thanks James Meneghello)· | 4296 * template: can use maps as data (thanks James Meneghello)· |
4166 * unicode: updated to Unicode 5.2.· | 4297 * unicode: updated to Unicode 5.2.· |
4167 * websocket: new package (thanks Fumitoshi Ukai)· | 4298 * websocket: new package (thanks Fumitoshi Ukai)· |
4168 * xgb: preliminary X Go Bindings (thanks Tor Andersson)· | 4299 * xgb: preliminary X Go Bindings (thanks Tor Andersson)· |
4169 * xml: fixed crash (thanks Vish Subramanian)· | 4300 * xml: fixed crash (thanks Vish Subramanian)· |
4170 * misc: bbedit config (thanks Anthony Starks),· | 4301 * misc: bbedit config (thanks Anthony Starks),· |
4171 kate config (thanks Evan Shaw)· | 4302 kate config (thanks Evan Shaw)· |
4172 </pre> | 4303 </pre> |
OLD | NEW |