From ea78a4a7a27e96a5de269a29d08530228cb8a1bf Mon Sep 17 00:00:00 2001
From: Rob Pike
-A binary is still included with the distribution, but the source code for the
-
+Also, the core of the godoc program has been split into a
library,
while the command itself is in a separate
directory.
@@ -158,29 +161,24 @@ makes it easier to construct custom binaries for local sites and different deplo
Updating:
-Since godoc was not part of the library,
-no client code depends on the godoc sources and no updating is required.
+Since godoc and vet are not part of the library,
+no client Go code depends on the their source and no updating is required.
The binary distributions available from golang.org
-include a godoc binary, so users of these distributions are unaffected.
+include these binaries, so users of these distributions are unaffected.
-When building from source, users must use "go get" to install godoc.
+When building from source, users must use "go get" to install godoc and vet.
-TODO
-
@@ -212,19 +210,88 @@ TODO: write prose
-
+One major new feature of
+The cover tool is part of the
+
+The cover tool does two things.
+First, when "go test" is given the
+Second, for more detailed reports, different flags to "go test" can create a coverage profile file,
+which the cover program, invoked with "go tool cover", can then analyze.
+
+Details on how to generate and analyze coverage statistics can be found by running the commands
+
+The "go doc" command is deleted.
+Note that the
+Updating: For those who still need the precise functionality of running
+
+in a directory, the behavior is identical to running
+
+The Godoc moved to the go.tools subrepository
+Godoc and vet moved to the go.tools subrepository
godoc
command has moved to the
+Both binaries are still included with the distribution, but the source code for the
+godoc and vet commands has moved to the
go.tools subrepository.
-The core of the program has been split into a
+
$ go get code.google.com/p/go.tools/cmd/godoc
+$ go get code.google.com/p/go.tools/cmd/vet
-The vet tool moved to the go.tools subrepository
-
-Status of gccgo
Changes to the go command
+Test coverage
-
-
go test
is
+that it can now compute and, with help from a new, separately installed
+"go tool cover" program, display test coverage results.
+go.tools
+subrepository.
+It can be installed by running
+
+$ go get code.google.com/p/go.tools/cmd/cover
+
-
+-cover
flag, it is run automatically
+to rewrite the source for the package and insert instrumentation statements.
+The test is then compiled and run as usual, and basic coverage statistics are reported:
+
+$ go test -cover fmt
+ok fmt 0.060s coverage: 91.4% of statements
+$
+
+
+
+$ go help testflag
+$ go tool cover -help
+
+
+The go doc command is deleted
+
+godoc
tool itself is not deleted,
+just the wrapping of it by the go
command.
+All it did was show the documents for a package by package path,
+which godoc itself already does with more flexibility.
+It has therefore been deleted to reduce the number of documentation tools and,
+as part of the restructuring of godoc, encourage better options in future.
+
+$ go doc
+
+
+
+$ godoc .
+
+
+Changes to the go command
+
+go get
command
+now has a -t
flag that causes it to download the dependencies
+of the tests run by the package, not just those of the package itself.
+By default, as before, dependencies of the tests are not downloaded.
+Additional platforms
@@ -429,10 +496,20 @@ The two forms are identical in effect; the difference is just in the syntax.
-Updating: Neither change affects existing programs. Those that +Finally, the package +now correctly diagnoses unmatched right delimiters. +They were accepted without complaint before, and templates that had them +will now fail to parse. +
+ +
+Updating: Neither the "else if" change nor the comparison functions
+affect existing programs. Those that
already define functions called eq
and so on through a function
map are unaffected because the associated function map will override the new
default function definitions.
+Templates with unmatched right delimiters will now fail to parse and will need
+to be fixed by hand.
compress/flate
package adds a Reset
method on the Writer
,
-allowing compression of one file to start with another's dictionary.
+to make it possible to reduce allocation when, for instance, constructing an
+archive to hold multiple compressed files.
+
+
+compress/gzip
package's
+Writer
type adds a
+Reset
+so it may be reused.
compress/zlib
package's
+Writer
type adds a
+Reset
+so it may be reused.
net
package requires cgo by default
+because the host operating system must in general mediate network call setup.
+On some systems, though, it is possible to use the network without cgo, and useful
+to do so, for instance to avoid dynamic linking.
+The new build tag netgo
(off by default) allows the construction of a
+net
package in pure Go on those systems where it is possible.