Releases: go-delve/delve
Release list
v1.27.1
What's Changed
- proc: fix C frame attribution for noreturn calls in stack unwinding by @alexsaezm in #4374
- build: ignore unsupported windows/arm64 architecture in goreleaser by @FranciscoPombal in #4381
- proc: fix range-over-func stepping tests for 1.27 on arm64 by @aarzilli in #4378
- misc: Go 1.27 compatibility and windows/arm64 test fixes by @derekparker in #4377
- service/dap: send InvalidatedEvent after SetVariable and WriteMemory by @DrSergei in #4384
- proc: fix panic on follow-exec process exit by @derekparker in #4383
- dap: make variable load limits configurable by @larrasket in #4385
- pkg/proc: cleanup stepping tests by @aarzilli in #4382
- go.mod: update disassembler by @aarzilli in #4379
- pkg/terminal: add exit -d to detach without killing the process by @larrasket in #4387
- terminal: extend frame pointer unwinding blocking branch to fix TestScopePrefix index panic on windows/arm64 by @derekparker in #4388
- terminal: fix watch documentation by @aarzilli in #4390
- proc/core: handle UTF-16LE output from procdump64 in TestMinidump by @derekparker in #4393
- service/test: skip waitreason test on development versions by @aarzilli in #4394
- dwarf/frame: add DW_CFA_GNU_args_size opcode by @minhbq-99 in #4392
- dwarf/frame: check the error after executing an opcode by @minhbq-99 in #4391
- Teamcity: update Ubuntu version by @aarzilli in #4396
- service/dap,terminal: add option to display expanded/raw strings by @hitzhangjie in #4395
- teamcity: use Debian for linux/386 CI images by @derekparker in #4400
- service/dap: set type in SetVariable response by @larrasket in #4397
- proc: fix arm64 crosscall2 SP restore for cgo stacktraces by @derekparker in #4399
- *: v1.27.1 by @derekparker in #4403
New Contributors
- @FranciscoPombal made their first contribution in #4381
- @larrasket made their first contribution in #4385
- @minhbq-99 made their first contribution in #4392
Curated Changelog: https://github.com/go-delve/delve/blob/master/CHANGELOG.md#1271-2026-07-31
Full Changelog: v1.27.0...v1.27.1
v1.27.0
What's Changed
- service/dap: avoid Session.conn race in breakpoint-after-disconnect test by @alexsaezm in #4317
- proc: implement frame pointer unwinding by @alexsaezm in #4288
- proc: fix SP calculation for sigpanic frames on arm64 by @alexsaezm in #4319
- native: propagate PtraceSetRegs error on linux/ppc64le by @cuiweixie in #4321
- native: propagate PtraceGetRegs error on linux/ppc64le by @cuiweixie in #4322
- proc: propagate AddrPiece ReadMemory errors in composite memory by @cuiweixie in #4323
- proc/internal/ebpf: fix AddressToOffset off-by-one at section load by @cuiweixie in #4324
- proc: fix OR handling in breakpointConditionSatisfiable by @cuiweixie in #4325
- dwarf/reader: propagate errors during Reader entry iteration by @cuiweixie in #4327
- proc: bail out of loadArrayValues after stride overflow by @cuiweixie in #4328
- proc: compile hit-condition regexp once by @cuiweixie in #4335
- service/dap: add newline to the build message by @sagg0t in #4340
- proc: fix test for go1.27 regexp refactor by @aarzilli in #4339
- proc: fix range over func stepping for go1.27 by @aarzilli in #4343
- chore: fix some comments to improve readability by @box4wangjing in #4344
- Teamcity: reenable riscv64 build by @aarzilli in #4346
- proc: fix hasInlines in stacktrace, fix range step with inlining by @aarzilli in #4345
- chore: fix comment to improve readability by @cuoguojida in #4350
- service/dap: relax TestBadLaunchRequest by @aarzilli in #4351
- TeamCity: adjust execution timeout by @vietage in #4354
- proc/internal/ebpf: switch to header+param event ring buffer protocol by @derekparker in #4352
- proc: add test for struct literals with embedded field selectors by @aarzilli in #4362
- proc: disable some failing tests on riscv64 by @aarzilli in #4361
- gobuild: increase wait length for deleting binaries on Windows by @aarzilli in #4359
- proc: add test for accessing global C variables by @aarzilli in #4358
- proc: support generic methods by @aarzilli in #4356
- Revert "winarm64: remove experimental build tags (#4176)" by @aarzilli in #4281
- proc/test: include GOEXPERIMENT in the fixture cache key by @typesanitizer in #4367
- proc: fix stepping test on go1.27 / arm64 by @aarzilli in #4365
- service/dap: add dap write memory request handler by @DrSergei in #4364
- proc: make PushPackageVarOrSelect check local variables first by @aarzilli in #4181
- pkg/proc: add GOEXPERIMENT=mapsplitgroup support by @aarzilli in #4370
- service/dap: send ExitedEvent before TerminatedEvent by @derekparker in #4371
- service/dap: fix test failures from ExitedEvent change by @derekparker in #4373
- service/dap,pkg/debugdetect: fix tests by @derekparker in #4375
- v1.27.0 by @derekparker in #4372
New Contributors
- @sagg0t made their first contribution in #4340
- @box4wangjing made their first contribution in #4344
- @cuoguojida made their first contribution in #4350
Full Changelog: v1.26.3...v1.27.0
Curated Changelog: https://github.com/go-delve/delve/blob/master/CHANGELOG.md#1270-2026-06-19
v1.26.3
What's Changed
- chore: fix function name in comment to match actual function by @chuanshanjida in #4310
- chore: fix some minor issues by @purelualight in #4316
- cmd/dlv: use goversion.ParseProducer for DW_AT_producer by @croepha in #4307
- pkg/proc: Fix flakiness in TestWaitFor by @typesanitizer in #4306
- Extend feature to print procedure parameters in trace on eBPF backend by @archanaravindar in #4305
- dwarf/godwarf: fix regression debugging DWARFv5 on macOS by @aarzilli in #4315
- *: release version 1.26.3 by @aarzilli in #4318
New Contributors
- @chuanshanjida made their first contribution in #4310
- @purelualight made their first contribution in #4316
- @croepha made their first contribution in #4307
Curated Changelog: https://github.com/go-delve/delve/blob/master/CHANGELOG.md#1263-2026-04-27
Full Changelog: v1.26.2...v1.26.3
v1.26.2
What's Changed
- service/dap,pkg/proc: fix misc test failures by @derekparker in #4273
- dwarf/line: fix PrologueEndPC and FirstStmt by @aarzilli in #4276
- build: add goreleaser release automation with cosign signing by @derekparker in #4278
- pkg/proc,service,pkg/terminal: add stacktrace caching by @aarzilli in #4277
- build: allow release workflow to be manually triggered against a tag by @derekparker in #4283
- service/dap: set seq number for response messages by @aarzilli in #4280
- config,terminal: better documentation for configuration file by @aarzilli in #4282
- _scripts: fallback to calling go if goreleaser is not installed by @aarzilli in #4286
- pkg/terminal,pkg/config: add ability to configure Delve's prompt by @aarzilli in #4284
- service/dap: add build message by @aarzilli in #4287
- service/dap_test: remove dlv help test by @aarzilli in #4290
- dap/command: port examinemem from dlv/terminal by @BrotifyPacha in #4289
- dwarf/op: fix DW_OP_shr and DW_OP_shra evaluation by @cuiweixie in #4296
- service/dap,terminal: cover more cases in examinemem command by @aarzilli in #4300
- proc: clear stepping breakpoints on every target in TargetGroup by @cuiweixie in #4299
- native: return ptrace error from riscv64 setSP by @cuiweixie in #4298
- proc: fix stack watch breaklet index for recorded replay by @cuiweixie in #4295
- pkg/proc: Fix flaky test on Windows by @typesanitizer in #4292
- service/dap: support data breakpoints by @aarzilli in #4294
- pkg/terminal,service: add TypeInfo API by @aarzilli in #4291
- gobuild: fix gocommandRun stdout and stderr streams by @cuiweixie in #4297
- proc/internal/ebpf,build: extend eBPF tracing type support by @derekparker in #4285
- Support printing function parameters with varying verbosity levels [0 .. 4] with the -trace option by @archanaravindar in #4251
- dwarf/godwarf: work around Mach-O section name limitation by @aarzilli in #4304
- *: release version 1.26.2 by @aarzilli in #4309
New Contributors
- @BrotifyPacha made their first contribution in #4289
Curated Changelog: https://github.com/go-delve/delve/blob/master/CHANGELOG.md#1262-2026-04-20
Full Changelog: v1.26.1...v1.26.2
v1.26.1
What's Changed
- *: modernize codebase by @derekparker in #4221
- capslock: update capslock output by @aarzilli in #4224
- proc: fix finding moduledata in 1.26+ by @derekparker in #4228
- lru: remove mutex from lru cache by @aarzilli in #4226
- service/dap: Add hit conditional breakpoint capability by @DrSergei in #4230
- *: downgrade riscv64 by @derekparker in #4232
- proc/internal/ebpf: improve shutdown for polling & ebpf objects by @derekparker in #4231
- goversion: Fix ProducerAfterOrEqual comparison for devel builds by @typesanitizer in #4234
- Propagate short type option when printing structs. by @igadmg in #4235
- service/dap: reject most requests before launch/attach by @aarzilli in #4240
- service/rpccommon: print error when we can't decode request body by @aarzilli in #4247
- service/api: Update waitReason switch for Go 1.27 by @typesanitizer in #4244
- service/debugger: better error if process is already being debugged by @aarzilli in #4242
- pkg/proc: fix ebpf uprobe placement to skip function prologue by @derekparker in #4249
- cmd/dlv: add trace backend parity test by @derekparker in #4250
- Documentation: document AI policy / add agent files by @derekparker in #4248
- proc,service: detect and warn about trimpath by @aarzilli in #4241
- proc: fix TestRangeOverFuncNext for go1.26 on arm64 by @aarzilli in #4254
- goversion: parse rc version with trailing suffix by @alexsaezm in #4255
- terminal/starbind: add 'append_file" built-in func by @sding3 in #4252
- proc: fix sigpanics in swiss map iterator by @derekparker in #4261
- pkg/debugdetect: add package for detecting debugger attachment by @derekparker in #4258
- deps: migrate from gopkg.in/yaml.v3 to go.yaml.in/yaml/v3 by @scop in #4257
- service/api: remove variable formatting helper methods by @aarzilli in #4259
- documentation: updated stale DAP documentation by @stack1ng in #4265
- proc: support debugging stripped non-Go binaries by @derekparker in #4263
- service/dap: better error messages when we can't launch the debugger by @aarzilli in #4264
- pkg/terminal/starbind: remove some duplicate code by @aarzilli in #4262
- pkg/proc/debuginfod: fix debuginfod download progress by @aarzilli in #4270
- proc: Remove special-casing for 1.23 in tests by @typesanitizer in #4271
- *: v1.26.1 by @derekparker in #4272
New Contributors
- @DrSergei made their first contribution in #4230
- @typesanitizer made their first contribution in #4234
- @igadmg made their first contribution in #4235
- @sding3 made their first contribution in #4252
- @stack1ng made their first contribution in #4265
Full Changelog: v1.26.0...v1.26.1
Curated Changelog: https://github.com/go-delve/delve/blob/master/CHANGELOG.md#1261-2026-03-03
v1.26.0
What's Changed
- pkg/goversion: update MinSupportedVersionOfGoMinor by @derekparker in #4108
- service/test: reduce TestGoroutinesGrouping runtime by @derekparker in #4111
- *: modernize codebase with newer syntax / helpers by @derekparker in #4110
- *: update github.com/derekparker/trie by @derekparker in #4107
- *: parallelize tests where possible by @derekparker in #4115
- service: remember that we attached in WaitFor attach mode by @aarzilli in #4120
- cmd/dlv: add capslock check by @derekparker in #4106
- *: install capslock after env var setup on macos by @derekparker in #4122
- service/dap: fix nativeProcess race condition in tests by @derekparker in #4121
- dlv_test: use distinct ports for parallel tests by @aarzilli in #4124
- pkg/proc: optimize range body lookup cost by trie searching and use moduledata cache to reduce LoadModuleData cost by @jayantxie in #4113
- support_sentinel_linux.go: Fixed the ppc64le clause in the file to prevent build failures by @tshah14 in #4129
- terminal: trace /regexp/ should set ret breakpoints correctly by @aarzilli in #4130
- service/dap: Implement suspended breakpoints by @firelizzard18 in #4075
- *: update trie to v3.2.0 by @derekparker in #4131
- go.mod: upgrade simplelru to v2 by @aarzilli in #4143
- debugger: check that breakpoint exists in ClearBreakpoint by @aarzilli in #4141
- proc: return error when calling a non-ptr receiver method on a nil ptr by @aarzilli in #4139
- proc: additional checks parsing g structs by @aarzilli in #4140
- terminal: add shortcut syntax to starlark to access target vars by @aarzilli in #4134
- pkg/proc: fix and improve frame unwind context handling on loong64 by @yelvens in #4133
- pkg/proc: hierarchical search structMember or method by @wenxuan70 in #4118
- proc,service,terminal: allow cancelling of debuginfod downloads by @aarzilli in #4123
- Add flag to retain trace directory after detach by @archanaravindar in #4091
- pkg/proc: add support for function calls on loong64 by @yelvens in #4114
- dlv_test: disable TestUnattendedBreakpoint on FreeBSD by @aarzilli in #4145
- ci/cd: fix codesigning on mac/arm cloud agent by @vietage in #4152
- teamcity: add linux/loong64 to configuration by @yelvens in #4154
- ci/cd: set CI=true on a project level by @vietage in #4156
- Revert "teamcity: add linux/loong64 to configuration (#4154)" by @aarzilli in #4158
- proc/gdbserial: cleanup TestTraceDirCleanup by @aarzilli in #4157
- tests: add missing test cleanup by @aarzilli in #4163
- proc: produce materialized breakpoint event for follow-exec mode by @aarzilli in #4161
- service,proc: fix tests to enable parallel runs by @derekparker in #4135
- pkg/proc: fix nil pointer dereference when calling extra on a nil func by @aarzilli in #4174
- pkg/proc: split off rangeParent from function extras by @aarzilli in #4173
- service/debugger: use address in ClearBreakpoint only when ID is 0 by @aarzilli in #4168
- cmd/dlv: prevent trace killing attached process by @alex-emery in #4164
- service/dap: use exception breakpoints for predefined breakpoints by @aarzilli in #4169
- CI: add windows arm64 workflow by @gdams in #4175
- proc: simplify and rename structMember by @aarzilli in #4159
- proc: add test for interfaces with otherwise unreachable runtime types by @aarzilli in #4096
- terminal: fix wait reason string table by @aarzilli in #4182
- service/dap: implement input/output redirection by @aarzilli in #4178
- pkg/terminal: lazy init functions trie to reduce unnecessary memory usage by @jayantxie in #4177
- winarm64: remove experimental build tags by @gdams in #4176
- dap: implement readMemory for strings and expose memoryReference by @MistaTwista in #4083
- pkg/terminal: allow custom starlark commands to be used in on prefix by @derekparker in #4170
- Add log for build argument by @pedia in #4185
- replay subcommand must keep trace directory. by @lwintermelon in #4184
- pkg/dwarf: do not insist stmt is same line as entry by @derekparker in #4186
- Add support to trace defer function calls under trace follow option by @archanaravindar in #3978
- teamcity: Add support for riscv64 architecture in settings by @mengzhuo in #4189
- pkg/proc: guard register logging from nil pointer dereferences by @aarzilli in #4188
- service: workaround for non-unicode strings in Variables by @aarzilli in #4082
- service/dap: add target command in console and support follow-exec in DAP interface by @Lslightly in #4078
- Add savestate command by @alexsaezm in #4045
- Teamcity: disable riscv64 build due to lack of agent by @aarzilli in #4199
- *: fix tests by @aarzilli in #4198
- test: only run capslock on latest minor version by @aarzilli in #4202
- dap: preserve tags when handling tags by @aarzilli in #4201
- *: fix tests on windows and arm64 for go1.26 by @aarzilli in #4205
- pkg/proc: add way to disable stop-on-error for breakpoint conditions by @aarzilli in #4191
- cmd/dlv,_scripts: move things that use x/tools/go/packages to new repo by @aarzilli in #3990
- pkg/proc: update riscv64 support and fix several tests by @lrzlin in #4190
- Replace github.com/hashicorp/golang-lru with a custom lru cache by @qmuntal in #4196
- fix: go mod vendor by @david-hamilton-glean in #4207
- github: fix issue template by @aarzilli in #4209
- *: update riscv64 capslock file by @derekparker in #4210
- pkg/proc: process spawned event by @firelizzard18 in #4171
- More fixes for Go 1.26 by @aarzilli in #4211
- service/test: disable TestGuessSubstitutePath on riscv64 by @aarzilli in #4212
- service/dap: disable string() field for address-less variables by @aarzilli in #4214
- service/dap: fix restart handling when compilation fails by @aarzilli in #4215
- gdbserial: do not set detached if we kill the process by @aarzilli in #4216
- tests: fix TestFilterGoroutines/TestGoroutineLabels on windows/1.26 by @aarzilli in #4217
- v1.26.0 by @derekparker in #4220
New Contributors
- @tshah14 made their first contribution in #4129
- @firelizzard18 made their first contribution in #4075
- @wenxuan70 made their first contribution in #4118
- @vietage made their first contribution in #4152
- @alex-emery made their first contribution in #4164
- @gdams made their first contribution in #4175
- @MistaTwista made their first contribution in #4083
- @pedia made their first contribution in #4185
- @lwintermelon made their first contribution in #4184
- @mengzhuo made their first contribution in #4189
- @david-hamilton-glean made their first contribution in #4207
Full Changelog: v1.25.2...v1.2...
v1.25.2
What's Changed
- service/dap: fix panic on uninitialized debugger by @derekparker in #4061
- service/dap: fix restart while the target is running by @aarzilli in #4068
- proc: fix nil pointer dereference loading malformed classic maps by @aarzilli in #4067
- service/dap: fix TestConfigurationDoneWithoutDebugSession by @derekparker in #4071
- proc,service,terminal: add events call use it for dld notifications by @aarzilli in #3980
- add support for reading runtime.sigtrampgo context on loong64 by @yelvens in #4098
- pkg/proc: support ContextRegNum on loong64 by @yelvens in #4095
- proc: in-progress calls must be properly terminated by @aarzilli in #4090
- dwarf: using maps.Clone by @cuiweixie in #4088
- proc: early fixes for Go 1.26 by @aarzilli in #4070
- *: fix some failing tests on go1.25 by @aarzilli in #4089
- pkg/proc: add support for additional stack-switching functions on loong64 by @yelvens in #4100
- service/dap: allow clients to specify rebuild on restart by @derekparker in #4103
- pkg/proc: return better error attempting to call nonexistent function by @derekparker in #4062
- *: release version 1.25.2 by @aarzilli in #4104
Curated Changelog: https://github.com/go-delve/delve/blob/master/CHANGELOG.md#1252-2025-08-26
Full Changelog: v1.25.1...v1.25.2
v1.25.1
What's Changed
- proc: handle moving of direct interface flag in Go 1.26 by @randall77 in #4032
- proc: propogate errors from switchToGoroutineStack by @derekparker in #4034
- dwarf/frame: handle unknown opcodes more gracefully by @aarzilli in #4037
- service/dap: add missing response body close by @alexandear in #4039
- pkg,service: simplify tests with slices.Contains by @alexandear in #4040
- pkg/proc: make closure captured vars visible on closure's first line by @aarzilli in #4049
- pkg/proc: fix type cast between slices by @aarzilli in #4048
- For DAP try using debug filename pattern for debug binary path before using random string. fix for #3494 (new Windows Firewall detections) by @rustyoz in #4003
- pkg/goversion: update max supported go minor version by @derekparker in #4046
- service/dap: do not try to access value of unreadable string variables by @aarzilli in #4055
- service/dap: implement restart request by @derekparker in #4057
- service/dap: do not try to stacktrace an unreadable goroutine by @aarzilli in #4056
- *: v1.25.1 by @derekparker in #4059
New Contributors
- @randall77 made their first contribution in #4032
- @rustyoz made their first contribution in #4003
Curated Changelog: https://github.com/go-delve/delve/blob/master/CHANGELOG.md#1251-2025-07-18
Full Changelog: v1.25.0...v1.25.1
v1.25.0
What's Changed
- cmd/dlv: update staticcheck by @aarzilli in #3989
- proc: remove dieToRuntimeType by @aarzilli in #3985
- pkg/terminal: improve TestBreakPointFailWithCond by @alexandear in #3996
- gdbserial: fix call injection with newer versions of macOS by @aarzilli in #3988
- version: use git hash instead of file blob hash for Version.Build by @codeaucafe in #3987
- version: remove build constraint by @aarzilli in #3998
- goversion: fix development version parsing by @aarzilli in #3999
- service/debugger,rpc2,dap: target locking review by @aarzilli in #3997
- terminal/command: Fix typo in goroutines help output by @jersey1dev in #4024
- proc: fix sigpanic in openOnRead by @aarzilli in #4018
- proc/gdbserial: fix out of bounds access reading registers by @aarzilli in #4017
- service/dap: do not attempt further loading on unreadable string vars by @aarzilli in #4016
- proc: fix TestRangeOverFunc for arm64 on go1.25 by @aarzilli in #4014
- proc: fix nil pointer dereference in swiss table iterator by @aarzilli in #4015
- service/dap: fix race condition between disconnect and continue by @aarzilli in #4028
- Exclude internal breakpoints from response by @ConradIrwin in #4027
- proc: fill bi member of constants by @aarzilli in #4026
- *: Release v1.25.0 by @derekparker in #4029
New Contributors
- @codeaucafe made their first contribution in #3987
- @jersey1dev made their first contribution in #4024
- @ConradIrwin made their first contribution in #4027
Curated Changelog: https://github.com/go-delve/delve/blob/master/CHANGELOG.md#1250-2025-04-16
Full Changelog: v1.24.2...v1.25.0
v1.24.2
What's Changed
- *: fix various test problems with go1.25 by @aarzilli in #3946
- proc: add RegnumToString to PPC64LE architecture by @aarzilli in #3944
- goversion: add check for DWARFv5 compatibility by @aarzilli in #3943
- service/debugger: fix FindLocation with child processes by @aarzilli in #3937
- service/test: fix compile error in tests by @aarzilli in #3949
- cmd/dlv: fix typo by @alexandear in #3951
- terminal/command: bind if condition to location earlier by @Lslightly in #3938
- terminal: better question for suspended breakpoints by @aarzilli in #3934
- proc: add support for struct literals by @aarzilli in #3935
- service/test: skip substitutepath test when modules disabled by @derekparker in #3955
- proc/core: skip tests on ppc64le by @derekparker in #3954
- Documentation: fix substitutePath explanation for DAP server by @codesoap in #3952
- proc: do not always allocate struct literals by @aarzilli in #3953
- proc: fix bug telemetry counter increment by @aarzilli in #3967
- proc: skip invalid labels when debugging via Go 1.24 by @hongyuh-hh in #3962
- debugger: acquire missing lock to GuessSubstitutePath by @aarzilli in #3963
- proc: relax DWARFv5 check by @aarzilli in #3961
- fix(debugger): add missing targetMutex protection to CreateWatchpoint() by @BronzeDeer in #3973
- proc: replace Thread.Location method with a function by @aarzilli in #3972
- proc: limit the max length of goroutine's label map (#3928) by @hongyuh-hh in #3968
- fix(services/dap) fix race condition when launching with backend=rr by @BronzeDeer in #3971
- gdbserial: do not abort register reload on the first failed register by @aarzilli in #3966
- service/test: assert error on CreateBreakpoint in TestNextInstruction by @alexandear in #3979
- Release 1.24.2 by @aarzilli in #3983
New Contributors
- @Lslightly made their first contribution in #3938
- @codesoap made their first contribution in #3952
- @hongyuh-hh made their first contribution in #3962
- @BronzeDeer made their first contribution in #3973
Curated Changelog: https://github.com/go-delve/delve/blob/master/CHANGELOG.md#1242-2025-04-10
Full Changelog: v1.24.1...v1.24.2