Go 1.17

I’ve updated the builder images to Go 1.17. One visible change is that build constraints now need a new-format and an old-format version. This means that when tweaking build constraints you need to either take some care or have a Go 1.17 gofmt which takes care of it for you.

We have another RC round to do before release, which will be made with Go 1.17 to flush out any issues. One possible thing I see is that TLS ALPN is now enforced. This shouldn’t affect us as we’ve Always™ set it on both sides, but in the before times when there were alternative implementations on Android this used to be a thing we couldn’t enforce…

In theory windows/arm64 is now supported, which has been requested. In practice I suspect we might need a native arm64 builder to use cgo and get fs notifications working. Someone who’s enthusiastic about the platform could try this out…

4 Likes

Yeah, the ALPACA Attack has given me some headache recently. Go is doing the right thing here, even though they’re technically just finally implementing a 7 year old spec.

Good thing that syncthing has been making use of ALPN for quite some time now (though syncthing is unaffected anyway due to it’s distinct use of certificates).

2 Likes

quic-go should be good with >=0.21.2

1 Like