All Versions
Latest Version
Avg Release Cycle
21 days
Latest Release
2 days ago

Changelog History
Page 1

  • v0.33.1 Changes

    May 24, 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 [email protected]. 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.
  • v0.33.0 Changes

    May 01, 2022

    ๐Ÿš€ ๐Ÿ“ฃ [Remote attach debugging](docs/ 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](docs/ 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 [email protected]. 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.

    • ๐Ÿ’ป [Go Explorer view](docs/ it displays environment variables and information about tools used by the extension. (Issue 2049)

    • 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)


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

  • v0.32.0 Changes

    March 08, 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 files. The new "Open ''" option in the Go status bar's quickpick menu allows users to access the corresponding 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. If 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 [email protected] (CVE-2021-23566).
    • โœ… Deflaked debug tests.
    • ๐Ÿš€ Changed to check instead of for Go release.
    • ๐Ÿ‘Œ Improved documentation for the default formatting behavior and template support.


    @jamalc @suzmue @pavlelee @dekimsey @hyangah

  • v0.31.1 Changes

    February 08, 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)
  • v0.31.0 Changes

    January 26, 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) <!-- CL 370354 -->
    • ๐Ÿ”„ Change go template file language id to gotmpl (Issue 1957) <!-- CL 376037 -->


    โœ… Test Explorer

    • โœ… src/goTest: don't resolve tests in virtual files <!-- CL 373234 -->
    • โœ… src/goTest: fix output for subtests (Issue 1837) <!-- CL 373274 -->

    โšก๏ธ Development Process Updates

    • Recommend that contributers use npm ci instead of npm install when developing vscode-go (Issue 2010) <!-- CL 379154 -->
    • โœ… test: use @vscode/test-electron instead of vscode-test <!-- CL 377336 -->
    • โšก๏ธ go.mod: update imports to latest versions <!-- CL 374280 -->
    • ๐Ÿ“ฆ package.json: pin direct dependencies (Issue 2010) <!-- CL 379155 -->
    • โœ… Enable tests with go1.18beta1 (Issue 1950) <!-- CL 374055 -->


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

  • v0.30.0 Changes

    December 16, 2021

    A 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:
      • showRegisters(Issue 1527). This was added to go.delveConfig, too.
      • hideSystemGoroutines(Issue 1797). This was added to go.delveConfig, too. We plan to hide system goroutines by default in the next release, and it is already enabled in Nightly. Feedback is welcome!
      • backend accepts "rr". Along with "mode": "replay" support that has been available since v0.27.2, this concludes the work for the rewind feature support. (Issue 110). The feature requires Mozilla's rr.
      • 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)
    • 0๏ธโƒฃ 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) <!-- CL 361935 -->

    • ๐Ÿš€ 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


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

  • v0.29.0 Changes

    October 26, 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) <!-- CL 355974 --> 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) <!-- CL 356909 -->
      • Synced settings @ gopls/v0.7.3
    • "Go: Generate Interface Stubs" allows '-' as an acceptable char for interface names. (Issue 1670) <!-- CL 343829 -->
    • โœ… Test UX:
      • Visualize profiles. (Issue 1747) <!-- CL 345477 -->
      • Added view for profiles. (Issue 1641) <!-- CL 345470 -->
      • Added single-test debugging support to the Test Explorer UI. (CL 348571)
      • Shows test output on run. (CL 352309)
    • Debug:
      • Added showLog/logOutput/dlvFlags to go.delveConfig setting that change the default values for them. (Issue 1723) <!-- CL 351249 -->
      • Handle directory with '.' in its name correctly and warn users for invalid program (Issue 1826, 1769) <!-- CL 353990 -->


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

  • v0.28.1 Changes

    September 24, 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)
  • v0.28.0 Changes

    September 20, 2021

    This version requires VS Code 1.59 or newer.

    ๐Ÿ ๐ŸŽ‰๐Ÿงช The extension implements the Testing API of VS Code. You can navigate and run/profile tests using the test explorer UI! Windows support and further work for better profiling and debugging support through the test explorer is underway. Please give it a try and provide feedback.

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

    ๐Ÿ”„ Changes

    • Require VS Code engine 1.59+.
    • โœ… Implement the Testing API (Issue 1579). <!-- CL 330809 --> โœ… The test provider discovers all Go tests and benchmarks including stretchr test suits (Issue 1641) <!-- CL 343489 --> and sub-tests (Issue 1641). <!-- CL 343433 --> You can adjust behavior with the go.testExplorer.* settings.
    • โœ… Offer basic profiling support through the testing API. (Issue 1685) <!-- CL 344149 -->
    • Debugging
      • Allow to connect to a Delve DAP server running on a different host using host and port launch properties. (Issue 1729) <!-- CL 346269 -->
      • Disabled check for active debug session (Issue 1710). <!-- CL 349596 --> This will allow to run multiple debug sessions simultaneously.
      • Disabled the go version check by supplying the --check-go-version=false delve flag (Issue 1716). <!-- CL 347562 --> This is to allow users of older versions of Go to debug using Delve DAP which requires Delve 1.6.1 or newer. If you need to use Delve 1.6.0 or older, please use the legacy debug adapter.
      • Fixed a legacy debug adapter's bug that broke remote debugging when breakpoints were set in irrelevant files. (Issue 1762) <!-- CL 348972 -->
      • Added the new FAQs section.
    • โœ‚ Removed tools version check hack that triggerred unnecessary warnings about go and tools version mismatch issues (Issue 1698). <!-- CL 349752 -->
    • Export an API with which other extensions can query the location of go tools. (Issue 233) <!-- CL 336509 -->
    • ๐Ÿ›  Fixed regexps for test function names (CL 344130).
    • Track the language server's restart history and include it in the automated gopls crash report (CL 344130).
    • Code Health
      • Use esbuild instead of webpack (Issue 1705). <!-- CL 343791 -->
      • Removed the temporary security workaround in favor of VS Code's Workspace Trust concept. <!-- CL 347690 -->
      • Updated the gopls settings documentation to reflect gopls/v0.7.2 settings.


    โœ… Thank you for your contribution, Nicolas Lepage, 180909, Polina Sokolova, Rebecca Stambler, and Suzy Mueller! Special thanks to Ethan Reesor for the Test Explorer work!

  • v0.27.2 Changes

    September 01, 2021

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

    โœจ Enhancement

    • ๐Ÿ‘Œ Supports replay and core debug launch modes. (PR 1268)
    • ๐Ÿ‘ gopls now watches changes in files to support Go Proposal 45713.

    ๐Ÿ›  Fixes

    • ๐Ÿ›  Fixed issues around building binaries for debugging when symlinks or case-insensitive file systems are involved. (Issues 1680, 1677, 1713)
    • Clarified the dlvLoadConfig setting is no longer necessary with the new debug adapter (dlv-dap). ([CL 344370)(
    • ๐Ÿ”’ Increased the timeout limit from 5sec to 30sec. If dlv-dap still fails to start, please check firewall/security settings do not prevent installation or execution of the dlv-dap (or dlv-dap.exe) binary. (Issue 1693)
    • โšก๏ธ Go: Install/Update Tools command picks the dlv-dap from the main branch.


    Thanks for your contributions, Suzy Mueller, Luis Gabriel Gomez, Polina Sokolova, Julie Qiu, and Hana Kim!