Releases: golang/vscode-go
Release 0.30.0
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 usingdlv-dap
. (Issue 1861) - Launch configuration:
showRegisters
(Issue 1527). This was added togo.delveConfig
, too.hideSystemGoroutines
(Issue 1797). This was added togo.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'srr
.
- 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 rundlv help
from DEBUG CONSOLE to see the list of supported options. - Bug fixes:
- Correctly infer
mode
forattach
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)
- Correctly infer
-
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 atv0.1.1
. We plan to remove it from the recognized formatter tool list sincegofumports
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
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 runsgo install
from the workspace root directory, and the old workaround for Issue 757 is unnecessary. - Language Server:
- Print all
GOPATH
s when there are multiple GOPATHs. (Issue 1848) - Synced settings @ gopls/v0.7.3
- Print all
- "Go: Generate Interface Stubs" allows
'-'
as an acceptable char for interface names. (Issue 1670) - Test UX:
- Visualize profiles. (Issue 1747)
- Added view for profiles. (Issue 1641)
- Added single-test debugging support to the Test Explorer UI. (CL 348571)
- Shows test output on run. (CL 352309)
- Debug:
- Added
showLog
/logOutput
/dlvFlags
togo.delveConfig
setting that change the default values for them. (Issue 1723) - Handle directory with
'.'
in its name correctly and warn users for invalidprogram
(Issue 1826, 1769)
- Added
Thanks
Thank you for your contribution, @firelizzard18, @Zamiell, @mislav, @polinasok, @hyangah, @stamblerre, @suzmue, and @yinheli!
Release 0.28.1
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
Release 0.28.0
v0.28.0 - 16 Sep, 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).
The test provider discovers all Go tests and benchmarks includingstretchr
test suits (Issue 1641) and sub-tests (Issue 1641). You can adjust behavior with thego.testExplorer.*
settings. - Offer basic profiling support through the testing API. (Issue 1685)
- Debugging
- Allow to connect to a Delve DAP server running on a different host using
host
andport
launch properties. (Issue 1729) - Disabled check for active debug session (Issue 1710). 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). 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)
- Added the new FAQs section.
- Allow to connect to a Delve DAP server running on a different host using
- Removed tools version check hack that triggerred unnecessary warnings about go and tools version mismatch issues (Issue 1698).
- Export an API with which other extensions can query the location of go tools. (Issue 233)
- 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 ofwebpack
(Issue 1705). - Removed the temporary security workaround in favor of VS Code's Workspace Trust concept.
- Updated the gopls settings documentation to reflect gopls/v0.7.2 settings.
- Use
Thanks
Thank you for your contribution, @nlepage, @180909, @polinasok, @stamblerre , and @suzmue!
Special thanks to @firelizzard18 for the Test Explorer work!
Release 0.27.2
v0.27.2 - 1st Sep, 2021
A list of all issues and changes can be found in the v0.27.2 milestone and commit history.
Enhancement
- Supports
replay
andcore
debug launch modes. (PR 1268) gopls
now watches changes ingo.work
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 thedlv-dap
(ordlv-dap.exe
) binary. (Issue 1693) Go: Install/Update Tools
command picks thedlv-dap
from the main branch.
Thanks
Thanks for your contributions, Suzy Mueller, Luis Gabriel Gomez, Polina Sokolova, Julie Qiu, and Hana Kim!
Release 0.27.2-rc.1
Release 0.27.1
v0.27.1 - 12 Aug, 2021
✨ See the new features and update in v0.27.0 (Release Note)
A list of all issues and changes in v0.27.1 can be found in the v0.27.1 milestone and commit history.
Enhancement
- Supports
replay
andcore
debug launch modes. (PR 1268)
Fixes
- Fixed process pickers used in attach mode debugging. (Issue 1679)
- Fixed the failure of debugging when
CGO_CFLAGS
is set. (Issue 1678) - Fixed the
dlv-dap
installation issue. (Issue 1682)
Thanks
Thanks for your contributions, Luis Gabriel Gomez, Suzy Mueller, and Hana Kim!
Release 0.27.1-rc.1
Release 0.27.0
v0.27.0 - 9 Aug, 2021
📣 Delve's native DAP implementation (dlv-dap
) is enabled by default for local debugging. We updated the Documentation for Debugging to show the new features available with dlv-dap. This change does not apply to remote debugging yet. For remote debugging, keep following the instruction in the legacy debug adapter documentation.
A list of all issues and changes can be found in the v0.27.0 milestone and [commit history](A list of all issues and changes can be found in the v0.26.0 milestone and commit history.
Enhancements
- The new
go.terminal.activateEnvironment
allows to prevent the extension from changing integrated terminal's environment variables. (Issue 1558, 1098) - The
Go: Locate Configured Go Tools
command prints the build information of detected tools. - Use
dlv-dap
as the default debug adapter for local debugging. The new debug adapter offers many new features and improvements. - Added Gitpod to a recognized Cloud-based IDE, for which the extension will minimize the number of toast or notification messages. (Issue 1616)
- The
Go: Subtest At Cursor
command prompts for subtest name if there is no subtest at cursor (Issue 1602).
Fixes
- Debugging
- Setting the
logOutput
property withoutshowLog: true
does not break debugging any more. - Fixed a bug in the legacy debug adapter that caused jumping at each step after upgrading to VS Code 1.58+. (Issue 1617, 1647)
- Fixed a bug that broke Attach mode debugging using the legacy debug adapter if
cwd
is not set. (Issue 1608) - Made the
dlv-dap
mode ignore theport
property. It was initially suggested as a temporary alternative
to the remote debugging, but we decided to revisit the functionality for better remote debugging support.
Use thedebugServer
property if you want to connect to a manually launcheddlv dap
server.
- Setting the
Code Health
- The version of
dlv-dap
is pinned to v1.7.1-0.20210804080032-f95340ae1bf9 anddlv-dap
is marked as a required tool. - Updated the hard-coded default gopls version string to v0.7.1.
- Added
tools/relnotes
, a script to help generate CHANGELOG.md. - Added go1.17 RC to CI. (Issue 1640)
- Enabled tests that were skipped in dlv-dap mode since dlv-dap reached feature parity.
- Use StackOverflow as the channel for Q&A.
Thanks
Thank you for your contribution, Ahmed W, Hana, Michael Currin, Polina Sokolova, Rebecca Stambler, Suzy Mueller, and Sven Efftinge!