A list of changes since Go 1

3,588 views
Skip to first unread message

Rémy Oudompheng

unread,
Nov 16, 2012, 2:59:42 AM11/16/12
to golang-nuts
Hello,

Some days ago I tried to gather a condensed form of Changelog since
people have been asking what was coming in Go 1.1 and I was also
interested in explaining and foreseeing what changes/benefits it would
be bringing. This is of course absolutely not normative in any way.
Most bug fixes are already in Go 1.0.3 so almost none is mentioned.

* Support Linux/ARM in cgo.
* Support NetBSD
* Support FreeBSD/ARM
* Support SWIG
* amd64 ints are now 64 bits.
* Compiler and libraries now conform to Unicode 6.2

spec
* Unicode surrogates are now illegal
* initial BOM is ignored

compiler
* better escape analysis
* more inlining capabilities
* various bug/ICE fixes.
* arm, 386: faster generated code
* arm: remove softfloat code when GOARM=7
* arm: use more registers
* amd64: correct bug with 64 bit to 32 bit truncation
* amd64: better floating-point code
* inline some slice operations
* inline small conversions to interface{}

linker
* add ELF PAX headers to binaries
* support for linking syso files
* support for build ID

runtime
* faster software division on ARM
* race detector
* contention profiler
* precise GC (not yet in tip)
* parallel GC
* lower memory overhead of mem profile

Package changes
--------

archive/tar
* new FileInfoHeader function

archive/zip
* support for ZIP64

bufio
* add ReadFrom, WriteTo methods
* ReadLine is discouraged

bytes, strings
* new Reader.WriteTo method

bytes
* new Buffer.Grow method
* assembly routines for ARM
* Join returns a copy when supplied with a single []byte

compress/flate
* lower memory pressure

crypto/aes
* support AES-NI acceleration

crypto/md5
* performance improvements

crypto/rsa
* reject exponents that don't fit an int32

crypto/x509
* suport for ECDSA
* new DecryptBlock function

debug/elf
* expose Entry
* support for reading DynTag

debug/pe
* support for symbols

encoding/binary
* skip blank struct fields

encoding/gob
* smaller decoder memory footprint

encoding/json
* new Number type

encoding/xml
* handle anonymous pointer fields

fmt
* performance improvement
* honor %d etc. for pointers

go/scanner
* faster

go/parser
* performance improvement

hash/adler32
* performance improvement

image/jpeg
* support 4:4:0 subsampling
* support progressive JPEG decoding

image/png
* performance improvement
* optimize encoding for common image types

io
* new ByteWriter interface

math/big
* JSON marshalling
* performance improvement in Mul, Gcd.
* faster Exp

math
* more assembly routines

net
* IPv6 support on Windows
* new LookupNS
* add UnixConn.CloseRead, CloseWrite

net/http
* cleanup and fixes

net/mail
* more liberal parsing of Date

net/url
* correct URL escaping
* make Encode deterministic

reflect
* new MakeFunc, Select
* new ConvertibleTo, Convert
* Index and Slice accept strings

strconv
* extend fast float parsing/printing to all cases

strings
* faster Replacer

syscall
* various new syscalls

testing
* new Verbose function
* memory allocation stats

text/scanner
* skip initial BOM

text/template
* synxtax addition with parentheses
* spaces are significant
* new keyword nil

time
* change to RFC822 string
* accept .999 in Parse
* faster Format
* panic if UnixNano overflows
* add Time.YearDay method

unicode/utf8
* reject out of range runes.

new package: html (maybe go/types too?)

Tools and commands
------

cgo
* better support for gccgo

go
* join function in go tool template
* -benchmem option to go tool
* better support for gccgo

godoc
* website revamp

gofmt
* simplify s[x:len(s)]

vet
* detect misuse of range variable

yacc
* accept UTF-8 tokens

misc
* new gophertool for Chrome

Rémy.

Sebastien Binet

unread,
Nov 16, 2012, 3:18:07 AM11/16/12
to Rémy Oudompheng, golang-nuts
Rémy,

> Hello,
>
> Some days ago I tried to gather a condensed form of Changelog since
> people have been asking what was coming in Go 1.1 and I was also
> interested in explaining and foreseeing what changes/benefits it would
> be bringing. This is of course absolutely not normative in any way.
> Most bug fixes are already in Go 1.0.3 so almost none is mentioned.

[...]

nice summary.
thanks!

-s

Johann Höchtl

unread,
Nov 16, 2012, 4:30:01 AM11/16/12
to golan...@googlegroups.com
As this option has been mentioned, the race detector switch would warrant a mention here too.

Jackie Li

unread,
Nov 16, 2012, 12:35:12 PM11/16/12
to Johann Höchtl, golang-nuts
This is exciting!


--
 
 



--
Jackie

Dustin Sallings

unread,
Nov 16, 2012, 1:33:44 PM11/16/12
to golan...@googlegroups.com
Rémy Oudompheng <remyoud...@gmail.com>
writes:

> misc
> * new gophertool for Chrome

What is gophertool? I can't find anything on it with a quick browse
except for the source dir. Looks like some kind of code review add-on
or something?

--
dustin

minux

unread,
Nov 16, 2012, 1:56:02 PM11/16/12
to Dustin Sallings, golan...@googlegroups.com
$GOROOT/misc/chrome/gophertool

it is a useful chrome plugin for go developers, which makes it easy
to go to a particular cl, issue or revision easy.
not that useful if you don't hack the go project.

try it and you will see.

minux

unread,
Nov 16, 2012, 2:01:10 PM11/16/12
to Dustin Sallings, golan...@googlegroups.com

On Saturday, November 17, 2012, Dustin Sallings wrote:
Reply all
Reply to author
Forward
0 new messages