A Note from the Go Team on Go Version 1
(From the golang-dev mailing list)
Hi gophers,
One of the reasons for Go 1 is to provide a stable platform for
writing Go programs, guaranteeing that code written today will
continue to compile and run for a long time. To that end, the public
Go APIs are now frozen. We will be using an automated tool to identify
and avoid backwards-incompatible API changes. It is still possible to
change libraries, but only in ways that do not break Go 1 programs and
only if the change is judged worthwhile for Go 1.
We are shifting our focus to fixing bugs as preparation for the
official Go 1 release. All items on the issue tracker with priority
"Go1" will be addressed before the Go 1 release. If you'd like to work
on a specific issue, take ownership (if you are a committer) or add a
comment to that effect. (In the issue list, the owner
"builder@golang.org" identifies bugs that need someone to step in.)
Another way you can help is to write examples for existing packages.
See "go help testfunc" for details and the bytes and time packages for
inspiration.
Unlike with previous releases, we are not planning to tag a Go 1
branch and then immediately start making backwards-incompatible
changes in the main branch. Our intent is that the main branch be the
source for the eventual Go 1.1, Go 1.2, and so on, all of which must
be backwards compatible with Go 1. It will require discipline and
compromise, but by maintaining the API freeze we can avoid version
skew issues. Over time we will watch how Go 1 is used and then,
informed by what we've learned over a substantial period, we will
begin work on a Go 2 in much the same way as we did for Go 1.
We expect that after Go 1, the volume of changes made in the standard
library will diminish. We are going to assume Go 1 as a base and focus
on building interesting things around it, and we hope that you will do
the same. We will continue to apply bug fixes and improvements to the
Go core, but significant new work should be done in external
repositories. That way new functionality is accessible to all Go users
(via the go tool), not just the small number working at tip.
For the next few weeks our target is the Go 1 release. We will be
fixing bugs, not adding features. Please bear with us as we push for
this milestone that will make Go and its community stronger for the
future.
Thanks for your all your help so far. We wouldn't be here without you.
Andrew, on behalf of the Go team