diff --git a/.hgtags b/.hgtags index 24656562e60..f32b164f09d 100644 --- a/.hgtags +++ b/.hgtags @@ -103,4 +103,3 @@ b4a91b6933748db1a7150c06a1b55ad506e52906 weekly.2011-11-18 354b17404643c0f1a710bdc48927dff02f203ae3 weekly.2012-01-15 9f2be4fbbf690b9562c6e98b91daa0003f0913c7 weekly.2012-01-20 1107a7d3cb075836387adfab5ce56d1b3e56637d weekly.2012-01-27 -1107a7d3cb075836387adfab5ce56d1b3e56637d weekly diff --git a/doc/devel/weekly.html b/doc/devel/weekly.html index 16dd6a3294d..7196de44607 100644 --- a/doc/devel/weekly.html +++ b/doc/devel/weekly.html @@ -14,6 +14,196 @@ hg pull hg update weekly.YYYY-MM-DD +
+This weekly snapshot includes a re-organization of the Go tools. + +Only the go, godoc, and gofmt tools are installed to $GOROOT/bin (or $GOBIN). +The remainder are installed to $GOROOT/bin/tool. +This puts the lesser-used tools (6g, cgo, govet, etc.) outside the user PATH. +Instead these tools may be called through the go tool with 'go tool command'. +For example, to vet hello.go you would type 'go tool vet hello.go'. +Type 'go tool' see the list of available tools. + +With the move, some tools were given simpler names: + 6cov -> cov + 6nm -> nm + goapi -> api + gofix -> fix + gopack -> pack + gopprof -> pprof + govet -> vet + goyacc -> yacc + +The os/signal package has been moved to exp/signal. + +A new tool named 'dist' has been introduced to handle building the gc tool +chain and to bootstrap the go tool. The old build scripts and make files +have been removed. + +Other changes: +* 5a, 6a, 8a, cc: check in y.tab.[ch]. +* 5l, 6l, 8l, ld: remove memory leaks (thanks Shenghou Ma). +* 5l, 6l, 8l: implement -X flag. +* 5l: make -v option output less nonessential clutter (thanks Shenghou Ma), + optimize the common case in patch() (thanks Shenghou Ma). +* 8a, 8l: implement support for RDTSC instruction (thanks Shenghou Ma). +* 8g: use uintptr for local pc. +* archive/zip: support full range of FileMode flags (thanks Gustavo Niemeyer). +* bufio: remove special error type, update docs. +* build: move the "-c" flag into HOST_CFLAGS (thanks Anthony Martin), + remove unnecessary pragmas (thanks Anthony Martin). +* builder: drop recover blocks. +* bytes: API tweaks. +* cgo: accept null pointers in gccgo flavour of C.GoString (thanks Rémy Oudompheng), + print line numbers in fatal errors when relevant (thanks Rémy Oudompheng). +* cmd/dist: add GOBIN to env's output (thanks Gustavo Niemeyer), + fix bug in bsubst (thanks Alex Brainman), + fix build on openbsd (thanks Mikio Hara), + generate files for package runtime, + ignore file names beginning with . or _, + prevent race on VERSION creation (thanks Gustavo Niemeyer). +* cmd/gc: another special (%hhS) case for method names, + describe debugging flags (thanks Anthony Martin), + diagnose \ in import path, + disallow switch _ := v.(type), + don't print implicit type on struct literal in export, + fix codegen reordering for expressions involving && and ||, + use octal escapes in mkopnames (thanks Anthony Martin). + use original constant expression in error messages (thanks Rémy Oudompheng). +* cmd/go: add support for release tags via git branches (thanks Gustavo Niemeyer), + build: print import errors when invoked on files (thanks Kyle Lemons), + clean test directories as they complete, + fix error message on non-existing tools (thanks Rémy Oudompheng), + fix handling of gccgo standard library (thanks Rémy Oudompheng), + fixed panic on `go clean -n` and `go clean -x` (thanks Sanjay Menakuru), + introduce support for "go build" with gccgo (thanks Rémy Oudompheng), + make vcs command actually gather output (thanks Roger Peppe), + pass env CGO_CFLAGS to cgo (thanks Jeff Hodges), + record location of failed imports for error reporting (thanks Rémy Oudompheng). +* cmd/goapi: expand embedded interfaces. +* cmd/goinstall: remove now that 'go get' works (thanks Gustavo Niemeyer). +* cmd/ld: fix gdbscript (thanks Wei Guangjing). +* cmd/pack: change gopack to pack in error messages. +* codereview: miscellaneous fixes and improvements. +* crypto/elliptic: p224Contract could produce a non-minimal representation. +* crypto/tls: better error message when connecting to SSLv3 servers. +* crypto/x509: use case-insensitive hostname matching. +* dashboard: support for sub-repositories, update to go1beta. +* database/sql: permit scanning into interface{}. +* doc: update go1.html for recent changes. +* encoding/base32: add DecodeString and EncodeToString helper methods, + ignore new line characters during decode. +* encoding/base64: ignore new line characters during decode. +* encoding/gob: document CommonType. +* encoding/hex: canonicalize error type names. +* encoding/json: call (*T).MarshalJSON for addressable T values. +* encoding/xml: fix decoding of xml.Name with sub-elements (thanks Gustavo Niemeyer), + fix documentation for Decoder.Skip. +* exp/norm: Added some benchmarks for form-specific performance measurements, + a few minor changes in prepration for a table format change. +* expvar: revise API. +* fix: add image/{bmp,tiff} to go1pkgrename. +* flag: allow a FlagSet to not write to os.Stderr, + describe valid input for Duration flags. +* fmt: add test of NaN map keys, + fix caching bug in Scan. +* go/build: put a space between 'generated by make' and package statement, + update syslist.go package comment. +* go/doc: fix URL linking in ToHTML (thanks Gary Burd), + added error, rune to list of predeclared types, + don't lose factory functions of non-exported types, + don't show methods of exported anonymous fields, + enable AllMethods flag (and fix logic). +* go/printer: don't print incorrect programs. +* go/scanner: idiomatic receiver names. +* go/spec: update language on map types. +* go/token: remove dependency on encoding/gob. +* gob: fuzz testing, plus a fix for very large type names. +* gobuilder: use go tool to build and test sub-repositories. +* godoc: add URL mode m=methods, + diagnostic for empty FS tree, + fix identifier search, + fix redirect loop for URL "/", + provide link to subdirectories, if any, + sort list of "other packages", + update metadata in appinit.go. +* gophertool: fix link to the build status dashboard (thanks Jongmin Kim). +* hgignore: add VERSION.cache (thanks Gustavo Niemeyer), + delete dregs, ignore tmpltohtml. +* html: add package doc. +* image: add package docs, rename s/UnknownFormatError/ErrFormat/ and, + delete the image.Repeated type, + remove image/bmp and image/tiff from std. +* io/ioutil: document EOF behavior in ReadFile and ReadAll. +* io: API tweaks. +* libmach: add stubs for Plan 9 (thanks Anthony Martin). +* make.bash: don't remove hgpatch. +* math/big: add raw access to Int bits, + API and documentation cleanup. +* misc/goplay: use go tool "run" (thanks Olivier Duperray). +* misc/osx: don't set GOROOT or modify profile files, + update for dist tool, drop image.bash, update readme. +* net, syscall: add IPv4 multicast helpers for windows (thanks Mikio Hara). +* net/http/httputil: fix race in DumpRequestOut, + preserve query params in reverse proxy. +* net/http: don't set Content-Type header for HEAD requests by default (thanks Patrick Mylund Nielsen), + fix nil pointer dereference in error case (thanks Volker Dobler), + close client fd sooner on response read error, + set cookies in client jar on POST requests (thanks Volker Dobler). +* net/rpc: fix data race on Call.Error. +* net: ListenMulticastUDP to listen concurrently across multiple listeners (thanks Mikio Hara), + disable normal multicast testing on linux/arm (thanks Mikio Hara), + fix Plan 9 build (thanks Anthony Martin), + fix windows build (thanks Alex Brainman), + move DNSConfigError to a portable file, + remove types InvalidConnError and UnknownSocketError, + replace error variable name e, errno with err (thanks Mikio Hara), + run TestDialTimeout on windows (thanks Alex Brainman), + update comments to remove redundant "net" prefix (thanks Mikio Hara). +* os/exec: TestExtraFiles - close any leaked file descriptors, + make sure file is not closed early in leaked fd test. +* os/signal: move to exp/signal. +* os/user: windows implementation (thanks Alex Brainman). +* os: Process.handle use syscall.Handle (thanks Wei Guangjing), + file windows use syscall.InvalidHandle instead of -1 (thanks Wei Guangjing), + remove SIGXXX signals variables, + turn FileStat.Sys into a method on FileInfo (thanks Gustavo Niemeyer). +* path/filepath: repair and simplify the symlink test. +* reflect: add comment about Type.Field allocation, + test that PtrTo returns types that match program types. +* runtime: add runtime.cputicks() and seed fastrand with it (thanks Damian Gryski), + delete UpdateMemStats, replace with ReadMemStats(&stats) (thanks Rémy Oudompheng), + fix float64 hash, + use GOTRACEBACK to decide whether to show runtime frames, + use per-map hash seeds (thanks Damian Gryski). +* spec: add number to the fibonacci sequence. +* std: add struct field tags to untagged literals. +* strings: add Fields example. +* syscall: add Timeval.Nano, Timespec.Nano, for conversion to Duration, + cache environment variables on Plan 9 (thanks Anthony Martin), + fix // +build comments in types_*.go, + fix build directive in types_linux.go, + update bootstrap scripts to sync with new go command (thanks Mikio Hara). +* test: add import test that caused an incorrect gccgo error, + add test for receiver named _, + add test of NaN in map, + add test which crashed gccgo compiler, + don't use package main for files without a main function, + fix bug headers, + float to integer test case, + make map nan timing test more robust, + match gccgo error messages, + test append with two different named types with same element type, + test method expressions with parameters, and with import, + test slice beyond len, + test that x := <-c accepts a general expression. +* testing: capture panics, present them, and mark the test as a failure. +* unicode: document large var blocks and the SpecialCase vars. +* vet: add a check for untagged struct literals. ++