doc/devel/release.html | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++- doc/devel/weekly.html | 190 ++++++++++++++++++++++++++++++++++++++++++++++++++++- diff --git a/doc/devel/release.html b/doc/devel/release.html index feb433f146844b3064584eead90ccef9d45823be..458a116de25dde2da8ab6194e9b73c3bb6d4267a 100644 --- a/doc/devel/release.html +++ b/doc/devel/release.html @@ -14,6 +14,81 @@ hg pull hg update release.rNN +
+The r60 release corresponds to
+weekly.2011-08-17.
+This section highlights the most significant changes in this release.
+For a more detailed summary, see the
+weekly release notes.
+For complete information, see the
+Mercurial change list.
+
+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. +
+ +
+Package http's URL parsing and query escaping code
+(such as ParseURL and URLEscape) has been moved to
+the new url package, with several simplifications to
+the names. Client code can be updated automatically with gofix.
+
+Package image has had significant changes made to the
+Pix field of struct types such as
+image.RGBA and
+image.NRGBA.
+The image.Image interface type has not changed,
+though, and you should not need to change your code if you don't explicitly
+refer to Pix fields. For example, if you decode a number of images
+using the image/jpeg package, compose them using
+image/draw, and then encode the result using
+image/png, then your code should still work as
+before.
+If your code does refer to Pix fields see the
+weekly.2011-07-19
+snapshot notes for how to update your code.
+
+Package template has been replaced with a new
+templating package (formerly exp/template). The original template
+package is still available as old/template.
+The old/template 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
+template or exp/template will need to change its
+import lines to "old/template" or "template",
+respectively.
+
+Goinstall now uses a new tag selection scheme.
+When downloading or updating, goinstall looks for a tag or branch with the
+"go." prefix that corresponds to the local Go version. For Go
+release.r58 it looks for go.r58. For
+weekly.2011-06-03 it looks for go.weekly.2011-06-03.
+If the specific go.X 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.
+
@@ -323,7 +398,7 @@ Remember that gofix will handle the bulk of the rewrites necessary for these changes to package APIs.
-Gofix, a new command, is described above.
diff --git a/doc/devel/weekly.html b/doc/devel/weekly.html index 5a9e3d99e3a3728b187c56495d4140243cb3c4b3..d984d3b1ba56b07b0c2a8a00c9a99cd25d81773b 100644 --- a/doc/devel/weekly.html +++ b/doc/devel/weekly.html @@ -14,7 +14,195 @@ hg pull hg update weekly.YYYY-MM-DD -
+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).
+
+
++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) ++ +
This weekly contains some package re-shuffling. Users of the http and