./devel/gopls, LSP server for Go editor integration

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.15.1, Package name: gopls-0.15.1, Maintainer: bsiegert

The gopls command is an LSP server for Go. The Language Server Protocol
allows any text editor to be extended with IDE-like features; see
https://langserver.org/ for details.


Required to build:
[pkgtools/cwrappers] [lang/go114]

Master sites:

Filesize: 3626.111 KB

Version history: (Expand)


CVS history: (Expand)


   2024-03-03 12:39:22 by Thomas Klausner | Files touched by this commit (3) | Package updated
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) | Package updated
Log message:
Revbump all Go packages after go121 update
   2024-01-10 20:14:43 by Benny Siegert | Files touched by this commit (152) | Package updated
Log message:
Revbump all Go packages after go121 update
   2023-12-05 20:46:19 by Benny Siegert | Files touched by this commit (146) | Package updated
Log message:
Revbump all Go packages after go121 update
   2023-11-19 14:34:00 by Thomas Klausner | Files touched by this commit (3) | Package updated
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) | Package updated
Log message:
Revbump all Go packages after go121 update
   2023-10-30 20:15:04 by Benny Siegert | Files touched by this commit (3) | Package updated
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.
   2023-10-29 18:39:19 by Benny Siegert | Files touched by this commit (3) | Package updated
Log message:
gopls: update to 0.14.0

This release includes initial support for the "inline call to function"
refactoring, as well as a few other smaller features. It also includes several
bug fixes, notably a fix for a performance regression in completion that may be
significant in some environments.

The release also contains support for opt-in telemetry. If you want, you can
enable the periodic uploading of telemetry data, including gopls stack traces
and metrics, but never your source code, to telemetry.go.dev. See below for
details.

New features
------------

- Refactoring: inline call to function
- Refactoring: removing unused parameters
- Improved support for go:embed directives, including hover and
  jump-to-definition

New analyses
------------

This release include three new static analyses, all of which are enabled by
default.

"appends": reports calls to append that pass no values to be appended \ 
to the
slice.

"defers": checks for common mistakes in defer statements.

"slog": checks for invalid structured logging calls.

Opt-in telemetry
----------------

This is the first gopls release to include opt-in transparent telemetry.
Telemetry uploading is off by default, and can be enabled with the following
command:

go run golang.org/x/telemetry/cmd/gotelemetry@latest on

After telemetry is enabled, gopls will periodically upload metrics and stack
traces to telemetry.go.dev. If we get enough adoption, this data can
significantly advance the pace of gopls development and help us meet a higher
standard of reliability. For example:

- Even with semi-automated crash reports in VS Code, we've seen several
  crashers go unreported for weeks or months.
- Even with a suite of benchmarks, some performance regressions don't show up
  in our benchmark environment (such as the completion bug mentioned below!).
- Even with lots of great ideas for how to improve gopls, we have limited
  resources. Telemetry can help us identify which new features are most
  important, and which existing features aren't being used or aren't working
  well.

These are just a few ways that telemetry can improve gopls. The telemetry blog
post series contains many more.

Go telemetry is designed to be transparent and privacy-preserving. If you have
concerns about enabling telemetry, you can learn more at
https://telemetry.go.dev/privacy.