| 
									
										
										
										
											2010-01-06 15:46:09 -08:00
										 |  |  |  | <!-- Release History --> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <h2 id="Releases">Release History</h2> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <p>This page summarizes the changes between tagged releases of Go. | 
					
						
							|  |  |  |  | For full details, see the <a href="http://code.google.com/p/go/source/list">Mercurial change log</a>.</p> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-07 13:55:22 +11:00
										 |  |  |  | <h3 id="2011-03-07">2011-03-07</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | Changes in this release: | 
					
						
							|  |  |  |  | * build: fixes and simplifications (thanks Dave Cheney), | 
					
						
							|  |  |  |  |         move $GOBIN ahead of /bin, /usr/bin in build $PATH. | 
					
						
							|  |  |  |  | * bzip2: speed up decompression. | 
					
						
							|  |  |  |  | * cgo: fix dwarf type parsing (thanks Gustavo Niemeyer), | 
					
						
							|  |  |  |  |         put temporary source files in _obj (thanks Roger Peppe), | 
					
						
							|  |  |  |  |         fix bug involving 0-argument callbacks. | 
					
						
							|  |  |  |  | * compress/lzw: optimizations. | 
					
						
							|  |  |  |  | * doc: add FAQ about "implements", | 
					
						
							|  |  |  |  |         add FAQ about large binaries , | 
					
						
							|  |  |  |  |         add FAQ about stack vs heap allocation, | 
					
						
							|  |  |  |  |         add internationalization to roadmap, | 
					
						
							|  |  |  |  |         describe platform-specific conventions in code.html. | 
					
						
							|  |  |  |  | * fmt: allow recursive calls to Fscan etc (thanks Roger Peppe), | 
					
						
							|  |  |  |  |         make %#p suppress leading 0x. | 
					
						
							|  |  |  |  | * gc, gopack: add some missing flags to the docs. | 
					
						
							|  |  |  |  | * gc: fix init of packages named main (thanks Gustavo Niemeyer), | 
					
						
							|  |  |  |  | * gob: make recursive map and slice types work, and other fixes. | 
					
						
							|  |  |  |  |         tentative support for GobEncoder/GobDecoder interfaces. | 
					
						
							|  |  |  |  | * gobuilder: add -package flag to build external packages and -v for verbose. | 
					
						
							|  |  |  |  | * gofmt: exclude test file that is not legal Go. | 
					
						
							|  |  |  |  | * goinstall: protect against malicious filenames (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * goyacc: provide -p flag to set prefix for names, documentation update. | 
					
						
							|  |  |  |  | * http: add cookie support (thanks Petar Maymounkov), | 
					
						
							|  |  |  |  |         allow handlers to send non-chunked responses, | 
					
						
							|  |  |  |  |         export ParseHTTPVersion, | 
					
						
							|  |  |  |  |         expose Client's Transport, | 
					
						
							|  |  |  |  |         use WriteProxy, | 
					
						
							|  |  |  |  |         rename ClientTransport to Transport. | 
					
						
							|  |  |  |  | * http/cgi: new package. | 
					
						
							|  |  |  |  | * http/httptest: new package. | 
					
						
							|  |  |  |  | * image: add a decoding test for common file formats. | 
					
						
							|  |  |  |  | * io/ioutil: add TempDir. | 
					
						
							|  |  |  |  | * mime/multipart: Header changed from map to MIMEHeader | 
					
						
							|  |  |  |  | * path/filepath: new OS-specific path support (thanks Gustavo Niemeyer). | 
					
						
							|  |  |  |  | * reflect: add PtrTo, add Value.Addr (old Addr is now UnsafeAddr). | 
					
						
							|  |  |  |  | * runtime: use kernel-supplied compare-and-swap on linux/arm. | 
					
						
							|  |  |  |  | * spec: minor clarification of scope rule for functions. | 
					
						
							|  |  |  |  | * sync/atomic: new package to expose atomic operations. | 
					
						
							|  |  |  |  | * syscall: regenerate zerrors_freebsd_amd64.go (thanks Mikio Hara), | 
					
						
							|  |  |  |  |         work around FreeBSD execve kernel bug (thanks Devon H. O'Dell). | 
					
						
							|  |  |  |  | * template: document the delimiters. | 
					
						
							|  |  |  |  | * testing: run GC before each benchmark run (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * unsafe: fix the documentation. | 
					
						
							|  |  |  |  | * websocket: use httptest.Server for tests (thanks Robert Hencke). | 
					
						
							|  |  |  |  | * xml: permit nested directives (thanks Chris Dollin). | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-25 14:13:14 +11:00
										 |  |  |  | <h3 id="2011-02-24">2011-02-24</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes changes to the http package and a small language change. | 
					
						
							|  |  |  |  | Your code will require changes if it manipulates http Headers or omits the | 
					
						
							|  |  |  |  | condition in if statements. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The new http.Header type replaces map[string]string in the Header and Trailer | 
					
						
							|  |  |  |  | fields of http.Request and http.Response. | 
					
						
							|  |  |  |  | A Header value can be manipulated via its Get, Set, Add, and Del methods. | 
					
						
							|  |  |  |  | See http://golang.org/pkg/http/#Header | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The condition is now mandatory in if statements. | 
					
						
							|  |  |  |  | Previously it would default to true, as in switch and for statements. | 
					
						
							|  |  |  |  | This code is now illegal: | 
					
						
							|  |  |  |  | 	if x := foo(); { | 
					
						
							|  |  |  |  | 		// code that is always executed | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | The same effect can be achieved like this: | 
					
						
							|  |  |  |  | 	if x := foo(); true { | 
					
						
							|  |  |  |  | 		// code | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | Or, in a simpler form: | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		x := foo() | 
					
						
							|  |  |  |  | 		// code | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * 6l: new -Hwindowsgui flag allows to build windows gui pe (thanks Alex Brainman), | 
					
						
							|  |  |  |  | 	pe fixes (thanks Wei Guangjing). | 
					
						
							|  |  |  |  | * 8l, 6l: allow for more os threads to be created on Windows (thanks Alex Brainman), | 
					
						
							|  |  |  |  | * build: reduce the use of subshells in recursive make, and | 
					
						
							|  |  |  |  | 	remove unused NaCl conditional from make.bash (thanks Dave Cheney). | 
					
						
							|  |  |  |  | * codereview: fix clpatch with empty diffs (thanks Gustavo Niemeyer). | 
					
						
							|  |  |  |  | * compress/bzip2: add package. | 
					
						
							|  |  |  |  | * compress/lzw: implement a decoder. | 
					
						
							|  |  |  |  | * crypto/openpgp: add package. | 
					
						
							|  |  |  |  | * crypto/rand: add read buffer to speed up small requests (thanks Albert Strasheim). | 
					
						
							|  |  |  |  | * crypto/rsa: left-pad OAEP results when needed. | 
					
						
							|  |  |  |  | * crypto/tls: make protocol negotiation failure fatal. | 
					
						
							|  |  |  |  | * fmt: stop giving characters to the Scan method of Scanner when we hit a newline in Scanln. | 
					
						
							|  |  |  |  | * gc: interface error message fixes, | 
					
						
							|  |  |  |  | 	make string const comparison unsigned (thanks Jeff R. Allen). | 
					
						
							|  |  |  |  | * go spec: minor clarification on channel types. | 
					
						
							|  |  |  |  | * go/ast, parser: condition in if statement is mandatory. | 
					
						
							|  |  |  |  | * gob: compute information about a user's type once. | 
					
						
							|  |  |  |  | 	protect against pure recursive types. | 
					
						
							|  |  |  |  | * godoc: accept symbolic links as path names provided to -path, | 
					
						
							|  |  |  |  | 	add robots.txt, log errors when reading filter files. | 
					
						
							|  |  |  |  | * html: tokenize HTML comments. | 
					
						
							|  |  |  |  | * http: add proxy support (thanks Yasuhiro Matsumoto), | 
					
						
							|  |  |  |  | 	implement with net/textproto (thanks Petar Maymounkov), | 
					
						
							|  |  |  |  | 	send full URL in proxy requests, | 
					
						
							|  |  |  |  | 	introduce start of Client and ClientTransport. | 
					
						
							|  |  |  |  | * image/png: support for more formats (thanks Mikael Tillenius). | 
					
						
							|  |  |  |  | * json: only use alphanumeric tags, | 
					
						
							|  |  |  |  | 	use base64 to encode []byte (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * ld: detect stack overflow due to NOSPLIT, drop rpath, support weak symbols. | 
					
						
							|  |  |  |  | * misc/dashboard/builder: talk to hg with utf-8 encoding. | 
					
						
							|  |  |  |  | * misc/dashboard: notify golang-dev on build failure. | 
					
						
							|  |  |  |  | * net: *netFD.Read to return os.EOF on eof under windows (thanks Alex Brainman), | 
					
						
							|  |  |  |  | 	add IPv4 multicast to UDPConn (thanks Dave Cheney), | 
					
						
							|  |  |  |  | 	more accurate IPv4-in-IPv6 API test (thanks Mikio Hara), | 
					
						
							|  |  |  |  | 	reject invalid net:proto network names (thanks Olivier Antoine). | 
					
						
							|  |  |  |  | * netchan: allow use of arbitrary connections (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * os: add ENODATA and ENOTCONN (thanks Albert Strasheim). | 
					
						
							|  |  |  |  | * reflect: add a couple of sentences explaining how Methods operate, | 
					
						
							|  |  |  |  | 	add a secret method to ArrayOrSliceType to ensure it’s only implemented by arrays and slices, | 
					
						
							|  |  |  |  | 	add pointer word to CommonType (placeholder for future work). | 
					
						
							|  |  |  |  | * runtime-gdb.py: gdb pretty printer for go strings properly handles length. | 
					
						
							|  |  |  |  | * runtime: various bug fixes, more complete stack traces, | 
					
						
							|  |  |  |  | 	record $GOROOT_FINAL for runtime.GOROOT. | 
					
						
							|  |  |  |  | * spec: delete incorrect mention of selector working on pointer to interface type. | 
					
						
							|  |  |  |  | * sync: add Cond (thanks Gustavo Niemeyer). | 
					
						
							|  |  |  |  | * syscall: add MCL_* flags for mlockall (thanks Albert Strasheim), | 
					
						
							|  |  |  |  | 	implement chmod() for win32 (thanks Yasuhiro Matsumoto). | 
					
						
							|  |  |  |  | * test/bench: update timings for new GC. | 
					
						
							|  |  |  |  | * testing: rename cmdline flags to avoid conflicts (thanks Gustavo Niemeyer). | 
					
						
							|  |  |  |  | * textproto: introduce Header type (thanks Petar Maymounkov). | 
					
						
							|  |  |  |  | * websocket: use new interface to access Header. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-16 09:41:34 +11:00
										 |  |  |  | <h3 id="2011-02-15">2011-02-15</h3> | 
					
						
							| 
									
										
										
										
											2011-02-16 02:58:08 +11:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							| 
									
										
										
										
											2011-02-16 21:20:50 -05:00
										 |  |  |  | This release includes changes to the io, os, and template packages. | 
					
						
							| 
									
										
										
										
											2011-02-16 02:58:08 +11:00
										 |  |  |  | You may need to update your code. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The io.ReadByter and io.ReadRuner interface types have been renamed to | 
					
						
							|  |  |  |  | io.ByteReader and io.RuneReader respectively. | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-16 21:20:50 -05:00
										 |  |  |  | The os package's ForkExec function has been superseded by the new StartProcess | 
					
						
							|  |  |  |  | function and an API built around the Process type: | 
					
						
							|  |  |  |  | 	http://golang.org/pkg/os/#Process | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-16 02:58:08 +11:00
										 |  |  |  | The order of arguments to template.Execute has been reversed to be consistent | 
					
						
							|  |  |  |  | the notion of "destination first", as with io.Copy, fmt.Fprint, and others. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Gotest now works for package main in directories using Make.cmd-based makefiles. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The memory allocation runtime problems from the last release are not completely | 
					
						
							|  |  |  |  | fixed.  The virtual memory exhaustion problems encountered by people using | 
					
						
							|  |  |  |  | ulimit -v have been fixed, but there remain known garbage collector problems | 
					
						
							|  |  |  |  | when using GOMAXPROCS > 1. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * 5l: stopped generating 64-bit eor. | 
					
						
							|  |  |  |  | * 8l: more work on plan9 support (thanks Yuval Pavel Zholkover). | 
					
						
							|  |  |  |  | * archive/zip: handle files with data descriptors. | 
					
						
							|  |  |  |  | * arm: working peep-hole optimizer. | 
					
						
							|  |  |  |  | * asn1: marshal true as 255, not 1. | 
					
						
							|  |  |  |  | * buffer.go: minor optimization, expanded comment. | 
					
						
							|  |  |  |  | * build: drop syslog on DISABLE_NET_TESTS=1 (thanks Gustavo Niemeyer), | 
					
						
							|  |  |  |  |        allow clean.bash to work on fresh checkout, | 
					
						
							|  |  |  |  |        change "all tests pass" message to be more obvious, | 
					
						
							|  |  |  |  |        fix spaces in GOROOT (thanks Christopher Nielsen). | 
					
						
							|  |  |  |  | * bytes: fix bug in buffer.ReadBytes (thanks Evan Shaw). | 
					
						
							|  |  |  |  | * 5g: better int64 code, | 
					
						
							|  |  |  |  |        don’t use MVN instruction. | 
					
						
							|  |  |  |  | * cgo: don't run cgo when not compiling (thanks Gustavo Niemeyer), | 
					
						
							|  |  |  |  |        fix _cgo_run timestamp file order (thanks Gustavo Niemeyer), | 
					
						
							|  |  |  |  |        fix handling of signed enumerations (thanks Gustavo Niemeyer), | 
					
						
							|  |  |  |  |        os/arch dependent #cgo directives (thanks Gustavo Niemeyer), | 
					
						
							|  |  |  |  |        rename internal f to avoid conflict with possible C global named f. | 
					
						
							|  |  |  |  | * codereview: fix hgpatch on windows (thanks Yasuhiro Matsumoto), | 
					
						
							|  |  |  |  |        record repository, base revision, | 
					
						
							|  |  |  |  |        use cmd.communicate (thanks Yasuhiro Matsumoto). | 
					
						
							|  |  |  |  | * container/ring: replace Iter() with Do(). | 
					
						
							|  |  |  |  | * crypto/cipher: add resync open to OCFB mode. | 
					
						
							|  |  |  |  | * crypto/openpgp/armor: bug fixes. | 
					
						
							|  |  |  |  | * crypto/openpgp/packet: new subpackage. | 
					
						
							|  |  |  |  | * crypto/tls: load a chain of certificates from a file, | 
					
						
							|  |  |  |  |        select best cipher suite, not worst. | 
					
						
							|  |  |  |  | * crypto/x509: add support for name constraints. | 
					
						
							|  |  |  |  | * debug/pe: ImportedSymbols fixes (thanks Wei Guangjing). | 
					
						
							|  |  |  |  | * doc/code: update to reflect that package names need not be unique. | 
					
						
							|  |  |  |  | * doc/codelab/wiki: a bunch of fixes (thanks Andrey Mirtchovski). | 
					
						
							|  |  |  |  | * doc/install: update for new versions of Mercurial. | 
					
						
							|  |  |  |  | * encoding/line: fix line returned after EOF. | 
					
						
							|  |  |  |  | * flag: allow hexadecimal (0xFF) and octal (0377) input for integer flags. | 
					
						
							|  |  |  |  | * fmt.Scan: scan binary-exponent floating format, 2.4p-3, | 
					
						
							|  |  |  |  |        hexadecimal (0xFF) and octal (0377) integers. | 
					
						
							|  |  |  |  | * fmt: document %%; also %b for floating point. | 
					
						
							|  |  |  |  | * gc, ld: detect stale or incompatible object files, | 
					
						
							|  |  |  |  |        package name main no longer reserved. | 
					
						
							|  |  |  |  | * gc: correct receiver in method missing error (thanks Lorenzo Stoakes), | 
					
						
							|  |  |  |  |        correct rounding of denormal constants (thanks Eoghan Sherry), | 
					
						
							|  |  |  |  |        select receive bug fix. | 
					
						
							|  |  |  |  | * go/printer, gofmt: smarter handling of multi-line raw strings. | 
					
						
							|  |  |  |  | * go/printer: line comments must always end in a newline, | 
					
						
							|  |  |  |  |        remove notion of "Styler", remove HTML mode. | 
					
						
							|  |  |  |  | * gob: allow Decode(nil) and have it just discard the next value. | 
					
						
							|  |  |  |  | * godoc: use IsAbs to test for absolute paths (fix for win32) (thanks Yasuhiro Matsumoto), | 
					
						
							|  |  |  |  |        don't hide package lookup error if there's no command with the same name. | 
					
						
							|  |  |  |  | * gotest: enable unit tests for main programs. | 
					
						
							|  |  |  |  | * http: add Server type supporting timeouts, | 
					
						
							|  |  |  |  |        add pipelining to ClientConn, ServerConn (thanks Petar Maymounkov), | 
					
						
							|  |  |  |  |        handle unchunked, un-lengthed HTTP/1.1 responses. | 
					
						
							|  |  |  |  | * io: add RuneReader. | 
					
						
							|  |  |  |  | * json: correct Marshal documentation. | 
					
						
							|  |  |  |  | * netchan: graceful handling of closed connection (thanks Graham Miller). | 
					
						
							|  |  |  |  | * os: implement new Process API (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * regexp tests: make some benchmarks more meaningful. | 
					
						
							|  |  |  |  | * regexp: add support for matching against text read from RuneReader interface. | 
					
						
							|  |  |  |  | * rpc: make more tolerant of errors, properly discard values (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * runtime: detect failed thread creation on Windows, | 
					
						
							|  |  |  |  |        faster allocator, garbage collector, | 
					
						
							|  |  |  |  |        fix virtual memory exhaustion, | 
					
						
							|  |  |  |  |        implemented windows console ctrl handler (SIGINT) (thanks Hector Chu), | 
					
						
							|  |  |  |  |        more detailed panic traces, line number work, | 
					
						
							|  |  |  |  |        improved Windows callback handling (thanks Hector Chu). | 
					
						
							|  |  |  |  | * spec: adjust notion of Assignability, | 
					
						
							|  |  |  |  |        allow import of packages named main, | 
					
						
							|  |  |  |  |        clarification re: method sets of newly declared pointer types, | 
					
						
							|  |  |  |  |        fix a few typos (thanks Anthony Martin), | 
					
						
							|  |  |  |  |        fix Typeof() return type (thanks Gustavo Niemeyer), | 
					
						
							|  |  |  |  |        move to Unicode 6.0. | 
					
						
							|  |  |  |  | * sync: diagnose Unlock of unlocked Mutex, | 
					
						
							|  |  |  |  |        new Waitgroup type (thanks Gustavo Niemeyer). | 
					
						
							|  |  |  |  | * syscall: add SetsockoptIpMreq (thanks Dave Cheney), | 
					
						
							|  |  |  |  |        add sockaddr_dl, sysctl with routing message support for darwin, freebsd (thanks Mikio Hara), | 
					
						
							|  |  |  |  |        do not use NULL for zero-length read, write, | 
					
						
							|  |  |  |  |        implement windows version of Fsync (thanks Alex Brainman), | 
					
						
							|  |  |  |  |        make ForkExec acquire the ForkLock under windows (thanks Hector Chu), | 
					
						
							|  |  |  |  |        make windows API return errno instead of bool (thanks Alex Brainman), | 
					
						
							|  |  |  |  |        remove obsolete socket IO control (thanks Mikio Hara). | 
					
						
							|  |  |  |  | * template: add simple formatter chaining (thanks Kyle Consalus), | 
					
						
							|  |  |  |  |        allow a leading '*' to indirect through a pointer. | 
					
						
							|  |  |  |  | * testing: include elapsed time in test output | 
					
						
							|  |  |  |  | * windows: replace remaining __MINGW32__ instances with _WIN32 (thanks Joe Poirier). | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-02 10:59:59 +11:00
										 |  |  |  | <h3 id="2011-02-01">2011-02-01</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes significant changes to channel operations and minor | 
					
						
							|  |  |  |  | changes to the log package. Your code will require modification if it uses | 
					
						
							|  |  |  |  | channels in non-blocking communications or the log package's Exit functions. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Non-blocking channel operations have been removed from the language. | 
					
						
							|  |  |  |  | The equivalent operations have always been possible using a select statement | 
					
						
							|  |  |  |  | with a default clause.  If a default clause is present in a select, that clause | 
					
						
							|  |  |  |  | will execute (only) if no other is ready, which allows one to avoid blocking on | 
					
						
							|  |  |  |  | a communication. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | For example, the old non-blocking send operation, | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	if ch <- v { | 
					
						
							|  |  |  |  | 		// sent | 
					
						
							|  |  |  |  | 	} else { | 
					
						
							|  |  |  |  | 		// not sent | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | should be rewritten as, | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	select { | 
					
						
							|  |  |  |  | 	case ch <- v: | 
					
						
							|  |  |  |  | 		// sent | 
					
						
							|  |  |  |  | 	default: | 
					
						
							|  |  |  |  | 		// not sent | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Similarly, this receive, | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	v, ok := <-ch | 
					
						
							|  |  |  |  | 	if ok { | 
					
						
							|  |  |  |  | 		// received | 
					
						
							|  |  |  |  | 	} else { | 
					
						
							|  |  |  |  | 		// not received | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | should be rewritten as, | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	select { | 
					
						
							|  |  |  |  | 	case v := <-ch: | 
					
						
							|  |  |  |  | 		// received | 
					
						
							|  |  |  |  | 	default: | 
					
						
							|  |  |  |  | 		// not received | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | This change is a prelude to redefining the 'comma-ok' syntax for a receive. | 
					
						
							|  |  |  |  | In a later release, a receive expression will return the received value and an | 
					
						
							|  |  |  |  | optional boolean indicating whether the channel has been closed. These changes | 
					
						
							|  |  |  |  | are being made in two stages to prevent this semantic change from silently | 
					
						
							|  |  |  |  | breaking code that uses 'comma-ok' with receives. | 
					
						
							|  |  |  |  | There are no plans to have a boolean expression form for sends. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Sends to a closed channel will panic immediately. Previously, an unspecified | 
					
						
							|  |  |  |  | number of sends would fail silently before causing a panic. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The log package's Exit, Exitf, and Exitln functions have been renamed Fatal, | 
					
						
							|  |  |  |  | Fatalf, and Fatalln respectively. This brings them in line with the naming of | 
					
						
							|  |  |  |  | the testing package.  | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The port to the "tiny" operating system has been removed. It is unmaintained | 
					
						
							|  |  |  |  | and untested. It was a toy to show that Go can run on raw hardware and it | 
					
						
							|  |  |  |  | served its purpose. The source code will of course remain in the repository | 
					
						
							|  |  |  |  | history, so it could be brought back if needed later. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 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&. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 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))). | 
					
						
							|  |  |  |  | * 6l: Relocate CMOV* instructions (thanks Gustavo Niemeyer), | 
					
						
							|  |  |  |  |         windows/amd64 port (thanks Wei Guangjing). | 
					
						
							|  |  |  |  | * 8l: add PE dynexport, emit DWARF in Windows PE, and | 
					
						
							|  |  |  |  |         code generation fixes (thanks Wei Guangjing). | 
					
						
							|  |  |  |  | * bufio: make Flush a no-op when the buffer is empty. | 
					
						
							|  |  |  |  | * bytes: Add Buffer.ReadBytes, Buffer.ReadString (thanks Evan Shaw). | 
					
						
							|  |  |  |  | * cc: mode to generate go-code for types and variables. | 
					
						
							|  |  |  |  | * cgo: define CGO_CFLAGS and CGO_LDFLAGS in Go files (thanks Gustavo Niemeyer), | 
					
						
							|  |  |  |  |         windows/386 port (thanks Wei Guangjing). | 
					
						
							|  |  |  |  | * codereview: fix windows (thanks Hector Chu), | 
					
						
							|  |  |  |  |         handle file patterns better, | 
					
						
							|  |  |  |  |         more ASCII vs. Unicode nonsense. | 
					
						
							|  |  |  |  | * crypto/dsa: add support for DSA. | 
					
						
							|  |  |  |  | * crypto/openpgp: add s2k. | 
					
						
							|  |  |  |  | * crypto/rand: use defer to unlock mutex (thanks Anschel Schaffer-Cohen). | 
					
						
							|  |  |  |  | * crypto/rsa: correct docstring for SignPKCS1v15. | 
					
						
							|  |  |  |  | * crypto: add package, a common place to store identifiers for hash functions. | 
					
						
							|  |  |  |  | * doc/codelab/wiki: update to work with template changes, add to run.bash. | 
					
						
							|  |  |  |  | * doc/spec: clarify address operators. | 
					
						
							|  |  |  |  | * ebnflint: exit with non-zero status on error. | 
					
						
							|  |  |  |  | * encoding/base32: new package (thanks Miek Gieben). | 
					
						
							|  |  |  |  | * encoding/line: make it an io.Reader too. | 
					
						
							|  |  |  |  | * exec: use custom error for LookPath (thanks Gustavo Niemeyer). | 
					
						
							|  |  |  |  | * fmt/doc: define width and precision for strings. | 
					
						
							|  |  |  |  | * gc: clearer error for struct == struct, | 
					
						
							|  |  |  |  |         fix send precedence, | 
					
						
							|  |  |  |  |         handle invalid name in type switch, | 
					
						
							|  |  |  |  |         special case code for single-op blocking and non-blocking selects. | 
					
						
							|  |  |  |  | * go/scanner: fix build (adjust scanner EOF linecount). | 
					
						
							|  |  |  |  | * gob: better debugging, commentary, | 
					
						
							|  |  |  |  |         make nested interfaces work, | 
					
						
							|  |  |  |  |         report an error when encoding a non-empty struct with no public fields. | 
					
						
							|  |  |  |  | * godoc: full text index for whitelisted non-Go files, | 
					
						
							|  |  |  |  |         show line numbers for non-go files (bug fix). | 
					
						
							|  |  |  |  | * gofmt -r: match(...) arguments may be nil; add missing guards. | 
					
						
							|  |  |  |  | * govet: add Panic to the list of functions. | 
					
						
							|  |  |  |  | * http: add host patterns (thanks Jose Luis Vázquez González), | 
					
						
							|  |  |  |  |         follow relative redirect in Get. | 
					
						
							|  |  |  |  | * json: handle capital floating point exponent (1E100) (thanks Pieter Droogendijk). | 
					
						
							|  |  |  |  | * ld: add -I option to set ELF interpreter, | 
					
						
							|  |  |  |  |         more robust decoding of reflection type info in generating dwarf. | 
					
						
							|  |  |  |  | * lib9: update to Unicode 6.0.0. | 
					
						
							|  |  |  |  | * make.bash: stricter selinux test (don't complain unless it is enabled). | 
					
						
							|  |  |  |  | * misc/vim: Import/Drop commands (thanks Gustavo Niemeyer), | 
					
						
							|  |  |  |  |         set 'syntax sync' to a large value (thanks Yasuhiro Matsumoto). | 
					
						
							|  |  |  |  | * net: fix race condition in test, | 
					
						
							|  |  |  |  |         return cname in LookupHost. | 
					
						
							|  |  |  |  | * netchan: avoid race condition in test, | 
					
						
							|  |  |  |  |         fixed documentation for import (thanks Anschel Schaffer-Cohen). | 
					
						
							|  |  |  |  | * os: add ETIMEDOUT (thanks Albert Strasheim). | 
					
						
							|  |  |  |  | * runtime: generate Go defs for C types, | 
					
						
							|  |  |  |  |         implementation of callback functions for windows (thanks Alex Brainman), | 
					
						
							|  |  |  |  |         make Walk web browser example work (thanks Hector Chu), | 
					
						
							|  |  |  |  |         make select fairer, | 
					
						
							|  |  |  |  |         prefer fixed stack allocator over general memory allocator, | 
					
						
							|  |  |  |  |         simpler heap map, memory allocation. | 
					
						
							|  |  |  |  | * scanner: fix Position returned by Scan, Pos, | 
					
						
							|  |  |  |  |         don't read ahead in Init. | 
					
						
							|  |  |  |  | * suffixarray: use binary search for both ends of Lookup (thanks Eric Eisner). | 
					
						
							|  |  |  |  | * syscall: add missing network interface constants (thanks Mikio Hara). | 
					
						
							|  |  |  |  | * template: treat map keys as zero, not non-existent (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * time: allow cancelling of After events (thanks Roger Peppe), | 
					
						
							|  |  |  |  |         support Solaris zoneinfo directory. | 
					
						
							|  |  |  |  | * token/position: added SetLinesForContent. | 
					
						
							|  |  |  |  | * unicode: update to unicode 6.0.0. | 
					
						
							|  |  |  |  | * unsafe: add missing case to doc for Pointer. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-20 00:02:59 -05:00
										 |  |  |  | <h3 id="2011-01-20">2011-01-20</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release removes the float and complex types from the language. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The default type for a floating point literal is now float64, and | 
					
						
							|  |  |  |  | the default type for a complex literal is now complex128. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Existing code that uses float or complex must be rewritten to | 
					
						
							|  |  |  |  | use explicitly sized types. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The two-argument constructor cmplx is now spelled complex. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-20 14:01:32 +11:00
										 |  |  |  | <h3 id="2011-01-19">2011-01-19</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | The 5g (ARM) compiler now has registerization enabled.  If you discover it | 
					
						
							|  |  |  |  | causes bugs, use 5g -N to disable the registerizer and please let us know. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The xml package now allows the extraction of nested XML tags by specifying | 
					
						
							| 
									
										
										
										
											2011-02-02 10:59:59 +11:00
										 |  |  |  | struct tags of the form "parent>child". See the XML documentation for an | 
					
						
							| 
									
										
										
										
											2011-01-20 14:01:32 +11:00
										 |  |  |  | example: http://golang.org/pkg/xml/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * 5a, 5l, 6a, 6l, 8a, 8l: handle out of memory, large allocations (thanks Jeff R. Allen). | 
					
						
							|  |  |  |  | * 8l: pe changes (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * arm: fixes and improvements. | 
					
						
							|  |  |  |  | * cc: fix vlong condition. | 
					
						
							|  |  |  |  | * cgo: add complex float, complex double (thanks Sebastien Binet), | 
					
						
							|  |  |  |  |         in _cgo_main.c define all provided symbols as functions. | 
					
						
							|  |  |  |  | * codereview: don't mail change lists with no files (thanks Ryan Hitchman). | 
					
						
							|  |  |  |  | * crypto/cipher: add OFB mode. | 
					
						
							|  |  |  |  | * expvar: add Float. | 
					
						
							|  |  |  |  | * fmt: document %X of string, []byte. | 
					
						
							|  |  |  |  | * gc, runtime: make range on channel safe for multiple goroutines. | 
					
						
							|  |  |  |  | * gc: fix typed constant declarations (thanks Anthony Martin). | 
					
						
							|  |  |  |  | * go spec: adjust language for constant typing. | 
					
						
							|  |  |  |  | * go/scanner: Make Init take a *token.File instead of a *token.FileSet. | 
					
						
							|  |  |  |  | * godoc: bring back "indexing in progress" message, | 
					
						
							|  |  |  |  |         don't double HTML-escape search result snippets, | 
					
						
							|  |  |  |  |         enable qualified identifiers ("math.Sin") as query strings again, | 
					
						
							|  |  |  |  |         peephole optimization for generated HTML, | 
					
						
							|  |  |  |  |         remove tab before formatted section. | 
					
						
							|  |  |  |  | * gofmt, go/printer: do not insert extra line breaks where they may break the code. | 
					
						
							|  |  |  |  | * http: fix Content-Range and Content-Length in response (thanks Clement Skau), | 
					
						
							|  |  |  |  |         fix scheme-relative URL parsing; add ParseRequestURL, | 
					
						
							|  |  |  |  |         handle HEAD requests correctly, | 
					
						
							|  |  |  |  |         support for relative URLs. | 
					
						
							|  |  |  |  | * math: handle denormalized numbers in Frexp, Ilogb, Ldexp, and Logb (thanks Eoghan Sherry). | 
					
						
							|  |  |  |  | * net, syscall: return source address in Recvmsg (thanks Albert Strasheim). | 
					
						
							|  |  |  |  | * net: add LookupAddr (thanks Kyle Lemons), | 
					
						
							|  |  |  |  |         add unixpacket (thanks Albert Strasheim), | 
					
						
							|  |  |  |  |         avoid nil dereference if /etc/services can't be opened (thanks Corey Thomasson), | 
					
						
							|  |  |  |  |         implement windows timeout (thanks Wei Guangjing). | 
					
						
							|  |  |  |  | * netchan: do not block sends; implement flow control (thanks Roger Peppe). | 
					
						
							| 
									
										
										
										
											2011-02-02 10:59:59 +11:00
										 |  |  |  | * regexp: reject bare '?'. (thanks Ben Lynn) | 
					
						
							| 
									
										
										
										
											2011-01-20 14:01:32 +11:00
										 |  |  |  | * runtime/cgo: don't define crosscall2 in dummy _cgo_main.c. | 
					
						
							|  |  |  |  | * runtime/debug: new package for printing stack traces from a running goroutine. | 
					
						
							|  |  |  |  | * runtime: add per-pause gc stats, | 
					
						
							|  |  |  |  |         fix arm reflect.call boundary case, | 
					
						
							|  |  |  |  |         print signal information during panic. | 
					
						
							|  |  |  |  | * spec: specify that int and uint have the same size. | 
					
						
							|  |  |  |  | * syscall: correct WSTOPPED on OS X, | 
					
						
							|  |  |  |  |         correct length of GNU/Linux abstract Unix domain sockaddr, | 
					
						
							|  |  |  |  |         correct length of SockaddrUnix. | 
					
						
							|  |  |  |  | * tutorial: make stdin, stdout, stderr work on Windows. | 
					
						
							|  |  |  |  | * windows: implement exception handling (thanks Hector Chu). | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-13 12:04:43 +11:00
										 |  |  |  | <h3 id="2011-01-12">2011-01-12</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | The json, gob, and template packages have changed, and code that uses them | 
					
						
							|  |  |  |  | may need to be updated after this release. They will no longer read or write | 
					
						
							|  |  |  |  | unexported struct fields. When marshalling a struct with json or gob the | 
					
						
							|  |  |  |  | unexported fields will be silently ignored. Attempting to unmarshal json or | 
					
						
							|  |  |  |  | gob data into an unexported field will generate an error. Accessing an | 
					
						
							|  |  |  |  | unexported field from a template will cause the Execute function to return | 
					
						
							|  |  |  |  | an error. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Godoc now supports regular expression full text search, and this | 
					
						
							|  |  |  |  | functionality is now available on golang.org. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * arm: initial cut at arm optimizer. | 
					
						
							|  |  |  |  | * bytes.Buffer: Fix bug in UnreadByte. | 
					
						
							|  |  |  |  | * cgo: export unsafe.Pointer as void*, fix enum const conflict, | 
					
						
							|  |  |  |  |         output alignment fix (thanks Gustavo Niemeyer). | 
					
						
							|  |  |  |  | * crypto/block: mark as deprecated. | 
					
						
							|  |  |  |  | * crypto/openpgp: add error and armor. | 
					
						
							|  |  |  |  | * crypto: add twofish package (thanks Berengar Lehr). | 
					
						
							|  |  |  |  | * doc/spec: remove Maxalign from spec. | 
					
						
							|  |  |  |  | * encoding/line: new package for reading lines from an io.Reader. | 
					
						
							|  |  |  |  | * go/ast: correct end position for Index and TypeAssert expressions. | 
					
						
							|  |  |  |  | * gob: make (en|dec)code(Ui|I)nt methods rather than functions. | 
					
						
							|  |  |  |  | * godefs: better handling of enums. | 
					
						
							|  |  |  |  | * gofmt: don't attempt certain illegal rewrites, | 
					
						
							|  |  |  |  |         rewriter matches apply to expressions only. | 
					
						
							|  |  |  |  | * goinstall: preliminary support for cgo packages (thanks Gustavo Niemeyer). | 
					
						
							|  |  |  |  | * hg: add cgo/_cgo_* to .hgignore. | 
					
						
							|  |  |  |  | * http: fix text displayed in Redirect. | 
					
						
							|  |  |  |  | * ld: fix exported dynamic symbols on Mach-O, | 
					
						
							|  |  |  |  |         permit a Mach-O symbol to be exported in the dynamic symbol table. | 
					
						
							|  |  |  |  | * log: add methods for exit and panic. | 
					
						
							|  |  |  |  | * net: use closesocket api instead of CloseHandle on Windows (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * netchan: make fields exported for gob change. | 
					
						
							|  |  |  |  | * os: add Sync to *File, wraps syscall.Fsync. | 
					
						
							|  |  |  |  | * runtime/cgo: Add callbacks to support SWIG. | 
					
						
							|  |  |  |  | * runtime: Restore scheduler stack position if cgo callback panics. | 
					
						
							|  |  |  |  | * suffixarray: faster creation algorithm (thanks Eric Eisner). | 
					
						
							|  |  |  |  | * syscall: fix mksysnum_linux.sh (thanks Anthony Martin). | 
					
						
							|  |  |  |  | * time.NewTicker: panic for intervals <= 0. | 
					
						
							|  |  |  |  | * time: add AfterFunc to call a function after a duration (thanks Roger Peppe), | 
					
						
							|  |  |  |  |         fix tick accuracy when using multiple Tickers (thanks Eoghan Sherry).</pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-07 15:28:25 +11:00
										 |  |  |  | <h3 id="2011-01-06">2011-01-06</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes several fixes and changes: | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * build: Make.pkg: use installed runtime.h for cgo. | 
					
						
							|  |  |  |  | * cgo: disallow use of C.errno. | 
					
						
							|  |  |  |  | * crypto/cipher: fix OCFB, | 
					
						
							|  |  |  |  |         make NewCBCEncrypter return BlockMode. | 
					
						
							|  |  |  |  | * doc: 6l: fix documentation of -L flag, | 
					
						
							|  |  |  |  |         add golanguage.ru to foreign-language doc list, | 
					
						
							|  |  |  |  |         effective go: explain the effect of repanicking better, | 
					
						
							|  |  |  |  |         update Effective Go for template API change, | 
					
						
							|  |  |  |  |         update contribution guidelines to prefix the change description. | 
					
						
							|  |  |  |  | * encoding/binary: reject types with implementation-dependent sizes (thanks Patrick Gavlin). | 
					
						
							|  |  |  |  | * exp/evalsimple fix handling of slices like s[:2] (thanks Sebastien Binet). | 
					
						
							|  |  |  |  | * fmt: made format string handling more efficient, | 
					
						
							|  |  |  |  |         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 &^=. | 
					
						
							|  |  |  |  | * 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). | 
					
						
							|  |  |  |  | * goinstall: add -clean flag (thanks Kyle Lemons), | 
					
						
							|  |  |  |  |         add checkout concept (thanks Caine Tighe), | 
					
						
							|  |  |  |  |         fix -u for bzr (thanks Gustavo Niemeyer). | 
					
						
							|  |  |  |  | * http: permit empty Reason-Phrase in response Status-Line. | 
					
						
							|  |  |  |  | * io: fix Copyn EOF handling. | 
					
						
							|  |  |  |  | * net: fix close of Listener (thanks Michael Hoisie). | 
					
						
							|  |  |  |  | * regexp: fix performance bug, make anchored searches fail fast, | 
					
						
							|  |  |  |  |         fix prefix bug. | 
					
						
							|  |  |  |  | * runtime/cgo: fix stackguard on FreeBSD/amd64 (thanks Anthony Martin). | 
					
						
							|  |  |  |  | * strconv: atof: added 'E' as valid token for exponent (thanks Stefan Nilsson), | 
					
						
							|  |  |  |  |         update ftoa comment for 'E' and 'G'. | 
					
						
							|  |  |  |  | * strings: fix description of FieldsFunc (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * syscall: correct Linux Splice definition, | 
					
						
							|  |  |  |  |         make Access second argument consistently uint32. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-12-23 13:32:20 +11:00
										 |  |  |  | <h3 id="2010-12-22">2010-12-22</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | A small release this week. The most significant change is that some  | 
					
						
							|  |  |  |  | outstanding cgo issues were resolved. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * cgo: handle references to symbols in shared libraries. | 
					
						
							|  |  |  |  | * crypto/elliptic: add serialisation and key pair generation. | 
					
						
							|  |  |  |  | * crypto/hmac: add HMAC-SHA256 (thanks Anthony Martin). | 
					
						
							|  |  |  |  | * crypto/tls: add ECDHE support ("Elliptic Curve Diffie Hellman Ephemeral"), | 
					
						
							|  |  |  |  |         add support code for generating handshake scripts for testing. | 
					
						
							|  |  |  |  | * darwin, freebsd: ignore write failure (during print, panic). | 
					
						
							|  |  |  |  | * exp/draw: remove Border function. | 
					
						
							|  |  |  |  | * expvar: quote StringFunc output, same as String output. | 
					
						
							|  |  |  |  | * hash/crc64: fix typo in Sum. | 
					
						
							|  |  |  |  | * ld: allow relocations pointing at ELF .bss symbols, ignore stab symbols. | 
					
						
							|  |  |  |  | * misc/cgo/life: fix, add to build. | 
					
						
							|  |  |  |  | * regexp: add HasMeta, HasOperator, and String methods to Regexp. | 
					
						
							|  |  |  |  | * suffixarray: implemented FindAllIndex regexp search. | 
					
						
							|  |  |  |  | * test/bench: update numbers for regex-dna after speedup to regexp. | 
					
						
							|  |  |  |  | * time: explain the formats a little better. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-12-16 12:29:10 +11:00
										 |  |  |  | <h3 id="2010-12-15">2010-12-15</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | Package crypto/cipher has been started, to replace crypto/block. | 
					
						
							| 
									
										
										
										
											2011-02-02 10:59:59 +11:00
										 |  |  |  | As part of the changes, rc4.Cipher's XORKeyStream method signature has changed from | 
					
						
							| 
									
										
										
										
											2010-12-16 12:29:10 +11:00
										 |  |  |  |         XORKeyStream(buf []byte) | 
					
						
							|  |  |  |  | to | 
					
						
							|  |  |  |  |         XORKeyStream(dst, src []byte) | 
					
						
							| 
									
										
										
										
											2011-02-02 10:59:59 +11:00
										 |  |  |  | to implement the cipher.Stream interface.  If you use crypto/block, you'll need | 
					
						
							| 
									
										
										
										
											2010-12-16 12:29:10 +11:00
										 |  |  |  | to switch to crypto/cipher once it is complete. | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-02 10:59:59 +11:00
										 |  |  |  | Package smtp's StartTLS now takes a *tls.Config argument. | 
					
						
							| 
									
										
										
										
											2010-12-16 12:29:10 +11:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-02 10:59:59 +11:00
										 |  |  |  | Package reflect's ArrayCopy has been renamed to Copy.  There are new functions | 
					
						
							| 
									
										
										
										
											2010-12-16 12:29:10 +11:00
										 |  |  |  | Append and AppendSlice. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The print/println bootstrapping functions now write to standard error. | 
					
						
							|  |  |  |  | To write to standard output, use fmt.Print[ln]. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | A new tool, govet, has been added to the Go distribution. Govet is a static | 
					
						
							|  |  |  |  | checker for Go programs. At the moment, and for the forseeable future, | 
					
						
							|  |  |  |  | it only checks arguments to print calls. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The cgo tool for writing Go bindings for C code has changed so that it no | 
					
						
							|  |  |  |  | longer uses stub .so files (like cgo_stdio.so).  Cgo-based packages using the | 
					
						
							|  |  |  |  | standard Makefiles should build without any changes.  Any alternate build | 
					
						
							|  |  |  |  | mechanisms will need to be updated. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The C and Go compilers (6g, 6c, 8g, 8c, 5g, 5c) now align structs according to | 
					
						
							|  |  |  |  | the maximum alignment of the fields they contain; previously they aligned | 
					
						
							|  |  |  |  | structs to word boundaries.  This may break non-cgo-based code that attempts to | 
					
						
							|  |  |  |  | mix C and Go. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | NaCl support has been removed. The recent linker changes broke NaCl support | 
					
						
							|  |  |  |  | a month ago, and there are no known users of it. | 
					
						
							|  |  |  |  | If necessary, the NaCl code can be recovered from the repository history. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * 5g/8g, 8l, ld, prof: fix output of 32-bit values (thanks Eoghan Sherry). | 
					
						
							|  |  |  |  | * [68]l and runtime: GDB support for interfaces and goroutines. | 
					
						
							|  |  |  |  | * 6l, 8l: support for linking ELF and Mach-O .o files. | 
					
						
							|  |  |  |  | * all: simplify two-variable ranges with unused second variable (thanks Ryan Hitchman). | 
					
						
							|  |  |  |  | * arm: updated soft float support. | 
					
						
							|  |  |  |  | * codereview: keep quiet when not in use (thanks Eoghan Sherry). | 
					
						
							|  |  |  |  | * compress/flate: implement Flush, equivalent to zlib's Z_SYNC_FLUSH. | 
					
						
							|  |  |  |  | * crypto/tls: use rand.Reader in cert generation example (thanks Anthony Martin). | 
					
						
							|  |  |  |  | * dashboard: fix project tag filter. | 
					
						
							|  |  |  |  | * debug/elf, debug/macho: add ImportedLibraries, ImportedSymbols. | 
					
						
							|  |  |  |  | * doc/go_mem: goroutine exit is not special. | 
					
						
							|  |  |  |  | * event.go: another print glitch from gocheck. | 
					
						
							|  |  |  |  | * gc: bug fixes, | 
					
						
							|  |  |  |  |         syntax error for incomplete chan type (thanks Ryan Hitchman). | 
					
						
							|  |  |  |  | * go/ast: fix ast.Walk. | 
					
						
							|  |  |  |  | * gob: document the byte count used in the encoding of values, | 
					
						
							|  |  |  |  |         fix bug sending zero-length top-level slices and maps, | 
					
						
							|  |  |  |  |         Register should use the original type, not the indirected one. | 
					
						
							|  |  |  |  | * godashboard: support submitting projects with non-ascii names (thanks Ryan Hitchman) | 
					
						
							|  |  |  |  | * godefs: guard against structs with pad fields | 
					
						
							|  |  |  |  | * godoc: added textual search, to enable use -fulltext flag. | 
					
						
							|  |  |  |  | * gofmt: simplify "x, _ = range y" to "x = range y". | 
					
						
							|  |  |  |  | * gopack: allow ELF/Mach-O objects in .a files without clearing allobj. | 
					
						
							|  |  |  |  | * go/token,scanner: fix comments so godoc aligns properly. | 
					
						
							|  |  |  |  | * govet: on error continue to the next file (thanks Christopher Wedgwood). | 
					
						
							|  |  |  |  | * html: improved parsing. | 
					
						
							|  |  |  |  | * http: ServeFile handles Range header for partial requests. | 
					
						
							|  |  |  |  | * json: check for invalid UTF-8. | 
					
						
							|  |  |  |  | * ld: allow .o files with no symbols, | 
					
						
							|  |  |  |  |         reading of ELF object files, | 
					
						
							|  |  |  |  |         reading of Mach-O object files. | 
					
						
							|  |  |  |  | * math: change float64 bias constant from 1022 to 1023 (thanks Eoghan Sherry), | 
					
						
							|  |  |  |  |         rename the MinFloat constant to SmallestNonzeroFloat. | 
					
						
							|  |  |  |  | * nm: silently ignore .o files in .a files. | 
					
						
							|  |  |  |  | * os: fix test of RemoveAll. | 
					
						
							|  |  |  |  | * os/inotify: new package (thanks Balazs Lecz). | 
					
						
							|  |  |  |  | * os: make MkdirAll work with symlinks (thanks Ryan Hitchman). | 
					
						
							| 
									
										
										
										
											2010-12-16 12:51:01 +11:00
										 |  |  |  | * regexp: speed up by about 30%; also simplify code for brackets. | 
					
						
							| 
									
										
										
										
											2010-12-16 12:29:10 +11:00
										 |  |  |  | * runtime/linux/386: set FPU to 64-bit precision. | 
					
						
							|  |  |  |  | * runtime: remove paranoid mapping at 0. | 
					
						
							|  |  |  |  | * suffixarray: add Bytes function. | 
					
						
							|  |  |  |  | * syscall: add network interface constants for linux/386, linux/amd64 (thanks Mikio Hara). | 
					
						
							|  |  |  |  | * syscall/windows: restrict access rights param of OpenProcess(), | 
					
						
							|  |  |  |  |         remove \r and \n from error messages (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * test/bench: fixes to timing.sh (thanks Anthony Martin). | 
					
						
							|  |  |  |  | * time: fix bug in Ticker: shutdown using channel rather than memory. | 
					
						
							|  |  |  |  | * token/position: provide FileSet.File, provide files iterator. | 
					
						
							|  |  |  |  | * xml: disallow invalid Unicode code points (thanks Nigel Kerr). | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-12-08 14:24:35 +11:00
										 |  |  |  | <h3 id="2010-12-08">2010-12-08</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes some package changes. If you use the crypto/tls or | 
					
						
							|  |  |  |  | go/parser packages your code may require changes. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The crypto/tls package's Dial function now takes an additional *Config | 
					
						
							|  |  |  |  | argument.  Most uses will pass nil to get the same default behavior as before. | 
					
						
							|  |  |  |  | See the documentation for details: | 
					
						
							|  |  |  |  |         http://golang.org/pkg/crypto/tls/#Config | 
					
						
							|  |  |  |  |         http://golang.org/pkg/crypto/tls/#Dial | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The go/parser package's ParseFile function now takes a *token.FileSet as its | 
					
						
							|  |  |  |  | first argument. This is a pointer to a data structure used to store | 
					
						
							|  |  |  |  | position information. If you don't care about position information you | 
					
						
							|  |  |  |  | can pass "token.NewFileSet()". See the documentation for details: | 
					
						
							|  |  |  |  |         http://golang.org/pkg/go/parser/#ParseFile | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | This release also splits the patent grant text out of the LICENSE file into a | 
					
						
							|  |  |  |  | separate PATENTS file and changes it to be more like the WebM grant. | 
					
						
							|  |  |  |  | These clarifications were made at the request of the Fedora project. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * [68]l: generate debug info for builtin structured types, prettyprinting in gdb. | 
					
						
							|  |  |  |  | * 8l: add dynimport to import table in Windows PE (thanks Wei Guangjing). | 
					
						
							|  |  |  |  | * 8l, runtime: fix Plan 9 386 build (thanks Yuval Pavel Zholkover). | 
					
						
							|  |  |  |  | * all: fix broken calls to Printf etc. | 
					
						
							|  |  |  |  | * bufio: make Reader.Read implement io.Reader semantics (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * build: allow archiver to be specified by HOST_AR (thanks Albert Strasheim). | 
					
						
							|  |  |  |  | * bytes: add Buffer.UnreadRune, Buffer.UnreadByte (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * crypto/tls: fix build of certificate generation example (thanks Christian Himpel). | 
					
						
							|  |  |  |  | * doc/install: describe GOHOSTOS and GOHOSTARCH. | 
					
						
							|  |  |  |  | * errchk: accept multiple source files (thanks Eoghan Sherry). | 
					
						
							|  |  |  |  | * exec.LookPath: return os.PathError instad of os.ENOENT (thanks Michael Hoisie).. | 
					
						
							|  |  |  |  | * flag: fix format error in boolean error report, | 
					
						
							|  |  |  |  |         handle multiple calls to flag.Parse. | 
					
						
							|  |  |  |  | * fmt: add %U format for standard Unicode representation of code point values. | 
					
						
							|  |  |  |  | * gc: fix method offsets of anonymous interfaces (thanks Eoghan Sherry), | 
					
						
							|  |  |  |  |         skip undefined symbols in import . (thanks Eoghan Sherry). | 
					
						
							|  |  |  |  | * go/scanner: remove Tokenize - was only used in tests | 
					
						
							|  |  |  |  | * gobuilder: add buildroot command-line flag (thanks Devon H. O'Dell). | 
					
						
							|  |  |  |  | * html: unescape numeric entities (thanks Ryan Hitchman). | 
					
						
							|  |  |  |  | * http: Add EncodeQuery, helper for constructing query strings. | 
					
						
							|  |  |  |  | * ld: fix dwarf decoding of 64-bit reflect values (thanks Eoghan Sherry). | 
					
						
							|  |  |  |  | * math: improve accuracy of Exp2 (thanks Eoghan Sherry). | 
					
						
							|  |  |  |  | * runtime: add Goroutines (thanks Keith Rarick). | 
					
						
							|  |  |  |  | * sync: small naming fix for armv5 (thanks Dean Prichard). | 
					
						
							|  |  |  |  | * syscall, net: Add Recvmsg and Sendmsg on Linux (thanks Albert Strasheim). | 
					
						
							|  |  |  |  | * time: make After use fewer goroutines and host processes (thanks Roger Peppe). | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-12-03 11:48:18 +11:00
										 |  |  |  | <h3 id="2010-12-02">2010-12-02</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | Several package changes in this release may require you to update your code if | 
					
						
							|  |  |  |  | you use the bytes, template, or utf8 packages. In all cases, any outdated code | 
					
						
							|  |  |  |  | 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 | 
					
						
							| 
									
										
										
										
											2011-02-02 10:59:59 +11:00
										 |  |  |  | "append". Any code that uses them will need to be changed: | 
					
						
							| 
									
										
										
										
											2010-12-03 11:48:18 +11:00
										 |  |  |  | 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) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 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 | 
					
						
							|  |  |  |  | functions. The function signature for formatter types has changed to: | 
					
						
							|  |  |  |  |         func(wr io.Writer, formatter string, data ...interface{}) | 
					
						
							|  |  |  |  | to allow multiple arguments to the formatter.  No templates will need updating. | 
					
						
							|  |  |  |  | See the change for examples: | 
					
						
							|  |  |  |  |         http://code.google.com/p/go/source/detail?r=2c2be793120e | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The template change permits the implementation of multi-word variable | 
					
						
							|  |  |  |  | instantiation for formatters. Before one could say | 
					
						
							|  |  |  |  |         {field} | 
					
						
							|  |  |  |  | or | 
					
						
							|  |  |  |  |         {field|formatter} | 
					
						
							|  |  |  |  | Now one can also say | 
					
						
							|  |  |  |  |         {field1 field2 field3} | 
					
						
							|  |  |  |  | or | 
					
						
							|  |  |  |  |         {field1 field2 field3|formatter} | 
					
						
							|  |  |  |  | and the fields are passed as successive arguments to the formatter, | 
					
						
							|  |  |  |  | by analogy to fmt.Print. | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-02 10:59:59 +11:00
										 |  |  |  | The utf8 package has changed. The order of EncodeRune's arguments has been | 
					
						
							|  |  |  |  | reversed to satisfy the convention of "destination first". | 
					
						
							| 
									
										
										
										
											2010-12-03 11:48:18 +11:00
										 |  |  |  | Any code that uses EncodeRune will need to be updated. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * [68]l: correct dwarf location for globals and ranges for arrays. | 
					
						
							|  |  |  |  | * big: fix (*Rat) SetFrac64(a, b) when b < 0 (thanks Eoghan Sherry). | 
					
						
							|  |  |  |  | * compress/flate: fix typo in comment (thanks Mathieu Lonjaret). | 
					
						
							|  |  |  |  | * crypto/elliptic: use a Jacobian transform for better performance. | 
					
						
							|  |  |  |  | * doc/code.html: fix reference to "gomake build" (thanks Anschel Schaffer-Cohen). | 
					
						
							|  |  |  |  | * doc/roadmap: update gdb status. | 
					
						
							|  |  |  |  | * doc/spec: fixed some omissions and type errors. | 
					
						
							|  |  |  |  | * doc: some typo fixes (thanks Peter Mundy). | 
					
						
							|  |  |  |  | * exp/eval: build fix for parser.ParseFile API change (thanks Anschel Schaffer-Cohen). | 
					
						
							|  |  |  |  | * fmt: Scan accepts Inf and NaN, | 
					
						
							|  |  |  |  |         allow "% X" as well as "% x". | 
					
						
							|  |  |  |  | * go/printer: preserve newlines in func parameter lists (thanks Jamie Gennis). | 
					
						
							|  |  |  |  | * http: consume request body before next request. | 
					
						
							|  |  |  |  | * log: ensure writes are atomic (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * path: Windows support for Split (thanks Benny Siegert). | 
					
						
							|  |  |  |  | * runtime: fix SysFree to really free memory on Windows (thanks Alex Brainman), | 
					
						
							|  |  |  |  |         parallel definitions in Go for all C structs. | 
					
						
							|  |  |  |  | * sort: avoid overflow in pivot calculation, | 
					
						
							|  |  |  |  |         reduced stack depth to lg(n) in quickSort (thanks Stefan Nilsson). | 
					
						
							|  |  |  |  | * strconv: Atof on Infs and NaNs. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-11-24 10:47:59 +11:00
										 |  |  |  | <h3 id="2010-11-23">2010-11-23</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes a backwards-incompatible package change to the | 
					
						
							|  |  |  |  | sort.Search function (introduced in the last release). | 
					
						
							|  |  |  |  | See the change for details and examples of how you might change your code: | 
					
						
							|  |  |  |  |         http://code.google.com/p/go/source/detail?r=102866c369 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * build: automatically #define _64BIT in 6c. | 
					
						
							|  |  |  |  | * cgo: print required space after parameter name in wrapper function. | 
					
						
							|  |  |  |  | * crypto/cipher: new package to replace crypto/block (thanks Adam Langley). | 
					
						
							|  |  |  |  | * crypto/elliptic: new package, implements elliptic curves over prime fields (thanks Adam Langley). | 
					
						
							|  |  |  |  | * crypto/x509: policy OID support and fixes (thanks Adam Langley). | 
					
						
							|  |  |  |  | * doc: add link to codewalks, | 
					
						
							|  |  |  |  |         fix recover() documentation (thanks Anschel Schaffer-Cohen), | 
					
						
							|  |  |  |  |         explain how to write Makefiles for commands. | 
					
						
							|  |  |  |  | * exec: enable more tests on windows (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * gc: adjustable hash code in typecheck of composite literals | 
					
						
							|  |  |  |  |         (thanks to vskrap, Andrey Mirtchovski, and Eoghan Sherry). | 
					
						
							|  |  |  |  | * gc: better error message for bad type in channel send (thanks Anthony Martin). | 
					
						
							|  |  |  |  | * godoc: bug fix in relativePath, | 
					
						
							|  |  |  |  |         compute search index for all file systems under godoc's observation, | 
					
						
							|  |  |  |  |         use correct time stamp to indicate accuracy of search result. | 
					
						
							|  |  |  |  | * index/suffixarray: use sort.Search. | 
					
						
							|  |  |  |  | * net: add ReadFrom and WriteTo windows version (thanks Wei Guangjing). | 
					
						
							|  |  |  |  | * reflect: remove unnecessary casts in Get methods. | 
					
						
							|  |  |  |  | * rpc: add RegisterName to allow override of default type name. | 
					
						
							|  |  |  |  | * runtime: free memory allocated by windows CommandLineToArgv (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * sort: simplify Search (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * strings: add LastIndexAny (thanks Benny Siegert). | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-11-10 14:22:40 -08:00
										 |  |  |  | <h3 id="2010-11-10">2010-11-10</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | The birthday release includes a new Search capability inside the sort package. | 
					
						
							|  |  |  |  | It takes an unusual but very general and easy-to-use approach to searching | 
					
						
							|  |  |  |  | arbitrary indexable sorted data.  See the documentation for details: | 
					
						
							|  |  |  |  |     http://golang.org/pkg/sort/#Search | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The ARM port now uses the hardware floating point unit (VFP).  It still has a | 
					
						
							|  |  |  |  | few bugs, mostly around conversions between unsigned integer and floating-point | 
					
						
							|  |  |  |  | values, but it's stabilizing. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | In addition, there have been many smaller fixes and updates:  | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * 6l: generate dwarf variable names with disambiguating suffix. | 
					
						
							|  |  |  |  | * container/list: make Remove return Value of removed element. | 
					
						
							|  |  |  |  |     makes it easier to remove first or last item. | 
					
						
							|  |  |  |  | * crypto: add cast5 (default PGP cipher), | 
					
						
							|  |  |  |  |     switch block cipher methods to be destination first. | 
					
						
							|  |  |  |  | * crypto/tls: use pool building for certificate checking | 
					
						
							|  |  |  |  | * go/ast: change embedded token.Position fields to named fields | 
					
						
							|  |  |  |  |     (preparation for a different position representation) | 
					
						
							|  |  |  |  | * net: provide public access to file descriptors (thanks Keith Rarick) | 
					
						
							|  |  |  |  | * os: add Expand function to evaluate environment variables. | 
					
						
							|  |  |  |  | * path: add Glob (thanks Benny Siegert) | 
					
						
							|  |  |  |  | * runtime: memequal optimization (thanks Graham Miller) | 
					
						
							|  |  |  |  |     prefix all external symbols with "runtime·" to avoid | 
					
						
							|  |  |  |  |     conflicts linking with external C libraries. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-11-03 11:49:22 +11:00
										 |  |  |  | <h3 id="2010-11-02">2010-11-02</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes a language change: the new built-in function, append. | 
					
						
							|  |  |  |  | Append makes growing slices much simpler. See the spec for details: | 
					
						
							|  |  |  |  |         http://golang.org/doc/go_spec.html#Appending_and_copying_slices | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * 8l: pe generation fixes (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * doc: Effective Go: append and a few words about "..." args. | 
					
						
							|  |  |  |  | * build: fiddle with make variables. | 
					
						
							|  |  |  |  | * codereview: fix sync and download in Python 2.7 (thanks Fazlul Shahriar). | 
					
						
							|  |  |  |  | * debug/pe, cgo: add windows support (thanks Wei Guangjing <vcc.163@gmail.com>). | 
					
						
							|  |  |  |  | * go/ast: add Inspect function for easy AST inspection w/o a visitor. | 
					
						
							|  |  |  |  | * go/printer: do not remove parens around composite literals starting with | 
					
						
							|  |  |  |  |         a type name in control clauses. | 
					
						
							|  |  |  |  | * go/scanner: bug fixes, revisions, and more tests. | 
					
						
							|  |  |  |  | * gob: several fixes and documentation updates. | 
					
						
							|  |  |  |  | * godoc: bug fix (bug introduced with revision 3ee58453e961). | 
					
						
							|  |  |  |  | * gotest: print empty benchmark list in a way that gofmt will leave alone. | 
					
						
							|  |  |  |  | * http server: correctly respond with 304 NotModified (thanks Michael Hoisie). | 
					
						
							|  |  |  |  | * kate: update list of builtins (thanks Evan Shaw). | 
					
						
							|  |  |  |  | * libutf: update to Unicode 5.2.0 to match pkg/unicode (thanks Anthony Martin). | 
					
						
							|  |  |  |  | * misc/bbedit: update list of builtins (thanks Anthony Starks). | 
					
						
							|  |  |  |  | * misc/vim: update list of builtins. | 
					
						
							|  |  |  |  | * mkrunetype: install a Makefile and tweak it slightly so it can be built. | 
					
						
							|  |  |  |  | * netchan: fix locking bug. | 
					
						
							|  |  |  |  | * pidigits: minor improvements (thanks Evan Shaw). | 
					
						
							|  |  |  |  | * rpc: fix client deadlock bug. | 
					
						
							|  |  |  |  | * src: use append where appropriate (often instead of vector). | 
					
						
							|  |  |  |  | * strings: add Contains helper function (thanks Brad Fitzpatrick). | 
					
						
							|  |  |  |  | * syscall: SIO constants for Linux (thanks Albert Strasheim), | 
					
						
							|  |  |  |  |         Stat(path) on windows (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * test/ken/convert.go: add conversion torture test. | 
					
						
							|  |  |  |  | * testing: add Benchmark (thanks Roger Peppe). | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-28 11:19:52 +11:00
										 |  |  |  | <h3 id="2010-10-27">2010-10-27</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | *** This release changes the encoding used by package gob.  | 
					
						
							|  |  |  |  |     If you store gobs on disk, see below. *** | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The ARM port (5g) now passes all tests. The optimizer is not yet enabled, and | 
					
						
							|  |  |  |  | floating point arithmetic is performed entirely in software. Work is underway | 
					
						
							|  |  |  |  | to address both of these deficiencies. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The syntax for arrays, slices, and maps of composite literals has been | 
					
						
							|  |  |  |  | simplified. Within a composite literal of array, slice, or map type, elements | 
					
						
							|  |  |  |  | that are themselves composite literals may elide the type if it is identical to | 
					
						
							| 
									
										
										
										
											2011-02-02 10:59:59 +11:00
										 |  |  |  | the outer literal's element type. For example, these expressions: | 
					
						
							| 
									
										
										
										
											2010-10-28 11:19:52 +11:00
										 |  |  |  | 	[][]int{[]int{1, 2, 3}, []int{4, 5}} | 
					
						
							| 
									
										
										
										
											2011-02-02 10:59:59 +11:00
										 |  |  |  | 	map[string]Point{"x": Point{1.5, -3.5}, "y": Point{0, 0}} | 
					
						
							| 
									
										
										
										
											2010-10-28 11:19:52 +11:00
										 |  |  |  | can be simplified to: | 
					
						
							|  |  |  |  | 	[][]int{{1, 2, 3}, {4, 5}} | 
					
						
							| 
									
										
										
										
											2011-02-02 10:59:59 +11:00
										 |  |  |  | 	map[string]Point{"x": {1.5, -3.5}, "y": {0, 0}} | 
					
						
							| 
									
										
										
										
											2010-10-28 11:19:52 +11:00
										 |  |  |  | Gofmt can make these simplifications mechanically when invoked with the  | 
					
						
							|  |  |  |  | new -s flag. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The built-in copy function can now copy bytes from a string value to a []byte. | 
					
						
							|  |  |  |  | Code like this (for []byte b and string s):  | 
					
						
							|  |  |  |  | 	for i := 0; i < len(s); i++ { | 
					
						
							|  |  |  |  | 		b[i] = s[i] | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | can be rewritten as: | 
					
						
							|  |  |  |  | 	copy(b, s) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The gob package can now encode and decode interface values containing types | 
					
						
							|  |  |  |  | registered ahead of time with the new Register function. These changes required | 
					
						
							|  |  |  |  | a backwards-incompatible change to the wire format.  Data written with the old | 
					
						
							|  |  |  |  | version of the package will not be readable with the new one, and vice versa. | 
					
						
							| 
									
										
										
										
											2011-02-02 10:59:59 +11:00
										 |  |  |  | (Steps were made in this change to make sure this doesn't happen again.)  | 
					
						
							|  |  |  |  | We don't know of anyone using gobs to create permanent data, but if you do this | 
					
						
							| 
									
										
										
										
											2010-10-28 11:19:52 +11:00
										 |  |  |  | and need help converting, please let us know, and do not update to this release | 
					
						
							|  |  |  |  | yet.  We will help you convert your data. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * 5g, 6g, 8g: generate code for string index instead of calling function. | 
					
						
							|  |  |  |  | * 5l, 6l, 8l: introduce sub-symbols. | 
					
						
							|  |  |  |  | * 6l/8l: global and local variables and type info. | 
					
						
							|  |  |  |  | * Make.inc: delete unnecessary -fno-inline flag to quietgcc. | 
					
						
							|  |  |  |  | * arm: precise float64 software floating point, bug fixes. | 
					
						
							|  |  |  |  | * big: arm assembly, faster software mulWW, divWW. | 
					
						
							|  |  |  |  | * build: only print "You need to add foo to PATH" when needed. | 
					
						
							|  |  |  |  | * container/list: fix Remove bug and use pointer to self as identifier. | 
					
						
							|  |  |  |  | * doc: show page title in browser title bar, | 
					
						
							|  |  |  |  |         update roadmap. | 
					
						
							|  |  |  |  | * encoding/binary: give LittleEndian, BigEndian specific types. | 
					
						
							|  |  |  |  | * go/parser: consume auto-inserted semi when calling ParseExpr(). | 
					
						
							|  |  |  |  | * gobuilder: pass GOHOSTOS and GOHOSTARCH to build, | 
					
						
							|  |  |  |  |         write build and benchmarking logs to disk. | 
					
						
							|  |  |  |  | * goinstall: display helpful message when encountering a cgo package, | 
					
						
							|  |  |  |  |         fix test for multiple package names (thanks Fazlul Shahriar). | 
					
						
							|  |  |  |  | * gotest: generate correct gofmt-formatted _testmain.go. | 
					
						
							|  |  |  |  | * image/png: speed up paletted encoding ~25% (thanks Brad Fitzpatrick). | 
					
						
							|  |  |  |  | * misc: update python scripts to specify python2 as python3 is now "python". | 
					
						
							|  |  |  |  | * net: fix comment on Dial to mention unix/unixgram. | 
					
						
							|  |  |  |  | * rpc: expose Server type to allow multiple RPC Server instances. | 
					
						
							|  |  |  |  | * runtime: print unknown types in panic. | 
					
						
							|  |  |  |  | * spec: append built-in (not yet implemented). | 
					
						
							|  |  |  |  | * src: gofmt -s -w src misc. | 
					
						
							|  |  |  |  |         update code to use copy-from-string. | 
					
						
							|  |  |  |  | * test/bench: update numbers. | 
					
						
							|  |  |  |  | * websocket: fix short Read. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-21 11:33:41 +11:00
										 |  |  |  | <h3 id="2010-10-20">2010-10-20</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release removes the log package's deprecated functions. | 
					
						
							|  |  |  |  | Code that has not been updated to use the new interface will break. | 
					
						
							|  |  |  |  | See the previous release notes for details: | 
					
						
							|  |  |  |  | 	http://golang.org/doc/devel/release.html#2010-10-13 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Also included are major improvements to the linker. It is now faster,  | 
					
						
							|  |  |  |  | uses less memory, and more parallelizable (but not yet parallel). | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The nntp package has been removed from the standard library. | 
					
						
							|  |  |  |  | Its new home is the nntp-go project at Google Code: | 
					
						
							|  |  |  |  | 	http://code.google.com/p/nntp-go | 
					
						
							|  |  |  |  | You can install it with goinstall: | 
					
						
							|  |  |  |  | 	goinstall nntp-go.googlecode.com/hg/nntp | 
					
						
							|  |  |  |  | And import it in your code like so: | 
					
						
							|  |  |  |  | 	import "nntp-go.googlecode.com/hg/nntp" | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * 6g: avoid too-large immediate constants. | 
					
						
							|  |  |  |  | * 8l, runtime: initial support for Plan 9 (thanks Yuval Pavel Zholkover). | 
					
						
							|  |  |  |  | * 6l, 8l: more improvements on exporting debug information (DWARF). | 
					
						
							|  |  |  |  | * arm: code gen fixes. Most tests now pass, except for floating point code. | 
					
						
							|  |  |  |  | * big: add random number generation (thanks Florian Uekermann). | 
					
						
							|  |  |  |  | * gc: keep track of real actual type of identifiers, | 
					
						
							|  |  |  |  | 	report that shift must be unsigned integer, | 
					
						
							|  |  |  |  | 	select receive with implicit conversion. | 
					
						
							|  |  |  |  | * goplay: fix to run under windows (thanks Yasuhiro Matsumoto). | 
					
						
							|  |  |  |  | * http: do not close connection after sending HTTP/1.0 request. | 
					
						
							|  |  |  |  | * netchan: add new method Hangup to terminate transmission on a channel. | 
					
						
							|  |  |  |  | * os: change TestForkExec so it can run on windows (thanks Yasuhiro Matsumoto). | 
					
						
							|  |  |  |  | * runtime: don't let select split stack. | 
					
						
							|  |  |  |  | * syscall/arm: correct 64-bit system call arguments. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-14 14:52:08 +11:00
										 |  |  |  | <h3 id="2010-10-13">2010-10-13</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes changes to the log package, the removal of exp/iterable, | 
					
						
							|  |  |  |  | two new tools (gotry and goplay), one small language change, and many other | 
					
						
							|  |  |  |  | changes and fixes.  If you use the log or iterable packages, you need to make | 
					
						
							|  |  |  |  | changes to your code. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The log package has changed.  Loggers now have only one output, and output to | 
					
						
							|  |  |  |  | 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) | 
					
						
							|  |  |  |  | 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: | 
					
						
							|  |  |  |  |         http://code.google.com/p/go/source/detail?r=d8a3c7563d | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The language change is that uses of pointers to interface values no longer | 
					
						
							|  |  |  |  | automatically dereference the pointer.  A pointer to an interface value is more | 
					
						
							| 
									
										
										
										
											2011-02-02 10:59:59 +11:00
										 |  |  |  | often a beginner's bug than correct code. | 
					
						
							| 
									
										
										
										
											2010-10-14 14:52:08 +11:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | The package exp/iterable has been removed. It was an interesting experiment, | 
					
						
							|  |  |  |  | but it encourages writing inefficient code and has outlived its utility. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The new tools: | 
					
						
							|  |  |  |  | * gotry: an exercise in reflection and an unusual tool. Run 'gotry' for details. | 
					
						
							|  |  |  |  | * goplay: a stand-alone version of the Go Playground. See misc/goplay. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * 6l: Mach-O fixes, and fix to work with OS X nm/otool (thanks Jim McGrath). | 
					
						
							|  |  |  |  | * [568]a: correct line numbers for statements. | 
					
						
							| 
									
										
										
										
											2010-10-15 12:05:05 +11:00
										 |  |  |  | * arm: code generation and runtime fixes, | 
					
						
							|  |  |  |  | 	adjust recover for new reflect.call, | 
					
						
							|  |  |  |  | 	enable 6 more tests after net fix. | 
					
						
							| 
									
										
										
										
											2010-10-14 14:52:08 +11:00
										 |  |  |  | * big: fix panic and round correctly in Rat.FloatString (thanks Anthony Martin). | 
					
						
							|  |  |  |  | * build: Make.cmd: remove $(OFILES) (thanks Eric Clark), | 
					
						
							|  |  |  |  |         Make.pkg: remove .so before installing new one, | 
					
						
							|  |  |  |  |         add GOHOSTOS and GOHOSTARCH environment variables. | 
					
						
							|  |  |  |  | * crypto/tls: better error messages for certificate issues, | 
					
						
							|  |  |  |  |         make SetReadTimeout work. | 
					
						
							| 
									
										
										
										
											2010-10-15 12:05:05 +11:00
										 |  |  |  | * doc: add Sydney University video, | 
					
						
							|  |  |  |  | 	add The Expressiveness of Go talk. | 
					
						
							| 
									
										
										
										
											2010-10-14 14:52:08 +11:00
										 |  |  |  | * exp/draw/x11: support X11 vendors other than "The X.Org Foundation". | 
					
						
							|  |  |  |  | * expvar: add (*Int).Set (thanks Sam Thorogood). | 
					
						
							|  |  |  |  | * fmt: add Errorf helper function, | 
					
						
							|  |  |  |  |         allow %d on []byte. | 
					
						
							|  |  |  |  | * gc: O(1) string comparison when lengths differ, | 
					
						
							|  |  |  |  |         various bug fixes. | 
					
						
							|  |  |  |  | * http: return the correct error if a header line is too long. | 
					
						
							|  |  |  |  | * image: add image.Tiled type, the Go equivalent of Plan 9's repl bit. | 
					
						
							|  |  |  |  | * ld: be less picky about bad line number info. | 
					
						
							|  |  |  |  | * misc/cgo/life: fix for new slice rules (thanks Graham Miller). | 
					
						
							|  |  |  |  | * net: allow _ in DNS names. | 
					
						
							|  |  |  |  | * netchan: export before import when testing, and | 
					
						
							|  |  |  |  |         zero out request to ensure correct gob decoding. (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * os: make tests work on windows (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * runtime: bug fix: serialize mcache allocation, | 
					
						
							|  |  |  |  |         correct iteration of large map values, | 
					
						
							|  |  |  |  |         faster strequal, memequal (thanks Graham Miller), | 
					
						
							|  |  |  |  |         fix argument dump in traceback, | 
					
						
							|  |  |  |  |         fix tiny build. | 
					
						
							|  |  |  |  | * smtp: new package (thanks Evan Shaw). | 
					
						
							|  |  |  |  | * syscall: add sockaddr_ll support for linux/386, linux/amd64 (thanks Mikio Hara), | 
					
						
							|  |  |  |  |         add ucred structure for SCM_CREDENTIALS over UNIX sockets. (thanks Albert Strasheim). | 
					
						
							|  |  |  |  | * syscall: implement WaitStatus and Wait4() for windows (thanks Wei Guangjing). | 
					
						
							|  |  |  |  | * time: add After. | 
					
						
							|  |  |  |  | * websocket: enable tests on windows (thanks Alex Brainman). | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-30 17:33:07 +10:00
										 |  |  |  | <h3 id="2010-09-29">2010-09-29</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes some minor language changes and some significant package | 
					
						
							|  |  |  |  | changes. You may need to change your code if you use ...T parameters or the | 
					
						
							|  |  |  |  | http package. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The semantics and syntax of forwarding ...T parameters have changed. | 
					
						
							|  |  |  |  |         func message(f string, s ...interface{}) { fmt.Printf(f, s) } | 
					
						
							|  |  |  |  | Here, s has type []interface{} and contains the parameters passed to message. | 
					
						
							|  |  |  |  | Before this language change, the compiler recognized when a function call | 
					
						
							|  |  |  |  | passed a ... parameter to another ... parameter of the same type, and just | 
					
						
							|  |  |  |  | passed it as though it was a list of arguments.  But this meant that you | 
					
						
							|  |  |  |  | couldn't control whether to pass the slice as a single argument and you | 
					
						
							|  |  |  |  | couldn't pass a regular slice as a ... parameter, which can be handy.  This | 
					
						
							|  |  |  |  | change gives you that control at the cost of a few characters in the call. | 
					
						
							|  |  |  |  | If you want the promotion to ...,  append ... to the argument: | 
					
						
							|  |  |  |  |         func message(f string, s ...interface{}) { fmt.Printf(f, s...) } | 
					
						
							|  |  |  |  | Without the ..., s would be passed to Printf as a single argument of type | 
					
						
							|  |  |  |  | []interface{}.  The bad news is you might need to fix up some of your code,  | 
					
						
							|  |  |  |  | but the compiler will detect the situation and warn you. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Also, the http.Handler and http.HandlerFunc types have changed. Where http | 
					
						
							|  |  |  |  | handler functions previously accepted an *http.Conn, they now take an interface | 
					
						
							|  |  |  |  | type http.ResponseWriter. ResponseWriter implements the same methods as *Conn, | 
					
						
							|  |  |  |  | so in most cases the only change required will be changing the type signature | 
					
						
							|  |  |  |  | of your handler function's first parameter. See: | 
					
						
							|  |  |  |  |   http://golang.org/pkg/http/#Handler | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The utf8 package has a new type, String, that provides efficient indexing  | 
					
						
							|  |  |  |  | into utf8 strings by rune (previously an expensive conversion to []int  | 
					
						
							|  |  |  |  | was required). See: | 
					
						
							|  |  |  |  |   http://golang.org/pkg/utf8/#String | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The compiler will now automatically insert a semicolon at the end of a file if | 
					
						
							|  |  |  |  | one is not found. This effect of this is that Go source files are no longer | 
					
						
							|  |  |  |  | required to have a trailing newline. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * 6prof: more accurate usage message. | 
					
						
							|  |  |  |  | * archive/zip: new package for reading Zip files. | 
					
						
							|  |  |  |  | * arm: fix code generation, 10 more package tests pass. | 
					
						
							|  |  |  |  | * asn1: make interface consistent with json. | 
					
						
							|  |  |  |  | * bufio.UnreadRune: fix bug at EOF. | 
					
						
							|  |  |  |  | * build: clear custom variables like GREP_OPTIONS, | 
					
						
							|  |  |  |  |         silence warnings generated by ubuntu gcc, | 
					
						
							|  |  |  |  |         use full path when compiling libraries. | 
					
						
							|  |  |  |  | * bytes, strings: change lastIndexFunc to use DecodeLastRune (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * doc: add to and consolidate non-english doc references, | 
					
						
							|  |  |  |  |         consolidate FAQs into a single file, go_faq.html, | 
					
						
							|  |  |  |  |         updates for new http interface. | 
					
						
							|  |  |  |  | * fmt/Printf: document and tweak error messages produced for bad formats. | 
					
						
							|  |  |  |  | * gc: allow select case expr = <-c, | 
					
						
							|  |  |  |  |         eliminate duplicates in method table, | 
					
						
							|  |  |  |  |         fix reflect table method receiver, | 
					
						
							|  |  |  |  |         improve error message for x \= 0. | 
					
						
							|  |  |  |  | * go/scanner: treat EOF like a newline for purposes of semicolon insertion. | 
					
						
							|  |  |  |  | * gofmt: stability improvements. | 
					
						
							|  |  |  |  | * gotest: leave _testmain.go for "make clean" to clean up. | 
					
						
							|  |  |  |  | * http: correct escaping of different parts of URL, | 
					
						
							|  |  |  |  |         support HTTP/1.0 Keep-Alive. | 
					
						
							|  |  |  |  | * json: do not write to unexported fields. | 
					
						
							|  |  |  |  | * libcgo: don't build for NaCl, | 
					
						
							|  |  |  |  |         set g, m in thread local storage for windows 386 (thanks Wei Guangjing). | 
					
						
							|  |  |  |  | * math: Fix off-by-one error in Ilogb and Logb.  (thanks Charles L. Dorian). | 
					
						
							|  |  |  |  | * misc/dashboard/builder: remove build files after benchmarking. | 
					
						
							|  |  |  |  | * nacl: update instructions for new SDK. | 
					
						
							|  |  |  |  | * net: enable v4-over-v6 on ip sockets, | 
					
						
							|  |  |  |  |         fix crash in DialIP. | 
					
						
							|  |  |  |  | * os: check for valid arguments in windows Readdir (thanks Peter Mundy). | 
					
						
							|  |  |  |  | * runtime: add mmap of null page just in case, | 
					
						
							|  |  |  |  |         correct stats in SysFree, | 
					
						
							|  |  |  |  |         fix unwindstack crash. | 
					
						
							|  |  |  |  | * syscall: add IPPROTO_IPV6 and IPV6_V6ONLY const to fix nacl and windows build, | 
					
						
							|  |  |  |  |         add inotify on Linux (thanks Balazs Lecz), | 
					
						
							|  |  |  |  |         fix socketpair in syscall_bsd, | 
					
						
							|  |  |  |  |         fix windows value of IPV6_V6ONLY (thanks Alex Brainman), | 
					
						
							|  |  |  |  |         implement windows version of Utimes (thanks Alex Brainman), | 
					
						
							|  |  |  |  |         make mkall.sh work for nacl. | 
					
						
							|  |  |  |  | * test: Add test that causes incorrect error from gccgo. | 
					
						
							|  |  |  |  | * utf8: add DecodeLastRune and DecodeLastRuneInString (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * xml: Allow entities inside CDATA tags (thanks Dan Sinclair). | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-23 11:49:47 +10:00
										 |  |  |  | <h3 id="2010-09-22">2010-09-22</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes new package functionality, and many bug fixes and changes. | 
					
						
							|  |  |  |  | It also improves support for the arm and nacl platforms. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * 5l: avoid fixed buffers in list. | 
					
						
							|  |  |  |  | * 6l, 8l: clean up ELF code, fix NaCl. | 
					
						
							|  |  |  |  | * 6l/8l: emit DWARF frame info. | 
					
						
							|  |  |  |  | * Make.inc: make GOOS detection work on windows (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * build: fixes for native arn build, | 
					
						
							|  |  |  |  |         make all.bash run on Ubuntu ARM. | 
					
						
							|  |  |  |  | * cgo: bug fixes, | 
					
						
							|  |  |  |  |         show preamble gcc errors (thanks Eric Clark). | 
					
						
							|  |  |  |  | * crypto/x509, crypto/tls: improve root matching and observe CA flag. | 
					
						
							|  |  |  |  | * crypto: Fix certificate validation. | 
					
						
							|  |  |  |  | * doc: variable-width layout. | 
					
						
							|  |  |  |  | * env.bash: fix building in directory with spaces in the path (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * exp/4s, exp/nacl/av: sync to recent exp/draw changes. | 
					
						
							|  |  |  |  | * exp/draw/x11: mouse location is a signed integer. | 
					
						
							|  |  |  |  | * exp/nacl/av: update color to max out at 1<<16-1 instead of 1<<32-1. | 
					
						
							|  |  |  |  | * fmt: support '*' for width or precision (thanks Anthony Martin). | 
					
						
							|  |  |  |  | * gc: improvements to static initialization, | 
					
						
							|  |  |  |  |         make sure path names are canonical. | 
					
						
							|  |  |  |  | * gob: make robust when decoding a struct with non-struct data. | 
					
						
							|  |  |  |  | * gobuilder: add -cmd for user-specified build command, | 
					
						
							|  |  |  |  |         add -rev= flag to build specific revision and exit, | 
					
						
							|  |  |  |  |         fix bug that caused old revisions to be rebuilt. | 
					
						
							|  |  |  |  | * godoc: change default filter file name to "", | 
					
						
							|  |  |  |  |         don't use quadratic algorithm to filter paths, | 
					
						
							|  |  |  |  |         show "Last update" info for directory listings. | 
					
						
							|  |  |  |  | * http: new redirect test, | 
					
						
							|  |  |  |  |         URLEscape now escapes all reserved characters as per the RFC. | 
					
						
							|  |  |  |  | * nacl: fix zero-length writes. | 
					
						
							|  |  |  |  | * net/dict: parse response correctly (thanks Fazlul Shahriar). | 
					
						
							|  |  |  |  | * netchan: add a cross-connect test, | 
					
						
							|  |  |  |  |         handle closing of channels, | 
					
						
							|  |  |  |  |         provide a method (Importer.Errors()) to recover protocol errors. | 
					
						
							|  |  |  |  | * os: make Open() O_APPEND flag work on windows (thanks Alex Brainman), | 
					
						
							|  |  |  |  |         make RemoveAll() work on windows (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * pkg/Makefile: disable netchan test to fix windows build (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * regexp: delete Iter methods. | 
					
						
							|  |  |  |  | * runtime: better panic for send to nil channel. | 
					
						
							|  |  |  |  | * strings: fix minor bug in LastIndexFunc (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * suffixarray: a package for creating suffixarray-based indexes. | 
					
						
							|  |  |  |  | * syscall: Use vsyscall for syscall.Gettimeofday and .Time on linux amd64. | 
					
						
							|  |  |  |  | * test: fix NaCl build. | 
					
						
							|  |  |  |  | * windows: fix netchan test by using 127.0.0.1. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-16 14:02:24 +10:00
										 |  |  |  | <h3 id="2010-09-15">2010-09-15</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes a language change: the lower bound of a subslice may | 
					
						
							|  |  |  |  | now be omitted, in which case the value will default to 0. | 
					
						
							|  |  |  |  | For example, s[0:10] may now be written as s[:10], and s[0:] as s[:]. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The release also includes important bug fixes for the ARM architecture, | 
					
						
							|  |  |  |  | as well as the following fixes and changes: | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * 5g: register allocation bugs | 
					
						
							|  |  |  |  | * 6c, 8c: show line numbers in -S output | 
					
						
							|  |  |  |  | * 6g, 6l, 8g, 8l: move read-only data to text segment | 
					
						
							|  |  |  |  | * 6l, 8l: make etext accurate; introduce rodata, erodata. | 
					
						
							|  |  |  |  | * arm: fix build bugs. | 
					
						
							|  |  |  |  |         make libcgo build during OS X cross-compile | 
					
						
							|  |  |  |  |         remove reference to deleted file syntax/slice.go | 
					
						
							|  |  |  |  |         use the correct stat syscalls | 
					
						
							|  |  |  |  |         work around reg allocator bug in 5g | 
					
						
							|  |  |  |  | * bufio: add UnreadRune. | 
					
						
							|  |  |  |  | * build: avoid bad environment interactions | 
					
						
							|  |  |  |  |         fix build for tiny | 
					
						
							|  |  |  |  |         generate, clean .exe files on Windows (thanks Joe Poirier) | 
					
						
							|  |  |  |  |         test for _WIN32, not _MINGW32 (thanks Joe Poirier) | 
					
						
							|  |  |  |  |         work with GNU Make 3.82 (thanks Jukka-Pekka Kekkonen) | 
					
						
							|  |  |  |  | * cgo: add typedef for uintptr in generated headers | 
					
						
							|  |  |  |  |         silence warning for C call returning const pointer | 
					
						
							|  |  |  |  | * codereview: convert email address to lower case before checking CONTRIBUTORS | 
					
						
							|  |  |  |  | * crypto/tls: don't return an error from Close() | 
					
						
							|  |  |  |  | * doc/tutorial: update for slice changes. | 
					
						
							|  |  |  |  | * exec: separate LookPath implementations for unix/windows (thanks Joe Poirier) | 
					
						
							|  |  |  |  | * exp/draw/x11: allow clean shutdown when the user closes the window. | 
					
						
							|  |  |  |  | * exp/draw: clip destination rectangle to the image bounds. | 
					
						
							|  |  |  |  |         fast path for drawing overlapping image.RGBAs. | 
					
						
							|  |  |  |  |         fix double-counting of pt.Min for the src and mask points. | 
					
						
							|  |  |  |  |         reintroduce the MouseEvent.Nsec timestamp. | 
					
						
							|  |  |  |  |         rename Context to Window, and add a Close method. | 
					
						
							|  |  |  |  | * exp/debug: preliminary support for 'copy' function (thanks Sebastien Binet) | 
					
						
							|  |  |  |  | * fmt.Fscan: use UnreadRune to preserve data across calls. | 
					
						
							|  |  |  |  | * gc: better printing of named constants, func literals in errors | 
					
						
							|  |  |  |  |         many bug fixes | 
					
						
							|  |  |  |  |         fix line number printing with //line directives | 
					
						
							|  |  |  |  |         fix symbol table generation on windows (thanks Alex Brainman) | 
					
						
							|  |  |  |  |         implement comparison rule from spec change 33abb649cb63 | 
					
						
							|  |  |  |  |         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 | 
					
						
							|  |  |  |  | * 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) | 
					
						
							|  |  |  |  | * gofmt, go/printer: update internal estimated position correctly | 
					
						
							|  |  |  |  | * goinstall: warn when package name starts with http:// (thanks Scott Lawrence) | 
					
						
							|  |  |  |  | * http: check https certificate against host name | 
					
						
							|  |  |  |  |         do not cache CanonicalHeaderKey (thanks Jukka-Pekka Kekkonen) | 
					
						
							|  |  |  |  | * image: change a ColorImage's minimum point from (0, 0) to (-1e9, -1e9). | 
					
						
							|  |  |  |  |         introduce Intersect and Union rectangle methods. | 
					
						
							|  |  |  |  | * ld: handle quoted spaces in package path (thanks Dan Sinclair) | 
					
						
							|  |  |  |  | * libcgo: fix NaCl build. | 
					
						
							|  |  |  |  | * libmach: fix build on arm host | 
					
						
							|  |  |  |  |         fix new thread race with Linux | 
					
						
							|  |  |  |  | * math: make portable Tan(Pi/2) return NaN | 
					
						
							|  |  |  |  | * misc/dashboard/builder: gobuilder, a continuous build client | 
					
						
							|  |  |  |  | * net: disable tests for functions not available on windows (thanks Alex Brainman) | 
					
						
							|  |  |  |  | * netchan: make -1 unlimited, as advertised. | 
					
						
							|  |  |  |  | * os, exec: rename argv0 to name | 
					
						
							|  |  |  |  | * path: add IsAbs (thanks Ivan Krasin) | 
					
						
							|  |  |  |  | * runtime: fix bug in tracebacks | 
					
						
							|  |  |  |  |         fix crash trace on amd64 | 
					
						
							|  |  |  |  |         fix windows build (thanks Alex Brainman) | 
					
						
							|  |  |  |  |         use manual stack for garbage collection | 
					
						
							|  |  |  |  | * spec: add examples for slices with omitted index expressions. | 
					
						
							|  |  |  |  |         allow omission of low slice bound (thanks Scott Lawrence) | 
					
						
							|  |  |  |  | * syscall: fix windows Gettimeofday (thanks Alex Brainman) | 
					
						
							|  |  |  |  | * test(arm): disable zerodivide.go because compilation fails. | 
					
						
							|  |  |  |  | * test(windows): disable tests that cause the build to fail (thanks Joe Poirier) | 
					
						
							|  |  |  |  | * test/garbage/parser: sync with recent parser changes | 
					
						
							|  |  |  |  | * test: Add test for //line | 
					
						
							|  |  |  |  |         Make gccgo believe that the variables can change. | 
					
						
							|  |  |  |  |         Recognize gccgo error messages. | 
					
						
							|  |  |  |  |         Reduce race conditions in chan/nonblock.go. | 
					
						
							|  |  |  |  |         Run garbage collector before testing malloc numbers. | 
					
						
							|  |  |  |  | * websocket: Add support for secure WebSockets (thanks Jukka-Pekka Kekkonen) | 
					
						
							|  |  |  |  | * windows: disable unimplemented tests (thanks Joe Poirier) | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-07 16:09:20 +10:00
										 |  |  |  | <h3 id="2010-09-06">2010-09-06</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes the syntactic modernization of more than 100 files in /test, | 
					
						
							|  |  |  |  | and these additions, changes, and fixes:  | 
					
						
							|  |  |  |  | * 6l/8l: emit DWARF in macho. | 
					
						
							|  |  |  |  | * 8g: use FCHS, not FMUL, for minus float. | 
					
						
							|  |  |  |  | * 8l: emit DWARF in ELF, | 
					
						
							|  |  |  |  |         suppress emitting DWARF in Windows PE (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * big: added RatString, some simplifications. | 
					
						
							|  |  |  |  | * build: create bin and pkg directories as needed; drop from hg, | 
					
						
							|  |  |  |  |         delete Make.386 Make.amd64 Make.arm (obsoleted by Make.inc), | 
					
						
							|  |  |  |  |         fix cgo with -j2, | 
					
						
							|  |  |  |  |         let pkg/Makefile coordinate building of Go commands, | 
					
						
							|  |  |  |  |         never use quietgcc in Make.pkg, | 
					
						
							|  |  |  |  |         remove more references to GOBIN and GOROOT (thanks Christian Himpel). | 
					
						
							|  |  |  |  | * codereview: Fix uploading for Mercurial 1.6.3 (thanks Evan Shaw), | 
					
						
							|  |  |  |  |         consistent indent, cut dead code, | 
					
						
							|  |  |  |  |         fix hang on standard hg commands, | 
					
						
							|  |  |  |  |         print status when tasks take longer than 30 seconds, | 
					
						
							|  |  |  |  |         really disable codereview when not available, | 
					
						
							|  |  |  |  |         upload files in parallel (5x improvement on large CLs). | 
					
						
							|  |  |  |  | * crypto/hmac: make Sum idempotent (thanks Jukka-Pekka Kekkonen). | 
					
						
							|  |  |  |  | * doc: add links to more German docs, | 
					
						
							|  |  |  |  |         add round-robin flag to io2010 balance example, | 
					
						
							|  |  |  |  |         fix a bug in the example in Constants subsection (thanks James Fysh), | 
					
						
							|  |  |  |  |         various changes for validating HTML (thanks Scott Lawrence). | 
					
						
							|  |  |  |  | * fmt: delete erroneous sentence about return value for Sprint*. | 
					
						
							|  |  |  |  | * gc: appease bison version running on FreeBSD builder, | 
					
						
							|  |  |  |  |         fix spurious syntax error. | 
					
						
							|  |  |  |  | * go/doc: use correct escaper for URL. | 
					
						
							|  |  |  |  | * go/printer: align ImportPaths in ImportDecls (thanks Scott Lawrence). | 
					
						
							|  |  |  |  | * go/typechecker: 2nd step towards augmenting AST with full type information. | 
					
						
							|  |  |  |  | * gofmt: permit omission of first index in slice expression. | 
					
						
							|  |  |  |  | * goinstall: added -a flag to mean "all remote packages" (thanks Scott Lawrence), | 
					
						
							|  |  |  |  |         assume go binaries are in path (following new convention), | 
					
						
							|  |  |  |  |         use https for Google Code checkouts. | 
					
						
							|  |  |  |  | * gotest: allow make test of cgo packages (without make install). | 
					
						
							|  |  |  |  | * http: add Date to server, Last-Modified and If-Modified-Since to file server, | 
					
						
							|  |  |  |  |         add PostForm function to post url-encoded key/value data, | 
					
						
							|  |  |  |  |         obscure passwords in return value of URL.String (thanks Scott Lawrence). | 
					
						
							|  |  |  |  | * image: introduce Config type and DecodeConfig function. | 
					
						
							|  |  |  |  | * libcgo: update Makefile to use Make.inc. | 
					
						
							|  |  |  |  | * list: update comment to state that the zero value is ready to use. | 
					
						
							|  |  |  |  | * math: amd64 version of Sincos (thanks Charles L. Dorian). | 
					
						
							|  |  |  |  | * misc/bash: add *.go completion for gofmt (thanks Scott Lawrence). | 
					
						
							|  |  |  |  | * misc/emacs: make _ a word symbol (thanks Scott Lawrence). | 
					
						
							|  |  |  |  | * misc: add zsh completion (using compctl), | 
					
						
							|  |  |  |  |         syntax highlighting for Fraise.app (OS X) (thanks Vincent Ambo). | 
					
						
							|  |  |  |  | * net/textproto: Handle multi-line responses (thanks Evan Shaw). | 
					
						
							|  |  |  |  | * net: add LookupMX (thanks Corey Thomasson). | 
					
						
							|  |  |  |  | * netchan: Fix race condition in test, | 
					
						
							|  |  |  |  |         rather than 0, make -1 mean infinite (a la strings.Split et al), | 
					
						
							|  |  |  |  |         use acknowledgements on export send. | 
					
						
							|  |  |  |  |         new methods Sync and Drain for clean teardown. | 
					
						
							|  |  |  |  | * regexp: interpret all Go characer escapes \a \b \f \n \r \t \v. | 
					
						
							|  |  |  |  | * rpc: fix bug that caused private methods to attempt to be registered. | 
					
						
							|  |  |  |  | * runtime: Correct commonType.kind values to match compiler, | 
					
						
							|  |  |  |  |         add GOOS, GOARCH; fix FuncLine, | 
					
						
							|  |  |  |  |         special case copy, equal for one-word interface values (thanks Kyle Consalus). | 
					
						
							|  |  |  |  | * scanner: fix incorrect reporting of error in Next (thanks Kyle Consalus). | 
					
						
							|  |  |  |  | * spec: clarify that arrays must be addressable to be sliceable. | 
					
						
							|  |  |  |  | * template: fix space handling around actions. | 
					
						
							|  |  |  |  | * test/solitaire: an exercise in backtracking and string conversions. | 
					
						
							|  |  |  |  | * test: Recognize gccgo error messages and other fixes. | 
					
						
							|  |  |  |  | * time: do not crash in String on nil Time. | 
					
						
							|  |  |  |  | * tutorial: regenerate HTML to pick up change to progs/file.go. | 
					
						
							|  |  |  |  | * websocket: fix missing Sec-WebSocket-Protocol on server response (thanks Jukka-Pekka Kekkonen). | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <h3 id="2010-08-25">2010-08-25</h3> | 
					
						
							| 
									
										
										
										
											2010-08-25 14:58:29 +10:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes changes to the build system that will likely require you | 
					
						
							|  |  |  |  | to make changes to your environment variables and Makefiles. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | All environment variables are now optional: | 
					
						
							|  |  |  |  |  - $GOOS and $GOARCH are now optional; their values should now be inferred  | 
					
						
							|  |  |  |  |    automatically by the build system, | 
					
						
							|  |  |  |  |  - $GOROOT is now optional, but if you choose not to set it you must run | 
					
						
							|  |  |  |  |    'gomake' instead of 'make' or 'gmake' when developing Go programs | 
					
						
							|  |  |  |  |    using the conventional Makefiles, | 
					
						
							|  |  |  |  |  - $GOBIN remains optional and now defaults to $GOROOT/bin; | 
					
						
							|  |  |  |  |    if you wish to use this new default, make sure it is in your $PATH | 
					
						
							|  |  |  |  |    and that you have removed the existing binaries from $HOME/bin. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | As a result of these changes, the Go Makefiles have changed. If your Makefiles | 
					
						
							|  |  |  |  | inherit from the Go Makefiles, you must change this line: | 
					
						
							|  |  |  |  |     include ../../Make.$(GOARCH) | 
					
						
							|  |  |  |  | to this: | 
					
						
							|  |  |  |  |     include ../../Make.inc | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | This release also removes the deprecated functions in regexp and the  | 
					
						
							|  |  |  |  | once package. Any code that still uses them will break. | 
					
						
							|  |  |  |  | See the notes from the last release for details: | 
					
						
							|  |  |  |  |     http://golang.org/doc/devel/release.html#2010-08-11 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * 6g: better registerization for slices, strings, interface values | 
					
						
							|  |  |  |  | * 6l: line number information in DWARF format | 
					
						
							|  |  |  |  | * build: $GOBIN defaults to $GOROOT/bin, | 
					
						
							|  |  |  |  |         no required environment variables | 
					
						
							|  |  |  |  | * cgo: add C.GoStringN (thanks Eric Clark). | 
					
						
							|  |  |  |  | * codereview: fix issues with leading tabs in CL descriptions, | 
					
						
							|  |  |  |  |         do not send "Abandoned" mail if the CL has not been mailed. | 
					
						
							|  |  |  |  | * crypto/ocsp: add missing Makefile. | 
					
						
							|  |  |  |  | * crypto/tls: client certificate support (thanks Mikkel Krautz). | 
					
						
							|  |  |  |  | * doc: update gccgo information for recent changes. | 
					
						
							|  |  |  |  |         fix errors in Effective Go. | 
					
						
							|  |  |  |  | * fmt/print: give %p priority, analogous to %T, | 
					
						
							|  |  |  |  |         honor Formatter in Print, Println. | 
					
						
							|  |  |  |  | * gc: fix parenthesization check. | 
					
						
							|  |  |  |  | * go/ast: facility for printing AST nodes, | 
					
						
							|  |  |  |  |         first step towards augmenting AST with full type information. | 
					
						
							|  |  |  |  | * go/printer: do not modify tabwriter.Escape'd text. | 
					
						
							|  |  |  |  | * gofmt: do not modify multi-line string literals, | 
					
						
							|  |  |  |  |         print AST nodes by setting -ast flag. | 
					
						
							|  |  |  |  | * http: fix typo in http.Request documentation (thanks Scott Lawrence) | 
					
						
							|  |  |  |  |         parse query string always, not just in GET | 
					
						
							|  |  |  |  | * image/png: support 16-bit color. | 
					
						
							|  |  |  |  | * io: ReadAtLeast now errors if min > len(buf). | 
					
						
							|  |  |  |  | * jsonrpc: use `error: null` for success, not `error: ""`. | 
					
						
							|  |  |  |  | * libmach: implement register fetch for 32-bit x86 kernel. | 
					
						
							|  |  |  |  | * net: make IPv6 String method standards-compliant (thanks Mikio Hara). | 
					
						
							|  |  |  |  | * os: FileInfo.Permission() now returns uint32 (thanks Scott Lawrence), | 
					
						
							|  |  |  |  |         implement env using native Windows API (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * reflect: allow PtrValue.PointTo(nil). | 
					
						
							|  |  |  |  | * runtime: correct line numbers for .goc files, | 
					
						
							|  |  |  |  |         fix another stack split bug, | 
					
						
							|  |  |  |  |         fix freebsd/386 mmap. | 
					
						
							|  |  |  |  | * syscall: regenerate syscall/z* files for linux/386, linux/amd64, linux/arm. | 
					
						
							|  |  |  |  | * tabwriter: Introduce a new flag StripEscape. | 
					
						
							|  |  |  |  | * template: fix handling of space around actions, | 
					
						
							|  |  |  |  |         vars preceded by white space parse correctly (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * test: add test case that crashes gccgo. | 
					
						
							|  |  |  |  | * time: parse no longer requires minutes for time zone (thanks Jan H. Hosang) | 
					
						
							|  |  |  |  | * yacc: fix bounds check in error recovery. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-12 15:51:11 +10:00
										 |  |  |  | <h3 id="2010-08-11">2010-08-11</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release introduces some package changes. You may need to change your | 
					
						
							|  |  |  |  | code if you use the once, regexp, image, or exp/draw packages. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The type Once has been added to the sync package. The new sync.Once will | 
					
						
							|  |  |  |  | supersede the functionality provided by the once package. We intend to remove | 
					
						
							|  |  |  |  | the once package after this release. See: | 
					
						
							|  |  |  |  |     http://golang.org/pkg/sync/#Once | 
					
						
							|  |  |  |  | All instances of once in the standard library have been replaced with | 
					
						
							|  |  |  |  | sync.Once. Reviewing these changes may help you modify your existing code.  | 
					
						
							|  |  |  |  | The relevant changeset: | 
					
						
							|  |  |  |  |     http://code.google.com/p/go/source/detail?r=fa2c43595119 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | A new set of methods has been added to the regular expression package, regexp. | 
					
						
							|  |  |  |  | These provide a uniformly named approach to discovering the matches of an | 
					
						
							|  |  |  |  | expression within a piece of text; see the package documentation for details:  | 
					
						
							|  |  |  |  |     http://golang.org/pkg/regexp/ | 
					
						
							|  |  |  |  | These new methods will, in a later release, replace the old methods for | 
					
						
							|  |  |  |  | matching substrings.  The following methods are deprecated: | 
					
						
							| 
									
										
										
										
											2010-08-25 14:58:29 +10:00
										 |  |  |  |     Execute (use FindSubmatchIndex) | 
					
						
							|  |  |  |  |     ExecuteString (use FindStringSubmatchIndex) | 
					
						
							| 
									
										
										
										
											2010-08-12 15:51:11 +10:00
										 |  |  |  |     MatchStrings(use FindStringSubmatch) | 
					
						
							|  |  |  |  |     MatchSlices (use FindSubmatch) | 
					
						
							|  |  |  |  |     AllMatches (use FindAll; note that n<0 means 'all matches'; was n<=0) | 
					
						
							|  |  |  |  |     AllMatchesString (use FindAllString; note that n<0 means 'all matches'; was n<=0) | 
					
						
							|  |  |  |  | (Plus there are ten new methods you didn't know you wanted.)  | 
					
						
							|  |  |  |  | Please update your code to use the new routines before the next release. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | An image.Image now has a Bounds rectangle, where previously it ranged  | 
					
						
							|  |  |  |  | from (0, 0) to (Width, Height). Loops that previously looked like: | 
					
						
							|  |  |  |  |     for y := 0; y < img.Height(); y++ { | 
					
						
							|  |  |  |  |         for x := 0; x < img.Width(); x++ { | 
					
						
							|  |  |  |  |             // Do something with img.At(x, y) | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | should instead be: | 
					
						
							|  |  |  |  |     b := img.Bounds() | 
					
						
							|  |  |  |  |     for y := b.Min.Y; y < b.Max.Y; y++ { | 
					
						
							|  |  |  |  |         for x := b.Min.X; x < b.Max.X; x++ { | 
					
						
							|  |  |  |  |             // Do something with img.At(x, y) | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | The Point and Rectangle types have also moved from exp/draw to image. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * arm: bugfixes and syscall (thanks Kai Backman). | 
					
						
							|  |  |  |  | * asn1: fix incorrect encoding of signed integers (thanks Nicholas Waples). | 
					
						
							|  |  |  |  | * big: fixes to bitwise functions (thanks Evan Shaw). | 
					
						
							|  |  |  |  | * bytes: add IndexRune, FieldsFunc and To*Special (thanks Christian Himpel). | 
					
						
							|  |  |  |  | * encoding/binary: add complex (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * exp/iterable: add UintArray (thanks Anschel Schaffer-Cohen). | 
					
						
							|  |  |  |  | * godoc: report Status 404 if a pkg or file is not found. | 
					
						
							|  |  |  |  | * gofmt: better reporting for unexpected semicolon errors. | 
					
						
							|  |  |  |  | * html: new package, an HTML tokenizer. | 
					
						
							|  |  |  |  | * image: change image representation from slice-of-slices to linear buffer, | 
					
						
							|  |  |  |  |         introduce Decode and RegisterFormat, | 
					
						
							|  |  |  |  |         introduce Transparent and Opaque, | 
					
						
							|  |  |  |  |         replace Width and Height by Bounds, add the Point and Rect types. | 
					
						
							|  |  |  |  | * libbio: fix Bprint to address 6g issues with large data structures. | 
					
						
							|  |  |  |  | * math: fix amd64 Hypot (thanks Charles L. Dorian). | 
					
						
							|  |  |  |  | * net/textproto: new package, with example net/dict. | 
					
						
							|  |  |  |  | * os: fix ForkExec() handling of envv == nil (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * png: grayscale support (thanks Mathieu Lonjaret). | 
					
						
							|  |  |  |  | * regexp: document that backslashes are the escape character. | 
					
						
							|  |  |  |  | * rpc: catch errors from ReadResponseBody. | 
					
						
							|  |  |  |  | * runtime: memory free fix (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * template: add ParseFile method to template.Template. | 
					
						
							|  |  |  |  | * test/peano: use directly recursive type def. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-05 13:18:49 +10:00
										 |  |  |  | <h3 id="2010-08-04">2010-08-04</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes a change to os.Open (and co.). The file permission | 
					
						
							|  |  |  |  | argument has been changed to a uint32. Your code may require changes - a simple | 
					
						
							|  |  |  |  | conversion operation at most. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * amd64: use segment memory for thread-local storage. | 
					
						
							|  |  |  |  | * arm: add gdb support to android launcher script, | 
					
						
							|  |  |  |  |         bugfixes (stack clobbering, indices), | 
					
						
							|  |  |  |  |         disable another flaky test, | 
					
						
							|  |  |  |  |         remove old qemu dependency from gotest. | 
					
						
							|  |  |  |  | * bufio: introduce Peek. | 
					
						
							|  |  |  |  | * bytes: added test case for explode with blank string (thanks Scott Lawrence). | 
					
						
							|  |  |  |  | * cgo: correct multiple return value function invocations (thanks Christian Himpel). | 
					
						
							|  |  |  |  | * crypto/x509: unwrap Subject Key Identifier (thanks Adam Langley). | 
					
						
							|  |  |  |  | * gc: index bounds tests and other fixes. | 
					
						
							|  |  |  |  | * gofmt/go/parser: strengthen syntax checks. | 
					
						
							|  |  |  |  | * goinstall: check for error from exec.*Cmd.Wait() (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * image/png: use image-specific methods for checking opacity. | 
					
						
							|  |  |  |  | * image: introduce Gray and Gray16 types, | 
					
						
							|  |  |  |  |         remove the named colors except for Black and White. | 
					
						
							|  |  |  |  | * json: object members must have a value (thanks Anthony Martin). | 
					
						
							|  |  |  |  | * misc/vim: highlight misspelled words only in comments (thanks Christian Himpel). | 
					
						
							|  |  |  |  | * os: Null device (thanks Peter Mundy). | 
					
						
							|  |  |  |  | * runtime: do not fall through in SIGBUS/SIGSEGV. | 
					
						
							|  |  |  |  | * strings: fix Split("", "", -1) (thanks Scott Lawrence). | 
					
						
							|  |  |  |  | * syscall: make go errors not clash with windows errors (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * test/run: diff old new, | 
					
						
							|  |  |  |  | * websocket: correct challenge response (thanks Tarmigan Casebolt), | 
					
						
							|  |  |  |  |         fix bug involving spaces in header keys (thanks Bill Neubauer).  | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-07-30 14:48:30 +10:00
										 |  |  |  | <h3 id="2010-07-29">2010-07-29</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | * 5g: more soft float support and several bugfixes. | 
					
						
							|  |  |  |  | * asn1: Enumerated, Flag and GeneralizedTime support. | 
					
						
							|  |  |  |  | * build: clean.bash to check that GOOS and GOARCH are set. | 
					
						
							|  |  |  |  | * bytes: add IndexFunc and LastIndexFunc (thanks Fazlul Shahriar), | 
					
						
							|  |  |  |  | 	add Title. | 
					
						
							|  |  |  |  | * cgo: If CC is set in environment, use it rather than "gcc", | 
					
						
							|  |  |  |  | 	use new command line syntax: -- separates cgo flags from gcc flags. | 
					
						
							|  |  |  |  | * codereview: avoid crash if no config, | 
					
						
							|  |  |  |  | 	don't run gofmt with an empty file list, | 
					
						
							|  |  |  |  | 	make 'hg submit' work with Mercurial 1.6. | 
					
						
							|  |  |  |  | * crypto/ocsp: add package to parse OCSP responses. | 
					
						
							|  |  |  |  | * crypto/tls: add client-side SNI support and PeerCertificates. | 
					
						
							|  |  |  |  | * exp/bignum: delete package - functionality subsumed by package big. | 
					
						
							|  |  |  |  | * fmt.Print: fix bug in placement of spaces introduced when ...T went in. | 
					
						
							|  |  |  |  | * fmt.Scanf: handle trailing spaces. | 
					
						
							|  |  |  |  | * gc: fix smaller-than-pointer-sized receivers in interfaces, | 
					
						
							|  |  |  |  | 	floating point precision/normalization fixes, | 
					
						
							|  |  |  |  | 	graceful exit on seg fault, | 
					
						
							|  |  |  |  | 	import dot shadowing bug, | 
					
						
							|  |  |  |  | 	many fixes including better handling of invalid input, | 
					
						
							|  |  |  |  | 	print error detail about failure to open import. | 
					
						
							|  |  |  |  | * gccgo_install.html: add description of the port to RTEMS (thanks Vinu Rajashekhar). | 
					
						
							|  |  |  |  | * gobs: fix bug in singleton arrays. | 
					
						
							|  |  |  |  | * godoc: display synopses for all packages that have some kind of documentation.. | 
					
						
							|  |  |  |  | * gofmt: fix some linebreak issues. | 
					
						
							|  |  |  |  | * http: add https client support (thanks Fazlul Shahriar), | 
					
						
							|  |  |  |  | 	write body when content length unknown (thanks James Whitehead). | 
					
						
							|  |  |  |  | * io: MultiReader and MultiWriter (thanks Brad Fitzpatrick), | 
					
						
							|  |  |  |  | 	fix another race condition in Pipes. | 
					
						
							|  |  |  |  | * ld: many fixes including better handling of invalid input. | 
					
						
							|  |  |  |  | * libmach: correct handling of .5 files with D_REGREG addresses. | 
					
						
							|  |  |  |  | * linux/386: use Xen-friendly ELF TLS instruction sequence. | 
					
						
							|  |  |  |  | * mime: add AddExtensionType (thanks Yuusei Kuwana). | 
					
						
							|  |  |  |  | * misc/vim: syntax file recognizes constants like 1e9 (thanks Petar Maymounkov). | 
					
						
							|  |  |  |  | * net: TCPConn.SetNoDelay, back by popular demand. | 
					
						
							|  |  |  |  | * net(windows): fix crashing Read/Write when passed empty slice on (thanks Alex Brainman), | 
					
						
							|  |  |  |  | 	implement LookupHost/Port/SRV (thanks Wei Guangjing), | 
					
						
							|  |  |  |  | 	properly handle EOF in (*netFD).Read() (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * runtime: fix bug introduced in revision 4a01b8d28570 (thanks Alex Brainman), | 
					
						
							|  |  |  |  | 	rename cgo2c, *.cgo to goc2c, *.goc (thanks Peter Mundy). | 
					
						
							|  |  |  |  | * scanner: better comment. | 
					
						
							|  |  |  |  | * strings: add Title. | 
					
						
							|  |  |  |  | * syscall: add ForkExec, Syscall12 on Windows (thanks Daniel Theophanes), | 
					
						
							|  |  |  |  | 	improve windows errno handling (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * syscall(windows): fix FormatMessage (thanks Peter Mundy), | 
					
						
							|  |  |  |  | 	implement Pipe() (thanks Wei Guangjing). | 
					
						
							|  |  |  |  | * time: fix parsing of minutes in time zones. | 
					
						
							|  |  |  |  | * utf16(windows): fix cyclic dependency when testing (thanks Peter Mundy). | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-07-15 13:04:04 +10:00
										 |  |  |  | <h3 id="2010-07-14">2010-07-14</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes a package change. In container/vector, the Iter method | 
					
						
							|  |  |  |  | has been removed from the Vector, IntVector, and StringVector types. Also, the | 
					
						
							|  |  |  |  | Data method has been renamed to Copy to better express its actual behavior. | 
					
						
							|  |  |  |  | Now that Vector is just a slice, any for loops ranging over v.Iter() or | 
					
						
							|  |  |  |  | v.Data() can be changed to range over v instead. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * big: Improvements to Rat.SetString (thanks Evan Shaw), | 
					
						
							|  |  |  |  |         add sign, abs, Rat.IsInt. | 
					
						
							|  |  |  |  | * cgo: various bug fixes. | 
					
						
							|  |  |  |  | * codereview: Fix for Mercurial >= 1.6 (thanks Evan Shaw). | 
					
						
							|  |  |  |  | * crypto/rand: add Windows implementation (thanks Peter Mundy). | 
					
						
							|  |  |  |  | * crypto/tls: make HTTPS servers easier, | 
					
						
							|  |  |  |  |         add client OCSP stapling support. | 
					
						
							|  |  |  |  | * exp/eval: converted from bignum to big (thanks Evan Shaw). | 
					
						
							|  |  |  |  | * gc: implement new len spec, range bug fix, optimization. | 
					
						
							|  |  |  |  | * go/parser: require that '...' parameters are followed by a type. | 
					
						
							|  |  |  |  | * http: fix ParseURL to handle //relative_path properly. | 
					
						
							|  |  |  |  | * io: fix SectionReader Seek to seek backwards (thanks Peter Mundy). | 
					
						
							|  |  |  |  | * json: Add HTMLEscape (thanks Micah Stetson). | 
					
						
							|  |  |  |  | * ld: bug fixes. | 
					
						
							|  |  |  |  | * math: amd64 version of log (thanks Charles L. Dorian). | 
					
						
							|  |  |  |  | * mime/multipart: new package to parse multipart MIME messages | 
					
						
							|  |  |  |  |         and HTTP multipart/form-data support. | 
					
						
							|  |  |  |  | * os: use TempFile with default TempDir for test files (thanks Peter Mundy). | 
					
						
							|  |  |  |  | * runtime/tiny: add docs for additional VMs, fix build (thanks Markus Duft). | 
					
						
							|  |  |  |  | * runtime: better error for send/recv on nil channel. | 
					
						
							|  |  |  |  | * spec: clarification of channel close(), | 
					
						
							|  |  |  |  |         lock down some details about channels and select, | 
					
						
							|  |  |  |  |         restrict when len(x) is constant, | 
					
						
							|  |  |  |  |         specify len/cap for nil slices, maps, and channels. | 
					
						
							|  |  |  |  | * windows: append .exe to binary names (thanks Joe Poirier). | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-07-02 10:36:43 +10:00
										 |  |  |  | <h3 id="2010-07-01">2010-07-01</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes some package changes that may require changes to  | 
					
						
							|  |  |  |  | client code. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The Split function in the bytes and strings packages has been changed. | 
					
						
							|  |  |  |  | The count argument, which limits the size of the return, previously treated | 
					
						
							|  |  |  |  | zero as unbounded. It now treats 0 as 0, and will return an empty slice.   | 
					
						
							|  |  |  |  | To request unbounded results, use -1 (or some other negative value). | 
					
						
							|  |  |  |  | The new Replace functions in bytes and strings share this behavior. | 
					
						
							|  |  |  |  | This may require you change your existing code. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The gob package now allows the transmission of non-struct values at the | 
					
						
							|  |  |  |  | top-level. As a result, the rpc and netchan packages have fewer restrictions | 
					
						
							|  |  |  |  | on the types they can handle.  For example, netchan can now share a chan int. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The release also includes a Code Walk: "Share Memory By Communicating". | 
					
						
							|  |  |  |  | It describes an idiomatic Go program that uses goroutines and channels: | 
					
						
							|  |  |  |  | 	http://golang.org/doc/codewalk/sharemem/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | There is now a Projects page on the Go Dashboard that lists Go programs,  | 
					
						
							|  |  |  |  | tools, and libraries: | 
					
						
							|  |  |  |  | 	http://godashboard.appspot.com/project | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * 6a, 6l: bug fixes. | 
					
						
							|  |  |  |  | * bytes, strings: add Replace. | 
					
						
							|  |  |  |  | * cgo: use slash-free relative paths for .so references. | 
					
						
							|  |  |  |  | * cmath: correct IsNaN for argument cmplx(Inf, NaN) (thanks Charles L. Dorian). | 
					
						
							|  |  |  |  | * codereview: allow multiple email addresses in CONTRIBUTORS. | 
					
						
							|  |  |  |  | * doc/codewalk: add Share Memory By Communicating. | 
					
						
							|  |  |  |  | * exp/draw/x11: implement the mapping from keycodes to keysyms. | 
					
						
							|  |  |  |  | * fmt: Printf: fix bug in handling of %#v, allow other verbs for slices | 
					
						
							|  |  |  |  |         Scan: fix handling of EOFs. | 
					
						
							|  |  |  |  | * gc: bug fixes and optimizations. | 
					
						
							|  |  |  |  | * gob: add DecodeValue and EncodeValue, | 
					
						
							|  |  |  |  |         add support for complex numbers. | 
					
						
							|  |  |  |  | * goinstall: support for Bazaar+Launchpad (thanks Gustavo Niemeyer). | 
					
						
							|  |  |  |  | * io/ioutil: add TempFile for Windows (thanks Peter Mundy). | 
					
						
							|  |  |  |  | * ld: add -u flag to check safe bits; discard old -u, -x flags. | 
					
						
							|  |  |  |  | * math: amd64 versions of Exp and Fabs (thanks Charles L. Dorian). | 
					
						
							|  |  |  |  | * misc/vim: always override filetype detection for .go files. | 
					
						
							|  |  |  |  | * net: add support for DNS SRV requests (thanks Kirklin McDonald), | 
					
						
							|  |  |  |  |         initial attempt to implement Windows version (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * netchan: allow chan of basic types now that gob can handle such, | 
					
						
							|  |  |  |  |         eliminate the need for a pointer value in Import and Export. | 
					
						
							|  |  |  |  | * os/signal: only catch all signals if os/signal package imported. | 
					
						
							|  |  |  |  | * regexp: bug fix: need to track whether match begins with fixed prefix. | 
					
						
							|  |  |  |  | * rpc: allow non-struct args and reply (they must still be pointers). | 
					
						
							|  |  |  |  | * runtime: bug fixes and reorganization. | 
					
						
							|  |  |  |  | * strconv: fix bugs in floating-point and base 2 conversions | 
					
						
							|  |  |  |  | * syscall: add syscall_bsd.go to zsycall_freebsd_386.go (thanks Peter Mundy), | 
					
						
							|  |  |  |  |         add socketpair (thanks Ivan Krasin). | 
					
						
							|  |  |  |  | * time: implement time zones for Windows (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * x509: support non-self-signed certs.  | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-06-21 23:16:38 +01:00
										 |  |  |  | <h3 id="2010-06-21">2010-06-21</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes a language change. The "..." function parameter form is | 
					
						
							|  |  |  |  | gone; "...T" remains. Typically, "...interface{}" can be used instead of "...". | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The implementation of Printf has changed in a way that subtly affects its | 
					
						
							|  |  |  |  | handling of the fmt.Stringer interface. You may need to make changes to your | 
					
						
							|  |  |  |  | code. For details, see: | 
					
						
							|  |  |  |  |         https://groups.google.com/group/golang-nuts/msg/6fffba90a3e3dc06 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The reflect package has been changed. If you have code that uses reflect,  | 
					
						
							|  |  |  |  | it will need to be updated. For details, see: | 
					
						
							|  |  |  |  |         https://groups.google.com/group/golang-nuts/msg/7a93d07c590e7beb | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * 8l: correct test for sp == top of stack in 8l -K code. | 
					
						
							|  |  |  |  | * asn1: allow '*' in PrintableString. | 
					
						
							|  |  |  |  | * bytes.Buffer.ReadFrom: fix bug. | 
					
						
							|  |  |  |  | * codereview: avoid exception in match (thanks Paolo Giarrusso). | 
					
						
							|  |  |  |  | * complex divide: match C99 implementation. | 
					
						
							|  |  |  |  | * exp/draw: small draw.drawGlyphOver optimization. | 
					
						
							|  |  |  |  | * fmt: Print*: reimplement to switch on type first, | 
					
						
							|  |  |  |  |         Scanf: improve error message when input does not match format. | 
					
						
							|  |  |  |  | * gc: better error messages for interface failures, conversions, undefined symbols. | 
					
						
							|  |  |  |  | * go/scanner: report illegal escape sequences. | 
					
						
							|  |  |  |  | * gob: substitute slice for map. | 
					
						
							|  |  |  |  | * goinstall: process dependencies for package main (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * gopack: add S flag to force marking a package as safe, | 
					
						
							|  |  |  |  |         simplify go metadata code. | 
					
						
							|  |  |  |  | * html: sync testdata/webkit to match WebKit tip. | 
					
						
							|  |  |  |  | * http: reply to Expect 100-continue requests automatically (thanks Brad Fitzpatrick). | 
					
						
							|  |  |  |  | * image: add an Alpha16 type. | 
					
						
							|  |  |  |  | * ld: pad Go symbol table out to page boundary (fixes cgo crash). | 
					
						
							|  |  |  |  | * misc/vim: reorganize plugin to be easier to use (thanks James Whitehead). | 
					
						
							|  |  |  |  | * path: add Base, analogous to Unix basename. | 
					
						
							|  |  |  |  | * pkg/Makefile: allow DISABLE_NET_TESTS=1 to disable network tests. | 
					
						
							|  |  |  |  | * reflect: add Kind, Type.Bits, remove Int8Type, Int8Value, etc. | 
					
						
							|  |  |  |  | * runtime: additional Windows support (thanks Alex Brainman), | 
					
						
							|  |  |  |  |         correct fault for 16-bit divide on Leopard, | 
					
						
							|  |  |  |  |         fix 386 signal handler bug. | 
					
						
							|  |  |  |  | * strconv: add AtofN, FtoaN. | 
					
						
							|  |  |  |  | * string: add IndexFunc and LastIndexFunc (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * syslog: use local network for tests.  | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-06-09 23:10:28 +02:00
										 |  |  |  | <h3 id="2010-06-09">2010-06-09</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release contains many fixes and improvements, including several | 
					
						
							|  |  |  |  | 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 | 
					
						
							|  |  |  |  | types inside composite types. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The fmt package now includes flexible type-driven (fmt.Scan) and  | 
					
						
							|  |  |  |  | format-driven (fmt.Scanf) scanners for all basic types. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * big: bug fix for Quo aliasing problem. | 
					
						
							|  |  |  |  | * bufio: change ReadSlice to match description. | 
					
						
							|  |  |  |  | * cgo: bug fixes. | 
					
						
							|  |  |  |  | * doc: add Google I/O talk and programs, | 
					
						
							|  |  |  |  |         codereview + Mercurial Queues info (thanks Peter Williams). | 
					
						
							|  |  |  |  | * exp/draw: Draw fast paths for the Over operator, | 
					
						
							|  |  |  |  |         add Rectangle.Eq and Point.In, fix Rectangle.Clip (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * fmt: Scan fixes and improvements. | 
					
						
							|  |  |  |  | * gc: backslash newline is not a legal escape sequence in strings, | 
					
						
							|  |  |  |  |         better error message when ~ operator is found, | 
					
						
							|  |  |  |  |         fix export of complex types, | 
					
						
							|  |  |  |  |         new typechecking rules. | 
					
						
							|  |  |  |  | * go/parser: correct position of empty statement ';'. | 
					
						
							|  |  |  |  | * gofmt: fix test script. | 
					
						
							|  |  |  |  | * goinstall: use 'git pull' instead of 'git checkout' (thanks Michael Hoisie). | 
					
						
							|  |  |  |  | * http: add Head function for making HTTP HEAD requests, | 
					
						
							|  |  |  |  |         handle status 304 correctly. | 
					
						
							|  |  |  |  | * image: add Opaque method to the image types. | 
					
						
							|  |  |  |  |         make Color.RGBA return 16 bit color instead of 32 bit color. | 
					
						
							|  |  |  |  | * io/ioutil: add TempFile. | 
					
						
							|  |  |  |  | * math: Pow special cases and additional tests (thanks Charles L. Dorian). | 
					
						
							|  |  |  |  | * netchan: improve closing and shutdown. | 
					
						
							|  |  |  |  | * os: implement os.FileInfo.*time_ns for windows (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * 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). | 
					
						
							|  |  |  |  | * spec: clean-ups and consolidation. | 
					
						
							|  |  |  |  | * syscall: additional Windows compatibility fixes (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * test/bench: added regex-dna-parallel.go (thanks Kyle Consalus). | 
					
						
							|  |  |  |  | * vector: type-specific Do functions now take f(type) (thanks Michael Hoisie).  | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-27 16:50:31 -07:00
										 |  |  |  | <h3 id="2010-05-27">2010-05-27</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | A sizeable release, including standard library improvements and a slew of | 
					
						
							|  |  |  |  | compiler bug fixes. The three-week interval was largely caused by the team | 
					
						
							|  |  |  |  | preparing for Google I/O.  | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * big: add Rat type (thanks Evan Shaw), | 
					
						
							|  |  |  |  |         new features, much performance tuning, cleanups, and more tests. | 
					
						
							|  |  |  |  | * bignum: deprecate by moving into exp directory. | 
					
						
							|  |  |  |  | * build: allow MAKEFLAGS to be set outside the build scripts (thanks Christopher Wedgwood). | 
					
						
							|  |  |  |  | * bytes: add Trim, TrimLeft, TrimRight, and generic functions (thanks Michael Hoisie). | 
					
						
							|  |  |  |  | * cgo: fix to permit cgo callbacks from init code. | 
					
						
							|  |  |  |  | * 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 | 
					
						
							|  |  |  |  | * exp/draw/x11: respect $XAUTHORITY, | 
					
						
							|  |  |  |  |         treat $DISPLAY the same way x-go-bindings does. | 
					
						
							|  |  |  |  | * exp/draw: fast path for glyph images, other optimizations, | 
					
						
							|  |  |  |  |         fix Rectangle.Canon (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * fmt: Scan, Scanln: Start of a simple scanning API in the fmt package, | 
					
						
							|  |  |  |  |         fix Printf crash when given an extra nil argument (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * gc: better error when computing remainder of non-int (thanks Evan Shaw), | 
					
						
							|  |  |  |  |         disallow middot in Go programs, | 
					
						
							|  |  |  |  |         distinguish array, slice literal in error messages, | 
					
						
							|  |  |  |  |         fix shift/reduce conflict in go.y export syntax, | 
					
						
							|  |  |  |  |         fix unsafe.Sizeof on ideal constants, | 
					
						
							|  |  |  |  |         handle use of builtin function outside function call, | 
					
						
							|  |  |  |  |         many other bug fixes. | 
					
						
							|  |  |  |  | * gob: add support for maps, | 
					
						
							|  |  |  |  |         add test for indirect maps, slices, arrays. | 
					
						
							|  |  |  |  | * godoc: collect package comments from all package files. | 
					
						
							|  |  |  |  | * gofmt: don't lose mandatory semicolons, | 
					
						
							|  |  |  |  |         exclude test w/ illegal syntax from test cases, | 
					
						
							|  |  |  |  |         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. | 
					
						
							|  |  |  |  | * 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). | 
					
						
							|  |  |  |  | * misc/kate: convert isn't a built in function (thanks Evan Shaw). | 
					
						
							|  |  |  |  | * net: implement BindToDevice, | 
					
						
							|  |  |  |  |         implement raw sockets (thanks Christopher Wedgwood). | 
					
						
							|  |  |  |  | * netFD: fix race between Close and Read/Write (thanks Michael Hoisie). | 
					
						
							|  |  |  |  | * os: add Chtimes function (thanks Brad Fitzpatrick). | 
					
						
							|  |  |  |  | * pkg/Makefile: add netchan to standard package list. | 
					
						
							|  |  |  |  | * runtime: GOMAXPROCS returns previous value, | 
					
						
							|  |  |  |  |         allow large map values, | 
					
						
							|  |  |  |  |         avoid allocation for fixed strings, | 
					
						
							|  |  |  |  |         correct tracebacks for nascent goroutines, even closures, | 
					
						
							|  |  |  |  |         free old hashmap pieces during resizing. | 
					
						
							|  |  |  |  | * spec: added imaginary literal to semicolon rules (was missing), | 
					
						
							|  |  |  |  |         fix and clarify syntax of conversions, | 
					
						
							|  |  |  |  |         simplify section on channel types, | 
					
						
							|  |  |  |  |         other minor tweaks. | 
					
						
							|  |  |  |  | * strconv: Btoui64 optimizations (thanks Kyle Consalus). | 
					
						
							|  |  |  |  | * strings: use copy instead of for loop in Map (thanks Kyle Consalus). | 
					
						
							|  |  |  |  | * syscall: implement BindToDevice (thanks Christopher Wedgwood), | 
					
						
							|  |  |  |  |         add Utimes on Darwin/FreeBSD, add Futimes everywhere, | 
					
						
							|  |  |  |  |         regenerate syscalls for some platforms. | 
					
						
							|  |  |  |  | * template: regularize name lookups of interfaces, pointers, and methods. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-05 12:12:04 +10:00
										 |  |  |  | <h3 id="2010-05-04">2010-05-04</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | In this release we renamed the Windows OS target from 'mingw' to 'windows'. | 
					
						
							|  |  |  |  | If you are currently building for 'mingw' you should set GOOS=windows instead. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * 5l, 6l, 8l, runtime: make -s binaries work. | 
					
						
							|  |  |  |  | * 5l, 6l, 8l: change ELF header so that strip doesn't destroy binary. | 
					
						
							|  |  |  |  | * 8l: fix absolute path detection on Windows. | 
					
						
							|  |  |  |  | * big: new functions, optimizations, and cleanups, | 
					
						
							|  |  |  |  | 	add bitwise methods for Int (thanks Evan Shaw). | 
					
						
							|  |  |  |  | * bytes: Change IndexAny to look for UTF-8 encoded characters. | 
					
						
							|  |  |  |  | * darwin: bsdthread_create can fail; print good error. | 
					
						
							|  |  |  |  | * fmt: %T missing print <nil> for nil (thanks Christopher Wedgwood). | 
					
						
							|  |  |  |  | * gc: many fixes. | 
					
						
							|  |  |  |  | * misc/cgo/gmp: fix bug in SetString. | 
					
						
							|  |  |  |  | * net: fix resolv.conf EOF without newline bug (thanks Christopher Wedgwood). | 
					
						
							|  |  |  |  | * spec: some small clarifications (no language changes). | 
					
						
							|  |  |  |  | * syscall: add EWOULDBLOCK to sycall_nacl.go, | 
					
						
							|  |  |  |  | 	force O_LARGEFILE in Linux open system call, | 
					
						
							|  |  |  |  | 	handle EOF on pipe - special case on Windows (thanks Alex Brainman), | 
					
						
							|  |  |  |  | 	mingw Sleep (thanks Joe Poirier). | 
					
						
							|  |  |  |  | * test/bench: import new fasta C reference, update Go, optimizations. | 
					
						
							|  |  |  |  | * test: test of static initialization (fails). | 
					
						
							|  |  |  |  | * vector: use correct capacity in call to make. | 
					
						
							|  |  |  |  | * xml: allow text segments to end at EOF. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-28 14:05:01 +10:00
										 |  |  |  | <h3 id="2010-04-27">2010-04-27</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes a new Codelab that illustrates the construction of a | 
					
						
							|  |  |  |  | simple wiki web application:  | 
					
						
							|  |  |  |  | 	http://golang.org/doc/codelab/wiki/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | It also includes a Codewalk framework for documenting code. See: | 
					
						
							|  |  |  |  | 	http://golang.org/doc/codewalk/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * 6g: fix need for parens around array index expression. | 
					
						
							|  |  |  |  | * 6l, 8l: include ELF header in PT_LOAD mapping for text segment. | 
					
						
							|  |  |  |  | * arm: add android runner script, | 
					
						
							|  |  |  |  | 	support for printing floats. | 
					
						
							|  |  |  |  | * big: implemented Karatsuba multiplication, | 
					
						
							|  |  |  |  | 	many fixes and improvements (thanks Evan Shaw). | 
					
						
							|  |  |  |  | * bytes: add Next method to Buffer, simplify Read, | 
					
						
							|  |  |  |  | 	shuffle implementation, making WriteByte 50% faster. | 
					
						
							|  |  |  |  | * crypto/tls: simpler implementation of record layer. | 
					
						
							|  |  |  |  | * exp/eval: fixes (thanks Evan Shaw). | 
					
						
							|  |  |  |  | * flag: eliminate unnecessary structs. | 
					
						
							|  |  |  |  | * gc: better windows support, | 
					
						
							|  |  |  |  | 	cmplx typecheck bug fix, | 
					
						
							|  |  |  |  | 	more specific error for statements at top level. | 
					
						
							|  |  |  |  | * go/parser: don't require unnecessary parens. | 
					
						
							|  |  |  |  | * godoc: exclude duplicate entries (thanks Andrei Vieru), | 
					
						
							|  |  |  |  | 	use int64 for timestamps (thanks Christopher Wedgwood). | 
					
						
							|  |  |  |  | * gofmt: fine-tune stripping of parentheses, | 
					
						
							|  |  |  |  | * json: Marshal, Unmarshal using new scanner, | 
					
						
							|  |  |  |  | 	preserve field name case by default, | 
					
						
							|  |  |  |  | 	scanner, Compact, Indent, and tests, | 
					
						
							|  |  |  |  | 	support for streaming. | 
					
						
							|  |  |  |  | * libmach: disassemble MOVLQZX correctly. | 
					
						
							|  |  |  |  | * math: more special cases for signed zero (thanks Charles L. Dorian). | 
					
						
							|  |  |  |  | * net: add Pipe, | 
					
						
							|  |  |  |  | 	fix bugs in packStructValue (thanks Michael Hoisie), | 
					
						
							|  |  |  |  | 	introduce net.Error interface. | 
					
						
							|  |  |  |  | * os: FileInfo: regularize the types of some fields, | 
					
						
							|  |  |  |  | 	create sys_bsd.go (thanks Giles Lean), | 
					
						
							|  |  |  |  | 	mingw bug fixes (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * reflect: add FieldByNameFunc (thanks Raif S. Naffah), | 
					
						
							|  |  |  |  | 	implement Set(nil), SetValue(nil) for PtrValue and MapValue. | 
					
						
							|  |  |  |  | * regexp: allow escaping of any punctuation. | 
					
						
							|  |  |  |  | * rpc/jsonrpc: support for jsonrpc wire encoding. | 
					
						
							|  |  |  |  | * rpc: abstract client and server encodings, | 
					
						
							|  |  |  |  | 	add Close() method to rpc.Client. | 
					
						
							|  |  |  |  | * runtime: closures, defer bug fix for Native Client, | 
					
						
							|  |  |  |  | 	rename cgo2c, *.cgo to goc2c, *.goc to avoid confusion with real cgo. | 
					
						
							|  |  |  |  | 	several other fixes. | 
					
						
							|  |  |  |  | * scanner: implement Peek() to look at the next char w/o advancing. | 
					
						
							|  |  |  |  | * strings: add ReadRune to Reader, add FieldsFunc (thanks Kyle Consalus). | 
					
						
							|  |  |  |  | * syscall: match linux Setsid function signature to darwin, | 
					
						
							|  |  |  |  | 	mingw bug fixes (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * template: fix handling of pointer inside interface. | 
					
						
							|  |  |  |  | * test/bench: add fannkuch-parallel.go (thanks Kyle Consalus), | 
					
						
							|  |  |  |  | 	pidigits ~10% performance win by using adds instead of shifts. | 
					
						
							|  |  |  |  | * time: remove incorrect time.ISO8601 and add time.RFC3339 (thanks Micah Stetson). | 
					
						
							|  |  |  |  | * utf16: add DecodeRune, EncodeRune. | 
					
						
							|  |  |  |  | * xml: add support for XML marshalling embedded structs (thanks Raif S. Naffah), | 
					
						
							|  |  |  |  | 	new "innerxml" tag to collect inner XML. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 11:49:47 +10:00
										 |  |  |  | <h3 id="2010-04-13">2010-04-13</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release contains many changes: | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * 8l: add DOS stub to PE binaries (thanks Evan Shaw). | 
					
						
							|  |  |  |  | * cgo: add //export. | 
					
						
							|  |  |  |  | * cmath: new complex math library (thanks Charles L. Dorian). | 
					
						
							|  |  |  |  | * docs: update to match current coding style (thanks Christopher Wedgwood). | 
					
						
							|  |  |  |  | * exp/eval: fix example and add target to Makefile (thanks Evan Shaw). | 
					
						
							|  |  |  |  | * fmt: change behaviour of format verb %b to match %x when negative (thanks Andrei Vieru). | 
					
						
							|  |  |  |  | * gc: compile s == "" as len(s) == 0, | 
					
						
							|  |  |  |  | 	distinguish fatal compiler bug from error+exit, | 
					
						
							|  |  |  |  | 	fix alignment on non-amd64, | 
					
						
							|  |  |  |  | 	good syntax error for defer func() {} - missing fina (), | 
					
						
							|  |  |  |  | 	implement panic and recover, | 
					
						
							|  |  |  |  | 	zero unnamed return values on entry if func has defer. | 
					
						
							|  |  |  |  | * goyacc: change to be reentrant (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * io/ioutil: fix bug in ReadFile when Open succeeds but Stat fails. | 
					
						
							|  |  |  |  | * kate: update for recent language changes (thanks Evan Shaw). | 
					
						
							|  |  |  |  | * libcgo: initial mingw port work - builds but untested (thanks Joe Poirier). | 
					
						
							|  |  |  |  | * math: new functions and special cases (thanks Charles L. Dorian)  | 
					
						
							|  |  |  |  | * net: use chan bool instead of chan *netFD to avoid cycle. | 
					
						
							|  |  |  |  | * netchan: allow client to send as well as receive. | 
					
						
							|  |  |  |  | * nntp: new package, NNTP client (thanks Conrad Meyer). | 
					
						
							|  |  |  |  | * os: rename os.Dir to os.FileInfo. | 
					
						
							|  |  |  |  | * rpc: don't log normal EOF, | 
					
						
							|  |  |  |  | 	fix ServeConn to block as documented. | 
					
						
							|  |  |  |  | * runtime: many bug fixes, better ARM support. | 
					
						
							|  |  |  |  | * strings: add IndexRune, Trim, TrimLeft, TrimRight, etc (thanks Michael Hoisie). | 
					
						
							|  |  |  |  | * syscall: implement some mingw syscalls required by os (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * test/bench: add k-nucleotide-parallel (thanks Kyle Consalus). | 
					
						
							|  |  |  |  | * Unicode: add support for Turkish case mapping. | 
					
						
							|  |  |  |  | * xgb: move from the main repository to http://code.google.com/p/x-go-binding/ | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-31 11:40:57 +11:00
										 |  |  |  | <h3 id="2010-03-30">2010-03-30</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release contains three language changes: | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 1. Accessing a non-existent key in a map is no longer a run-time error.   | 
					
						
							|  |  |  |  | It now evaluates to the zero value for that type.  For example: | 
					
						
							|  |  |  |  |         x := myMap[i]   is now equivalent to:   x, _ := myMap[i] | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 2. It is now legal to take the address of a function's return value.   | 
					
						
							|  |  |  |  | The return values are copied back to the caller only after deferred | 
					
						
							|  |  |  |  | functions have run. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 3. The functions panic and recover, intended for reporting and recovering from | 
					
						
							|  |  |  |  | failure, have been added to the spec: | 
					
						
							|  |  |  |  | 	http://golang.org/doc/go_spec.html#Handling_panics  | 
					
						
							|  |  |  |  | In a related change, panicln is gone, and panic is now a single-argument | 
					
						
							|  |  |  |  | function.  Panic and recover are recognized by the gc compilers but the new | 
					
						
							|  |  |  |  | behavior is not yet implemented. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | The ARM build is broken in this release; ARM users should stay at release.2010-03-22. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes: | 
					
						
							|  |  |  |  | * bytes, strings: add IndexAny. | 
					
						
							|  |  |  |  | * cc/ld: Add support for #pragma dynexport, | 
					
						
							|  |  |  |  |         Rename dynld to dynimport throughout. Cgo users will need to rerun cgo. | 
					
						
							|  |  |  |  | * expvar: default publishings for cmdline, memstats | 
					
						
							|  |  |  |  | * flag: add user-defined flag types. | 
					
						
							|  |  |  |  | * gc: usual bug fixes | 
					
						
							|  |  |  |  | * go/ast: generalized ast filtering. | 
					
						
							|  |  |  |  | * go/printer: avoid reflect in print. | 
					
						
							|  |  |  |  | * godefs: fix handling of negative constants. | 
					
						
							|  |  |  |  | * godoc: export pprof debug information, exported variables, | 
					
						
							|  |  |  |  |         support for filtering of command-line output in -src mode, | 
					
						
							|  |  |  |  |         use http GET for remote search instead of rpc. | 
					
						
							|  |  |  |  | * gofmt: don't convert multi-line functions into one-liners, | 
					
						
							|  |  |  |  |         preserve newlines in multiline selector expressions (thanks Risto Jaakko Saarelma). | 
					
						
							|  |  |  |  | * goinstall: include command name in error reporting (thanks Andrey Mirtchovski) | 
					
						
							|  |  |  |  | * http: add HandleFunc as shortcut to Handle(path, HandlerFunc(func)) | 
					
						
							|  |  |  |  | * make: use actual dependency for install | 
					
						
							|  |  |  |  | * math: add J1, Y1, Jn, Yn, J0, Y0 (Bessel functions) (thanks Charles L. Dorian) | 
					
						
							|  |  |  |  | * prof: add pprof from google-perftools | 
					
						
							|  |  |  |  | * regexp: don't return non-nil *Regexp if there is an error. | 
					
						
							|  |  |  |  | * runtime: add Callers, | 
					
						
							|  |  |  |  |         add malloc sampling, pprof interface, | 
					
						
							|  |  |  |  |         add memory profiling, more statistics to runtime.MemStats, | 
					
						
							|  |  |  |  |         implement missing destroylock() (thanks Alex Brainman), | 
					
						
							|  |  |  |  |         more malloc statistics, | 
					
						
							|  |  |  |  |         run all finalizers in a single goroutine, | 
					
						
							|  |  |  |  |         Goexit runs deferred calls. | 
					
						
							|  |  |  |  | * strconv: add Atob and Btoa, | 
					
						
							|  |  |  |  |         Unquote could wrongly return a nil error on error (thanks Roger Peppe). | 
					
						
							|  |  |  |  | * syscall: add IPV6 constants, | 
					
						
							|  |  |  |  |         add syscall_bsd.go for Darwin and other *BSDs (thanks Giles Lean), | 
					
						
							|  |  |  |  |         implement SetsockoptString (thanks Christopher Wedgwood). | 
					
						
							|  |  |  |  | * websocket: implement new protocol (thanks Fumitoshi Ukai). | 
					
						
							|  |  |  |  | * xgb: fix request length and request size (thanks Firmansyah Adiputra). | 
					
						
							|  |  |  |  | * xml: add CopyToken (thanks Kyle Consalus), | 
					
						
							|  |  |  |  |         add line numbers to syntax errors (thanks Kyle Consalus), | 
					
						
							|  |  |  |  |         use io.ReadByter in place of local readByter (thanks Raif S. Naffah).  | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-23 12:56:39 +11:00
										 |  |  |  | <h3 id="2010-03-22">2010-03-22</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | With this release we announce the launch of the Go Blog: | 
					
						
							|  |  |  |  | 	http://blog.golang.org/ | 
					
						
							|  |  |  |  | The first post is a brief update covering what has happened since the launch. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | This release contains some new packages and functionality, and many fixes: | 
					
						
							|  |  |  |  | * 6g/8g: fix issues with complex data types, other bug fixes. | 
					
						
							|  |  |  |  | * Makefiles: refactored to make writing external Makefiles easier. | 
					
						
							|  |  |  |  | * crypto/rand: new package. | 
					
						
							|  |  |  |  | * godoc: implemented command-line search via RPC, | 
					
						
							|  |  |  |  | 	improved comment formatting: recognize URLs. | 
					
						
							|  |  |  |  | * gofmt: more consistent formatting of const/var decls. | 
					
						
							|  |  |  |  | * http: add Error helper function, | 
					
						
							|  |  |  |  | 	add ParseQuery (thanks Petar Maymounkov), | 
					
						
							|  |  |  |  | 	change RawPath to mean raw path, not raw everything-after-scheme. | 
					
						
							|  |  |  |  | * image/jpeg: fix typos. | 
					
						
							|  |  |  |  | * json: add MarshalIndent (accepts user-specified indent string). | 
					
						
							|  |  |  |  | * math: add Gamma function (thanks Charles L. Dorian). | 
					
						
							|  |  |  |  | * misc/bbedit: support for cmplx, real, imag (thanks Anthony Starks). | 
					
						
							|  |  |  |  | * misc/vim: add new complex types, functions and literals. | 
					
						
							|  |  |  |  | * net: fix IPMask.String not to crash on all-0xff mask. | 
					
						
							|  |  |  |  | * os: drop File finalizer after normal Close. | 
					
						
							|  |  |  |  | * runtime: add GOROOT and Version, | 
					
						
							|  |  |  |  | 	lock finalizer table accesses. | 
					
						
							|  |  |  |  | * sha512: add sha384 (truncated version) (thanks Conrad Meyer). | 
					
						
							|  |  |  |  | * syscall: add const ARCH, analogous to OS. | 
					
						
							|  |  |  |  | * syscall: further additions to mingw port (thanks Alex Brainman). | 
					
						
							|  |  |  |  | * template: fixed html formatter []byte input bug. | 
					
						
							|  |  |  |  | * utf16: new package. | 
					
						
							|  |  |  |  | * version.bash: cope with ancient Mercurial. | 
					
						
							|  |  |  |  | * websocket: use URL.RawPath to construct WebSocket-Location: header. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-16 10:44:13 +11:00
										 |  |  |  | <h3 id="2010-03-15">2010-03-15</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release includes a language change: support for complex numbers. | 
					
						
							|  |  |  |  | 	http://golang.org/doc/go_spec.html#Imaginary_literals | 
					
						
							|  |  |  |  | 	http://golang.org/doc/go_spec.html#Complex_numbers | 
					
						
							|  |  |  |  | There is no library support as yet. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | This release also includes the goinstall command-line tool.  | 
					
						
							|  |  |  |  | 	http://golang.org/cmd/goinstall/ | 
					
						
							|  |  |  |  | 	http://groups.google.com/group/golang-nuts/t/f091704771128e32 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * 5g/6g/8g: fix double function call in slice. | 
					
						
							|  |  |  |  | * arm: cleanup build warnings. (thanks Dean Prichard) | 
					
						
							|  |  |  |  | * big: fix mistakes with probablyPrime. | 
					
						
							|  |  |  |  | * bufio: add WriteRune. | 
					
						
							|  |  |  |  | * bytes: add ReadRune and WriteRune to bytes.Buffer. | 
					
						
							|  |  |  |  | * cc: stack split bug fix. | 
					
						
							|  |  |  |  | * crypto: add SHA-224 to sha256, add sha512 package. (thanks Conrad Meyer) | 
					
						
							|  |  |  |  | * crypto/ripemd160: new package. (thanks Raif S. Naffah) | 
					
						
							|  |  |  |  | * crypto/rsa: don't use safe primes. | 
					
						
							|  |  |  |  | * gc: avoid fixed length buffer cleanbuf. (thanks Dean Prichard) | 
					
						
							|  |  |  |  | 	better compilation of floating point += | 
					
						
							|  |  |  |  | 	fix crash on complicated arg to make slice. | 
					
						
							|  |  |  |  | 	remove duplicate errors, give better error for I.(T) | 
					
						
							|  |  |  |  | * godoc: support for multiple packages in a directory, other fixes. | 
					
						
							|  |  |  |  | * gofmt: bug fixes. | 
					
						
							|  |  |  |  | * hash: add Sum64 interface. | 
					
						
							|  |  |  |  | * hash/crc32: add Update function. | 
					
						
							|  |  |  |  | * hash/crc64: new package implementing 64-bit CRC. | 
					
						
							|  |  |  |  | * math: add ilogb, logb, remainder. (thanks Charles L. Dorian)  | 
					
						
							|  |  |  |  | * regexp: add ReplaceAllFunc, ReplaceAllStringFunc. | 
					
						
							|  |  |  |  | * runtime: clock garbage collection on bytes allocated, not pages in use. | 
					
						
							|  |  |  |  | * strings: make Split(s, "", n) faster. (thanks Spring Mc) | 
					
						
							|  |  |  |  | * syscall: minimal mingw version of syscall. (thanks Alex Brainman) | 
					
						
							|  |  |  |  | * template: add ParseFile, MustParseFile. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-04 13:00:29 +11:00
										 |  |  |  | <h3 id="2010-03-04">2010-03-04</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | 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 | 
					
						
							|  |  |  |  | After running these you might need to delete unused imports of the "strings"  | 
					
						
							|  |  |  |  | package. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes and fixes: | 
					
						
							|  |  |  |  | * 6l/8l/5l: add -r option | 
					
						
							|  |  |  |  | * 8g: make a[byte(x)] truncate x | 
					
						
							|  |  |  |  | * codereview.py: fix for compatibility with hg >=1.4.3 | 
					
						
							|  |  |  |  | * crypto/blowfish: new package (thanks Raif S. Naffah) | 
					
						
							|  |  |  |  | * dashboard: more performance tuning | 
					
						
							|  |  |  |  | * fmt: use String method in %q to get the value to quote. | 
					
						
							|  |  |  |  | * gofmt: several cosmetic changes | 
					
						
							|  |  |  |  | * http: fix handling of Connection: close, bug in http.Post | 
					
						
							|  |  |  |  | * net: correct DNS configuration, | 
					
						
							|  |  |  |  | 	fix network timeout boundary condition, | 
					
						
							|  |  |  |  | 	put [ ] around IPv6 addresses for Dial. | 
					
						
							|  |  |  |  | * path: add Match, | 
					
						
							|  |  |  |  | 	fix bug in Match with non-greedy stars (thanks Kevin Ballard) | 
					
						
							|  |  |  |  | * strings: delete Bytes, Runes (see above) | 
					
						
							|  |  |  |  | * tests: an Eratosthenesque concurrent prime sieve (thanks Anh Hai Trinh)  | 
					
						
							|  |  |  |  | </pre> | 
					
						
							| 
									
										
										
										
											2010-02-23 16:35:31 -08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | <h3 id="2010-02-23">2010-02-23</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release is mainly bug fixes and a little new code. | 
					
						
							|  |  |  |  | There are no language changes. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 6g/5g/8g: bug fixes | 
					
						
							|  |  |  |  | 8a/8l: Added FCMOVcc instructions (thanks Evan Shaw and Charles Dorian) | 
					
						
							|  |  |  |  | crypto/x509: support certificate creation | 
					
						
							|  |  |  |  | dashboard: caching to avoid datastore queries | 
					
						
							|  |  |  |  | exec: add dir argument to Run | 
					
						
							|  |  |  |  | godoc: bug fixes and code cleanups | 
					
						
							|  |  |  |  | http: continued implementation and bug fixes (thanks Petar Maymounkov) | 
					
						
							|  |  |  |  | json: fix quoted strings in Marshal (thanks Sergei Skorobogatov) | 
					
						
							|  |  |  |  | math: more functions, test cases, and benchmarks (thanks Charles L. Dorian) | 
					
						
							|  |  |  |  | misc/bbedit: treat predeclared identifiers as "keywords" (thanks Anthony Starks) | 
					
						
							|  |  |  |  | net: disable UDP server test (flaky on various architectures) | 
					
						
							|  |  |  |  | runtime: work around Linux kernel bug in futex, | 
					
						
							|  |  |  |  | 	pchw is now tiny | 
					
						
							|  |  |  |  | sync: fix to work on armv5 (thanks Dean Prichard) | 
					
						
							|  |  |  |  | websocket: fix binary frame size decoding (thanks Timo Savola) | 
					
						
							|  |  |  |  | xml: allow unquoted attribute values in non-Strict mode (thanks Amrut Joshi) | 
					
						
							|  |  |  |  | 	treat bool as value in Unmarshal (thanks Michael Hoisie)  | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-17 16:31:52 -08:00
										 |  |  |  | <h3 id="2010-02-17">2010-02-17</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | There are two small language changes: | 
					
						
							|  |  |  |  | * NUL bytes may be rejected in souce files, and the tools do reject them. | 
					
						
							|  |  |  |  | * Conversions from string to []int and []byte are defined but not yet implemented. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Other changes and fixes: | 
					
						
							|  |  |  |  | * 5a/6a/8a/5c/6c/8c: remove fixed-size arrays for -I and -D options (thanks Dean Prichard) | 
					
						
							|  |  |  |  | * 5c/6c/8c/5l/6l/8l: add -V flag to display version number | 
					
						
							|  |  |  |  | * 5c/6c/8c: use "cpp" not "/bin/cpp" for external preprocessor (thanks Giles Lean) | 
					
						
							|  |  |  |  | * 8a/8l: Added CMOVcc instructions (thanks Evan Shaw) | 
					
						
							|  |  |  |  | * 8l: pe executable building code changed to include import table for kernel32.dll functions (thanks Alex Brainman) | 
					
						
							|  |  |  |  | * 5g/6g/8g: bug fixes | 
					
						
							|  |  |  |  | * asn1: bug fixes and additions (incl marshalling) | 
					
						
							|  |  |  |  | * build: fix build for Native Client, Linux/ARM | 
					
						
							|  |  |  |  | * dashboard: show benchmarks, add garbage collector benchmarks | 
					
						
							|  |  |  |  | * encoding/pem: add marshalling support | 
					
						
							|  |  |  |  | * exp/draw: fast paths for a nil mask | 
					
						
							|  |  |  |  | * godoc: support for directories outside $GOROOT | 
					
						
							|  |  |  |  | * http: sort header keys when writing Response or Request to wire (thanks Petar Maymounkov) | 
					
						
							|  |  |  |  | * math: special cases and new functions (thanks Charles Dorian) | 
					
						
							|  |  |  |  | * mime: new package, used in http (thanks Michael Hoisie) | 
					
						
							|  |  |  |  | * net: dns bug fix - use random request id | 
					
						
							|  |  |  |  | * os: finalize File, to close fd. | 
					
						
							|  |  |  |  | * path: make Join variadic (thanks Stephen Weinberg) | 
					
						
							|  |  |  |  | * regexp: optimization bug fix | 
					
						
							|  |  |  |  | * runtime: misc fixes and optimizations | 
					
						
							|  |  |  |  | * syscall: make signature of Umask on OS X, FreeBSD match Linux. (thanks Giles Lean) | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-04 17:37:46 -08:00
										 |  |  |  | <h3 id="2010-02-04">2010-02-04</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | There is one language change: support for ...T parameters: | 
					
						
							|  |  |  |  | 	http://golang.org/doc/go_spec.html#Function_types | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | You can now check build status on various platforms at the Go Dashboard:  | 
					
						
							|  |  |  |  | 	http://godashboard.appspot.com | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * 5l/6l/8l: several minor fixes | 
					
						
							|  |  |  |  | * 5a/6a/8a/5l/6l/8l: avoid overflow of symb buffer (thanks Dean Prichard) | 
					
						
							|  |  |  |  | * compress/gzip: gzip deflater (i.e., writer) | 
					
						
							|  |  |  |  | * debug/proc: add mingw specific build stubs (thanks Joe Poirier) | 
					
						
							|  |  |  |  | * exp/draw: separate the source-point and mask-point in Draw | 
					
						
							|  |  |  |  | * fmt: handle nils safely in Printf | 
					
						
							|  |  |  |  | * gccgo: error messages now match those of gc | 
					
						
							|  |  |  |  | * godoc: several fixes | 
					
						
							|  |  |  |  | * http: bug fixes, revision of Request/Response (thanks Petar Maymounkov) | 
					
						
							|  |  |  |  | * image: new image.A type to represent anti-aliased font glyphs | 
					
						
							|  |  |  |  | 	add named colors (e.g. image.Blue), suitable for exp/draw | 
					
						
							|  |  |  |  | * io: fixed bugs in Pipe | 
					
						
							|  |  |  |  | * malloc: merge into package runtime | 
					
						
							|  |  |  |  | * math: fix tests on FreeBSD (thanks Devon H. O'Dell) | 
					
						
							|  |  |  |  | 	add functions; update tests and special cases (thanks Charles L. Dorian) | 
					
						
							|  |  |  |  | * os/signal: send SIGCHLDs to Incoming (thanks Chris Wedgwood) | 
					
						
							|  |  |  |  | * reflect: add StringHeader to reflect | 
					
						
							|  |  |  |  | * runtime: add SetFinalizer | 
					
						
							|  |  |  |  | * time: Sleep through interruptions (thanks Chris Wedgwood) | 
					
						
							|  |  |  |  | 	add RFC822 formats | 
					
						
							|  |  |  |  | 	experimental implemenation of Ticker using two goroutines for all tickers | 
					
						
							|  |  |  |  | * xml: allow underscores in XML element names (thanks Michael Hoisie) | 
					
						
							|  |  |  |  | 	allow any scalar type in xml.Unmarshal | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-27 16:18:33 -08:00
										 |  |  |  | <h3 id="2010-01-27">2010-01-27</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | There are two small language changes: the meaning of chan <- chan int | 
					
						
							|  |  |  |  | is now defined, and functions returning functions do not need to  | 
					
						
							|  |  |  |  | parenthesize the result type. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | There is one significant implementation change: the compilers can | 
					
						
							|  |  |  |  | handle multiple packages using the same name in a single binary. | 
					
						
							|  |  |  |  | In the gc compilers, this comes at the cost of ensuring that you | 
					
						
							|  |  |  |  | always import a particular package using a consistent import path. | 
					
						
							|  |  |  |  | In the gccgo compiler, the cost is that you must use the -fgo-prefix | 
					
						
							|  |  |  |  | flag to pass a unique prefix (like the eventual import path). | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 5a/6a/8a: avoid use of fixed-size buffers (thanks Dean Prichard) | 
					
						
							|  |  |  |  | 5g, 6g, 8g: many minor bug fixes | 
					
						
							|  |  |  |  | bufio: give Writer.WriteString same signature as bytes.Buffer.WriteString. | 
					
						
							|  |  |  |  | container/list: PushFrontList, PushBackList (thanks Jan Hosang) | 
					
						
							|  |  |  |  | godoc: trim spaces from search query (thanks Christopher Wedgwood) | 
					
						
							|  |  |  |  | hash: document that Sum does not change state, fix crypto hashes | 
					
						
							|  |  |  |  | http: bug fixes, revision of Request/Response (thanks Petar Maymounkov) | 
					
						
							|  |  |  |  | math: more handling of IEEE 754 special cases (thanks Charles Dorian) | 
					
						
							|  |  |  |  | misc/dashboard: new build dashboard | 
					
						
							|  |  |  |  | net: allow UDP broadcast, | 
					
						
							|  |  |  |  | 	use /etc/hosts to resolve names (thanks Yves Junqueira, Michael Hoisie) | 
					
						
							|  |  |  |  | netchan: beginnings of new package for connecting channels across a network | 
					
						
							|  |  |  |  | os: allow FQDN in Hostname test (thanks Icarus Sparry) | 
					
						
							|  |  |  |  | reflect: garbage collection bug in Call | 
					
						
							|  |  |  |  | runtime: demo of Go on raw (emulated) hw in runtime/pchw, | 
					
						
							|  |  |  |  | 	performance fix on OS X | 
					
						
							|  |  |  |  | spec: clarify meaning of chan <- chan int, | 
					
						
							|  |  |  |  | 	func() func() int is allowed now, | 
					
						
							|  |  |  |  | 	define ... T (not yet implemented) | 
					
						
							|  |  |  |  | template: can use interface values | 
					
						
							|  |  |  |  | time: fix for +0000 time zone, | 
					
						
							|  |  |  |  | 	more robust tick.Stop. | 
					
						
							|  |  |  |  | xgb: support for authenticated connections (thanks Firmansyah Adiputra) | 
					
						
							|  |  |  |  | xml: add Escape (thanks Stephen Weinberg) | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-13 18:22:16 -08:00
										 |  |  |  | <h3 id="2010-01-13">2010-01-13</h3> | 
					
						
							| 
									
										
										
										
											2010-01-13 17:08:59 -08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							| 
									
										
										
										
											2010-01-27 16:18:33 -08:00
										 |  |  |  | This release is mainly bug fixes with a little new code. | 
					
						
							|  |  |  |  | There are no language changes. | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-13 17:08:59 -08:00
										 |  |  |  | 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) | 
					
						
							|  |  |  |  | 5g, 6g, 8g: | 
					
						
							|  |  |  |  | 	clean opnames.h to avoid stale errors (thanks Yongjian Xu), | 
					
						
							|  |  |  |  | 	a handful of small compiler fixes | 
					
						
							|  |  |  |  | 5g, 6g, 8g, 5l, 6l, 8l: ignore $GOARCH, which is implied by name of tool | 
					
						
							|  |  |  |  | 6prof: support for writing input files for google-perftools's pprof | 
					
						
							|  |  |  |  | asn1: fix a few structure-handling bugs | 
					
						
							|  |  |  |  | cgo: many bug fixes (thanks Devon H. O'Dell) | 
					
						
							|  |  |  |  | codereview: repeated "hg mail" sends "please take another look" | 
					
						
							|  |  |  |  | gob: reserve ids for future expansion | 
					
						
							|  |  |  |  | godoc: distinguish HTML generation from plain text HTML escaping (thanks Roger Peppe) | 
					
						
							|  |  |  |  | gofmt: minor bug fixes, removed -oldprinter flag | 
					
						
							|  |  |  |  | http: add CanonicalPath (thanks Ivan Krasin), | 
					
						
							|  |  |  |  | 	avoid header duplication in Response.Write, | 
					
						
							|  |  |  |  | 	correctly escape/unescape URL sections | 
					
						
							|  |  |  |  | io: new interface ReadByter | 
					
						
							|  |  |  |  | json: better error, pointer handling in Marshal (thanks Ivan Krasin) | 
					
						
							|  |  |  |  | libmach: disassembly of FUCOMI, etc (thanks Evan Shaw) | 
					
						
							|  |  |  |  | math: special cases for most functions and 386 hardware Sqrt (thanks Charles Dorian) | 
					
						
							|  |  |  |  | misc/dashboard: beginning of a build dashboard at godashboard.appspot.com. | 
					
						
							|  |  |  |  | misc/emacs: handling of new semicolon rules (thanks Austin Clements), | 
					
						
							|  |  |  |  | 	empty buffer bug fix (thanks Kevin Ballard) | 
					
						
							|  |  |  |  | misc/kate: highlighting improvements (tahnks Evan Shaw) | 
					
						
							|  |  |  |  | os/signal: add signal names: signal.SIGHUP, etc (thanks David Symonds) | 
					
						
							|  |  |  |  | runtime: preliminary Windows support (thanks Hector Chu), | 
					
						
							|  |  |  |  | 	preemption polling to reduce garbage collector pauses | 
					
						
							|  |  |  |  | scanner: new lightweight scanner package | 
					
						
							|  |  |  |  | template: bug fix involving spaces before a delimited block | 
					
						
							|  |  |  |  | test/bench: updated timings | 
					
						
							|  |  |  |  | time: new Format, Parse functions | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-06 15:46:09 -08:00
										 |  |  |  | <h3 id="2010-01-05">2010-01-05</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | This release is mainly bug fixes.  There are no language changes. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 6prof: now works on 386 | 
					
						
							|  |  |  |  | 8a, 8l: add FCOMI, FCOMIP, FUCOMI, and FUCOMIP (thanks Evan Shaw) | 
					
						
							|  |  |  |  | big: fix ProbablyPrime on small numbers | 
					
						
							|  |  |  |  | container/vector: faster []-based implementation (thanks Jan Mercl) | 
					
						
							|  |  |  |  | crypto/tls: extensions and Next Protocol Negotiation | 
					
						
							|  |  |  |  | gob: one encoding bug fix, one decoding bug fix | 
					
						
							|  |  |  |  | image/jpeg: support for RST markers | 
					
						
							|  |  |  |  | image/png: support for transparent paletted images | 
					
						
							|  |  |  |  | misc/xcode: improved support (thanks Ken Friedenbach) | 
					
						
							|  |  |  |  | net: return nil Conn on error from Dial (thanks Roger Peppe) | 
					
						
							|  |  |  |  | regexp: add Regexp.NumSubexp (thanks Peter Froehlich) | 
					
						
							|  |  |  |  | syscall: add Nanosleep on FreeBSD (thanks Devon H. O'Dell) | 
					
						
							|  |  |  |  | template: can use map in .repeated section | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | There is now a public road map, in the repository and online | 
					
						
							|  |  |  |  | at <a href="http://golang.org/doc/devel/roadmap.html">http://golang.org/doc/devel/roadmap.html</a>. | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <h3 id="2009-12-22">2009-12-22</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | Since the last release there has been one large syntactic change to | 
					
						
							|  |  |  |  | the language, already discussed extensively on this list: semicolons | 
					
						
							|  |  |  |  | are now implied between statement-ending tokens and newline characters. | 
					
						
							|  |  |  |  | See http://groups.google.com/group/golang-nuts/t/5ee32b588d10f2e9 for | 
					
						
							|  |  |  |  | details. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | By default, gofmt now parses and prints the new lighter weight syntax. | 
					
						
							|  |  |  |  | To convert programs written in the old syntax, you can use: | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	gofmt -oldparser -w *.go | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Since everything was being reformatted anyway, we took the opportunity to | 
					
						
							|  |  |  |  | change the way gofmt does alignment.  Now gofmt uses tabs at the start | 
					
						
							|  |  |  |  | of a line for basic code alignment, but it uses spaces for alignment of | 
					
						
							|  |  |  |  | interior columns.  Thus, in an editor with a fixed-width font, you can | 
					
						
							|  |  |  |  | choose your own tab size to change the indentation, and no matter what | 
					
						
							|  |  |  |  | tab size you choose, columns will be aligned properly. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | In addition to the syntax and formatting changes, there have been many | 
					
						
							|  |  |  |  | smaller fixes and updates: | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 6g,8g,5g: many bug fixes, better registerization, | 
					
						
							|  |  |  |  |    build process fix involving mkbuiltin (thanks Yongjian Xu), | 
					
						
							|  |  |  |  |    method expressions for concrete types | 
					
						
							|  |  |  |  | 8l: support for Windows PE files (thanks Hector Chu) | 
					
						
							|  |  |  |  | bytes: more efficient Buffer handling | 
					
						
							|  |  |  |  | bytes, strings: new function Fields (thanks Andrey Mirtchovski) | 
					
						
							|  |  |  |  | cgo: handling of enums (thanks Moriyoshi Koizumi), | 
					
						
							|  |  |  |  |     handling of structs with bit fields, multiple files (thanks Devon H. O'Dell), | 
					
						
							|  |  |  |  |     installation of .so to non-standard locations | 
					
						
							|  |  |  |  | crypto/sha256: new package for SHA 256 (thanks Andy Davis) | 
					
						
							|  |  |  |  | encoding/binary: support for slices of fixed-size values (thanks Maxim Ushakov) | 
					
						
							|  |  |  |  | exp/vector: experimental alternate vector representation (thanks Jan Mercl) | 
					
						
							|  |  |  |  | fmt: %p for chan, map, slice types | 
					
						
							|  |  |  |  | gob: a couple more bug fixes | 
					
						
							|  |  |  |  | http: support for basic authentication (thanks Ivan Krasin) | 
					
						
							|  |  |  |  | image/jpeg: basic JPEG decoder | 
					
						
							|  |  |  |  | math: correct handling of Inf and NaN in Pow (thanks Charles Dorian) | 
					
						
							|  |  |  |  | misc/bash: completion file for bash (thanks Alex Ray) | 
					
						
							|  |  |  |  | os/signal: support for handling Unix signals (thanks David Symonds) | 
					
						
							|  |  |  |  | rand: Zipf-distributed random values (thanks William Josephson) | 
					
						
							|  |  |  |  | syscall: correct error return bug on 32-bit machines (thanks Christopher Wedgwood) | 
					
						
							|  |  |  |  | syslog: new package for writing to Unix syslog daemon (thanks Yves Junqueira) | 
					
						
							|  |  |  |  | template: will automatically invoke niladic methods | 
					
						
							|  |  |  |  | time: new ISO8601 format generator (thanks Ben Olive) | 
					
						
							|  |  |  |  | xgb: converted generator to new syntax (thanks Tor Andersson) | 
					
						
							|  |  |  |  | xml: better mapping of tag names to Go identifiers (thanks Kei Son), | 
					
						
							|  |  |  |  |     better handling of unexpected EOF (thanks Arvindh Rajesh Tamilmani) | 
					
						
							|  |  |  |  | </pre> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <h3 id="2009-12-09">2009-12-09</h3> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <pre> | 
					
						
							|  |  |  |  | Since the last release there are two changes to the language:  | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * new builtin copy(dst, src) copies n = min(len(dst), len(src))  | 
					
						
							|  |  |  |  |   elements to dst from src and returns n.  It works correctly  | 
					
						
							|  |  |  |  |   even if dst and src overlap.  bytes.Copy is gone.  | 
					
						
							|  |  |  |  |   Convert your programs using:  | 
					
						
							|  |  |  |  |       gofmt -w -r 'bytes.Copy(d, s) -> copy(d, s)' *.go  | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * new syntax x[lo:] is shorthand for x[lo:len(x)].  | 
					
						
							|  |  |  |  |   Convert your programs using:  | 
					
						
							|  |  |  |  |       gofmt -w -r 'a[b:len(a)] -> a[b:]' *.go  | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | In addition, there have been many smaller fixes and updates:  | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | * 6g/8g/5g: many bug fixes  | 
					
						
							|  |  |  |  | * 8g: fix 386 floating point stack bug (thanks Charles Dorian)  | 
					
						
							|  |  |  |  | * all.bash: now works even when $GOROOT has spaces (thanks Sergio Luis O. B. Correia),  | 
					
						
							|  |  |  |  |     starting to make build work with mingw (thanks Hector Chu),  | 
					
						
							|  |  |  |  |     FreeBSD support (thanks Devon O'Dell)  | 
					
						
							|  |  |  |  | * big: much faster on 386.  | 
					
						
							|  |  |  |  | * bytes: new function IndexByte, implemented in assembly  | 
					
						
							|  |  |  |  |     new function Runes (thanks Peter Froehlich),  | 
					
						
							|  |  |  |  |     performance tuning in bytes.Buffer.  | 
					
						
							|  |  |  |  | * codereview: various bugs fixed  | 
					
						
							|  |  |  |  | * container/vector: New is gone; just declare a Vector instead.  | 
					
						
							|  |  |  |  |     call Resize to set len and cap.  | 
					
						
							|  |  |  |  | * cgo: many bug fixes (thanks Eden Li)  | 
					
						
							|  |  |  |  | * crypto: added MD4 (thanks Chris Lennert),  | 
					
						
							|  |  |  |  |     added XTEA (thanks Adrian O'Grady).  | 
					
						
							|  |  |  |  | * crypto/tls: basic client  | 
					
						
							|  |  |  |  | * exp/iterable: new functions (thanks Michael Elkins)  | 
					
						
							|  |  |  |  | * exp/nacl: native client tree builds again  | 
					
						
							|  |  |  |  | * fmt: preliminary performance tuning  | 
					
						
							|  |  |  |  | * go/ast: more powerful Visitor (thanks Roger Peppe)  | 
					
						
							|  |  |  |  | * gob: a few bug fixes  | 
					
						
							|  |  |  |  | * gofmt: better handling of standard input, error reporting (thanks Fazlul Shahriar)  | 
					
						
							|  |  |  |  |     new -r flag for rewriting programs  | 
					
						
							|  |  |  |  | * gotest: support for Benchmark functions (thanks Trevor Strohman)  | 
					
						
							|  |  |  |  | * io: ReadFile, WriteFile, ReadDir now in separate package io/ioutil.  | 
					
						
							|  |  |  |  | * json: new Marshal function (thanks Michael Hoisie),  | 
					
						
							|  |  |  |  |     better white space handling (thanks Andrew Skiba),  | 
					
						
							|  |  |  |  |     decoding into native data structures (thanks Sergey Gromov),  | 
					
						
							|  |  |  |  |     handling of nil interface values (thanks Ross Light).  | 
					
						
							|  |  |  |  | * math: correct handling of sin/cos of large angles  | 
					
						
							|  |  |  |  | * net: better handling of Close (thanks Devon O'Dell and Christopher Wedgwood)  | 
					
						
							|  |  |  |  |     support for UDP broadcast (thanks Jonathan Wills),  | 
					
						
							|  |  |  |  |     support for empty packets  | 
					
						
							|  |  |  |  | * rand: top-level functions now safe to call from multiple goroutines  | 
					
						
							|  |  |  |  | (thanks Roger Peppe).  | 
					
						
							|  |  |  |  | * regexp: a few easy optimizations  | 
					
						
							|  |  |  |  | * rpc: better error handling, a few bug fixes  | 
					
						
							|  |  |  |  | * runtime: better signal handling on OS X, malloc fixes,  | 
					
						
							|  |  |  |  |     global channel lock is gone.  | 
					
						
							|  |  |  |  | * sync: RWMutex now allows concurrent readers (thanks Péter Szabó)  | 
					
						
							|  |  |  |  | * template: can use maps as data (thanks James Meneghello)  | 
					
						
							|  |  |  |  | * unicode: updated to Unicode 5.2.  | 
					
						
							|  |  |  |  | * websocket: new package (thanks Fumitoshi Ukai)  | 
					
						
							|  |  |  |  | * xgb: preliminary X Go Bindings (thanks Tor Andersson)  | 
					
						
							|  |  |  |  | * xml: fixed crash (thanks Vish Subramanian)  | 
					
						
							|  |  |  |  | * misc: bbedit config (thanks Anthony Starks),  | 
					
						
							|  |  |  |  |     kate config (thanks Evan Shaw)  | 
					
						
							|  |  |  |  | </pre> |