diff --git a/CHANGELOG.md b/CHANGELOG.md index e95f2b12a4..657ceec3a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,39 @@ +## v0.30.0 - 14 Dec, 2021 + + + +A list of all issues and changes can be found in the [v0.30.0 milestone](https://github.com/golang/vscode-go/milestone/40) and [commit history](https://github.com/golang/vscode-go/compare/v0.29.0...v0.30.0). + +### Changes + +- Debugging + - `dlv-dap` is pinned at [`@2f136727`](https://github.com/go-delve/delve/commit/2f13672765fead22e5376fb4754c48a96c33cc0b). + - Remote debugging support using `dlv-dap` is available.
Please follow [the instruction](https://github.com/golang/vscode-go/blob/master/docs/debugging.md#remote-debugging) to enable remote debugging using `dlv-dap`. ([Issue 1861](https://github.com/golang/vscode-go/issues/1861)) + - [Launch configuration](https://github.com/golang/vscode-go/blob/master/docs/debugging.md#launchjson-attributes): + - `showRegisters`([Issue 1527](https://github.com/golang/vscode-go/issues/1527)). This was added to [`go.delveConfig`](https://github.com/golang/vscode-go/blob/master/docs/settings.md#godelveconfig), too. + - `hideSystemGoroutines`([Issue 1797](https://github.com/golang/vscode-go/issues/1797)). This was added to [`go.delveConfig`](https://github.com/golang/vscode-go/blob/master/docs/settings.md#godelveconfig), 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"`](https://github.com/go-delve/delve/blob/master/Documentation/usage/dlv_backend.md). Along with [`"mode": "replay"`](https://github.com/go-delve/delve/blob/master/Documentation/usage/dlv_replay.md) support that has been available since v0.27.2, this concludes the work for the [rewind](https://twitter.com/belbaoverhill/status/1466911997174464513) feature support. ([Issue 110](https://github.com/golang/vscode-go/issues/110)). The feature requires [Mozilla's `rr`](https://github.com/mozilla/rr). + - Runtime frames are no longer deemphasized. ([Issue 1916](https://github.com/golang/vscode-go/issues/1916)) + - [Logpoints](https://github.com/golang/vscode-go/blob/master/docs/debugging.md#breakpoints) support is available. ([Issue 123](https://github.com/golang/vscode-go/issues/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](https://github.com/golang/vscode-go/issues/1929)) + - Stop debugging when delve remote connection ends in `legacy` remote debugging. ([CL 366936](https://go-review.googlesource.com/c/vscode-go/+/366936/)) + - Allow users to debug with older versions of `dlv-dap`. ([Issue 1814](https://github.com/golang/vscode-go/issues/1814)) + +- Include `Fuzz*` functions in Testing UI and adds test codelens. ([Issue 1794](https://github.com/golang/vscode-go/issues/1794)) +- `gofumports` is pinned at `v0.1.1`. We plan to remove it from the recognized formatter tool list since [`gofumports` is officially deprecated](https://github.com/mvdan/gofumpt/releases/tag/v0.2.0) early next year. +- Disabled separate linting if gopls's 'staticcheck' is enabled. ([Issue 1867](https://github.com/golang/vscode-go/issues/1867)) +- Updated the in-editor user survey URL. ([CL 360775](https://go-review.googlesource.com/c/vscode-go/+/366936)) +- Limited Go file search scope for extension activation ([Issue 1894](https://github.com/golang/vscode-go/issues/1894)) +- Code Health + - Enabled esModuleInterop. ([CL 349170](https://go-review.googlesource.com/c/vscode-go/+/349170)) + - Bumped TS target to ES2017. ([Issue 1712](https://github.com/golang/vscode-go/issues/1712)) + - Updated json-schema to 0.4.0 + +### Thanks + +Thank you for your contribution, @polinasok, @suzmue, @firelizzard18, @hashedhyphen, @fengwei2002, @devuo, @fflewddur, @hyangah ## v0.29.0 - 26 Oct, 2021 A list of all issues and changes can be found in the [v0.29.0 milestone](https://github.com/golang/vscode-go/milestone/37) and [commit history](https://github.com/golang/vscode-go/compare/v0.28.1...v0.29.0). diff --git a/README.md b/README.md index 34a79e2bdb..692756b3d7 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,13 @@ provides rich language support for the [Go programming language](https://golang.org/). +📣 +[Remote attach debugging](docs/debugging.md#connecting-to-headless-delve-with-target-specified-at-server-start-up) 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](docs/debugging.md) 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](https://github.com/golang/vscode-go/issues/new/choose) if you encounter any problems. ## Quick Start diff --git a/docs/debugging.md b/docs/debugging.md index 353c94f0a6..4019f80f7c 100644 --- a/docs/debugging.md +++ b/docs/debugging.md @@ -169,7 +169,7 @@ See [VS Code’s Debug Documentation on Breakpoints](https://code.visualstudio.c Function breakpoint

-* **Logpoints**: a [logpoint](https://code.visualstudio.com/docs/editor/debugging#_logpoints) is a variant of breakpoint that does not 'break', but instead logs a message to Debug Console and continues execution. Expressions within `{}` are interpolated. For the list of acceptable expressions and syntax, see [Delve's documentation](https://github.com/go-delve/delve/blob/master/Documentation/cli/expr.md#expressions). +* **Logpoints**: a [logpoint](https://code.visualstudio.com/docs/editor/debugging#_logpoints) is a variant of breakpoint that does not 'break', but instead logs a message to DEBUG CONSOLE and continues execution. Expressions within `{}` are interpolated. For the list of acceptable expressions and syntax, see [Delve's documentation](https://github.com/go-delve/delve/blob/master/Documentation/cli/expr.md#expressions). ### Data Inspection @@ -235,6 +235,10 @@ When the program stops due to exception, panic, or bad access error, the CALL ST

Panic

+## `dlv` command from DEBUG CONSOLE + +DEBUG CONSOLE accepts commands that allow users to dynamically inspect/change debug configuration, or inspect the list of source code compiled in the debugged binary. Use `dlv help` and `dlv config -list` from the DEBUG CONSOLE panel to see the list of supported commands and dynamically adjustable settings. + ## Configuration ### Launch.json Attributes diff --git a/src/goMain.ts b/src/goMain.ts index 02ed36000e..8bcb57e3b0 100644 --- a/src/goMain.ts +++ b/src/goMain.ts @@ -724,10 +724,10 @@ If you would like additional configuration for diagnostics from gopls, please se function showGoWelcomePage(ctx: vscode.ExtensionContext) { // Update this list of versions when there is a new version where we want to // show the welcome page on update. - const showVersions: string[] = ['0.27.0']; + const showVersions: string[] = ['0.30.0']; // TODO(hyangah): use the content hash instead of hard-coded string. // https://github.com/golang/vscode-go/issue/1179 - let goExtensionVersion = '0.27.0'; + let goExtensionVersion = '0.30.0'; let goExtensionVersionKey = 'go.extensionVersion'; if (isInPreviewMode()) { goExtensionVersion = '0.0.0'; diff --git a/src/welcome.ts b/src/welcome.ts index e6699418fe..e881e8e7ec 100644 --- a/src/welcome.ts +++ b/src/welcome.ts @@ -158,12 +158,11 @@ export class WelcomePanel {
announce

- Heads up! - The extension now uses Delve's native DAP implementation (dlv-dap) - 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 old documentation. + New! Remote + attach debugging is now available on demand 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.

diff --git a/tools/license.sh b/tools/license.sh index b0a1c9e8b8..267583175c 100755 --- a/tools/license.sh +++ b/tools/license.sh @@ -26,6 +26,9 @@ export GIT_GOFMT_HOOK=off YARN="${ROOT}/node_modules/.bin/yarn" +# convert packages-lock.json to yarn.lock +$YARN import + ALL_LICENSES=$( $YARN licenses list --json --no-progress 2>/dev/null| jq 'select(.type == "table") | .data.body | map( {name: .[0], version: .[1], license: .[2], url: .[3], verndor: .[4], vendorName: .[5]} )') @@ -43,15 +46,10 @@ NG=$(echo "${ALL_LICENSES}" | jq ' "(MIT OR Apache-2.0)": 1, "(MIT AND Zlib)": 1, "(MIT AND BSD-3-Clause)": 1, - "(BSD-2-Clause OR MIT OR Apache-2.0)": 1, - "CC-BY-3.0": 1, - "CC-BY-4.0": 1, - "CC0-1.0": 1, - "(MIT OR CC0-1.0)": 1, + "Python-2.0": 1, } as $allowed_licenses | { - "json-schema@0.2.3": 1, - "buffers@0.1.1": 1, # MIT + "json-schema@0.4.0": 1, } as $allow_list | .[] | select(.license | in($allowed_licenses) | not) | select((.name+"@"+.version) | in($allow_list) | not) ')