4 ms·
# Go 2 In 2017[1] it was decided that the "Go 2" project would be done incrementally adding features in Go 1.x releases, as long as those features can be added
by LukeShu 5y ago
# Go 2
In 2017[1] it was decided that the "Go 2" project would be done incrementally adding features in Go 1.x releases, as long as those features can be added in backward-compatible ways, and there will likely only be a actual 2.x release if they need to make backward incompatible changes:
> Once all the backwards-compatible work is done, say in Go 1.20, then we can make the backwards-incompatible changes in Go 2.0. If there turn out to be no backwards-incompatible changes, maybe we just declare that Go 1.20 is Go 2.0. [1]
With that, they developed a formal language-change proposal and acceptance process, and the Go 2 proposals transitioned from being pie in the sky ideas to concrete proposals, and a number of proposals for "go2" features were selected[2] to be included in 1.13. And so in September 2019, Go 1.13 became the first "go2" release[3], the first release since 2012 to include significant language changes.
And so we've been seeing language changes land incrementally in releases for the last several years now, rather than waiting for a "big bang" 2.0 release.
# Development cycle
Go does a release every 6 months, in February and in August. ("But above you said 1.13 was in September!" Yes, it slipped from August to September 3rd.)
# Generics
Generics[4] are currently slated to be in Go 1.18 (February 2022).[5]
[1]: https://blog.golang.org/toward-go2 https://blog.golang.org/toward-go2
[2]: https://blog.golang.org/go2-here-we-come https://blog.golang.org/go2-here-we-come
[3]: https://blog.golang.org/go2-next-steps https://blog.golang.org/go2-next-steps
[4]: https://github.com/golang/go/issues/43651 https://github.com/golang/go/issues/43651
[5]: https://blog.golang.org/generics-proposal https://blog.golang.org/generics-proposal
- DangitBobby 5y agoI may not love the language but I do love this release plan!