This release updates the golang.org/x/telemetry dependency to pick up fixes for the following bugs:
golang/go#68946: unnecessary downloading of the golang.org/x/telemetry/config module
golang/go#68358: a potential crash on Windows when the telemetry counter file is extended
golang/go#68311: a potential hanging process if the telemetry file is truncated
Additionally, this release changes the gopls/telemetryprompt/acceptedgolang/go#68770
golang/go#57643
Future improvements
Between release automation, opt-in telemetry with crash reporting, the new VS Code prerelease extension, and toolchain upgrades, we're now able to iterate on gopls faster and significantly more safely than we could in the past. Stay tuned for new features in prereleases of gopls@v0.17.0 starting later this month.
gopls/v0.16.1
This release addresses the following gopls issues:
golang/go#68116, broken links to dependencies in the new integrated doc viewer.
golang/go#68213, a crash when hovering over an interface with an empty type set.
golang/go#68240, additional telemetry instrumentation to help inform decisions for gopls@v0.17.0. (Note that this is local instrumentation only; a separate proposal will be filed to allow collection of this data from users who have opted in to sharing their telemetry data).
gopls/v0.16.0
This release includes several features and bug fixes, and is the first version of gopls to support Go 1.23. To install it, run:
go install golang.org/x/tools/gopls@v0.16.0
New support policy; final support for Go 1.19 and Go 1.20
TL;DR: We are narrowing gopls' support window, but this is unlikely to affect you as long as you use at least Go 1.21 to build gopls. This doesn't affect gopls' support for the code you are writing.
This is the last release of gopls that may be built with Go 1.19 or Go 1.20, and also the last to support integrating with go command versions 1.19 and 1.20. If built or used with either of these Go versions, it will display a message advising the user to upgrade.
When using gopls, there are three versions to be aware of:
The gopls build go version: the version of Go used to build gopls.
The go command version: the version of the go list command executed by gopls to load information about your workspace.
The language version: the version in the go directive of the current file's enclosing go.mod file, which determines the file's Go language semantics.
This gopls release, v0.16.0, is the final release to support Go 1.19 and Go 1.20 as the gopls build go version or go command version. There is no change to gopls' support for all language versions--in fact this support has somewhat improved with the addition of the stdversion analyzer (see below).
Starting with gopls@v0.17.0, which will be released after Go 1.23.0 is released in August, gopls will only support the latest version of Go as the gopls build go version. However, thanks to the forward compatibility added to Go 1.21, any necessary toolchain upgrade should be handled automatically for users of Go 1.21 or later, just like any other dependency. Additionally, we are reducing our go command version support window from 4 versions to 3. Note that this means if you have at least Go 1.21 installed on your system, you should still be able to go install and use gopls@v0.17.0.
We have no plans to ever change our language version support: we expect that gopls will always support developing programs that target any Go version.
By focusing on building gopls with the latest Go version, we can significantly reduce our maintenance burden and help improve the stability of future gopls releases. See the newly updated support policy for details. Please comment on golang/go#65917 if you have concerns about this change.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps golang.org/x/tools from 0.1.10 to 0.25.0.
Release notes
Sourced from golang.org/x/tools's releases.
... (truncated)
Commits
7398f36
all: fix some symbols error in commentf111c72
go/callgraph/rta: skip test on js platform9f9b7e3
gopls/internal/settings: add missing deep cloning in Options.Clonece7eed4
doc/generate: minor cleanup075ae7d
go/callgraph/vta: add basic tests for range-over-func2c7aaab
go/ssa: skip failing test1b5663f
go/callgraph/vta: perform minor cleanups0a49883
gopls/go.mod: update the go directive to 1.23.1ad366a8
go.mod: update golang.org/x dependencies4fb36d1
go/callgraph/rta: add rta analysis test case for multiple go packagesDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show