gopherjs icon indicating copy to clipboard operation
gopherjs copied to clipboard

Add Go 1.19 support

Open nevkontakte opened this issue 2 years ago • 13 comments

Go 1.19 was released last week and we should begin work on supporting it.

Skimming through the release notes, the following changes seem relevant to us:

I hope that supporting it won't be too much work, although I suspect that generics might have started infiltrating the standard library, in which case we'll have to double down on https://github.com/gopherjs/gopherjs/issues/1013 first.

nevkontakte avatar Aug 17 '22 19:08 nevkontakte

Any update on this?

KiddoV avatar Aug 26 '22 19:08 KiddoV

@KiddoV only that it will happen at some point. I am currently writing a guide for how to add new Go version support in a hope that someone from community would step up and help us out. If no volunteers appear, I will probably work on 1.19 only after generics. Please let me know if you are interested in contributing 🙂

nevkontakte avatar Aug 28 '22 12:08 nevkontakte

In a hope to inspire more contributions I wrote a guide to supporting new Go versions in GopherJS. I would appreciate feedback on what may be unclear (especially to the non-maintainer folks) or can be phrased better (English isn't my native language ¯_(ツ)_/¯).

The draft is available here, and should be accessible by anyone (ping me if you are having issues): https://docs.google.com/document/d/1QD_jl9G1jwL2ye_ZeFMtqIEEYZ9cNIHbV3n3R4pXdYA/edit?usp=sharing. I intend to move it into the github wiki, once the feedback is gathered and addressed.

nevkontakte avatar Sep 06 '22 19:09 nevkontakte

Now Golang is with 1.20, and go1.18.x is unsupported.

chenrui333 avatar Feb 22 '23 18:02 chenrui333

Hi @chenrui333, I am acutely aware of this :) Unfortunately, I have only limited amount of time for open source work, and all of it is currently going towards adding generics support. If you have some spare time and the desire to contribute support for Go 1.19+ - let me know, I'll be happy to provide pointers and advice.

nevkontakte avatar Feb 22 '23 21:02 nevkontakte

Would love to know if this is in progress or not!

ghostsquad avatar Jun 28 '23 01:06 ghostsquad

Indeed there is progress being made. Just a few hours ago, a PR was merged into our branch adding generics support.

Of course, generics is a complicated thing to add, and it's being done virtually entirely by @nevkontakte in his free time, so patience is appreciated!

flimzy avatar Jun 28 '23 07:06 flimzy

Thank you for the update! I'm excited for this change.

ghostsquad avatar Jun 28 '23 18:06 ghostsquad

We have been working on a generic-less Go 1.19. It is getting close to being done. See the go1.19 branch.

grantnelson-wf avatar Feb 14 '24 22:02 grantnelson-wf

I suppose we should discuss how to label GopherJS 1.19, and what that means to the support of 1.17 and 1.18.

What makes most sense to me, having not spent much time thinking about it:

  • Release GopherJS 1.19 as a beta release (same as we did for 1.18)
  • Continue to support 1.17 and 1.18, until generics are done, then we can drop 1.17, and likely 1.18 very quickly after.

flimzy avatar Feb 15 '24 08:02 flimzy

I agree with @flimzy, although I feel like supporting 1.18 would seem redundant after 1.19-beta release. In the other news, my alternate generics branch is very close to fully supporting generics at a single-package level, after which multi-package support is quite straightforward. So I have high hopes for a full 1.19 very soon.

nevkontakte avatar Feb 18 '24 15:02 nevkontakte

Also I've looked through the release notes and it seems like the work @grantnelson-wf has done covers everything that doesn't depend on generics. Unless anyone objects, we should be good to merge it into master and publish 1.19-beta1 release.

nevkontakte avatar Feb 18 '24 15:02 nevkontakte

I think that's fine. So we'll have 1.17 (stable) and 1.19 (beta) under active support for the time being.

No objections from me for merging/tagging 1.19-beta1.

flimzy avatar Feb 19 '24 08:02 flimzy

Thanks to @grantnelson-wf efforts, Go 1.19 support (sans generics) has been released. https://github.com/gopherjs/gopherjs/issues/1270 will track work on 1.20. Work on generics is ongoing in https://github.com/gopherjs/gopherjs/issues/1013.

nevkontakte avatar Feb 25 '24 00:02 nevkontakte