diff options
-rw-r--r-- | doc/devel/release.html | 77 | ||||
-rw-r--r-- | doc/devel/weekly.html | 190 |
2 files changed, 265 insertions, 2 deletions
diff --git a/doc/devel/release.html b/doc/devel/release.html index feb433f146..458a116de2 100644 --- a/doc/devel/release.html +++ b/doc/devel/release.html @@ -14,6 +14,81 @@ hg pull hg update release.r<i>NN</i> </pre> +<h2 id="r60">r60 (released 2011/09/07)</h2> + +<p> +The r60 release corresponds to +<code><a href="weekly.html#2011-08-17">weekly.2011-08-17</a></code>. +This section highlights the most significant changes in this release. +For a more detailed summary, see the +<a href="weekly.html#2011-08-17">weekly release notes</a>. +For complete information, see the +<a href="http://code.google.com/p/go/source/list?r=release-branch.r60">Mercurial change list</a>. +</p> + +<h3 id="r60.lang">Language</h3> + +<p> +An "else" block is now required to have braces except if the body of the "else" +is another "if". Since gofmt always puts those braces in anyway, +gofmt-formatted programs will not be affected. +To fix other programs, run gofmt. +</p> + +<h3 id="r60.pkg">Packages</h3> + +<p> +<a href="/pkg/http/">Package http</a>'s URL parsing and query escaping code +(such as <code>ParseURL</code> and <code>URLEscape</code>) has been moved to +the new <a href="/pkg/url/">url package</a>, with several simplifications to +the names. Client code can be updated automatically with gofix. +</p> + +<p> +<a href="/pkg/image/">Package image</a> has had significant changes made to the +<code>Pix</code> field of struct types such as +<a href="/pkg/image/#RGBA">image.RGBA</a> and +<a href="/pkg/image/#NRGBA">image.NRGBA</a>. +The <a href="/pkg/image/#Image">image.Image</a> interface type has not changed, +though, and you should not need to change your code if you don't explicitly +refer to <code>Pix</code> fields. For example, if you decode a number of images +using the <a href="/pkg/image/jpeg/">image/jpeg</a> package, compose them using +<a href="/pkg/image/draw/">image/draw</a>, and then encode the result using +<a href="/pkg/img/png">image/png</a>, then your code should still work as +before. +If your code <i>does</i> refer to <code>Pix</code> fields see the +<a href="/doc/devel/weekly.html#2011-07-19">weekly.2011-07-19</a> +snapshot notes for how to update your code. +</p> + +<p> +<a href="/pkg/template/">Package template</a> has been replaced with a new +templating package (formerly <code>exp/template</code>). The original template +package is still available as <a href="/pkg/old/template/">old/template</a>. +The <code>old/template</code> package is deprecated and will be removed. +The Go tree has been updated to use the new template package. We encourage +users of the old template package to switch to the new one. Code that uses +<code>template</code> or <code>exp/template</code> will need to change its +import lines to <code>"old/template"</code> or <code>"template"</code>, +respectively. +</p> + +<h3 id="r60.cmd">Tools</h3> + +<p> +<a href="/cmd/goinstall/">Goinstall</a> now uses a new tag selection scheme. +When downloading or updating, goinstall looks for a tag or branch with the +<code>"go."</code> prefix that corresponds to the local Go version. For Go +<code>release.r58</code> it looks for <code>go.r58</code>. For +<code>weekly.2011-06-03</code> it looks for <code>go.weekly.2011-06-03</code>. +If the specific <code>go.X</code> tag or branch is not found, it chooses the +closest earlier version. If an appropriate tag or branch is found, goinstall +uses that version of the code. Otherwise it uses the default version selected +by the version control system. Library authors are encouraged to use the +appropriate tag or branch names in their repositories to make their libraries +more accessible. +</p> + <h2 id="r59">r59 (released 2011/08/01)</h2> <p> @@ -323,7 +398,7 @@ Remember that gofix will handle the bulk of the rewrites necessary for these changes to package APIs. </p> -<h3 id="r57.tool">Tools</h3> +<h3 id="r57.cmd">Tools</h3> <p><a href="/cmd/gofix/">Gofix</a>, a new command, is described above.</p> diff --git a/doc/devel/weekly.html b/doc/devel/weekly.html index 5a9e3d99e3..d984d3b1ba 100644 --- a/doc/devel/weekly.html +++ b/doc/devel/weekly.html @@ -14,7 +14,195 @@ hg pull hg update weekly.<i>YYYY-MM-DD</i> </pre> -<h2 id="2011-08-17">2011-08-17</h2> +<h2 id="2011-09-07">2011-09-07</h2> + +<pre> +This weekly snapshot consists of improvements and bug fixes, including fixes +for issues introduced by escape analysis changes in the gc compiler. + +* build: clear execute bit from Go files (thanks Mike Rosset), + error out if problem with sudo.bash /usr/local/bin (thanks Mike Rosset). +* exp/norm: add Reader and Writer, + performance improvements of quickSpan. +* exp/regexp: bug fixes and RE2 tests. +* exp/template/html: string replacement refactoring, + tweaks to js{,_test}.go. +* gc: add -p flag to catch import cycles earlier, + fix label recursion bugs, + fix zero-length struct eval, + zero stack-allocated slice backing arrays, +* gc, ld: fix Windows file paths (thanks Hector Chu). +* go/parser: accept corner cases of signature syntax. +* gobuilder: ignore _test.go files when looking for docs, more logging. +* godoc: minor tweaks for App Engine use. +* gofix: do not convert url in field names (thanks Gustavo Niemeyer). +* gofmt: indent multi-line signatures. +* gopprof: regexp fixes (thanks Hector Chu). +* image/png: check zlib checksum during Decode. +* libmach: fix incorrect use of memset (thanks Dave Cheney). +* misc/goplay: fix template output. +* net: ParseCIDR returns IPNet instead of IPMask (thanks Mikio Hara), + sync CIDRMask code, doc. +* os: use GetFileAttributesEx to implement Stat on windows (thanks Alex Brainman). +* runtime: fix openbsd 386 raisesigpipe, + implement exception handling on windows/amd64 (thanks Hector Chu), + test for concurrent channel consumers (thanks Christopher Wedgwood). +* sort: use heapsort to bail out quicksort (thanks Ziad Hatahet). +* sync/atomic: add LoadUintptr, add Store functions. +* syscall: update routing message attributes handling (thanks Mikio Hara). +* template: fix deadlock, + indirect or dereference function arguments if necessary, + slightly simplify the test for assignability of arguments. +* url: handle ; in ParseQuery. +* websocket: fix incorrect prints found by govet (thanks Robert Hencke). +</pre> + +<h2 id="2011-09-01">2011-09-01</h2> + +<pre> +This weekly contains performance improvements and bug fixes. + +The gc compiler now does escape analysis, which improves program performance +by placing variables on the call stack instead of the heap when it is safe to +do so. + +The container/vector package is deprecated and will be removed at some point +in the future. + +Other changes: +* archive/tar: support symlinks. (thanks Mike Rosset) +* big: fix nat.scan bug. (thanks Evan Shaw) +* bufio: handle a "\r\n" that straddles the buffer. + add openbsd. + avoid redundant bss declarations. + fix unused parameters. + fix windows/amd64 build with newest mingw-w64. (thanks Hector Chu) +* bytes: clarify that NewBuffer is not for beginners. +* cgo: explain how to free something. + fix GoBytes. (thanks Gustavo Niemeyer) + fixes callback for windows amd64. (thanks Wei Guangjing) + note that CString result must be freed. (thanks Gustavo Niemeyer) +* cov: remove tautological #defines. (thanks Lucio De Re) +* dashboard: yet another utf-8 fix. +* doc/codelab/wiki: fix Makefile. +* doc/progs: fix windows/amd64. (thanks Jaroslavas Počepko) +* doc/tmpltohtml: update to new template package. +* doc: emphasize that environment variables are optional. +* effective_go: convert to use tmpltohtml. +* exp/norm: reduced the size of the byte buffer used by reorderBuffer by half by reusing space when combining. + a few minor fixes to support the implementation of norm. + added implementation for []byte versions of methods. +* exp/template/html: add some tests for ">" attributes. + added handling for URL attributes. + differentiate URL-valued attributes (such as href). + reworked escapeText to recognize attr boundaries. +* exp/wingui: made compatible with windows/amd64. (thanks Jaroslavas Počepko) +* flag: add Parsed, restore Usage. +* gc: add openbsd. + escape analysis. + fix build on Plan 9. (thanks Lucio De Re) + fix div bug. + fix pc/line table. (thanks Julian Phillips) + fix some spurious leaks. + make static initialization more static. + remove JCXZ; add JCXZW, JCXZL, and JCXZQ instructions. (thanks Jaroslavas Počepko) + shuffle #includes. + simplify escape analysis recursion. + tweak and enable escape analysis. +* go/ast cleanup: base File/PackageExports on FilterFile/FilterPackage code. + adjustments to filter function. + fix ast.MergePackageFiles to collect infos about imports. (thanks Sebastien Binet) + generalize ast.FilterFile. +* go/build: add test support & use in gotest. + separate test imports out when scanning. (thanks Gustavo Niemeyer) +* go/parser: fix type switch scoping. + fix type switch scoping. +* gob: explain that Debug isn't useful unless it's compiled in. +* gobuilder: increase log limit. +* godashboard: fix utf-8 in user names. +* godoc: first step towards reducing index size. + add dummy playground.js to silence godoc warning at start-up. + added systematic throttling to indexing goroutine. + fix bug in zip.go. + support for reading/writing (splitted) index files. + use virtual file system when generating package synopses. +* gofix: forgot to rename the URL type. + osopen: fixed=true when changing O_CREAT. (thanks Tarmigan Casebolt) +* goinstall: error out with paths that end with '/'. (thanks Tarmigan Casebolt) + report lack of $GOPATH on errors. (thanks Gustavo Niemeyer) + select the tag that is closest to runtime.Version. +* gotry: add missing $. (thanks Tarmigan Casebolt) +* http: add MaxBytesReader to limit request body size. + add file protocol transport. + adjust test threshold for larger suse buffers. + delete error kludge. + on invalid request, send 400 response. + return 413 instead of 400 when the request body is too large. (thanks Dave Cheney) + support setting Transport's TLS client config. +* image/tiff: add a decode benchmark. (thanks Benny Siegert) + decoder optimization. (thanks Benny Siegert) +* image: add PalettedImage interface, and make image/png recognize it. (thanks Jaroslavas Počepko) +* io: add TeeReader. (thanks Hector Chu) +* json: add struct tag option to wrap literals in strings. + calculate Offset for Indent correctly. (thanks Jeff Hodges) + fix decode bug with struct tag names with ,opts being ignored. +* ld: handle Plan 9 ar format. (thanks Lucio De Re) + remove duplicate bss definitions. +* libmach: support reading symbols from Windows .exe for nm. (thanks Mateusz Czapliński) +* math: fix Pow10 loop. (thanks Volker Dobler) +* mime: ParseMediaType returns os.Error now, not a nil map. + media type formatter. (thanks Pascal S. de Kloe) + text charset defaults. (thanks Pascal S. de Kloe) +* misc/dashboard: remove limit for json package list. +* misc/emacs: refine label detection. +* net: add ParseMAC function. (thanks Paul Borman) + change the internal form of IPMask for IPv4. (thanks Mikio Hara) + disable "tcp" test on openbsd. + fix windows build. (thanks Alex Brainman) + join and leave a IPv6 group address, on a specific interface. (thanks Mikio Hara) + make use of IPv4len, IPv6len. (thanks Mikio Hara) + move internal string manipulation routines to parse.go. (thanks Mikio Hara) +* os: disable Hostname test on OpenBSD. + fix WNOHANG Waitmsg. (thanks Gustavo Niemeyer) +* reflect: add Value.Bytes, Value.SetBytes methods. +* rpc: add benchmark for async rpc calls. +* runtime: add openbsd 386 defs.h. + add runtime support for openbsd 386. + add runtime· prefix to showframe. + ctrlhandler for windows amd64. (thanks Wei Guangjing) + fix stack cleanup on windows/amd64. (thanks Hector Chu) + fix void warnings. + go interface to cdecl calbacks. (thanks Jaroslavas Počepko) + handle string + char literals in goc2c. + make arm work on Ubuntu Natty qemu. + openbsd thread tweaks. + simplify stack traces. + speed up cgo calls. (thanks Alex Brainman) + use cgo runtime functions to call windows syscalls. (thanks Alex Brainman) + windows/amd64 callbacks fixed and syscall fixed to allow using it in callbacks. (thanks Jaroslavas Počepko) +* strconv: put decimal on stack. +* spec: update section on Implementation Differences. +* syscall: SOMAXCONN should be 0x7fffffff at winsock2. (thanks Yasuhiro Matsumoto) + add openbsd 386. + handle RTM_NEWROUTE in ParseNetlinkRouteAttr on Linux. (thanks Albert Strasheim) + handle routing entry in ParseRoutingSockaddr on BSD variants. (thanks Mikio Hara) + openbsd amd64 syscall support. + use the vdso page on linux x86 for faster syscalls instead of int $0x80. (thanks Yuval Pavel Zholkover) +* template/parse: give if, range, and with a common representation. +* template: grammar fix for template documentation. (thanks Bill Neubauer) + range over channel. + remove else and end nodes from public view. +* test: put GOROOT/bin before all others in run. +* time: fix Plan 9 build. (thanks Fazlul Shahriar) + fix zone during windows test. +* type switches: test for pathological case. +* version.bash: update VERSION on -save if already present. (thanks Gustavo Niemeyer) +* websocket: implements new version of WebSocket protocol. (thanks Fumitoshi Ukai) +* windows/386: clean stack after syscall. (thanks Jaroslavas Počepko) +* xml: marshal "parent>child" tags correctly. (thanks Ross Light) +</pre> + +<h2 id="2011-08-17">2011-08-17 (<a href="release.html#r60">base for r60</a>)</h2> <pre> This weekly contains some package re-shuffling. Users of the http and |