Probably one of the toughest part of maintaining GopherJS is that you have to run pretty fast just to stay in one place... There is a new Go release every 6 months and if it includes new language features, we have to find a way to support them. And only then we may have a bit of time to improve on the project itself, which is kind of stressful.

For the past 4 month I've been plugging away on generics support and I think there's only one major unimplemented feature. And a fair amount of bugs to fix. And by the time I'm done, adding Go 1.19 and 1.20 support will be due...

Before I became a GopherJS maintainer I had no idea how incredible of an achievement that would be:

Growing an active contributor community is hard. Even harder when it comes to folks willing to do the unfancy, grindy work such as triaging old issues — very few people consider it an enjoyable leisure activity, or are willing to do it regardless of not being paid. So hats off to the Zig authors for getting there, I'm sure it required a lot of persistence.

As for GopherJS, I am truly delighted that virtually all changes that went into 1.18.0-beta2 release came from contributors outside of the core maintainer group. Many of them are non-trivial too. We are still struggling to find volunteers for recurring tasks such as new Go version support, but hey, hopefully we'll get there.