diff options
Diffstat (limited to 'doc/devel/weekly.html')
-rw-r--r-- | doc/devel/weekly.html | 220 |
1 files changed, 220 insertions, 0 deletions
diff --git a/doc/devel/weekly.html b/doc/devel/weekly.html index b576a910d..0fb6483f4 100644 --- a/doc/devel/weekly.html +++ b/doc/devel/weekly.html @@ -14,6 +14,226 @@ hg pull hg update weekly.<i>YYYY-MM-DD</i> </pre> +<h2 id="2011-07-07">2011-07-07 (<a href="release.html#r59">base for r59</a>)</h2> + +<pre> +This weekly snapshot includes changes to the strings, http, reflect, json, and +xml packages. Code that uses these packages will need changes. Most of these +changes can be made automatically with gofix. + +The strings package's Split function has itself been split into Split and +SplitN. SplitN is the same as the old Split. The new Split is equivalent to +SplitN with a final argument of -1. + +The http package has a new FileSystem interface that provides access to files. +The FileServer helper now takes a FileSystem argument instead of an explicit +file system root. By implementing your own FileSystem you can use the +FileServer to serve arbitrary data. + +The reflect package supports a new struct tag scheme that enables sharing of +struct tags between multiple packages. +In this scheme, the tags must be of the form: + key:"value" key2:"value2" +reflect.StructField's Tag field now has type StructTag (a string type), which +has method Get(key string) string that returns the associated value. +Clients of json and xml will need to be updated. Code that says + type T struct { + X int "name" + } +should become + type T struct { + X int `json:"name"` // or `xml:"name"` + } +Use govet to identify struct tags that need to be changed to use the new syntax. + +Other changes: +* 5l, 6l, 8l: drop use of ed during build. +* asn1: support T61 and UTF8 string. +* bufio: do not cache Read errors (thanks Graham Miller). +* build: make version.bash aware of branches. +* cgi: don't depend on CGI.pm for tests. +* codereview: make --ignore_hgpatch_failure work again, + restrict sync to default branch. +* crypto/openpgp: add ability to reserialize keys, + bug fix (thanks Gideon Jan-Wessel Redelinghuys). +* crypto/tls: fix generate_cert.go. +* crypto/x509: prevent chain cycles in Verify. +* csv: new package. +* doc: remove ed from apt-get package list. +* docs: fold the prog.sh scripting from makehtml into htmlgen itself. +* ebnflint: better handling of stdin. +* exp/regexp/syntax: new experimental RE2-based regexp implementation. +* exp/template: a new experimental templating package. +* fmt: add SkipSpace to fmt's ScanState interface. +* fmt: rename errno and error to err for doc consistency. +* gc: avoid package name ambiguity in error messages, + fix package quoting logic, + fixes for Plan 9 (thanks Lucio De Re). +* go/build: evaluate symlinks before comparing path to GOPATH. +* gob: use exported fields in structs in the package documentation. +* godoc: ignore directories that begin with '.', + search GOPATH for documentation. +* gofix: os/signal, path/filepath, and sort fixes (thanks Robert Hencke), +* goinstall: add support for generic hosts (thanks Julian Phillips), + only report successfully-installed packages to the dashboard, + try to access via https (thanks Yasuhiro Matsumoto). +* gotest: add -test.benchtime and -test.cpu flags. +* html: fixes and improvements (thanks Yasuhiro Matsumoto). +* http/cgi: add Handler.Dir to specify working directory (thanks Yasuhiro Matsumoto). +* http: add StripPrefix handler wrapper, + assume ContentLength 0 on GET requests, + better handling of 0-length Request.Body, + do TLS handshake explicitly before copying TLS state, + document that ServerConn and ClientConn are low-level, + make NewChunkedReader public (thanks Andrew Balholm), + respect Handlers setting Connection: close in their response. +* image: more tests, Paletted.Opaque optimization. +* io.WriteString: if the object has a WriteString method, use it (thanks Evan Shaw). +* ld: elide the Go symbol table when using -s (thanks Anthony Martin). +* ld: fix ELF strip by removing overlap of sections (thanks Gustavo Niemeyer). +* mime/multipart: parse LF-delimited messages, not just CRLF. +* mime: permit lower-case media type parameters (thanks Pascal S. de Kloe). +* misc/dashboard: new features and improvements (not yet deployed). +* misc/emacs: update list of builtins (thanks Quan Yong Zhai). +* misc/vim: allow only utf-8 for file encoding (thanks Yasuhiro Matsumoto). +* os: fix documentation for FileInfo.Name, + simplify WriteString, + use a different symbol from syscall in mkunixsignals.sh. +* path/filepath: enable TestWalk to run on windows (thanks Alex Brainman). +* reflect: add MethodByName, + allow Len on String values. +* regexp: document that Regexp is thread-safe. +* runtime/cgo: check for errors from pthread_create (thanks Albert Strasheim). +* runtime: add Semacquire/Semrelease benchmarks, + improved Semacquire/Semrelease implementation, + windows/amd64 port (thanks Wei Guangjing). +* sync: add fast path to Once, + improve Mutex to allow successive acquisitions, + new and improved benchmarks. +* syscall: regenerate zerrors for darwin/linux/freebsd, + support for tty options in StartProcess (thanks Ken Rockot). +* testing: make ResetTimer not start/stop the timer, + scale benchmark precision to 0.01ns if needed. +* time: zero-pad two-digit years. +* unicode/maketables: update debugging data. +* windows: define and use syscall.Handle (thanks Wei Guangjing). +* xml: add Marshal and MarshalIndent. +</pre> + +<h2 id="2011-06-23">2011-06-23</h2> + +<pre> +This release includes a language change that restricts the use of goto. +In essence, a "goto" statement outside a block cannot jump to a label inside +that block. Your code may require changes if it uses goto. +This changeset shows how the new rule affected the Go tree: + http://code.google.com/p/go/source/detail?r=dc6d3cf9279d + +The os.ErrorString type has been hidden. If your code uses os.ErrorString it +must be changed. Most uses of os.ErrorString can be replaced with os.NewError. + +Other changes: +* 5c: do not use R9 and R10. +* 8l: more fixes for Plan 9 (thanks Lucio De Re). +* build: Make.ccmd: link with mach lib (thanks Joe Poirier). +* build: exclude packages that fail on Plan 9 (thanks Anthony Martin). +* cc: nit: silence comment warnings (thanks Dave Cheney). +* codereview.py: note that hg change -d abandons a change list (thanks Robert Hencke). +* crypto/openpgp: add ElGamal support. +* doc/faq: add question about converting from []T to []interface{}. +* doc: Effective Go: fix variadic function example (thanks Ben Lynn). +* exec: LookPath should not search %PATH% for files like c:cmd.exe (thanks Alex Brainman), + add support for Plan 9 (thanks Anthony Martin), + better error message for windows LookPath (thanks Alex Brainman). +* fmt: catch panics from calls to String etc. +* gc: descriptive panic for nil pointer -> value method call, + implement goto restriction, + unsafe.Alignof, unsafe.Offsetof, unsafe.Sizeof now return uintptr. +* go/build: include Import objects in Script Inputs. +* godefs: rudimentary tests (thanks Robert Hencke). +* goinstall: refactor and generalize repo handling code (thanks Julian Phillips), + temporarily use Makefiles by default (override with -make=false). +* gopprof: update list of memory allocators. +* http: add Server.ListenAndServeTLS, + buffer request.Write, + fix req.Cookie(name) with cookies in one header, + permit handlers to explicitly remove the Date header, + write Header keys with empty values. +* image: basic test for the 16-bits-per-color-channel types. +* io: clarify Read, ReadAt, Copy, Copyn EOF behavior. +* ld: don't attempt to build dynamic sections unnecessarily (thanks Gustavo Niemeyer). +* libmach: fix disassembly of FCMOVcc and FCOMI (thanks Anthony Martin), + fix tracing on linux (for cov) (thanks Anthony Martin). +* mime: fix RFC references (thanks Pascal S. de Kloe). +* misc/gobuilder: run make single-threaded on windows (thanks Alex Brainman). +* misc/godashboard: Accept sub-directories for goinstall's report (thanks Yasuhiro Matsumoto). +* nacl, tiny: remove vestiges (thanks Robert Hencke). +* net, syscall: interface for windows (thanks Yasuhiro Matsumoto). +* os: change Waitmsg String method to use pointer receiver (thanks Graham Miller). +* runtime: don't use twice the memory with grsec-like kernels (thanks Gustavo Niemeyer), +* spec: disallow goto into blocks. +* sync: restore GOMAXPROCS during benchmarks. +* syscall: add LSF support for linux (thanks Mikio Hara), + add socket control message support for darwin, freebsd, linux (thanks Mikio Hara), + add tty support to StartProcess (thanks Ken Rockot), + fix build for Sizeof change. +* test: test of goto restrictions. +* time: add support for Plan 9 (thanks Anthony Martin). +</pre> + +<h2 id="2011-06-16">2011-06-16</h2> + +<pre> +This release includes changes to the sort and image/draw packages that will +require changes to client code. + +The sort.IntArray type has been renamed to IntSlice, and similarly for +StringArray and Float64Array. + +The image/draw package’s Draw function now takes an additional argument, +a compositing operator. If in doubt, use draw.Over. + +Other changes: +* build: fix header files for Plan 9 (thanks Lucio De Re). +* cgo: handle new Apple LLVM-based gcc from Xcode 4.2. +* crypto/openpgp: add ability to encrypt and sign messages. +* doc/gopher: add goggled gopher logo for App Engine. +* doc: Update notes for 3-day Go course. +* exec: make LookPath work when PATHEXT var not set on Windows (thanks Alex Brainman). +* exp/regexp/syntax: syntax data structures, parser, escapes, character classes. +* exp/template: lexical scanner for new template package. +* fmt: debugging formats for characters: %+q %#U. +* gc: frame compaction for arm, + handle go print() and go println(), + work around goto bug. +* go/build: fixes, self-contained tests. +* go/printer, gofmt: print "select {}" on one line. +* godoc: replace OS file system accesses in favor of a FileSystem interface. +* gofix: fix inconsistent indentation in help output (thanks Scott Lawrence). +* goinstall: use go/build package to scan and build packages. +* http/spdy: improve error handling (thanks William Chan). +* http: use runtime/debug.Stack() to dump stack trace on panic. +* ld: dwarf emit filenames in debug_line header instead of as extended opcodes, + fix link Windows PE __declspec(dllimport) symbol (thanks Wei Guangjing), + make .rodata section read-only (thanks Gustavo Niemeyer). +* mail: decode RFC 2047 "B" encoding. +* mime/multipart: remove temp files after tests on Windows (thanks Alex Brainman). +* net: export all fields in Interface (thanks Mikio Hara), + rearrange source to run more tests on Windows (thanks Alex Brainman), + sendfile for win32 (thanks Yasuhiro Matsumoto). +* os: Plan 9, fix OpenFile & Chmod, add Process.Kill (thanks Yuval Pavel Zholkover). +* runtime: fix Plan 9 "lingering goroutines bug" (thanks Yuval Pavel Zholkover). +* spec: clarify rules for append, scope rules for :=, + specify constant conversions, + unsafe.Alignof/Offsetof/Sizeof return uintptr. +* syscall, os, exec: add *syscall.SysProcAttr field to os.ProcAttr and exec.Cmd. +* syscall: add ptrace on darwin (thanks Jeff Hodges), + mksyscall_windows.pl should output unix newline (thanks Yasuhiro Matsumoto). + update BPF support for BSD variants (thanks Mikio Hara), + use strict in perl scripts (thanks Yasuhiro Matsumoto). +* xml: handle non-string attribute fields (thanks Maxim Ushakov). +</pre> + <h2 id="2011-06-09">2011-06-09 (<a href="release.html#r58">base for r58</a>)</h2> <pre> |