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

chore(deps): bump golang.org/x/tools from 0.7.0 to 0.9.2 #961

Merged

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jun 1, 2023

Bumps golang.org/x/tools from 0.7.0 to 0.9.2.

Release notes

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

gopls/v0.9.2

This release contains many bug fixes, particularly related to problems that would require restarting gopls.

Note about network usage: among these fixes was a change to allow network usage when reloading the workspace. Reloading occurs when a go.mod, go.sum, or go.work file changes on disk. In the past, gopls would only allow network during the first workspace load. This resulted in confusing behavior when, for example, a new dependency is added to a go.mod file and gopls could not load it, but loading succeeded on restart. See #54069 for more details.

Configuration changes

directoryFilters at arbitrary depth

The "directoryFilters" setting now supports excluding directories at arbitrary depth, using the ** operator. (note that for v0.9.2, the default value for this setting is still ["-node_modules]". In the next release, this will change to ["-**/node_modules"]).

Bug fixes and Performance improvements...

This release contains the following notable bug fixes / performance improvements:

  • Additional change optimization - Following up on the work to optimize change processing from the v0.9.0 release, this release contains additional optimizations that result in around 50% faster change processing (measured via edits in the Kubernetes repo).
  • Fix for a long-standing memory leak - #53780 fixed a long-standing bug that caused gopls to hold on to its initial state, gradually leaking memory as state changed during the editing session.
  • Fewer restarts - This release contains many fixes for cache-invalidation bugs that would cause gopls to get confused and require restarting. Additionally, see the note at top about enabling the network when reloading the workspace. We believe we are close to our goal that restarting gopls should never be required to fix workspace errors. If you encounter such a bug, please file an issue!

A full list of all issues fixed can be found in the gopls/v0.9.2 milestone. To report a new problem, please file a new issue at https://go.dev/issues/new.

Thank you to our contributors!

Thank you for your contribution, @​alandonovan, @​antoineco, @​dle8, @​euroelessar, @​findleyr, @​hyangah, @​jamalc, @​mssdvd, @​pjweinbgo, @​rentziass, and @​suzmue!

What's next

The next planned gopls release is v0.10.0. We’re excited about features and improvements on the horizon, for example:

  • Package renaming (#41567)
  • More accurate static-analysis (#48738)
  • Improved support for the new 1.19 doc comment format (#54260)
  • Making it easier to work with go.work files (many issues, for example #53880 or #54261)

gopls/v0.9.1

This release fixes a regression in the v0.9.0 release: a crash when running the go:generategolang/go#53781

Thank you to all those who filed crash reports, and apologies for the breakage!

[email protected]

This release contains significant performance improvements (especially in incremental processing after source changes), bug fixes, and support for the LSP “inlay hints” feature, along with several other minor enhancements.

Performance improvements

Source edits cause gopls to invalidate and recompute information about the workspace, most of which has not changed. Previously, gopls would spend significant CPU copying data structures, sometimes more than 100ms per keystroke in a large workspace. This release includes many optimizations to avoid copying data needlessly, including a new map representation to achieve copying in constant time. Special thanks to @​euroelessar for the design and implementation of this data structure.

As a result of these improvements, gopls should be more responsive while typing in large codebases, though it will still use a lot of memory.

Time to process a change notification in the Kubernetes repo:

... (truncated)

Commits
  • 96844c3 cmd/{guru,callgraph}: stop using go/pointer
  • cd694d8 go/packages: include "unsafe".GoFiles=["unsafe.go"]
  • 33c741d gopls/internal/lsp: add min/max builtin
  • 933c7cc internal/lsp/source: use exact match in import highlighting
  • 5974258 gopls/internal/lsp: clear vuln diagnostics on config changes
  • f3faea1 go/packages: pass -pgo=off on go1.21 and later
  • 5f74ec7 internal/lsp/debug: add links to profiles and GC
  • ed90c6d internal/diff: unexport various identifiers
  • 827f5aa gopls/internal/lsp/source: test references bug on struct{p.T}
  • a12e1a6 go/ssa/interp: implement min/max builtins
  • 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 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](https://github.com/golang/tools) from 0.7.0 to 0.9.2.
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](golang/tools@v0.7.0...v0.9.2)

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

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code labels Jun 1, 2023
@dependabot dependabot bot requested a review from EtienneM June 1, 2023 00:56
@github-actions github-actions bot enabled auto-merge June 1, 2023 00:57
@github-actions github-actions bot merged commit 11f0a0d into master Jun 1, 2023
@github-actions github-actions bot deleted the dependabot/go_modules/golang.org/x/tools-0.9.2 branch June 1, 2023 01:19
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 go Pull requests that update Go code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants