Skip to content
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

Bump golang.org/x/tools/gopls from 0.15.3 to 0.16.0 #201

Merged

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jun 25, 2024

Bumps golang.org/x/tools/gopls from 0.15.3 to 0.16.0.

Release notes

Sourced from golang.org/x/tools/gopls's releases.

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/[email protected]

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:

  1. The gopls build go version: the version of Go used to build gopls.
  2. The go command version: the version of the go list command executed by gopls to load information about your workspace.
  3. 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 [email protected], 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 [email protected].

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.

Configuration changes

  • The experimental allowImplicitNetworkAccess setting is deprecated (but not yet removed). Please comment on golang/go#66861 if you use this setting and would be impacted by its removal.

New features

Go 1.23 support

This version of gopls is the first to support the new language features of Go 1.23, including range-over-func iterators and support for the godebug directive in go.mod files.

Integrated documentation viewer

Gopls now offers a "Browse documentation" code action that opens a local web page displaying the generated documentation for Go packages and symbols in a form similar to https://pkg.go.dev. The package or symbol is chosen based on the current selection.

Use this feature to preview the marked-up documentation as you prepare API changes, or to read the documentation for locally edited packages, even ones that have not yet been saved. Reload the page after an edit to see updated documentation.

As in pkg.go.dev, the heading for each symbol contains a link to the source code of its declaration. In pkg.go.dev, these links would refer to a source code page on a site such as GitHub or Google Code Search. However, in gopls' internal viewer, clicking on one of these links will cause your editor to navigate to the declaration. (This feature requires that your LSP client honors the showDocument downcall.)

Editor support:

  • VS Code: use the "Source action > Browse documentation for func fmt.Println" menu item.

... (truncated)

Commits
  • a9ef4cf go.mod: update golang.org/x dependencies
  • d9b9452 gopls/internal/lsp/cache: move quick-fix bundling logic to the cache pkg
  • 1733061 go/analysis/passes/testinggoroutine: report by enclosing regions
  • b19be0f gopls/internal/cmd/help_test.go: document
  • daa4aa5 gopls/internal/lsp/source: stubmethods: fix out-of-bounds index
  • a586d0d go/types/internal/play: show more types.Scope detail
  • 53ad329 gopls/internal/lsp/source: move edit logic into the protocol package
  • 3c677e3 gopls/internal/lsp/cache: move SuggestedFixFromCommand into cache
  • ab6af7d gopls/internal/lsp/source: extract InDir to a new pathutil package
  • e7d61d9 gopls/internal/lsp/cache: simplify named error values
  • Additional commits viewable in compare view

Dependabot compatibility score

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 <dependency name> 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)

@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Jun 25, 2024
@dependabot dependabot bot force-pushed the dependabot/go_modules/golang.org/x/tools/gopls-0.16.0 branch from 371d59c to d9af094 Compare June 26, 2024 00:23
Bumps [golang.org/x/tools/gopls](https://github.com/golang/tools) from 0.15.3 to 0.16.0.
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](golang/tools@gopls/v0.15.3...v0.16.0)

---
updated-dependencies:
- dependency-name: golang.org/x/tools/gopls
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/go_modules/golang.org/x/tools/gopls-0.16.0 branch from d9af094 to 0946682 Compare June 26, 2024 00:28
@jacobbednarz jacobbednarz merged commit 5ddd95f into master Jun 26, 2024
6 checks passed
@jacobbednarz jacobbednarz deleted the dependabot/go_modules/golang.org/x/tools/gopls-0.16.0 branch June 26, 2024 00:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant