You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+157-5Lines changed: 157 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,158 @@
3
3
All notable changes to this project will be documented in this file.
4
4
This project adheres to Semantic Versioning.
5
5
6
+
## [1.25.0] 2025-04-16
7
+
8
+
### Added
9
+
- Go 1.25 support (#4014, @aarzilli) (more work went into the 1.24.2 and earlier releases)
10
+
11
+
### Fixed
12
+
- Fixed several panics found via telemetry (#4026, #4018, #4017, #4015@aarzilli)
13
+
- Fixed git hash in version output (#3987, @codeaucafe)
14
+
- Fix development version parsing (#3999, @aarzilli)
15
+
- Fix call injection in newer macOS versions (#3988, @aarzilli)
16
+
- Fix typo in goroutines help output (#4024, @jersey1dev)
17
+
18
+
### Changed
19
+
- Internal breakpoints (panic, throw) are excluded from DAP response (#4027, @ConradIrwin)
20
+
21
+
## [1.24.2] 2025-04-10
22
+
23
+
### Added
24
+
25
+
- Support for struct literals in expression evaluator (#3935, #3953, @aarzilli)
26
+
- Check to reject DWARFv5 executables if delve itself isn't built with 1.25 or later due to bugs in Go's standard library prior to 1.25 (#3943, #3961, @aarzilli)
27
+
28
+
### Fixed
29
+
30
+
- Support for macOS Sequoia 15.4 (#3966, @aarzilli)
- Print a message when the debuggee process exits while Delve in headless mode (#3870, @jakejx)
77
+
- Allow accessing closure captured variable as if they were struct fields (#3866, @aarzilli)
78
+
- Add dape to list of plugins (#3817, @jgarte)
79
+
80
+
### Fixed
81
+
82
+
- Fix step stuttering when entering range-over-func bodies (#3788, @aarzilli)
83
+
- Fix formatting of autogenerated documentation (#3836, @aarzilli)
84
+
- Fix issue on Windows when launching process while detached (#3867, @aarzilli)
85
+
- Fix handling of unsatisfiable breakpoints during restart (#3868, @aarzilli)
86
+
87
+
### Changed
88
+
89
+
- Update 'client-addr' to support Unix domain sockets (#3819, @n1lesh)
90
+
- Adds pointer pinning to call injection, improving function calls during debug session (#3787, @aarzilli)
91
+
- Allow modification of starlark structs returned by API (#3872, @aarzilli)
92
+
- API V1 has been removed following the deprecation from last version (#3881, @aarzilli)
93
+
94
+
## [1.23.1] 2024-09-23
95
+
96
+
Telemetry notice: starting with version 1.24.0 Delve will begin collecting opt-in telemetry data using the same mechanism used by the toolchain, see <https://github.com/golang/go/issues/68384>, <https://go.dev/doc/telemetry#background>, <https://github.com/go-delve/delve/issues/3815>.
97
+
98
+
### Fixed
99
+
100
+
- Debugging on macOS Sequoia (#3799, @aarzilli)
101
+
- Various bugs with range-over-func loops (#3808, #3788, @aarzilli)
102
+
- Reslice operator did not allow reslicing up to the slice's cap (#3796, @Jille)
103
+
- Starlark access to named constants (#3802, @arvidfm)
104
+
105
+
106
+
## [1.23.0] 2024-07-16
107
+
108
+
Deprecation notice: starting with the next version of Delve version 1 of the API will be removed. Version 2 was added in version 0.12.0 in 2017 and has been the recommended way to connect to Delve since.
109
+
110
+
### Added
111
+
112
+
- Support for Go 1.23, particularly the new range-over-func statement (#3663, #3697, #3736, #3738, #3750, #3755, #3763, #3778, @aarzilli)
113
+
-`next-instruction` command (#3671, @derekparker)
114
+
- Support reading captured variables of closure functions (#3682, @aarzilli)
115
+
- Breakpoint command `break` now allows adding a condition the a breakpoint with a postfix notation (`break <name> <locspec> if <condition>`) (#3693, #3702, @derekparker)
116
+
- When the `step` command is executed on `go funccall()` statements it will stop on the newly created goroutine (#3686, @aarzilli)
117
+
- Invocation of [rr](https://github.com/rr-debugger/rr/) when it is used as a backend can be now controlled with environment variables `$DELVE_RR_RECORD_FLAGS` and `$DELVE_RR_REPLAY_FLAGS` (#3726, @aarzilli)
118
+
- Added new suboption `--follow-calls` to trace command (#3594, @archanaravindar)
119
+
120
+
### Fixed
121
+
122
+
- Better behavior on stripped files (#3678, #3695, @aarzilli, @derekparker)
123
+
- Support rr version 5.7.0 and later (#3705, #3718, @howardjohn, @aarzilli)
124
+
- Watchpoints on newer versions of macOS (#3703, @derekparker)
125
+
- Bug related to watchpoints going out of scope (#3742, @aarzilli)
- Improved auto-completions for shells (#3696, #3699, @scop)
132
+
- Print more informations on tracepoint stops (#3675, #3712, @derekparker, @archanaravindar)
133
+
- Improved performance of the default macOS backend (#3715, @derekparker)
134
+
- When a breakpoint is hit on a headless instance of Delve while no clients are connected a message will be printed to stdout (#3632,#3747, @fatanugraha, @aarzilli)
- New variable flag to mark variables that have a fake or no-longer-valid address, because they are either stored in registers or in a stack frame that has been removed from the stack (#1619, @aarzilli)
678
830
- Support relative file paths when specifying breakpoint locations (#1478, @chainhelen)
Copy file name to clipboardExpand all lines: Documentation/api/ClientHowto.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ Command line arguments that should be handed to the inferior process should be s
27
27
dlv exec --headless ./somebinary -- these arguments are for the inferior process
28
28
```
29
29
30
-
Specifying a static port number, like in the [README](//github.com/go-delve/Delve/tree/master/Documentation/README.md) example, can be done using `--listen=127.0.0.1:portnumber`.
30
+
Specifying a static port number, like in the [README](//github.com/go-delve/delve/tree/master/Documentation/README.md) example, can be done using `--listen=127.0.0.1:portnumber`.
31
31
32
32
This will, however, cause problems if you actually spawn multiple instances of the debugger.
33
33
@@ -39,11 +39,11 @@ The `--log-dest` option can be used to redirect the "API server listening at:" m
39
39
40
40
Once you have a running headless instance you can connect to it and start sending commands. Delve's protocol is built on top of the [JSON-RPC 1.0 specification](https://www.jsonrpc.org/specification_v1).
41
41
42
-
The methods of a `service/rpc2.RPCServer` are exposed through this connection, to find out which requests you can send see the documentation of RPCServer on [godoc](https://godoc.org/github.com/go-delve/Delve/service/rpc2#RPCServer).
42
+
The methods of a `service/rpc2.RPCServer` are exposed through this connection, to find out which requests you can send see the documentation of RPCServer on [Go Reference](https://pkg.go.dev/github.com/go-delve/delve/service/rpc2#RPCServer).
43
43
44
44
### Example
45
45
46
-
Let's say you are trying to create a breakpoint. By looking at [godoc](https://godoc.org/github.com/go-delve/Delve/service/rpc2#RPCServer) you'll find that there is a `CreateBreakpoint` method in `RPCServer`.
46
+
Let's say you are trying to create a breakpoint. By looking at [Go Reference](https://pkg.go.dev/github.com/go-delve/delve/service/rpc2#RPCServer) you'll find that there is a `CreateBreakpoint` method in `RPCServer`.
47
47
48
48
This method, like all other methods of RPCServer that you can call through the API, has two arguments: `args` and `out`: `args` contains all the input arguments of `CreateBreakpoint`, while `out` is what `CreateBreakpoint` will return to you.
49
49
@@ -190,7 +190,7 @@ If you want to let your users specify a breakpoint on a function selected
190
190
from a list of all functions you should specify the name of the function in
191
191
the FunctionName field of Breakpoint.
192
192
193
-
If you want to support the [same language as dlv's break and trace commands](//github.com/go-delve/Delve/tree/master/Documentation/cli/locspec.md)
193
+
If you want to support the [same language as dlv's break and trace commands](//github.com/go-delve/delve/tree/master/Documentation/cli/locspec.md)
194
194
you should call RPCServer.FindLocation and
195
195
then use the returned slice of Location objects to create Breakpoints to
196
196
pass to CreateBreakpoint: just fill each Breakpoint.Addr with the
@@ -244,7 +244,7 @@ are interested in the topmost stack frame of the current goroutine (or
Copy file name to clipboardExpand all lines: Documentation/api/json-rpc/README.md
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,12 +6,11 @@ Note that this JSON-RPC interface is served over a streaming socket, *not* over
6
6
7
7
# API versions
8
8
9
-
Delve currently supports two versions of its API. By default a headless instance of `dlv` will serve APIv1 for backward compatibility with old clients, however new clients should use APIv2 as new features will only be made available through version 2. To select APIv2 use `--api-version=2` command line argument.
10
-
Clients can also select APIv2 by sending a [SetApiVersion](https://godoc.org/github.com/go-delve/delve/service/rpccommon#RPCServer.SetApiVersion) request specifying `APIVersion = 2` after connecting to the headless instance.
9
+
Delve currently only supports v2 of its API. Support for v1 was dropped in version v1.24.0 of Delve.
11
10
12
11
# API version 2 documentation
13
12
14
-
All the methods of the type `service/rpc2.RPCServer` can be called using JSON-RPC, the documentation for these calls is [available on godoc](https://godoc.org/github.com/go-delve/delve/service/rpc2#RPCServer).
13
+
All the methods of the type `service/rpc2.RPCServer` can be called using JSON-RPC, the documentation for these calls is [available on godoc](https://pkg.go.dev/github.com/go-delve/delve/service/rpc2#RPCServer).
15
14
16
15
Note that all exposed methods take one single input parameter (usually called `args`) of a struct type and also return a result of a struct type. Also note that the method name should be prefixed with `RPCServer.` in JSON-RPC.
0 commit comments