summaryrefslogtreecommitdiff
path: root/doc/devel/weekly.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/devel/weekly.html')
-rw-r--r--doc/devel/weekly.html1347
1 files changed, 1307 insertions, 40 deletions
diff --git a/doc/devel/weekly.html b/doc/devel/weekly.html
index 08e24b958..dfaef708d 100644
--- a/doc/devel/weekly.html
+++ b/doc/devel/weekly.html
@@ -14,6 +14,1273 @@ hg pull
hg update weekly.<i>YYYY-MM-DD</i>
</pre>
+<h2 id="2012-01-27">2012-01-27</h2>
+
+<pre>
+This weekly snapshot renamed the html package to exp/html. The package will not
+be present in the Go 1 distribution, but will be installable from source.
+
+Error variables in the archive/tar, archive/zip, compress/gzip, compress/zlib,
+and crypto/bcrypt packages have been renamed from FooError to ErrFoo.
+There is no gofix, but the compiler will flag code that needs updating.
+
+Other changes:
+* 6c, 8c: make floating point code NaN-safe.
+* 6l, 8l: remove unused macro definition (thanks Shenghou Ma).
+* archive/tar: fix race in TestNonSeekable.
+* archive/zip: add functions to convert between os.FileInfo & FileHeader.
+* build: do not build all C compilers (thanks Shenghou Ma),
+ remove code now in subrepositories.
+* bytes: remove dead code, complete documentation,
+ restore panic on out-of-memory,
+ turn buffer size overflows into errors.
+* cgo: -cdefs should translate unsafe.Pointer to void * (thanks Shenghou Ma).
+* cmd/gc: forgotten recursion on ninit itself in order.c.
+* cmd/go: bug fixes, implement go get,
+ correctly handle -n and -x flags for 'go run' (thanks Shenghou Ma),
+ solve ambiguity of get lp.net/project/foo (thanks Gustavo Niemeyer),
+ update doc.go with text generated from the usage strings.
+* cmd/goapi: new tool for tracking exported API over time.
+* codereview: support for subrepositories.
+* compress/flate: fix a typo, improve compression rate by 3-4%,
+ increase the length of hash table from 1<<15 to 1<<17. 0%-16% speedup,
+ make lazy matching work,
+ reduce memory pressure at cost of additional arithmetic operation,
+ use append instead of slice+counter.
+* crypto: rename some FooError to ErrFoo.
+* dashboard: fix -commit for new xml package.
+* database/sql: add NullInt64, NullFloat64, NullBool (thanks James P. Cooper),
+ convert SQL null values to []byte as nil (thanks James P. Cooper),
+ fix Tx.Query (thanks Blake Mizerany).
+* doc: expand FAQ on GOMAXPROCS, update to Go 1.
+* doc/go1: add encoding/xml and net/url changes (thanks Gustavo Niemeyer),
+ add more info about hash and net changes, delete reference to html,
+ add flag, runtime, testing, image , mime, filepath.Walk,
+ document sub-repositories.
+* encoding/binary: document that PutVarint, PutUvarint may panic.
+* encoding/varint: deleted WriteXvarint.
+* encoding/xml: add docs for ignoring tag (thanks Gustavo Niemeyer),
+ bring API closer to other packages (thanks Gustavo Niemeyer),
+ improve []byte handling (thanks Gustavo Niemeyer),
+ remove Marshaler support (thanks Gustavo Niemeyer),
+ support ignoring fields with "-" (thanks Gustavo Niemeyer).
+* exp/ebnflint: test spec during 'go test'.
+* exp/norm: fixes a subtle bug introduced by change 10087: random offset.
+* gc, runtime: handle floating point map keys.
+* gc: avoid DOT in error messages,
+ do not try to add a key with incorrect type to a hash (thanks Jeff R. Allen),
+ fix order of evaluation,
+ fix recursion loop in interface comparison,
+ handle function calls in arguments to builtin complex operations,
+ missed typecheck in subscripting a const string,
+ permit unsafe.Pointer for inlined functions,
+ softer criteria for inlinability,
+ static implements check on typeswitches only applies to concrete case types,
+ test case for recursive interface bug.
+* go/ast: respect ImportSpec.EndPos (thanks Scott Lawrence).
+* go/build: add BuildTags to Context, allow !tag.
+* go/doc: rewrite and add lots of tests.
+* go/parser: use explicit parser.Mode type.
+* go/printer, gofmt: respect line breaks in signatures.
+* go/scanner: use explicit scanner.Mode type.
+* gob: annotate debug.go so it's not normally built,
+ reduce the maximum message size.
+* godoc: log node printing error,
+ move overview before API TOC,
+ update metadata upon launch.
+* gofix: add -debug flag for quicker diagnosis of internal errors,
+ handle xml.Unmarshal in xmlapi fix (thanks Gustavo Niemeyer),
+ update go1pkgrename for subrepositories.
+* goyacc: fix indexing bug when yydebug >= 2.
+* ld: fix Mach-O code signing for non-cgo binaries (thanks Mikkel Krautz).
+* libmach: cross compiling support (thanks Shenghou Ma).
+* math/big: assembly versions of bitLen for x86-64, 386, and ARM (thanks David G. Andersen),
+ return type of bitLen is an int; use MOVL on amd64 (thanks David G. Andersen),
+ add examples for Rat and Int's SetString and Scan methods,
+ slight improvement to algorithm used for internal bitLen function (thanks David G. Andersen),
+ test both bitLen and bitLen_g.
+* net/http: add Request.RequestURI field,
+ disabled test for Transport race / deadlock bug,
+ fix Transport deadlock (thanks Yoshiyuki Kanno),
+ make ParseForm ignore unknown content types (thanks Roger Peppe),
+ parse CONNECT requests (thanks Andrew Balholm).
+* net/rpc: fix data race in benchmark,
+ fix race in TestClientWriteError test,
+ log Call reply discard.
+* net: Dial, ListenPacket with "ip:protocol" network for raw IP sockets (thanks Mikio Hara),
+ actually reset deadline when time is zero,
+ consistent OpError message (thanks Mikio Hara),
+ fix dialing google test (thanks Mikio Hara),
+ make WriteTo fail when UDPConn is already connected (thanks Mikio Hara).
+* regexp: remove vestigial Error type.
+* runtime: add type algorithms for zero-sized types,
+ move NumCPU declaration into debug.go.
+* spec: function invocation, panic on *nil.
+* syscall: add NOTE_* constants on OS X (thanks Robert Figueiredo).
+* test: explicitly use variables to avoid gccgo "not used" error.
+* text/template: add example for Template.
+</pre>
+
+<h2 id="2012-01-20">2012-01-20</h2>
+
+<pre>
+This weekly snapshot renamed the exp/sql package to database/sql, and moved
+utf8.String from unicode/utf8 to exp/utf8string.
+
+Package net's SetTimeout methods were changed to SetDeadline.
+
+Many functions in package os now take a os.FileMode argument instead of a
+plain uint32. An os.ModeSticky constant is also now defined.
+
+The meaning of the first buffer element for image.YCbCr has changed to match
+the semantics of the other image types like image.RGBA.
+
+The NewMD5, NewSHA1 and NewSHA256 functions in crypto/hmac have been
+deprecated. Use New instead, explicitly passing the hash function.
+
+Other changes:
+* buildscripts: move to buildscript directory (thanks Shenghou Ma).
+* bytes: add the usual copyright notice to example_test.go (thanks Olivier Duperray).
+* cmd/go: remove mentions of 'gotest' from the documentation,
+ skip _obj directories in package scans.
+* container/heap: better package documentation.
+* crypto/elliptic: add constant-time P224.
+* crypto/hmac: Add HMAC-SHA224 and HMAC-SHA384/512 (thanks Luit van Drongelen),
+* crypto/tls: add FreeBSD root certificate location (thanks Shenghou Ma).
+* crypto/x509: remove explicit uses of rsa.
+* doc: various updates (thanks Jongmin Kim, Scott Lawrence, Shenghou Ma, Stefan Nilsson).
+* encoding/json: allow / and % in tag names,
+ document angle bracket escaping,
+ fix comments, tweak tests for tag names (thanks Mikio Hara).
+* encoding/xml: marshal/unmarshal xml.Name in field (thanks Gustavo Niemeyer).
+* exp/inotify: fix data race in linux tests.
+* exp/proxy: fix build after URL changes (thanks Gustavo Niemeyer).
+* exp/sql: copy when scanning into []byte by default,
+ rename NullableString to NullString and allow its use as a parameter.
+* exp/ssh: add marshal functions for uint32 and uint64 types,
+ handle versions with just '\n',
+ rename (some) fields (thanks Christopher Wedgwood).
+* exp/terminal: fix build on non-Linux using Makefiles.
+* fmt: enable and fix malloc test,
+* gc: don't emit pkgpath for error type,
+ don't fault on return outside function (thanks Scott Lawrence),
+ fieldnames in structliterals in exported inlines should not be qualified if they're embedded builtin types,
+ fix infinite recursion for embedded interfaces,
+ give esc.c's sink an orig so -mm diagnostics work again,
+ handle printing of string/arrayrune conversions.
+ remove redundant code (thanks Shenghou Ma).
+* go/build: no back slash in FindTree returned pkg name (thanks Alex Brainman).
+* go/doc: collect imports,
+ don't shadow receiver.
+ rewrote and completed test framework.
+ print only one newline between paragraphs
+* go/parser: expressions may have comments.
+* go/scanner: fix example (thanks Olivier Duperray).
+* go/token: replaced Files() with Iterate().
+* godoc: add anchors to cmd documentation headings,
+ remove "need more packages?" link,
+ specify HTML page metadata with a JSON blob,
+ support canonical Paths in HTML metadata.
+* html/template: fix docs after API changes (thanks Gustavo Niemeyer).
+* html: in foreign content, check for HTML integration points in breakout.
+* image/color: rename modelYCbCr to yCbCrModel (thanks Benny Siegert),
+ simplify documentation (thanks David Crawshaw).
+* image: add PixOffset methods.
+* math/rand: decrease test duration in short mode,
+ document default initial seed for global generator (thanks Scott Lawrence).
+* mime: make FormatMediaType take full type for consistency.
+* misc/cgo/test: make tests run on windows (thanks Alex Brainman).
+* net/http/cgi: increase a flaky test timeout.
+* net/http: change test to use override param instead of chan,
+ log handler panic before closing HTTP connection,
+ send cookies in jar on redirect (thanks Jeff Hodges),
+ the documentation should call NewRequest with the right signature (thanks Christoph Hack),
+ update the Client docs a bit.
+* net/url: cleaned up URL interface (v2) (thanks Gustavo Niemeyer).
+* net: consistent log format in test (thanks Mikio Hara),
+ various build fixes (thanks Mikio Hara),
+ use NewTimer, not NewTicker, in fd_windows.go.
+* old/netchan: fix data race on client hashmap.
+* os/exec: trivial allocation removal in LookPath (thanks Gustavo Niemeyer).
+* os: remove old note about NewSyscallError being special (thanks Alex Brainman),
+* path: added examples (thanks Sanjay Menakuru).
+* pkg: Add and fix Copyright of "hand generated" files (thanks Olivier Duperray),
+ add missing godoc comments to windows versions (thanks Alex Brainman).
+* regexp: add SubexpNames.
+* runtime: implement runtime.usleep for FreeBSD/386 and amd64 (thanks Shenghou Ma),
+ madvise and SysUnused for Darwin (thanks Dave Cheney).
+* sync/atomic: fix data race in tests.
+* syscall: add Unix method to TimeSpec, TimeVal,
+ fix plan9 build (thanks Mikio Hara).
+* test: change several tests to not print,
+ fix bug364 to actually run,
+ match gccgo error messages for bug345,
+ split golden.out into expected output per test.
+* testing: do not recover example's panic (thanks Shenghou Ma),
+ document examples.
+* text/template/parse: use human error prints.
+* text/template: fix nil error on redefinition.
+* time: add Since, which returns the time elapsed since some past time t.
+</pre>
+
+<h2 id="2012-01-15">2012-01-15</h2>
+
+<pre>
+This weekly snapshot includes two package changes that may require changes to
+client code.
+
+The image package's Tiled type has been renamed to Repeated.
+
+The encoding/xml package has been changed to make more idiomatic use of struct
+tags, among other things. If you use the xml package please read the change
+description to see if your code is affected:
+ http://code.google.com/p/go/source/detail?r=70e914beb409
+
+Function inlining is now enabled by default in the gc compiler.
+
+Other changes:
+* bytes: Buffer read of 0 bytes at EOF shouldn't be an EOF.
+* cgo: if value for constant did not parse, get it from DWARF info,
+ write _cgo_export.h to object directory, not source dir.
+* cmd/go: add -p flag for parallelism (like make -j),
+ add -v flag to build and install,
+ add ... patterns in import path arguments,
+ fix data race during build,
+ fix import directory list for compilation,
+ fix linker arguments,
+ handle cgo pkg-config pragmas,
+ handle path to cmd directory,
+ include test files in fmt, vet, and fix (thanks Sanjay Menakuru),
+ kill test processes after 10 minutes,
+ pass arguments to command for run (thanks Eric Eisner),
+ rely on exit code to tell if test passed,
+ use relative paths in go fix, go fmt, go vet output.
+* cmd/gofmt: fix simplify.go by running gofmt on cmd/gofmt (thanks Olivier Duperray).
+* crypto/openpgp: assorted cleanups,
+ truncate hashes before checking DSA signatures.
+* crypto/tls: improve TLS Client Authentication (thanks Jeff R. Allen),
+ update generate_cert.go for new time package.
+* dashboard: better caching, bug fixes.
+* doc: update "How to Write Go Code" to use the go tool.
+ fix broken function codewalk examples.
+* encoding/asn1: document support for *big.Int (thanks Florian Weimer).
+* encoding/gob: fix panic when decoding []byte to incompatible slice types (thanks Alexey Borzenkov).
+* encoding/json: don't marshal special float values (thanks Evan Shaw).
+* encoding/xml: major Go 1 fixup (thanks Gustavo Niemeyer).
+* exp/proxy: new package.
+* exp/sql: add time.Time support,
+ close Rows on EOF,
+ fix potential corruption in QueryRow.Scan into a *[]byte.
+* exp/ssh: various small fixes (thanks Dave Cheney).
+* exp/terminal: add SetPrompt and handle large pastes,
+ add to level Makefile for the (non-Linux?) systems that need it.
+* flag: add Duration flag type,
+ change Set method Value interface to return error instead of bool.
+* gc: better errors messages,
+ avoid false positives when using scalar struct fields (thanks Rémy Oudompheng),
+ closure code gen improvements,
+ disallow declaration of variables outside package,
+ fix switch on interface values (thanks Rémy Oudompheng),
+ inlining bug fixes,
+ improve unsafe.Pointer type-check error messages (thanks Ryan Hitchman),
+ put limit on size of exported recursive interface (thanks Lorenzo Stoakes),
+* go-mode.el: fix syntax highlighting of backticks (thanks Florian Weimer).
+* go/ast: remove unnecessary result value from ast.Fprint/Print.
+* go/build: allow colon in #cgo flags,
+ pass CgoLDFLAGS at end of link command.
+* go/doc: new API, don't ignore anonymous non-exported fields, initial testing support.
+* go/parser: remove unused Parse* functions. Simplified ParseExpr signature.
+* go/printer: don't crash if AST contains BadXXX nodes.
+* go/scanner: 17% faster scanning, remove InsertSemis mode.
+* goinstall: use correct checkout URL for Google Code svn repos.
+* gotest: make _testmain.go conform to gofmt rules (thanks Benny Siegert).
+* goyacc: fix units.y build breakage (thanks Shenghou Ma).
+* html/template: reenable testcases and fix mis-escaped sequences (thanks Mike Samuel).
+* html: "in select in table" insertion mode (thanks Andrew Balholm),
+ adjust foreign attributes,
+ foreign element HTML integration points, tag name adjustment,
+ parse <frameset> inside body (thanks Andrew Balholm),
+ propagate foreign namespaces only when adding foreign content.
+* json: better error messages when the ,string option is misused.
+* ld: parse but do not implement -X flag.
+* log/syslog: add Alert method (thanks Vadim Vygonets).
+* make.bash: remove old dregs (thanks Alex Brainman).
+* math/big: simplify fast string conversion.
+* math: fix typo in all_test.go (thanks Charles L. Dorian).
+* misc/windows: add src/pkg/runtime/z* files to installation script (thanks Alex Brainman).
+* net/http: don't ignore Request.Write's Flush error,
+ allow cookies with negative Max-Age attribute as these are (thanks Volker Dobler).
+* net/textproto: avoid corruption when reading a single header.
+* net: add IP-level socket option helpers for Unix variants (thanks Mikio Hara),
+ fix incorrect mode on ListenIP, ListenUDP (thanks Mikio Hara),
+ make use of the kernel state to listen on TCP, Unix (thanks Mikio Hara),
+ platform-dependent default socket options (thanks Mikio Hara).
+* os: add ModeCharDevice.
+* runtime: add NumCPU,
+ delete duplicate implementation of pcln walker,
+ distinct panic message for call of nil func value,
+ enable runtime.ncpu on FreeBSD (thanks Devon H. O'Dell),
+ make garbage collector faster by deleting code,
+ regenerate defs_darwin_{386,amd64}.h (thanks Dave Cheney),
+ runtime.usleep() bugfix on darwin/amd64 and linux/arm (thanks Shenghou Ma).
+* spec: pointer comparison for pointers to 0-sized variables,
+ change the wording regarding select statement choice.
+* strconv: fix round up corner case,
+ faster FormatFloat(x, *, -1, 64) using Grisu3 algorithm (thanks Rémy Oudompheng),
+ implement fast path for rounding already short numbers (thanks Rémy Oudompheng),
+ return ErrSyntax when unquoting illegal octal sequences.
+* syscall: linux-only support for parent death signal (thanks Albert Strasheim),
+ make Environ return original order.
+* testing: fix defer race,
+ use flag.Duration for -timeout flag.
+* text/template: handle panic values that are not errors (thanks Rémy Oudompheng),
+ for range on a map, sort the keys if feasible.
+* time: add ParseDuration,
+ fix docs for After and NewTicker.
+* windows: use ArbitraryUserPointer as TLS slot (thanks Wei Guangjing).
+</pre>
+
+<h2 id="2011-12-22">2011-12-22</h2>
+
+<pre>
+This snapshot includes changes to the images/ycbcr and testing packages, and
+changes to the build system.
+
+The types for managing Y'CbCr images in the image/ycbcr have been moved to the
+image and image/color packages. A gofix module will rewrite affected code.
+
+The testing package's B type (used when running benchmarks) now has the same
+methods as T (used in tests), such as Print, Error, and Fatal.
+
+This weekly adds a new command named 'go' for building and testing go programs.
+For Go 1, the go command will replace the makefile-based approach that we have
+been using. It is not yet ready for general use, but all.bash does use it to
+build the tree. If you have problems building the weekly, you can 'export
+USE_GO_TOOL=false' before running all.bash to fall back to the makefiles.
+
+Other changes:
+* archive/zip: add SetModTime method to FileHeader.
+* build: make use of env (thanks Mikio Hara),
+ fixes to make "go install" work on windows (thanks Alex Brainman).
+* bytes: add two Buffer examples.
+* cgo: support export for built-in types (thanks Maxim Pimenov).
+* cmd/go: avoid infinite loop with package specific flags (thanks Mikio Hara),
+ fixes to build standard library,
+ implement test command,
+ make sure use of pthread for gcc-4.5 and beyond (thanks Mikio Hara),
+ respect $GCFLAGS,
+ use spaces consistently in help message (thanks Roger Peppe),
+ many other improvements.
+* codereview: initialize "found" in codereview.py (thanks Miki Tebeka).
+* crypto/mime/net/time: add netbsd to +build tags (thanks Joel Sing).
+* crypto/tls: don't assume an RSA private key in the API.
+* crypto/x509: don't crash with nil receiver in accessor method.
+* doc/effective_go: discuss redeclaration.
+* doc: delete go course notes,
+ refer to http://build.golang.org/ where applicable (thanks Robert Hencke),
+ suggest code.google.com/p/go instead of go.googlecode.com/hg.
+* encoding/binary: add Write and Read examples,
+ add more benchmarks (thanks Roger Peppe).
+* encoding/gob: arrays are zero only if their elements are zero.
+* encoding/json: cleanup leftover variables in array decoding (thanks Rémy Oudompheng),
+ examples for Marshal and Unmarshal.
+* exp/ssh: rename ClientAuthPublicKey helper ClientAuthKeyring (thanks Dave Cheney),
+ simplify Stdin/out/errPipe methods (thanks Dave Cheney).
+* fmt: speed up floating point print, clean up some code,
+ make the malloc test check its counts.
+* gc: allow use of unsafe.Pointer in generated code,
+ avoid unsafe in defn of package runtime,
+ better linenumbers for inlined functions,
+ better loopdepth analysis for labels,
+ implement and test \r in raw strings,
+ inlining, allow empty bodies, fix _ arguments,
+ omit argument names from function types in error messages.
+* go/ast, parser: remember short variable decls. w/ correspoding ident objects.
+* go/build: add new +build tags 'cgo' and 'nocgo'.
+* go/doc, godoc: move export filtering into go/doc
+* go/printer, gofmt: fine tuning of line spacing.
+* go/scanner: strip CRs from raw literals.
+* gob: isZero for struct values.
+* godoc: allow examples for methods (thanks Volker Dobler),
+ show methods of anonymous fields.
+* goinstall: only suggest -fix for bad imports when appropriate.
+* govet: add checking for printf verbs,
+ divide the program into one file per vetting suite.
+* html: more parser improvements (thanks Andrew Balholm).
+* json: some tests to demonstrate bad error messages,
+ use strconv.Append variants to avoid allocations in encoding.
+* ld: add support for netbsd signature note section (thanks Joel Sing),
+ allow for IMAGE_REL_AMD64_ADDR32NB relocation type (thanks Alex Brainman).
+* math/big: Rand shouldn't hang if argument is also receiver.
+* misc/builder: set default builder host to build.golang.org.
+* misc/dashboard: delete old build dashboard code ,
+ improvements and fixes for the go implementation.
+* misc/vim: fix go filetype detection (thanks Paul Sbarra).
+* net, syscall, os: set CLOEXEC flag on epoll/kqueue descriptor.
+* net, syscall: interface address and mask (thanks Mikio Hara).
+* net/http: added interface for a cookie jar (thanks Volker Dobler),
+ test fixes (thanks Alex Brainman).
+* net: add DialTimeout,
+ sort Makefile entries (thanks Mikio Hara).
+* os, syscall: beginnings of NetBSD support (thanks Christopher Nielsen).
+* os/exec: add test to verify net package's epoll fd doesn't go to child,
+ disable the ExtraFiles test on darwin.
+* os: don't trust O_CLOEXEC on OS X,
+ make sure Remove returns correct error on windows (thanks Alex Brainman).
+* path, path/filepath: add Dir to complement Base.
+* path/filepath.Rel: document that the returned path is always relative.
+* runtime: don't panic on SIGILL, just crash.
+* spec: be precise about newlines.
+* sql: add Rows.Columns.
+* strconv: fix bug in extended-float based conversion,
+ implement faster parsing of decimal numbers, and
+ reduce buffer size for multi-precision decimals (thanks Rémy Oudompheng).
+* syscall: regenerate z-files for linux/arm (thanks Mikio Hara),
+ sort Makefile, mkall.sh and mkerrors.sh entries (thanks Mikio Hara).
+* test/bench/go1: first draft of Go 1 benchmark suite.
+* testing: compare Log to Println (thanks Robert Hencke),
+ make signalling safer for parallel tests.
+* text/template: better error message for empty templates,
+ fix handing of nil arguments to functions (thanks Gustavo Niemeyer).
+* time: add JSON marshaler for Time (thanks Robert Hencke),
+ new AddDate method (thanks Roger Peppe).
+* various: use $GCFLAGS and $GCIMPORTS like Make does (thanks Maxim Pimenov).
+</pre>
+
+<h2 id="2011-12-14">2011-12-14</h2>
+
+<pre>
+This snapshot includes language changes and changes to goinstall and gofmt.
+
+Equality and inequality (== and !=) are now defined for struct and array
+values, respectively, provided the elements of the data structures can
+themselves be compared. See the Go 1 release notes for the details:
+ http://weekly.golang.org/doc/go1.html#equality
+
+The rune type is now an alias for int32 and character literals have the default
+type of rune. Code that uses int where it should use rune will break.
+See the Go 1 release notes for the details:
+ http://weekly.golang.org/doc/go1.html#rune
+
+Goinstall now expects Google Code import paths to be of the form:
+ "code.google.com/p/go-tour/tree"
+It will reject imports in the old style "go-tour.googlecode.com/hg/tree".
+There is a gofix module to rename such imports.
+Use goinstall -fix to update broken packages.
+
+Gofmt's flags have been modified slightly.
+The -tabintent flag has been renamed -tabs.
+The -spaces flag has been removed.
+
+Other changes:
+* 5c, 6c, 8c: support 64-bit switch value (thanks Anthony Martin).
+* 8c: handle 64-bit switch value.
+* archive/tar: use struct comparison not DeepEqual (thanks Christopher Wedgwood).
+* archive/zip: make zip understand os.FileMode (thanks Roger Peppe).
+* bufio: make the minimum read buffer size 16 bytes.
+* build: disable cgo on Windows/amd64,
+ regularize packages so they may be built without Makefiles.
+* bytes: faster Count, Index, Equal.
+* cgo: add basic gccgo support (thanks Rémy Oudompheng).
+* codereview: fix path slash issue (thanks Yasuhiro Matsumoto).
+* compress/flate: fix out of bounds error.
+* contribute.html: do not fill in the reviewer field (thanks Florian Weimer).
+* crypto/aes: made faster by eliminating some indirection (thanks Taru Karttunen).
+* crypto/dsa: don't truncate input hashes.
+* doc/go_tutorial: make clear the file example is Unix-specific.
+* doc: add Defer, Panic, and Recover article,
+ add Error Handling article,
+ add Go 1 release notes document.
+* encoding/gob: better error messages when types mismatch.
+* env.bash: export CGO_ENABLED so cgo tests run (thanks Alex Brainman).
+* exp/sql: simplify some string conversions.
+* exp/ssh: Wait returns an *ExitError (thanks Gustav Paul).
+* exp/ssh: improve client channel close behavior (thanks Dave Cheney).
+* fmt: don't recur if String method (etc.) misbehaves.
+* gc: better error messages,
+ inlining (disabled without -l),
+ many bug fixes (thanks Lucio De Re and Rémy Oudompheng).
+* go/printer, godoc: print comments in example code.
+* go: implement doc, fmt, fix, list, vet, build, and install.
+* gobuilder: goinstall packages after building go tree.
+* godoc: &lt;pre&gt; must not occur inside &lt;p&gt; (thanks Olivier Duperray),
+ added an opensearch description document (thanks Christoph Hack),
+ text wrapping.
+* gofix: add httputil fix (thanks Yasuhiro Matsumoto).
+* gotest: use go/build more (thanks Robert Hencke).
+* gzip: convert between Latin-1 and Unicode (thanks Vadim Vygonets).
+* html/template: define the FuncMap type locally.
+* html: a first step at parsing foreign content (MathML, SVG),
+ more parser improvements (thanks Andrew Balholm).
+* http: close connection after printing panic stack trace (thanks Roger Peppe),
+ fix failing Transport HEAD request with gzip-looking response.
+* json: treat renamed byte slices the same as []byte.
+* ld: first pass at linker support for NetBSD binaries (thanks Christopher Nielsen),
+ fix memory leaks (thanks Scott Lawrence),
+ increase default stack size on Windows for cgo.
+* math: delete non-Sqrt-based Hypot,
+ implement, document, and fix special cases (thanks Charles L. Dorian),
+* misc/benchcmp: don't require "Benchmark" at beginning of line.
+* misc/osx: rename profile.go to profile_go (thanks Scott Lawrence).
+* net/http: fix trivial example server (thanks Olivier Duperray),
+ net/http: make test remove temporary file and directory.
+* net/smtp: add CRAM-MD5 authentication (thanks Vadim Vygonets).
+* reflect: fix Slice cap (thanks Gustavo Niemeyer).
+* regexp: performance improvements; avoid allocation of input interface.
+* runtime: bump gc 'extra bytes' check (thanks Christopher Wedgwood),
+ madvise and SysUnused for Linux (thanks Sébastien Paolacci),
+ make gc_test test extra allocated space, not total space,
+ support for NetBSD (thanks Christopher Nielsen).
+* spec: adjust complex constant example (thanks Robert Hencke),
+ values of underlying type uintptr can be converted to unsafe.Pointer,
+ var x = 'a' defaults to type rune.
+* strconv: include package and function name in error strings,
+ make QuoteRune etc. take a rune argument,
+ some performance improvements.
+* syscall: add constants for flock() system call under Linux,
+ regenerate z-files for darwin, freebsd (thanks Mikio Hara),
+ regenerate z-files for openbsd,
+ return error, not uintptr, when function returns error (thanks Alex Brainman).
+* test/bench: move to test/bench/shootout.
+* test/garbage: move to test/bench/garbage.
+* test: make array smaller in nilptr test.
+* time: allow sleep tests to run for 200% too long,
+ fix Time.Add (thanks Hector Chu),
+ fix daysIn for December (thanks Peter Mundy),
+ gob marshaler for Time (thanks Robert Hencke),
+ use Duration for AfterFunc.
+* various: a grab-bag of time.Duration cleanups.
+</pre>
+
+<h2 id="2011-12-06">2011-12-06</h2>
+
+<pre>
+This snapshot includes a language change and changes to the strconv and go/doc
+packages. The package changes require changes to client code.
+The language change is backwards-compatible.
+
+Type elision in arrays, slices, or maps of composite literals has been
+extended to include pointers to composite literals. Code like this
+ var t = []*T{&amp;T{}, &amp;T{}}
+may now be written as
+ var t = []*T{{}, {}}
+You can use gofmt -s to simplify such code.
+
+The strconv package has been given a more idiomatic and efficient interface.
+Client code can be updated with gofix. See the docs for the details:
+ http://weekly.golang.org/pkg/strconv/
+
+The go/doc package's ToHTML function now takes a []byte argument instead of a
+string.
+
+Other changes:
+* crypto/aes: eliminate some bounds checking and truncation (thanks Rémy Oudompheng).
+* crypto/x509: if a parent cert has a raw subject, use it.
+* encoding/gob: don't send type info for unexported fields.
+* exp/ssh: allow for msgUserAuthBanner during authentication (thanks Gustav Paul).
+* fmt: benchmark floating point,
+ only use Stringer or Error for strings.
+* gc: changes in export format in preparation of inlining,
+ disallow map/func equality via interface comparison,
+ use gofmt spacing when printing map type.
+* go/doc: exclude lines ending in ':' from possible headings.
+* gobuilder: -commit mode for packages,
+ cripple -package mode temporarily,
+ use new dashboard protocol.
+* godoc: improved output of examples in html (thanks Volker Dobler).
+* gofmt: handle &T in composite literal simplify.
+* goinstall: honour -install=false flag when -make=true.
+* hash: rewrite comment on Hash.Sum method.
+* html: more parser improvements (thanks Andrew Balholm).
+* image: avoid func comparison during ColorModel comparison.
+* math: add special-cases comments to Sinh and Tanh (thanks Charles L. Dorian).
+* misc/dashboard: further implementation work.
+* net, syscall: remove BindToDevice from UDPConn, IPConn (thanks Mikio Hara).
+* net/mail: correctly compare parsed times in the test.
+* os/exec: make LookPath always search CWD under Windows (thanks Benny Siegert).
+* runtime: prep for type-specific algorithms.
+* strconv: 34% to 63% faster conversions.
+</pre>
+
+<h2 id="2011-12-02">2011-12-02</h2>
+
+<pre>
+This weekly snapshot includes changes to the hash package and a gofix for the
+time and os.FileInfo changes in the last snapshot.
+
+The hash.Hash's Sum method has been given a []byte argument,
+permitting the user to append the hash to an existing byte slice.
+Existing code that uses Sum can pass nil as the argument.
+Gofix will make this change automatically.
+
+Other changes:
+* crypto/tls: cleanup certificate load on windows (thanks Alex Brainman).
+* exp/ssh: add Std{in,out,err}Pipe methods to Session (thanks Dave Cheney).
+* dashboard: don't choke on weird builder names.
+* exp/ssh: export type signal, now Signal (thanks Gustav Paul).
+* os: add ModeType constant to mask file type bits (thanks Gustavo Niemeyer).
+* text/template: replace Add with AddParseTree.
+* go/doc: detect headings and format them in html (thanks Volker Dobler).
+</pre>
+
+<h2 id="2011-12-01">2011-12-01</h2>
+
+<pre>
+This weekly snapshot includes changes to the time, os, and text/template
+packages. The changes to the time and os packages are significant and related.
+Code that uses package time, package text/template, or package os's FileInfo
+type will require changes.
+
+In package time, there is now one type - time.Time - to represent times.
+Note that time.Time should be used as a value, in contrast to old code
+which typically used a *time.Time, a pointer to a large struct. (Drop the *.)
+Any function that previously accepted a *time.Time, an int64
+number of seconds since 1970, or an int64 number of nanoseconds
+since 1970 should now accept a time.Time. Especially as a replacement
+for the int64s, the type is good documentation about the meaning of
+its value.
+
+Whether you were previously calling time.Seconds, time.Nanoseconds,
+time.LocalTime, or time.UTC, the replacement is the new function
+time.Now.
+
+If you previously wrote code like:
+
+ t0 := time.Nanoseconds()
+ myFunction()
+ t1 := time.Nanoseconds()
+ delta := t1 - t0
+ fmt.Printf("That took %.2f seconds\n", float64(t1-t0)/1e9)
+
+you can now write:
+
+ t0 := time.Now()
+ myFunction()
+ t1 := time.Now()
+ delta := t1.Sub(t0)
+ fmt.Printf("That took %s\n", delta)
+
+In this snippet, the variable delta is of the new type time.Duration, the
+replacement for the many int64 parameters that were nanosecond
+counts (but not since 1970).
+
+Gofix can do the above conversions and some others, but it does not
+rewrite explicit int64 types as time.Time. It is very likely that you will
+need to edit your program to change these types after running gofix.
+As always, be sure to read the changes that gofix makes using your
+version control system's diff feature.
+
+See http://weekly.golang.org/pkg/time/ for details.
+
+In package os, the FileInfo struct is replaced by a FileInfo interface,
+admitting implementations by code beyond the operating system.
+Code that refers to *os.FileInfo (a pointer to the old struct) should
+instead refer to os.FileInfo (the new interface).
+The interface has just a few methods:
+
+ type FileInfo interface {
+ Name() string // base name of the file
+ Size() int64 // length in bytes
+ Mode() FileMode // file mode bits
+ ModTime() time.Time // modification time
+ IsDir() bool // abbreviation for Mode().IsDir()
+ }
+
+If you need access to the underlying stat_t provided by the operating
+system kernel, you can access it by assuming that the FileInfo you are
+holding is actually an *os.FileStat, and that it's Sys field is actually a
+*syscall.Stat_t, as in:
+
+ dev := fi.(*os.FileStat).Sys.(*syscall.Stat_t).Dev
+
+Of course, this is not necessarily portable across different operating
+systems.
+
+Gofix will take care of rewriting *os.FileInfo to os.FileInfo for you,
+and it will also rewrite expressions like fi.Name into calls like fi.Name().
+
+See http://weekly.golang.org/pkg/os/#FileInfo for details.
+
+The template package has been changed to export a new, simpler API.
+The Set type is gone. Instead, templates are automatically associated by
+being parsed together; nested definitions implicitly create associations.
+Only associated templates can invoke one another.
+This approach dramatically reduces the breadth of the construction API.
+The html/template package has been updated also.
+There's a gofix for the simplest and most common uses of the old API.
+Code that doesn't mention the Set type is likely to work after running gofix;
+code that uses Set will need to be updated by hand.
+The template definition language itself is unchanged.
+
+See http://weekly.golang.org/pkg/text/template/ for details.
+
+
+Other changes:
+* cgo: add support for callbacks from dynamic libraries.
+* codereview: gofmt check for non-src/ files (thanks David Crawshaw).
+* crypto/openpgp/packet: fix private key checksum.
+* crypto/tls: add openbsd root certificate location,
+ don't rely on map iteration order.
+* crypto/x509, crypto/tls: support PKCS#8 private keys.
+* dashboard: start of reimplementation in Go for App Engine.
+* encoding/xml: fix copy bug.
+* exp/gui: move exp/gui and exp/gui/x11 to http://code.google.com/p/x-go-binding
+* exp/ssh: various improvements (thanks Dave Cheney and Gustav Paul).
+* filepath/path: fix Rel buffer sizing (thanks Gustavo Niemeyer).
+* gc: fix Nconv bug (thanks Rémy Oudompheng) and other fixes.
+* go/printer, gofmt: performance improvements.
+* gofix: test and fix missorted renames.
+* goinstall: add -fix flag to run gofix on packages on build failure,
+ better error reporting,
+ don't hit network unless a checkout or update is required,
+ support Google Code sub-repositories.
+* html: parser improvements (thanks Andrew Balholm).
+* http: fix sniffing bug causing short writes.
+* json: speed up encoding, caching reflect calls.
+* ld: align ELF data sections.
+* math/big: fix destination leak into result value (thanks Roger Peppe),
+ use recursive subdivision for significant speedup.
+* math: faster Cbrt and Sincos (thanks Charles L. Dorian).
+* misc/osx: scripts to make OS X package and disk image (thanks Scott Lawrence).
+* os: fail if Open("") is called on windows (thanks Alex Brainman).
+* runtime: make sure stack is 16-byte aligned on syscall (thanks Alex Brainman).
+* spec, gc: allow direct conversion between string and named []byte, []rune.
+* sql: add Tx.Stmt to use an existing prepared stmt in a transaction,
+ more driver docs & tests; no functional changes.
+* strings: add ContainsAny and ContainsRune (thanks Scott Lawrence).
+* syscall: add SUSv3 RLIMIT/RUSAGE constants (thanks Sébastien Paolacci),
+ fix openbsd sysctl hostname/domainname workaround,
+ implement Syscall15 (thanks Alex Brainman).
+* time: fix Timer stop.
+</pre>
+
+<h2 id="2011-11-18">2011-11-18</h2>
+
+<pre>
+This snapshot includes some language changes.
+
+Map and function value comparisons are now disallowed (except for comparison
+with nil) as per the Go 1 plan. Function equality was problematic in some
+contexts and map equality compares pointers, not the maps' content.
+
+As an experiment, structs are now allowed to be copied even if they contain
+unexported fields. This gives packages the ability to return opaque values in
+their APIs.
+
+Other changes:
+* 6a, 8a: allow $(-1) for consistency with $1, $(1), $-1.
+* 6l: code generation fixes (thanks Michał Derkacz).
+* build: fix check for selinux allow_execstack on Fedora (thanks Bobby Powers).
+* builtin: document delete.
+* cgo: don't panic on undeclared enums/structs (thanks Rémy Oudompheng),
+ fix g0 stack guard.
+* crypto/tls: fix handshake message test.
+* crypto: update incorrect references to Cipher interface; should be Block.
+* doc: clean ups, additions, and fixes to several documents.
+* doc/install: add openbsd (thanks Joel Sing!).
+* doc: link to Chinese translation of A Tour of Go.
+* encoding/json: add marshal/unmarshal benchmark,
+ decode [] as empty slice, not nil slice,
+ make BenchmarkSkipValue more consistent.
+* env.bash: check for presence of make/gmake (thanks Scott Lawrence).
+* exp/sql: NumInput() allow -1 to ignore checking (thanks Yasuhiro Matsumoto),
+ add DB.Close, fix bugs, remove Execer on Driver (only Conn),
+ document that for drivers, io.EOF means no more rows,
+ add client side support for publickey auth (thanks Dave Cheney),
+ add direct-tcpip client support (thanks Dave Cheney),
+ change test listen address, also exit test if fails,
+ other fixes and improvements (thanks Dave Cheney).
+* exp/terminal: rename shell to terminal and add SetSize.
+* fcgi: fix server capability discovery.
+* fmt: distinguish empty vs nil slice/map in %#v.
+* gc: better error, type checks, and many fixes,
+ remove m[k] = x, false syntax (use delete(m, k) instead),
+ support for building with Plan 9 yacc (thanks Anthony Martin).
+* go/printer: make //line formatting idempotent.
+* godefs: delete, replaced by cgo -godefs.
+* godoc: document -templates flag, fix remote search,
+ provide mode for flat (non-indented) directory listings.
+* gofmt: leave nil nodes of the AST unchanged (thanks Rémy Oudompheng).
+* html/template: indirect top-level values before printing.
+* html: more parser improvements (thanks Andrew Balholm).
+* http: fix serving from CWD with http.ServeFile,
+ make Dir("") equivalent to Dir(".").
+* ld: fix .bss for ldpe (thanks Wei Guangjing).
+* math/big: replace nat{} -&gt; nat(nil).
+* math: faster Lgamma (thanks Charles L. Dorian).
+* mime: implement TypeByExtension for windows.
+* misc/bbedit: error and rune support (thanks Anthony Starks).
+* misc/benchcmp: benchmark comparison script.
+* misc/emacs: add delete builtin (thanks Bobby Powers).
+* misc/kate: add error and rune (thanks Evan Shaw).
+* misc/notepadplus: error and rune support (thanks Anthony Starks).
+* misc/windows: Windows installer in MSI format (thanks Joe Poirier).
+* net, io/ioutil: remove use of os.Time (thanks Anthony Martin).
+* net/http: fix EOF handling on response body (thanks Gustavo Niemeyer),
+ fix sniffing when using ReadFrom,
+ use t.Errorf from alternate goroutine in test.
+* os: remove undocumented Envs (use os.Environ instead).
+* reflect: empty slice/map is not DeepEqual to nil,
+ make Value an opaque struct.
+* runtime, syscall: convert from godefs to cgo.
+* runtime: add nanotime for Plan 9 (thanks Anthony Martin),
+ add timer support, use for package time,
+ avoid allocation for make([]T, 0).
+* strconv: add Ftoa benchmarks, make Ftoa faster.
+* syscall: delete syscall.Sleep, take over env implementation, use error.
+* testing: add file:line stamps to messages, print results to standard output.
+* text/template: refactor set parsing.
+* time: add ISOWeek method to Time (thanks Volker Dobler).
+* various: avoid func compare, reduce overuse of os.EINVAL + others.
+</pre>
+
+<h2 id="2011-11-09">2011-11-09</h2>
+
+<pre>
+This weekly snapshot renames various Go packages as described in the Go 1 plan.
+Import statements in client code can be updated automatically with gofix.
+
+The changes are:
+ asn1 -&gt; encoding/asn1
+ big -&gt; math/big
+ cmath -&gt; math/cmplx
+ csv -&gt; encoding/csv
+ exec -&gt; os/exec
+ exp/template/html -&gt; html/template
+ gob -&gt; encoding/gob
+ http -&gt; net/http
+ http/cgi -&gt; net/http/cgi
+ http/fcgi -&gt; net/http/fcgi
+ http/httptest -&gt; net/http/httptest
+ http/pprof -&gt; net/http/pprof
+ json -&gt; encoding/json
+ mail -&gt; net/mail
+ rpc -&gt; net/rpc
+ rpc/jsonrpc -&gt; net/rpc/jsonrpc
+ scanner -&gt; text/scanner
+ smtp -&gt; net/smtp
+ syslog -&gt; log/syslog
+ tabwriter -&gt; text/tabwriter
+ template -&gt; text/template
+ template/parse -&gt; text/template/parse
+ rand -&gt; math/rand
+ url -&gt; net/url
+ utf16 -&gt; unicode/utf16
+ utf8 -&gt; unicode/utf8
+ xml -&gt; encoding/xml
+</pre>
+
+<h2 id="2011-11-08">2011-11-08</h2>
+
+<pre>
+This weekly snapshot includes some package changes.
+
+In preparation for the Go 1 package reorganziation the sources for various
+packages have been moved, but the import paths remain unchanged. This
+inconsistency breaks goinstall at this snapshot. If you use goinstall, please
+stay synced to the previous weekly snapshot until the next one is tagged.
+
+The Error methods in the html, bzip2, and sql packages that return error values
+have been renamed to Err.
+
+Some non-core parts of the http package have been moved to net/http/httputil.
+The Dump* and NewChunked* functions and ClientConn, ServerConn, and
+ReverseProxy types have been moved from http to httputil.
+
+The API for html/template is now a direct copy of the template API, instead of
+exposing a single Escape function. For HTML templates, simply use the
+html/template package as you would the template package.
+
+Other changes:
+* all: rename os.EOF to io.EOF in non-code contexts (thanks Vincent Vanackere),
+ sort imports with gofix.
+* archive/zip: close file opened with OpenReader (thanks Dmitry Chestnykh).
+* bufio: return nil line from ReadLine on error, as documented.
+* builtin: document basic types and the built-in error type.
+* bytes: add Contains function.
+* exp/sql: finish implementation of transactions, flesh out types, docs.
+* exp/ssh: improved client authentication support (thanks Dave Cheney).
+* gc: better error message for range over non-receive channel,
+ bug fixes and clean-ups,
+ detect type switch variable not used cases,
+ fix escaping of package paths in symbol names,
+ helpful error message on method call on pointer to pointer,
+ portably read archive headers (thanks Ron Minnich).
+* gob: fix bug when registering the same type multiple times.
+* gofix: avoid panic on body-less functions in netudpgroup,
+ make fix order implicit by date.
+* gofmt, gofix: sort imports.
+* goinstall: support launchpad.net/~user branches (thanks Jani Monoses).
+* gopack: do not look for Go metadata in non-Go objects.
+* gotest: don't run examples that have no expected output.
+* html: the parser bug fixing campaign continues (thanks Andrew Balholm).
+* http: fix whitespace handling in sniffer,
+ only recognize application/x-www-form-urlencoded in ParseForm,
+ support Trailers in ReadRequest.
+* lib9: add ctime.
+* math: faster Gamma (thanks Charles L. Dorian),
+ improved accuracy for Tan (thanks Charles L. Dorian),
+ improved high-angle test for Cos, Sin and Tan (thanks Charles L. Dorian).
+* net: implement LookupTXT for windows (thanks Alex Brainman).
+* os,text,unicode: renamings.
+* runtime/cgo: fix data declaration to be extern.
+* runtime: add timespec definition for freebsd,
+ add windows callback tests (thanks Alex Brainman),
+ fix prototype for openbsd thrsleep,
+ fix set and not used,
+ unify mutex code across OSes,
+ windows_386 sighandler to use correct g (thanks Alex Brainman).
+* template: format error with pointer receiver,
+ make redefinition of a template in a set more consistent.
+* test: clear execute bit from source file (thanks Mikio Hara),
+ make closedchan.go exit with failure if something fails.
+* time: faster Nanoseconds call.
+* websocket: return an error HTTP response for bad websocket request.
+* xml: allow parsing of &lt;_&gt; &lt;/_&gt;. (thanks David Crawshaw).
+</pre>
+
+<h2 id="2011-11-02">2011-11-02 (new error type)</h2>
+
+<pre>
+This snapshot introduces the built-in error type, defined as
+
+ type error interface {
+ Error() string
+ }
+
+The error type replaces os.Error. Notice that the method name has changed from
+String to Error. Package fmt's Print formats both Stringers and errors:
+in general there is no need to implement both String and Error methods.
+
+Gofix can update most code. If you have split your package across many files,
+it may help to use the -force=error command-line option, which forces gofix to
+apply the error fix even if it is not obvious that a particular file needs it.
+As always, it is a good idea to read and test the changes that gofix made
+before committing them to your version control system.
+</pre>
+
+<h2 id="2011-11-01">2011-11-01</h2>
+
+<pre>
+* 6l: remove mention of -e flag - it does nothing.
+* cc: change cas to newcase (thanks Ron Minnich).
+* crypto/openpgp/error: use Error in names of error impl types.
+* crypto/rsa: change public exponent from 3 to 65537.
+* crypto/tls: add Error method to alert.
+* doc: add link to A Tour of Go in Japanese,
+ add 'all' make rule to build all docs,
+ refer to tour.golang.org instead of go-tour.appspot.com.
+* exp/norm: fixed bug that crept in with moving to the new regexp.
+* exp/ssh: fix length header leaking into channel data (thanks Dave Cheney).
+* fmt: handle os.Error values explicity (as distinct from Stringer).
+* gc: clean up printing,
+ fix [568]g -V crash (thanks Mikio Hara),
+ test + fix escape analysis bug.
+* go/build: avoid os.Error in tests.
+* go/doc: remove os.NewError anti-heuristic.
+* go/parser: test and fix := scoping bug.
+* gob: split uses of gobError, remove unnecessary embedding.
+* gofix: test import insertion, deletion.
+* goinstall: intelligent vcs selection for common sites (thanks Julian Phillips).
+* gopack: change archive file name length back to 16.
+* html: fix print argument in test,
+ more parser improvements (thanks Andrew Balholm).
+* json: properly handle nil slices (thanks Alexander Reece).
+* math: improved accuracy for Sin and Cos (thanks Charles L. Dorian).
+* misc/emacs: fix restoration of windows after gofmt (thanks Jan Newmarch).
+* misc/vim: add rune keyword (thanks Jongmin Kim).
+* misc/windows: can be used for amd64 (thanks Alex Brainman).
+* net: document why we do not use SO_REUSEADDR on windows (thanks Alex Brainman).
+* os: do not interpret 0-length read as EOF.
+* pkg: remove .String() from some print arguments.
+* rpc: avoid infinite loop on input error.
+* runtime/pprof: document OS X being broken.
+* runtime: lock the main goroutine to the main OS thread during init.
+* spec: define that initialization is sequential.
+* strconv: use better errors than os.EINVAL, os.ERANGE.
+* syscall: fix Await msg on Plan 9 (thanks Andrey Mirtchovski).
+* template: do not use error as stringer,
+ fix error checking on execute without parse (thanks Scott Lawrence).
+* test/alias.go: additional tests.
+* test: error-related fixes.
+* textproto: prevent long lines in HTTP headers from causing HTTP 400 responses.
+* time: add RFC1123 with numeric timezone format (thanks Scott Lawrence).
+</pre>
+
+<h2 id="2011-10-26">2011-10-26 (new rune type)</h2>
+
+<pre>
+This snapshot introduces the rune type, an alias for int that
+should be used for Unicode code points.
+
+A future release of Go (after Go 1) will change rune to be an
+alias for int32 instead of int. Using rune consistently is the way
+to make your code build both before and after this change.
+
+To test your code for rune safety, you can rebuild the Go tree with
+
+ GOEXPERIMENT=rune32 ./all.bash
+
+which builds a compiler in which rune is an alias for int32 instead of int.
+
+Also, run govet on your code to identify methods that might need to have their
+signatures updated.
+</pre>
+
+<h2 id="2011-10-25">2011-10-25</h2>
+
+<pre>
+* big: make SetString return nil if an error occurs,
+ new Rat.Inv method,
+ usable zero Rat values without need for explicit initialization.
+* codereview: show LGTMs in hg p.
+* crypto/x509: fix names in certificate generation.
+* exp/ssh: add experimental ssh client,
+ introduce Session to replace Cmd for interactive commands,
+ server cleanups (thanks Dave Cheney).
+* exp/types: fix crash in parseBasicType on unknown type.
+* fmt: don't panic formatting nil interfaces (thanks Gustavo Niemeyer).
+* go/ast, go/token: actually run tests; fix go/ast test.
+* gotest: explicit -help flag, use $GCFLAGS like make does.
+* govet: check canonical dynamic method signatures.
+* html: improved parsing (thanks Andrew Balholm),
+ parse &lt;select&gt; tags, parse and render comment nodes,
+ remove the Tokenizer.ReturnComments option.
+* http: Transport: with TLS InsecureSkipVerify, skip hostname check.
+* misc/vim: add highlighting for delete (thanks Dave Cheney).
+* net: do not set SO_REUSEADDR for windows (thanks Alex Brainman).
+* os/inotify: move to exp/inotify (thanks Mikio Hara).
+* runtime: include bootstrap m in mcpu accounting (thanks Hector Chu).
+* syscall: use uintptr for Mount flags.
+</pre>
+
+<h2 id="2011-10-18">2011-10-18</h2>
+
+<pre>
+This weekly snapshot includes some language and package changes that may
+require code changes. Please read these notes carefully, as there are many
+changes and your code will likely be affected.
+
+The syntax for map deletion has been changed. Code that looks like:
+ m[x] = 0, false
+should be written as:
+ delete(m, x)
+The compiler still accepts m[x] = 0, false for now; even so, you can use gofix
+to rewrite such assignments into delete(m, x).
+
+The Go compiler will reject a return statement without arguments when any of
+the result variables has been shadowed. Code rejected as a result of this
+change is likely to be buggy.
+
+Receive-only channels (&lt;-chan T) cannot be closed.
+The compiler will diagnose such attempts.
+
+The first element of a map iteration is chosen at random. Code that depends on
+iteration order will need to be updated.
+
+Goroutines may be run during program initialization.
+
+A string may be appended to a byte slice. This code is now legal:
+ var b []byte
+ var s string
+ b = append(b, s...)
+
+The gotry command and its associated try package have been deleted.
+It was a fun experiment that - in the end - didn't carry its weight.
+
+The gotype tool has been moved to exp/gotype and its associated go/types
+package has been moved to exp/types. The deprecated go/typechecker package has
+been deleted.
+
+The enbflint tool has been moved to pkg/exp/ebnflint and its associated ebnf
+package has been moved to pkg/exp/ebnf.
+
+The netchan package has been moved to old/netchan.
+
+The http/spdy package has been moved to exp/spdy.
+
+The exp/datafmt package has been deleted.
+
+The container/vector package has been deleted. Slices are better:
+ http://code.google.com/p/go-wiki/wiki/SliceTricks
+
+Other changes:
+* 5l/6l/8l: correct ELFRESERVE diagnostic (thanks Anthony Martin).
+* 6l/8l: support OS X code signing (thanks Mikkel Krautz).
+* asn1: accept UTF8 strings as ASN.1 ANY values.
+* big: handle aliasing correctly for Rat.SetFrac.
+* build: add missing nuke target (thanks Anthony Martin),
+ catch future accidental dependencies to exp or old packages,
+ more robustly detect gold 2.20 (thanks Christopher Wedgwood),
+ pass $GCFLAGS to compiler,
+ stop on failed deps.bash.
+* crypto/tls: add 3DES ciphersuites,
+ add server side SNI support,
+ fetch root CA from Windows store (thanks Mikkel Krautz),
+ fetch root certificates using Mac OS API (thanks Mikkel Krautz),
+ fix broken looping code in windows root CA fetcher (thanks Mikkel Krautz),
+ more Unix root certificate locations.
+* crypto/x509: add code for dealing with PKIX public keys,
+ keep the raw Subject and Issuer.
+* csv: fix overly aggressive TrimLeadingSpace.
+* exp/ssh: general cleanups for client support (thanks Dave Cheney).
+* exp/template/html: fix bug in cssEscaper.
+* exp/terminal: split terminal handling from exp/ssh.
+* exp/winfsnotify: filesystem watcher for Windows (thanks Hector Chu).
+* fmt: fix test relying on map iteration order.
+* gc: changes to export format in preparation for inlining,
+ pass FlagNoPointers to runtime.new,
+ preserve uint8 and byte distinction in errors and import data,
+ stricter multiple assignment + test,
+ treat uintptr as potentially containing a pointer.
+* go/scanner: remove AllowIllegalChars mode.
+* go/token: document deserialization property.
+* gob: avoid one copy for every message written.
+* godefs: add enum/const testdata (thanks Dave Cheney).
+* godoc: generate package toc in template, not in JavaScript,
+ show "unexported" declarations when executing "godoc builtin",
+ show correct source name with -path.
+* gofix: make fix order explicit, add mapdelete.
+* gofmt: fix //line handling,
+ disallow rewrites for incomplete programs.
+* gotest: avoid conflicts with the name of the tested package (thanks Esko Luontola),
+ test example code.
+* goyacc: clean up after units (thanks Anthony Martin),
+ make more gofmt-compliant.
+* html: add a Render function, various bug fixes and improvements,
+ parser improvements (thanks Andrew Balholm).
+* http: DoS protection: cap non-Handler Request.Body reads,
+ RoundTrippers shouldn't mutate Request,
+ avoid panic caused by nil URL (thanks Anthony Martin),
+ fix read timeouts and closing,
+ remove Request.RawURL.
+* image/tiff: implement PackBits decoding (thanks Benny Siegert).
+* ld: fix "cannot create 8.out.exe" (thanks Jaroslavas Počepko).
+* misc/emacs: add a "godoc" command, like M-x man (thanks Evan Martin).
+* misc/swig: delete binaries (thanks Anthony Martin).
+* misc/windows: automated toolchain packager (thanks Joe Poirier).
+* net/windows: implement ip protocol name to number resolver (thanks Alex Brainman).
+* net: add File method to IPConn (thanks Mikio Hara),
+ allow LookupSRV on non-standard DNS names,
+ fix "unexpected socket family" error from WriteToUDP (thanks Albert Strasheim),
+ fix socket leak in case of Dial failure (thanks Chris Farmiloe),
+ remove duplicate error information in Dial (thanks Andrey Mirtchovski),
+ return error from CloseRead and CloseWrite (thanks Albert Strasheim),
+ skip ICMP test on Windows too unless uid 0.
+* reflect: disallow Interface method on Value obtained via unexported name,
+ make unsafe use of SliceHeader gc-friendly.
+* rpc: don't panic on write error.
+* runtime: faster strings,
+ fix crash if user sets MemProfileRate=0,
+ fix crash when returning from syscall during gc (thanks Hector Chu),
+ fix memory leak in parallel garbage collector.
+* scanner: invalidate scanner.Position when no token is present.
+* spec: define order of multiple assignment.
+* syscall/windows: dll function load and calling changes (thanks Alex Brainman).
+* syscall: add #ifdefs to fix the manual corrections in ztypes_linux_arm.go (thanks Dave Cheney),
+ adjust Mount to accomodate stricter FS implementations.
+* testing: fix time reported for failing tests.
+* utf8: add Valid and ValidString.
+* websocket: tweak hybi ReadHandshake to support Firefox (thanks Luca Greco).
+* xml: match Marshal's XMLName behavior in Unmarshal (thanks Chris Farmiloe).
+</pre>
+
+<h2 id="2011-10-06">2011-10-06</h2>
+
+<pre>
+This weekly snapshot includes changes to the io, image, and math packages that
+may require changes to client code.
+
+The io package's Copyn function has been renamed to CopyN.
+
+The math package's Fabs, Fdim, Fmax, Fmin and Fmod functions
+have been renamed to Abs, Dim, Max, Min, and Mod.
+
+Parts of the image package have been moved to the new image/color package.
+The spin-off renames some types. The new names are simply better:
+ image.Color -&gt; color.Color
+ image.ColorModel -&gt; color.Model
+ image.ColorModelFunc -&gt; color.ModelFunc
+ image.PalettedColorModel -&gt; color.Palette
+ image.RGBAColor -&gt; color.RGBA
+ image.RGBAColorModel -&gt; color.RGBAModel
+ image.RGBA64Color -&gt; color.RGBA64
+ image.RGBA64ColorModel -&gt; color.RGBA64Model
+(similarly for NRGBAColor, GrayColorModel, etc)
+The image.ColorImage type stays in the image package, but is renamed:
+ image.ColorImage -&gt; image.Uniform
+The image.Image implementations (image.RGBA, image.RGBA64, image.NRGBA,
+image.Alpha, etc) do not change their name, and gain a nice symmetry:
+an image.RGBA is an image of color.RGBA, etc.
+The image.Black, image.Opaque uniform images remain unchanged (although their
+type is renamed from image.ColorImage to image.Uniform).
+The corresponding color types (color.Black, color.Opaque, etc) are new.
+Nothing in the image/ycbcr is renamed yet. The ycbcr.YCbCrColor and
+ycbcr.YCbCrImage types will eventually migrate to color.YCbCr and image.YCbCr,
+at a later date.
+
+* 5g/6g/8g: fix loop finding bug, fix -f(), registerize variables again.
+* 5l/6l/8l: add a DT_DEBUG dynamic tag to a dynamic ELF binary.
+* archive/zip: read and write unix file modes (thanks Gustavo Niemeyer).
+* build: clear execute bit from source files (thanks Mikio Hara).
+* bytes: add EqualFold.
+* cgo: allow Windows path characters in flag directives (thanks Joe Poirier),
+ support for mingw-w64 4.5.1 and newer (thanks Wei Guangjing).
+* codereview: extra repo sanity check,
+ fix for Mercurial 1.9.2,
+ fix hg change in Windows console (thanks Yasuhiro Matsumoto).
+* crypto/elliptic: use %x consistently in error print.
+* doc/spec: remove notes about gccgo limitations, now fixed.
+* doc: add 'Debugging Go code with GDB' tutorial,
+ fix memory model read visibility bug.
+* encoding/binary: PutX functions require buffer of sufficient size,
+ added benchmarks, support for varint encoding.
+* exec: add Command.ExtraFiles.
+* exp/sql{,/driver}: new database packages.
+* exp/ssh: move common code to common.go (thanks Dave Cheney).
+* exp/template/html: work continues.
+* fmt: replace channel cache with slice.
+* gc: limit helper threads based on ncpu.
+* go/doc, godoc, gotest: support for reading example documentation.
+* go: documentation and skeleton implementation of new command.
+* gob: protect against invalid message length,
+ allow sequential decoders on the same input stream.
+* hgpatch: do not use hg exit status (thanks Yasuhiro Matsumoto).
+* http: add Location method to Response,
+ don't send a 400 Bad Request after a client shutdown.
+* index/suffixarray: 4.5x faster index serialization (to memory).
+* io/ioutil: add a comment on why devNull is a ReaderFrom.
+* json: use strings.EqualFold instead of strings.ToLower.
+* misc/emacs: fix indent bug.
+* net: add shutdown: TCPConn.CloseWrite and CloseRead.
+* net: use AF_UNSPEC instead of individual address family (thanks Mikio Hara).
+* path/filepath: added Rel as the complement of Abs (thanks Gustavo Niemeyer).
+* pkg/syscall: add Mkfifo for linux platforms.
+* regexp: move to old/regexp, replace with exp/regexp, speedups.
+* runtime/gdb: fix pretty printing of channels,
+ gracefully handle not being able to find types.
+* runtime: check for nil value pointer in select syncsend case,
+ faster finalizers,
+ fix malloc sampling bug,
+ fix map memory leak,
+ fix spurious deadlock reporting,
+ fix usleep on linux/386 and re-enable parallel gc (thanks Hector Chu),
+ parallelize garbage collector mark + sweep.
+* strconv: faster Unquote in common case.
+* strings: add EqualFold, Replacer, NewReplacer.
+* suffixarray: add benchmarks for construction (thanks Eric Eisner).
+* syscall: add GetsockoptByte, SetsockoptByte for openbsd (thanks Mikio Hara),
+ add IPv4 ancillary data for linux (thanks Mikio Hara),
+ mark stdin, stdout, stderr non-inheritable by child processes (thanks Alex Brainman),
+ mksyscall_windows.pl creates non-syscall packages (thanks Jaroslavas Počepko),
+ update multicast socket options (thanks Mikio Hara).
+* testing: support for running tests in parallel (thanks Miki Tebeka).
+* time: make month/day name comparisons case insenstive.
+* unicode: fix make tables.
+* vim: Send GoFmt errors to a location list (thanks Paul Sbarra).
+* websocket: add hybi-13 support, add mutex to make websocket full-duplex.
+</pre>
+
<h2 id="2011-09-21">2011-09-21</h2>
<pre>
@@ -544,7 +1811,7 @@ Other changes:
* exp/regexp/syntax: add Prog.NumCap.
* exp/template: API changes, bug fixes, and tweaks.
* flag: make -help nicer.
-* fmt: Scan(&int) was mishandling a lone digit.
+* fmt: Scan(&amp;int) was mishandling a lone digit.
* gc: fix closure bug,
fix to build with clang (thanks Dave Cheney),
make size of struct{} and [0]byte 0 bytes (thanks Robert Hencke),
@@ -702,7 +1969,7 @@ Other changes:
<h2 id="2011-06-23">2011-06-23</h2>
<pre>
-This release includes a language change that restricts the use of goto.
+This snapshot includes a language change that restricts the use of goto.
In essence, a "goto" statement outside a block cannot jump to a label inside
that block. Your code may require changes if it uses goto.
This changeset shows how the new rule affected the Go tree:
@@ -725,7 +1992,7 @@ Other changes:
add support for Plan 9 (thanks Anthony Martin),
better error message for windows LookPath (thanks Alex Brainman).
* fmt: catch panics from calls to String etc.
-* gc: descriptive panic for nil pointer -> value method call,
+* gc: descriptive panic for nil pointer -&gt; value method call,
implement goto restriction,
unsafe.Alignof, unsafe.Offsetof, unsafe.Sizeof now return uintptr.
* go/build: include Import objects in Script Inputs.
@@ -763,7 +2030,7 @@ Other changes:
<h2 id="2011-06-16">2011-06-16</h2>
<pre>
-This release includes changes to the sort and image/draw packages that will
+This snapshot includes changes to the sort and image/draw packages that will
require changes to client code.
The sort.IntArray type has been renamed to IntSlice, and similarly for
@@ -800,7 +2067,7 @@ Other changes:
* net: export all fields in Interface (thanks Mikio Hara),
rearrange source to run more tests on Windows (thanks Alex Brainman),
sendfile for win32 (thanks Yasuhiro Matsumoto).
-* os: Plan 9, fix OpenFile & Chmod, add Process.Kill (thanks Yuval Pavel Zholkover).
+* os: Plan 9, fix OpenFile &amp; Chmod, add Process.Kill (thanks Yuval Pavel Zholkover).
* runtime: fix Plan 9 "lingering goroutines bug" (thanks Yuval Pavel Zholkover).
* spec: clarify rules for append, scope rules for :=,
specify constant conversions,
@@ -816,7 +2083,7 @@ Other changes:
<h2 id="2011-06-09">2011-06-09 (<a href="release.html#r58">base for r58</a>)</h2>
<pre>
-This release includes changes to the strconv, http, and exp/draw packages.
+This snapshot includes changes to the strconv, http, and exp/draw packages.
Client code that uses the http or exp/draw packages will need to be changed,
and code that uses strconv or fmt's "%q" formatting directive merits checking.
@@ -874,7 +2141,7 @@ Other changes:
<h2 id="2011-06-02">2011-06-02</h2>
<pre>
-This release includes changes to the exec package that will require changes
+This snapshot includes changes to the exec package that will require changes
to client code.
The exec package has been re-designed with a more convenient and succinct API.
@@ -886,7 +2153,7 @@ This code:
return nil, err
}
var buf bytes.Buffer
- io.Copy(&buf, p.Stdout)
+ io.Copy(&amp;buf, p.Stdout)
w, err := p.Wait(0)
p.Close()
if err != nil {
@@ -944,7 +2211,7 @@ Other changes:
* goinstall: fixes for windows (thanks Alex Brainman),
more verbose logging with -v.
* gotest, pkg/exec: use bash to run shell scripts on windows (thanks Alex Brainman).
-* http/spdy: redo interfaces, flesh out implementation & frame types (thanks William Chan).
+* http/spdy: redo interfaces, flesh out implementation &amp; frame types (thanks William Chan).
* http: Transport hook to register non-http(s) protocols,
add client+server benchmark,
catch Handler goroutine panics,
@@ -995,7 +2262,7 @@ Other changes:
<h2 id="2011-05-22">2011-05-22</h2>
<pre>
-This release includes changes to the http package that will require changes to
+This snapshot includes changes to the http package that will require changes to
client code.
The finalURL return value of the Client.Get method has been removed.
@@ -1015,7 +2282,7 @@ should be rewritten as:
Uses of http.Get that assign the finalURL value to _ can be rewritten
automatically with gofix.
-This release also includes an optimization to the append function that makes it
+This snapshot also includes an optimization to the append function that makes it
between 2 and 5 times faster in typical use cases.
Other changes:
@@ -1100,7 +2367,7 @@ Other changes:
* image/tiff: implement a decoder (thanks Benny Siegert).
* image: add type-specific Set methods and use them when decoding PNG,
make AlphaColor.Set conform to usual signature (thanks Roger Peppe),
- png & jpeg encoding benchmarks.
+ png &amp; jpeg encoding benchmarks.
* ld: do not emit reference to dynamic library named "",
fix alignment of rodata section on Plan 9 (thanks Anthony Martin),
make ELF binaries with no shared library dependencies static binaries.
@@ -1119,7 +2386,7 @@ Other changes:
protocol family adaptive address family selection (thanks Mikio Hara),
re-enable wildcard listening (thanks Mikio Hara),
sort records returned by LookupSRV (thanks Gary Burd).
-* os: make Readdir & Readdirnames return os.EOF at end,
+* os: make Readdir &amp; Readdirnames return os.EOF at end,
make Setenv update C environment variables.
* reflect: allow unexported key in Value.MapIndex.
* runtime, sync/atomic: fix arm cas.
@@ -1149,7 +2416,7 @@ Other changes:
<h2 id="2011-04-27">2011-04-27 (<a href="release.html#r57">base for r57</a>)</h2>
<pre>
-This release includes revisions to the reflect package to make it more
+This snapshot includes revisions to the reflect package to make it more
efficient, after the last weekly's major API update. If your code uses reflect
it may require further changes, not all of which can be made automatically by
gofix. For the full details of the change, see
@@ -1370,7 +2637,7 @@ Other changes:
<h2 id="2011-04-04">2011-04-04</h2>
<pre>
-This release includes changes to the net package. Your code will require
+This snapshot includes changes to the net package. Your code will require
changes if it uses the Dial or LookupHost functions.
The laddr argument has been removed from net.Dial, and the cname return value
@@ -1459,7 +2726,7 @@ Other changes:
* go/printer, gofmt: avoid exponential layout algorithm,
gofmt: simplify struct formatting and respect line breaks.
* go/scanner: to interpret line comments with Windows filenames (thanks Alex Brainman).
-* go/token: use array instead of map for token->string table.
+* go/token: use array instead of map for token-&gt;string table.
* gob: optimizations to reduce allocations,
use pointers in bootstrapType so interfaces behave properly.
* gobuilder: recognize CLs of the form weekly.DATE.
@@ -1565,7 +2832,7 @@ arguments as an *os.ProcAttr and *syscall.ProcAttr values, respectively. This
code:
os.StartProcess(bin, args, env, dir, fds)
should now be written as:
- os.StartProcess(bin, args, &os.ProcAttr{Files: fds, Dir: dir, Env: env})
+ os.StartProcess(bin, args, &amp;os.ProcAttr{Files: fds, Dir: dir, Env: env})
The gob package will now encode and decode values of types that implement the
gob.GobEncoder and gob.GobDecoder interfaces. This allows types with unexported
@@ -1966,12 +3233,12 @@ This release also changes some of the internal structure of the memory
allocator in preparation for other garbage collector changes.
If you run into problems, please let us know.
There is one known issue that we are aware of but have not debugged yet:
- http://code.google.com/p/go/issues/detail?id=1464&.
+ http://code.google.com/p/go/issues/detail?id=1464&amp;.
Other changes in this release:
* 5l: document -F, force it on old ARMs (software floating point emulation)
* 6g: fix registerization of temporaries (thanks Eoghan Sherry),
- fix uint64(uintptr(unsafe.Pointer(&x))).
+ fix uint64(uintptr(unsafe.Pointer(&amp;x))).
* 6l: Relocate CMOV* instructions (thanks Gustavo Niemeyer),
windows/amd64 port (thanks Wei Guangjing).
* 8l: add PE dynexport, emit DWARF in Windows PE, and
@@ -2175,7 +3442,7 @@ This release includes several fixes and changes:
normalize processing of format string.
* gc: return constant floats for parts of complex constants (thanks Anthony Martin),
rewrite complex /= to l = l / r (thanks Patrick Gavlin),
- fix &^=.
+ fix &amp;^=.
* go/ast: provide complete node text range info.
* gob: generate a better error message in one confusing place.
* godoc: fix godoc -src (thanks Icarus Sparry).
@@ -2366,9 +3633,9 @@ will fail to compile rather than behave erroneously.
The bytes package has changed. Its Add and AddByte functions have been removed,
as their functionality is provided by the recently-introduced built-in function
"append". Any code that uses them will need to be changed:
-s = bytes.Add(s, b) -> s = append(s, b...)
-s = bytes.AddByte(b, c) -> s = append(s, b)
-s = bytes.Add(nil, c) -> append([]byte(nil), c)
+s = bytes.Add(s, b) -&gt; s = append(s, b...)
+s = bytes.AddByte(b, c) -&gt; s = append(s, b)
+s = bytes.Add(nil, c) -&gt; append([]byte(nil), c)
The template package has changed. Your code will need to be updated if it calls
the HTMLFormatter or StringFormatter functions, or implements its own formatter
@@ -2634,12 +3901,12 @@ standard error by default. The names have also changed, although the old names
are still supported. They will be deleted in the next release, though, so it
would be good to update now if you can. For most purposes all you need to do
is make these substitutions:
- log.Stderr -> log.Println or log.Print
- log.Stderrf -> log.Printf
- log.Crash -> log.Panicln or log.Panic
- log.Crashf -> log.Panicf
- log.Exit -> log.Exitln or log.Exit
- log.Exitf -> log.Exitf (no change)
+ log.Stderr -&gt; log.Println or log.Print
+ log.Stderrf -&gt; log.Printf
+ log.Crash -&gt; log.Panicln or log.Panic
+ log.Crashf -&gt; log.Panicf
+ log.Exit -&gt; log.Exitln or log.Exit
+ log.Exitf -&gt; log.Exitf (no change)
Calls to log.New() must drop the second argument.
Also, custom loggers with exit or panic properties will need to be reworked.
For full details, see the change description:
@@ -2878,7 +4145,7 @@ as well as the following fixes and changes:
implement new slice spec (thanks Scott Lawrence)
make string x + y + z + ... + w efficient
more accurate line numbers for ATEXT
- remove &[10]int -> []int conversion
+ remove &amp;[10]int -&gt; []int conversion
* go-mode.el: fix highlighting for 'chan' type (thanks Scott Lawrence)
* godoc: better support for directory trees for user-supplied paths
use correct delay time (bug fix)
@@ -3364,7 +4631,7 @@ clarifications and consolidations to the Language Specification.
The type checking rules around assignments and conversions are simpler but more
restrictive: assignments no longer convert implicitly from *[10]int to []int
-(write x[0:] instead of &x), and conversions can no longer change the names of
+(write x[0:] instead of &amp;x), and conversions can no longer change the names of
types inside composite types.
The fmt package now includes flexible type-driven (fmt.Scan) and
@@ -3396,7 +4663,7 @@ format-driven (fmt.Scanf) scanners for all basic types.
* os/signal: correct the regexp for finding Unix signal names (thanks Vinu Rajashekhar).
* regexp: optimizations (thanks Kyle Consalus).
* runtime: fix printing -Inf (thanks Evan Shaw),
- finish pchw -> tiny, added gettime for tiny (thanks Daniel Theophanes).
+ finish pchw -&gt; tiny, added gettime for tiny (thanks Daniel Theophanes).
* spec: clean-ups and consolidation.
* syscall: additional Windows compatibility fixes (thanks Alex Brainman).
* test/bench: added regex-dna-parallel.go (thanks Kyle Consalus).
@@ -3419,10 +4686,10 @@ preparing for Google I/O.
* cmath: update range of Phase and Polar due to signed zero (thanks Charles L. Dorian).
* codereview: work better with mq (thanks Peter Williams).
* compress: renamings
- NewDeflater -> NewWriter
- NewInflater -> NewReader
- Deflater -> Compressor
- Inflater -> Decompressor
+ NewDeflater -&gt; NewWriter
+ NewInflater -&gt; NewReader
+ Deflater -&gt; Compressor
+ Inflater -&gt; Decompressor
* exp/draw/x11: respect $XAUTHORITY,
treat $DISPLAY the same way x-go-bindings does.
* exp/draw: fast path for glyph images, other optimizations,
@@ -3444,7 +4711,7 @@ preparing for Google I/O.
fix printing of labels.
* http: prevent crash if remote server is not responding with "HTTP/".
* json: accept escaped slash in string scanner (thanks Michael Hoisie),
- fix array -> non-array decoding.
+ fix array -&gt; non-array decoding.
* libmach: skip __nl_symbol_ptr section on OS X.
* math: amd64 versions of Fdim, Fmax, Fmin,
signed zero Sqrt special case (thanks Charles L. Dorian).
@@ -3739,8 +5006,8 @@ This release also includes the goinstall command-line tool.
There is one language change: the ability to convert a string to []byte or
[]int. This deprecates the strings.Bytes and strings.Runes functions.
You can convert your existing sources using these gofmt commands:
- gofmt -r 'strings.Bytes(x) -> []byte(x)' -w file-or-directory-list
- gofmt -r 'strings.Runes(x) -> []int(x)' -w file-or-directory-list
+ gofmt -r 'strings.Bytes(x) -&gt; []byte(x)' -w file-or-directory-list
+ gofmt -r 'strings.Runes(x) -&gt; []int(x)' -w file-or-directory-list
After running these you might need to delete unused imports of the "strings"
package.
@@ -3900,7 +5167,7 @@ There are no language changes.
build: $GOBIN should no longer be required in $PATH (thanks Devon H. O'Dell),
new package target "make bench" to run benchmarks
-8g: faster float -> uint64 conversion (thanks Evan Shaw)
+8g: faster float -&gt; uint64 conversion (thanks Evan Shaw)
5g, 6g, 8g:
clean opnames.h to avoid stale errors (thanks Yongjian Xu),
a handful of small compiler fixes