Skip to content

Commit

Permalink
build(deps): bump golang.org/x/tools from 0.11.0 to 0.12.0 (#133)
Browse files Browse the repository at this point in the history
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.11.0
to 0.12.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/golang/tools/releases">golang.org/x/tools's
releases</a>.</em></p>
<blockquote>
<h2>gopls/v0.12.0</h2>
<p>This release contains a major rewrite of the way gopls computes and
stores package information, with the goal of reducing memory usage and
allowing gopls to scale to larger repositories. This change can also
significantly reduce startup time when workspaces are reopened, as gopls
now uses a file-based cache to persist data across sessions. With these
optimizations, gopls is finally able to <a
href="https://go.dev/issues/48738">fully analyze dependencies</a> using
the <a
href="https://pkg.go.dev/golang.org/x/tools/go/analysis">golang.org/x/tools/go/analysis</a>
framework, resulting in improved accuracy for analysis diagnostics.</p>
<p>You can install this release with <code>go install</code>:</p>
<pre><code>go install golang.org/x/tools/gopls@v0.12.0
</code></pre>
<h1>Support changes</h1>
<p>As gopls matures, we're trying to simplify its configuration so that
gopls Just Works in more scenarios, and so that we have fewer
configuration combinations to test. This means that we will be gradually
deprecating settings that affect the core behavior of gopls.</p>
<h2>Removed experimental configuration options</h2>
<p>As announced in the <a
href="https://github.com/golang/tools/releases/tag/gopls%2Fv0.10.0">v0.10.0
release notes</a>, this release removes support for the
<code>experimentalWorkspaceModule</code> and
<code>experimentalWatchedFileDelay</code> settings. The
<code>experimentalPackageCacheKey</code> setting is also removed, as it
is irrelevant in the new design.</p>
<p>The <code>experimentalWorkspaceModule</code> setting in particular
may still be in use by some users. This setting has been superseded by
built-in support for multi-module workspaces in the <code>go</code>
command, via <a href="https://go.dev/doc/tutorial/workspaces">Go
workspaces</a>. To get the equivalent behavior in gopls@v0.12.0, please
create a <code>go.work</code> file in your workspace using all desired
modules. To use all modules in your workspace, run:</p>
<pre><code>go work use -r .
</code></pre>
<h2>Dropped support for Go 1.13-1.15, deprecated support for Go
1.16-1.17</h2>
<p>As announced in the <a
href="https://github.com/golang/tools/releases/tag/gopls%2Fv0.10.0">v0.10.0
release notes</a>, this release drops support for Go 1.13-1.15, and in
fact does not build with these Go versions.</p>
<p>Additionally, <code>gopls@v0.12.x</code> will be the final sequence
of versions supporting Go 1.16-1.17, and therefore displays a
deprecation notice when used with these Go versions.</p>
<h2>Supported operating systems</h2>
<p>Given that our users are almost entirely on Linux, Windows, or
Darwin, we are discussing narrowing our support to focus on those
operating systems, in <a
href="https://redirect.github.com/golang/go/issues/59981">golang/go#59981</a>.</p>
<h1>Performance improvements</h1>
<p>The banner feature of this release is an internal redesign that
significantly improves the way gopls scales in larger codebases.
Performance, particularly memory usage, has <a
href="https://redirect.github.com/golang/go/issues/36943">long</a> <a
href="https://redirect.github.com/golang/go/issues/37790">been</a> <a
href="https://redirect.github.com/golang/go/issues/43968">a</a> <a
href="https://redirect.github.com/golang/go/issues/44981">pain</a> <a
href="https://redirect.github.com/golang/go/issues/45363">point</a> <a
href="https://redirect.github.com/golang/go/issues/45457">for</a> <a
href="https://redirect.github.com/golang/go/issues/46897">our</a> <a
href="https://redirect.github.com/golang/go/issues/47855">users</a>.</p>
<h2>Reduced memory usage</h2>
<p>Previous releases of gopls held typed syntax trees for all packages,
in memory, all the time. With this release, these large data structures
are ephemeral: as soon as they are constructed, an index of information
derived from them is saved persistently to a file-based cache, and the
data structures are recycled. The index for each package includes the
locations of declaring and referring identifiers; the set of exported
declarations and their types; the method sets of each interface; and any
diagnostics and facts (see below) produced during analysis. The index
holds all the information needed to serve global-scope LSP queries such
as “references”, “implementations”, and so on.</p>
<p>Moving package information to a file-based cache greatly reduces the
amount of RAM gopls uses, by almost an order of magnitude in larger
projects. The table below shows the reductions in steady-state memory
usage for three open-source Go repositories.</p>
<table>
<thead>
<tr>
<th>Project</th>
<th>Packages</th>
<th>In-use bytes v0.11.0</th>
<th>v0.12.0</th>
<th>Change</th>
</tr>
</thead>
<tbody>
<tr>
<td>gopls</td>
<td>405</td>
<td>497MB</td>
<td>232MB</td>
<td>-53%</td>
</tr>
<tr>
<td>kubernetes</td>
<td>3137</td>
<td>3090MB</td>
<td>832MB</td>
<td>-73%</td>
</tr>
<tr>
<td>google-cloud-go + submods</td>
<td>7657</td>
<td>5039MB</td>
<td>863MB</td>
<td>-83%</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/golang/tools/commit/229f8486be036a365bbcaf1172d01d089ea59965"><code>229f848</code></a>
gopls/internal/lsp/source: enable new defers analyzer</li>
<li><a
href="https://github.com/golang/tools/commit/2dc7ebab284bdfe6bb7ae8b77c3cccb0049e13ce"><code>2dc7eba</code></a>
go/analysis: use parser.SkipObjectResolution</li>
<li><a
href="https://github.com/golang/tools/commit/f91c023a9b093f57e379f719591d5e3725e07600"><code>f91c023</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="https://github.com/golang/tools/commit/e0783a89e9a456f9b64aa66717db398a20e7921d"><code>e0783a8</code></a>
internal/gcimporter: remove bug report on objectpath failure</li>
<li><a
href="https://github.com/golang/tools/commit/75f6f9c0b004228b5a2a6f4c6a7a9719321e29bd"><code>75f6f9c</code></a>
gopls/internal/bug: add gopls/bug telemetry counter</li>
<li><a
href="https://github.com/golang/tools/commit/4b271f9c7195c9e700572e4ea43cf1121b12e6ee"><code>4b271f9</code></a>
gopls: add gopls/client telemetry counters</li>
<li><a
href="https://github.com/golang/tools/commit/d0b18e25a0aba0090de3d8b744fb001bf16763cf"><code>d0b18e2</code></a>
go/analysis/passes/copylock: fix infinite recursion</li>
<li><a
href="https://github.com/golang/tools/commit/5b4d4266651c799fcd0de7475fcaf3afd7512a58"><code>5b4d426</code></a>
gopls/internal/hooks: clean language version before passing to
gofumpt</li>
<li><a
href="https://github.com/golang/tools/commit/2160c5f15ff7f02edd7dce655540bb17619ca99b"><code>2160c5f</code></a>
gopls/internal/lsp/analysis: fix stubmethods with variadic
parameters</li>
<li><a
href="https://github.com/golang/tools/commit/3d20bbe0fb2f6c3c3b340ce4d0bbcd1ad880071c"><code>3d20bbe</code></a>
internal/gcimporter: add a missing return if objectpath fails</li>
<li>Additional commits viewable in <a
href="https://github.com/golang/tools/compare/v0.11.0...v0.12.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.11.0&new-version=0.12.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • Loading branch information
dependabot[bot] authored Aug 15, 2023
1 parent d0a67e3 commit 94feab3
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ require (
github.com/rogpeppe/go-internal v1.11.0
github.com/stretchr/testify v1.8.4
go.uber.org/multierr v1.11.0
golang.org/x/tools v0.11.0
golang.org/x/tools v0.12.0
)

require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
golang.org/x/mod v0.12.0 // indirect
golang.org/x/sys v0.10.0 // indirect
golang.org/x/sys v0.11.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
8 changes: 4 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN8
golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA=
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/tools v0.11.0 h1:EMCa6U9S2LtZXLAMoWiR/R8dAQFRqbAitmbJ2UKhoi8=
golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8=
golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/tools v0.12.0 h1:YW6HUoUmYBpwSgyaGaZq1fHjrBjX1rlpZ54T6mu2kss=
golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
Expand Down

0 comments on commit 94feab3

Please sign in to comment.