2024-04-21 17:31:33 by Thomas Klausner | Files touched by this commit (3) | |
Log message: gopls: update to 0.15.3. This release fixes the following regressions in gopls@v0.15.0+: golang/go#66490: occasional crashes when the imports cache is refreshed. golang/go#66425: spurious import errors in multi-root workspaces that have \ go.work replace directives. golang/go#66636: a crash in analysis when the go.mod contains a patch \ version and gopls was built with Go 1.20 or earlier. golang/go#66677: silent breakage when the go.mod file contains Go 1.22.x, \ and gopls was built with Go 1.21.x. golang/go#66731: a rare crash when diagnostics are erroneously positioned \ outside the file due to malformed syntax. golang/go#66647: a performance regression due to unnecessary reloading \ following "workspace/didChangeConfiguration" notifications. Under some \ not-yet-understood conditions, an apparent VS Code bug causes \ didChangeConfiguration notifications on every keystroke. With the zero-config \ logic of gopls@v0.15.0+, any didChangeConfiguration notification causes gopls to \ re-evaluate (and reload) the set of builds it tracks. With the v0.15.3 release, \ gopls verifies that configuration actually changed. Special thanks to \ @gordallott for working with us to track down this bug. |
2024-04-05 21:14:14 by Benny Siegert | Files touched by this commit (161) | |
Log message: Revbump all Go packages after go121 update |
2024-03-16 18:13:20 by Benny Siegert | Files touched by this commit (3) | |
Log message: gopls: update to 0.15.2 This release fixes the following regressions in gopls@v0.15.0+. - a crash when encountering a test file excluded via build tags, which also contained an invalid import of a main package. This could occur in a tools_test.go file implementing the common pattern for tool dependencies. - spurious import errors in multi-root workspaces. In some scenarios, the new zero-config logic added in gopls@v0.15.0 resulted in inaccurate errors about missing imports. This could occur when module A has a local replace of module B, and A and B are open as a separate workspace folders. - a crash when working on modules with a go directive of the form go a.b.c, when gopls was compiled with Go 1.20 or earlier. - a crash when SignatureHelp is cancelled (found via telemetry) - a crash in references when one of the package files is missing a package declaration (found via telemetry) These last two crashes are worth highlighting. Both were found via the (off by default) automated crash reporting added in gopls@v0.15.0. Both were unlikely to get reported via GitHub issues, because they won't happen frequently enough for most LSP clients to notify the user. This is a perfect example of how telemetry can help us deliver a more reliable product than would be possible without automated reporting. |
2024-03-03 12:39:22 by Thomas Klausner | Files touched by this commit (3) | |
Log message: gopls: update to 0.15.1. 0.15.1 This release fixes golang/go#65952, a crash in document highlighting when the \ cursor is in a return value for a function that has no results, such as the \ following example: func f() { // <-- no results return 0| // <-- cursor at '|' } Thanks very much to @patrickpichler who both reported and fixed this bug! We're hopeful that once Go 1.23 is released, the opt-in automated crash \ reporting added in gopls v0.15.0 will increase the likelihood that these types \ of crashes are caught before they are released. 0.15.0 This release introduces "zero config" gopls workspaces, which is a set \ of heuristics allowing gopls to Do The Right Thing when you open a Go file. We \ believe this addresses two of the largest pain points we hear about from our \ users: difficulty configuring multi-module repositories, and working on multiple \ GOOS/GOARCH combinations. However, this is a large change to the way gopls \ models your workspace, and the dynamic loading/unloading of builds may be \ surprising in some cases. Your feedback on this new feature is greatly \ appreciated. See below for more details. New Features Simpler workspace configuration and improved build tag support Preview refactoring edits Analysis & diagnostics Automated crash reporting (off by default) Housekeeping and Bug Fixes. |
2024-02-07 15:51:04 by Benny Siegert | Files touched by this commit (156) | |
Log message: Revbump all Go packages after go121 update |
2024-01-10 20:14:43 by Benny Siegert | Files touched by this commit (152) | |
Log message: Revbump all Go packages after go121 update |
2023-12-05 20:46:19 by Benny Siegert | Files touched by this commit (146) | |
Log message: Revbump all Go packages after go121 update |
2023-11-19 14:34:00 by Thomas Klausner | Files touched by this commit (3) | |
Log message: gopls: update to 0.14.2. This release contains just one change: an upgrade of x/telemetry to pick up support for the "local" telemetry mode (golang/go#63832). Previously, when the telemetry mode was "off" (the default), counter data would not be uploaded, but would be written to the os.UserConfigDir()/go/telemetry/local directory of the local file system. We heard from a few users that, as a matter of policy within their organization, they need a way to prevent even this local data from being written. With this release, running gotelemetry off will stop gopls from writing this local counter data. Note that the os.UserConfigDir()/go/telemetry/mode file must be written to record the "off" state. The new default telemetry mode is "local", which behaves the same way as "off" did before. In "local" mode, counter data is written to the local file system, but not uploaded. Local data can be inspected with the gotelemetry view command. See golang/go#63832 for more details. Thanks again for helping us support transparent telemetry in gopls. As described in the v0.14.0 release notes, we are confident that this data will help us produce a better, faster, more reliable product. In fact this is already happening. |
2023-11-10 16:45:25 by Benny Siegert | Files touched by this commit (152) | |
Log message: Revbump all Go packages after go121 update |
2023-10-30 20:15:04 by Benny Siegert | Files touched by this commit (3) | |
Log message: gopls: update to 0.14.1 This release contains just two changes: - A workaround for a regression affecting some users of GOPACKAGESDRIVER, for example those using gopls with an older version of Bazel. When the go/packages driver is missing compiler or architecture information, gopls now assumes a default value rather than failing to load package information. - A fix for a minor bug in the new "remove unused parameter" refactoring. Notably, this bug was discovered via an automated report from someone who had opted in to Go telemetry. |