Skip to content

Releases: golang/vscode-go

Release 0.34.0-rc.1

10 Jun 17:05
Compare
Choose a tag to compare
Release 0.34.0-rc.1 Pre-release
Pre-release
  • Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.34.0

  • Commits: v0.33.1...v0.34.0-rc.1

  • How to test prerelease

    • Download the .vsix file from this Releases page.
    • Navigate to the Extensions view in VS Code (Ctrl+Shift+X). Click on the "..." in the top-right corner, select "Install from VSIX", and select the .vsix file you downloaded. Alternatively, you can run code --install-extension Go-latest.vsix or open the Command Palette and run the "Extensions: Install from VSIX..." command.
    • If prompted, reload VS Code.

Release 0.33.1

24 May 18:54
Compare
Choose a tag to compare

v0.33.1 - 24 May, 2022

This is the last release that supports Visual Studio Code 1.66 or older.
We plan to add support for LSP 3.17 in the next release and the change requires Visual Studio Code 1.67+.

Changes

  • Updated settings to be in sync with gopls@v0.8.4. See the release note to learn new features like the //go:embed analyzer, and improved hover for imported packages.
  • Prepared for 2022 mid-year Go developer survey.

Release 0.33.1-rc.1

24 May 14:01
Compare
Choose a tag to compare
Release 0.33.1-rc.1 Pre-release
Pre-release
  • Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.33.1

  • Commits: v0.33.0...v0.33.1-rc.1

  • How to test prerelease

    • Download the .vsix file from this Releases page.
    • Navigate to the Extensions view in VS Code (Ctrl+Shift+X). Click on the "..." in the top-right corner, select "Install from VSIX", and select the .vsix file you downloaded. Alternatively, you can run code --install-extension Go-latest.vsix or open the Command Palette and run the "Extensions: Install from VSIX..." command.
    • If prompted, reload VS Code.

Release 0.33.0

02 May 16:55
Compare
Choose a tag to compare

v0.33.0 - 1 May 2022

📣 Remote attach debugging is now available via Delve's native DAP implementation with Delve v1.7.3 or newer. It is now the default with the Go Nightly and will become the default for the stable releases in mid 2022.

Changes

  • staticcheck: if go 1.16.x or older is used in installing tools, the extension chooses staticcheck@v0.2.2. In order to use the latest version of staticcheck while working on projects that require older versions of go, you can utilize the "go.toolsManagement.go" setting to specify a newer version of go for tool installation. (Issue 2162)

  • go-outline: go-outline is no longer required when gopls (v0.8.2+) is used.

  • Activation: the extension defers commands and feature provider registrations until it runs go version and go env, and starts gopls. This change prevent the extension prematually export its features, but may result in a slight increase in extension activation time if those commands run slow.

  • Survey: we show the Gopls opt-out survey prompt only when users change the setting to disable gopls.

  • Test Explorer: fixed a bug in go.mod file parsing (Issue 2171)

  • Debugging: we removed the informational popup at the start of remote attach session with dlv-dap. (Issue 2018)

Experimental features

This version includes two highly experimental features. They are still
in early stage and we are looking forward to hearing more user feedback.

goexplorer.1.mov

(Demo: Using the Go Explorer view UI to quickly change GOOS setup)

  • Go: Run Vulncheck (Experimental) command: it runs the govulncheck command embedded in gopls, which identifies known vulnerabilities by call graph traversal and module dependency analysis. (Issue 2096)

Thanks

@jamalc, @polinasok, @dlipovetsky, @vladdoster, @suzmue, @hyangah

Release 0.32.0

08 Mar 22:02
Compare
Choose a tag to compare

v0.32.0 - 8 Mar, 2022

This version includes features to enhance Go 1.18 support. It works best when paired with the latest Go Language Server (gopls v0.8.0+) and Delve (dlv v1.8.0+).

Go 1.18 introduces substantial changes to the language spec, so many tools need rebuilding with Go 1.18 or newer. The extension now suggests updates of tools if it finds they were built with old versions of go which are inadequate for the version used for the project. If you opted in for auto-update, tools will be auto-updated.

In order to use Go 1.18, please follow the instruction to configure your Visual Studio Code to locate the right go binary, and run the Go tools using the "Go: Install/Update Tools" command.

A list of all issues and changes can be found in the v0.32.0 milestone and commit history.

Changes

  • Starting with Go 1.18, the go command provides native support for multi-module workspaces, via go.work files. The new "Open 'go.work'" option in the Go status bar's quickpick menu allows users to access the corresponding go.work file.
    go work short

  • The extension no longer depends on gopkgs. Its use for "Go: Browse Packages" and "Go: Add Import" commands had been replaced with go list or commands in gopls. (Issue 258)

  • The extension uses gopls instead of go-outline if gopls v0.8.0 or newer is used. We plan to complete the replacement work in the next release. (Issue 1020)

  • The new "go.toolsManagement.go" setting allows users to specify the Go command for tools installation/updates separate from the Go command used for the project.

  • The latest gopls requires go 1.13+ for installation, so the extension no longer asks for gopls updates when an older versions of go is used. (Issue 2030) Note gopls compiled with go 1.13 or newer can still process projects that use go 1.12. In case, you want to update gopls while working with an older version of Go, utilize the new "go.toolsManagement.go" setting.

  • Reduced the verbosity of "Go: Locate Configured Go Tools" output.

Code Health

  • Updated to mocha@9.2.0 (CVE-2021-23566).
  • Deflaked debug tests.
  • Changed to check go.dev/dl instead of golang.org/dl for Go release.
  • Improved documentation for the default formatting behavior and template support.

Thanks

@jamalc @suzmue @pavlelee @dekimsey @hyangah

Release 0.31.1

09 Feb 17:44
Compare
Choose a tag to compare

v0.31.1 - 8 Feb, 2022

A list of all issues and changes can be found in the v0.31.1 milestone and commit history.

Fixes

  • Fixed the profile functionality broken by VSCode 1.63 (Issue 2048)
  • Include fuzz tests in test explorer UI (Issue 2023)

Release 0.31.0

26 Jan 18:09
Compare
Choose a tag to compare

v0.31.0 - 26 Jan, 2022

A list of all issues and changes can be found in the v0.31.0 milestone and commit history.

Fixes

  • src/goStatus: assign id/name to each status bar item (Issue 1571)
  • Change go template file language id to gotmpl (Issue 1957)

Debugging

Test Explorer

  • src/goTest: don't resolve tests in virtual files
  • src/goTest: fix output for subtests (Issue 1837)

Development Process Updates

  • Recommend that contributers use npm ci instead of npm install when developing vscode-go (Issue 2010)
  • test: use @vscode/test-electron instead of vscode-test
  • go.mod: update imports to latest versions
  • package.json: pin direct dependencies (Issue 2010)
  • Enable tests with go1.18beta1 (Issue 1950)

Thanks

Thank you for your contribution, @firelizzard18, @hyangah, @jamalc, @polinasok, @TheNagaPraneeth, @suzmue!

Release 0.30.0

16 Dec 17:00
Compare
Choose a tag to compare

v0.30.0 - 16 Dec, 2021

📣 Remote attach debugging is now available via Delve's native DAP implementation with Delve v1.7.3 or newer. We plan to enable this as the default in early 2022 to enhance remote debugging with the same debugging features that are already in use for local debugging.
We recommend switching your remote attach configurations in launch.json to use "debugAdapter":"dlv-dap" now to verify that this works for you. Please file a new issue if you encounter any problems.

Full list of all issues and changes can be found in the v0.30.0 milestone and commit history.

Changes

  • Debugging

    • dlv-dap is pinned at @2f136727.
    • Remote debugging support using dlv-dap is available.
      Please follow the instruction to enable remote debugging using dlv-dap. (Issue 1861)
    • Launch configuration:
    • Runtime frames are no longer deemphasized. (Issue 1916)
    • Logpoints support is available. (Issue 123)
    • DEBUG CONSOLE accepts the new dlv command that allows users to dynamically inspect/adjust debug configuration. Please run dlv help from DEBUG CONSOLE to see the list of supported options.
    • Bug fixes:
      • Correctly infer mode for attach requests. (Issue 1929)
      • Stop debugging when delve remote connection ends in legacy remote debugging. (CL 366936)
      • Allow users to debug with older versions of dlv-dap. (Issue 1814)
  • Enabled Go template file processing. (Issue 609) By default, files with .tmpl and .gotmpl extension are treated as Go template files.

  • Include Fuzz* functions in Testing UI and adds test codelens. (Issue 1794)

  • gofumports is pinned at v0.1.1. We plan to remove it from the recognized formatter tool list since gofumports is officially deprecated early next year.

  • Disabled separate linting if gopls's 'staticcheck' is enabled. (Issue 1867)

  • Updated the in-editor user survey URL. (CL 360775)

  • Limited Go file search scope for extension activation (Issue 1894)

  • Code Health

    • Enabled esModuleInterop. (CL 349170)
    • Bumped TS target to ES2017. (Issue 1712)
    • Updated json-schema to 0.4.0

Thanks

Thank you for your contribution, @polinasok, @suzmue, @firelizzard18, @hashedhyphen, @fengwei2002, @devuo, @fflewddur, @hyangah

Release 0.29.0

27 Oct 16:03
Compare
Choose a tag to compare

v0.29.0 - 26 Oct, 2021

A list of all issues and changes can be found in the v0.29.0 milestone and commit history.

Changes

  • Prompt users for the 2021 Go Developer survey. go.survey.prompt is a new setting to control survey prompts.
  • Use go install for tools installation when using go1.16+. From go1.18, go get will no longer build/install tools. See the deprecation notice. (Issue 1825) The extension runs go install from the workspace root directory, and the old workaround for Issue 757 is unnecessary.
  • Language Server:
    • Print all GOPATHs when there are multiple GOPATHs. (Issue 1848)
    • Synced settings @ gopls/v0.7.3
  • "Go: Generate Interface Stubs" allows '-' as an acceptable char for interface names. (Issue 1670)
  • Test UX:
    pprof
  • Debug:
    • Added showLog/logOutput/dlvFlags to go.delveConfig setting that change the default values for them. (Issue 1723)
    • Handle directory with '.' in its name correctly and warn users for invalid program (Issue 1826, 1769)

Thanks

Thank you for your contribution, @firelizzard18, @Zamiell, @mislav, @polinasok, @hyangah, @stamblerre, @suzmue, and @yinheli!

Release 0.28.1

24 Sep 20:59
Compare
Choose a tag to compare

v0.28.1 - 24 Sep, 2021

A list of all issues and changes can be found in the v0.28.1 milestone and commit history.

Fixes

  • Skipped launch configuration adjustment to address build errors when debugging using externally launched delve DAP servers. (Issue 1793)
  • Restore the fix for Issue 1729 that was accidentally dropped during merge for release.