-
Notifications
You must be signed in to change notification settings - Fork 17.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
x/tools/gopls: support gopls for 1.12 (current - 4) #39146
Comments
Thank you for filing a gopls issue! Please take a look at the Troubleshooting guide, and make sure that you have provided all of the relevant information here. |
From the Go release policy:
Since Go1.14 is out, Go1.12 is no longer a supported version; which means that gopls is allowed to break compatibility with it. I suggest upgrading your Go version. |
The obvious solution is for me to upgrade to the latest version, but sadly I can't at the moment. There is still a community on go 1.12 and it would be nice to know when this happened and what the best course of action would be other than upgrade to the latest go version. Was advised by @heschik on slack to submit an issue. |
Raised an issue on the vscode-go repo for them to at least update their documentation for what versions of go it supports. |
Was already submitted here: golang/vscode-go#66 |
I've vacillated on my stance about supporting older Go versions, but I am now thinking that we should. To do this correctly, we will need to develop a |
Could you elaborate on this? Widespread use of a release version out of security support is a security concern for the ecosystem and I'd like to understand if there's something we can do to avoid it. |
Upgrade to go 1.13 has been a bit of a protracted affair for us partly due to the opt in nature of the google proxy for modules. We are getting to the end of this and hope to upgrade soon. From what I can see there are still services out there which require running with older versions of go. An example of this is google appengine which only supports go 1.13 as beta functionality. I suspect that a lot of this is more a packaging problem in that as tools such as gopls are not available as binaries so tools such as vscode-go pull gopls as source and build on the fly. Not sure on the best solution here. |
Another thing I was thinking about it that it is not obvious that https://github.com/golang/tools follows the same release policy as https://github.com/golang/go. Perhaps this could be made more obvious by having it documented in https://github.com/golang/tools. |
In an ideal world, it would be nice if everyone moves timely to the new thing. But in practice, we know some platform couldn't get rid of 1.9 until recently. Google's Appengine doc is still listing go1.12 https://cloud.google.com/appengine/docs/standard/go/runtime. And, some users may want to test their software with different versions of Go to check regression or run comparison, and I believe that is a valid use case. |
Change https://golang.org/cl/243578 mentions this issue: |
We still don't have a good way to make sure that we don't break 1.12 support, but this is an easy enough fix to start with. Updates golang/go#39146 Change-Id: I14fe997fa1f3d60320d77e664208e25d97ae6f4f Reviewed-on: https://go-review.googlesource.com/c/tools/+/243578 Run-TryBot: Rebecca Stambler <rstambler@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Findley <rfindley@google.com>
Since Go 1.15 will be coming soon, I think we should aim to only support 1.12-1.15 (~current - 4). I imagine that it will be a while before #39159 is resolved, but in the meantime, @findleyr has said that we can add support for testing different Go versions in our GCB CI system. |
Change https://golang.org/cl/250941 mentions this issue: |
Seems we've drifted a bit from go1.12 support, mostly due to error wrapping. Fix this, as well as some assorted other failures. I haven't tested 1.12 interactively. For golang/go#39146 Change-Id: Id347ead2a13e89b76d2ae0047750e6b6b49911eb Reviewed-on: https://go-review.googlesource.com/c/tools/+/250941 Run-TryBot: Robert Findley <rfindley@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rebecca Stambler <rstambler@golang.org>
Change https://golang.org/cl/253281 mentions this issue: |
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
No.
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
In VSCode I updated to the latest version of gopls.
What did you expect to see?
Expected to see gopls installed correctly.
What did you see instead?
gopls failed to install due to a dependency on a package which uses a newer go language feature (errors.As) than is available in the version of go I am using (go 1.12).
The text was updated successfully, but these errors were encountered: