1
0
mirror of https://github.com/golang/go synced 2024-11-21 12:04:41 -07:00

release.2010-09-29

R=golang-dev, nigeltao_gnome
CC=golang-dev
https://golang.org/cl/2329041
This commit is contained in:
Andrew Gerrand 2010-09-30 17:33:07 +10:00
parent 6b2c7ffbab
commit ab5b4283f7
2 changed files with 84 additions and 1 deletions

View File

@ -31,4 +31,3 @@ db904d88dc0ebf6ee5b55e44088915695c1223ee release.2010-07-29
92fcf05736e8565a485adc52da1894270e06ed09 release.2010-09-06 92fcf05736e8565a485adc52da1894270e06ed09 release.2010-09-06
9329773e204fed50ec686ee78cc715b624bf1b1d release.2010-09-15 9329773e204fed50ec686ee78cc715b624bf1b1d release.2010-09-15
1eec33c03bceef5d7607ea4636185f7bf773e0e4 release.2010-09-22 1eec33c03bceef5d7607ea4636185f7bf773e0e4 release.2010-09-22
1eec33c03bceef5d7607ea4636185f7bf773e0e4 release

View File

@ -5,6 +5,90 @@
<p>This page summarizes the changes between tagged releases of Go. <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> For full details, see the <a href="http://code.google.com/p/go/source/list">Mercurial change log</a>.</p>
<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>
<h3 id="2010-09-22">2010-09-22</h3> <h3 id="2010-09-22">2010-09-22</h3>
<pre> <pre>