blob: 407c3d77d38ea3700d4e33d45a2efe641b889419 [file] [log] [blame] [view]
Brad Fitzpatrick87c535f2018-05-24 11:59:45 -07001# Go2 status
2
3This page tracks the status of "Go 2".
4
Brad Fitzpatrick63dab762018-08-28 11:16:49 -06005We are currently exploring potential designs for improved error handling, error values, and generics:
6
7* Blog post: https://blog.golang.org/go2draft
8* Draft designs and problem overviews: https://go.googlesource.com/proposal/+/master/design/go2draft.md
Brad Fitzpatrick87c535f2018-05-24 11:59:45 -07009
10## Bugs
11
12* [Open Go2 bugs](https://github.com/golang/go/issues?q=is%3Aissue+is%3Aopen+label%3AGo2)
Brad Fitzpatrick87c535f2018-05-24 11:59:45 -070013
14## Talks
15
16* [GopherCon 2017: Russ Cox - The Future of Go](https://www.youtube.com/watch?v=0Zbh_vmAKvk)
17* [GopherCon Russia 2018: Brad Fitzpatrick - Go: Looking back and looking forward](https://www.youtube.com/watch?v=ZCB-g2B4Y5A) (Go2 stuff is at about 20 minutes in)
18
19## Scope
20
21From talk above:
22
23* "maybe three major changes"
24* plus minor housekeep tasks
25* TBD
26
27Examples of major changes:
28
Russ Cox9d2423a2018-05-29 15:17:00 -040029* [versioning](https://github.com/golang/go/issues/24301)
Brad Fitzpatrick87c535f2018-05-24 11:59:45 -070030* [generics](https://github.com/golang/go/issues/15292)?
31* [simplified, improved error handling](https://github.com/golang/go/issues/21161)?
32* ...
33
34Examples of housekeeping:
35
36* [Open Go2Cleanup bugs](https://github.com/golang/go/issues?q=is%3Aissue+is%3Aopen+label%3AGo2Cleanup) (please don't add this label to things without discussion)
37
38## Compatibility
39
40We do not want to break the ecosystem. Go 1 and Go 2 code must be able to interoperate in programs with ease.
41
42## Standard library
43
44The standard library would probably be versioned and permit out-of-cycle updates, but be included with Go releases. Maybe "encoding/foo" become shorthand for "golang.org/x/std/encoding/foo". TBD. Some package would probably get v2 major versions, but the v1 versions would be minimally maintained, at least for security.
45
46## Roadmap
47
48TBD