Yes, lots of exciting features in Go 1.18, but everyone knows the real excitement is this.
Nice :-) Go 1.18 was looking like such a boring uneventful release otherwise!
Kind of unrelated, but what is the progress on Go 2?
IIUC the Go team have decided to introduce new language features without breaking backward compatibility for now.
Though, there’s some interesting discussion on how to update [standard library] APIs [like sync.Map] for generics, which may or may not lead to introduction of some generic way of versioning, that could possibly allow gradually introducing more “Go2”-like “breaking changes”.
A number of changes that were previously classified under “go 2” have now been implemented in backwards-compatible ways, generics being the most well-known example of this, other examples are the new //go:build directives (the old // +build will remain working indefinitely though), binary literals, _ to separate numbers (1_000), and a few others.
There were never any concrete plan on “Go 2”, and was little more than a placeholder for language changes and incompatible changes. It still is, especially for incompatible changes to either the language or standard library.