Introduction to Go 1.3

The latest Go release, version 1.3, arrives six months after 1.2, and contains no language changes. It does have some important developments, though, including a refinement to the memory model regarding synchronization, precise garbage collection, significant performance improvements, including TODO, and support for Google's Native Client architecture (NaCl). As always, Go 1.3 keeps the promise of compatibility, and almost everything will continue to compile and run without change when moved to 1.3.

Changes to the supported operating systems and architectures

Support for Native Client

TODO

Support for Solaris

TODO

Removal of support for Windows 2000

TODO windows 2000 removed (CL 74790043)

Changes to the memory model

TODO: early go documentation suggested using a channel as a semaphore like this: (previous example). the go memory model has been updated to make explicit that this idiom is allowed. (new example). the previous example is also correct, just requiring needless func init work. (CL 75130045)

Changes to the implementations and tools

Stack

TODO stack copying, no longer segmented

Stack size

Go 1.2 increased the minimum stack size to 8 kilobytes; with the new stack model, it has been put back to 4 kilobytes.

Updating: TODO

Changes to the garbage collector

precision (TODO what to say) liveness (TODO what to say)

TODO compiler/linker boundary moved

Updating: TODO

Status of gccgo

TODO

Changes to the go command

TODO cmd/go, go/build: support .m files (CL 60590044) cmd/go: add -exec to 'go run' and 'go test' (CL 68580043) cmd/go: cover -atomic for -race (CL 76370043)

Miscellany

Performance

TODO

Changes to the standard library

TODO: Which should be called out?

New packages

There is one new package added to the standard library: sync/pool. TODO: sync: add Pool (CL 41860043, 46010043)

Minor changes to the library

The following list summarizes a number of minor changes to the library, mostly additions. See the relevant package documentation for more information about each change.