0.5.0
What's Changed
General
-
Added support for running multiple debugging session in parallel. This is
useful if you want to debug both a server application and a client. In this
initial version breakpoints are broadcast to all sessions, and whenever a
session emits astopped
event, this session will get focused. This should
allow immediate inspection of variables and stepping from client to server
and vice versa. There is also a newsessions
widget that shows active
sessions.To start a second debug session you have to call
continue({ new = true })
orrun(config)
with a configuration that has a different name than the
current active session, or withrun(config, { new = true })
.For plugins or customizations that use listeners, keep in mind that if you
receive aterminated
ordisconnect
command, there can now still be other
sessions running.For an example of an advanced use-case using this capability, see Debugging
Neovim with Neovim and nvim-dap -
Added
startDebugging
support. This will enable support for debugging python
applications using multiprocessing withdebugpy
, once support for it is
released indebugpy
itself. The currentdebugpy
version 1.6.6 does not
support it but you can already try it using a version installed via git from
their main branch. This includes use-cases like debugging Django, Flask or
Celery with reload enabled.This should also enable support for vscode-js-debug once
startDebugging
is implemented in it as well. -
Some resiliency improvements around terminating sessions. In some cases
callbacks and listeners weren't triggered, and some late messages weren't
processed. -
Added support for the
restart
property in a terminated event. This allows
debug adapters to restart a debug session. -
up()
anddown()
now no longer flip around at the top or bottom. -
Changed the REPL buffer to have
buflisted=false
. -
Added the
supportsProgressReporting
capability. By default progress report
events sent from the debug adapter are shown via thestatus()
function. The
main intention is to give users and plugins the capability to subscribe to
those events via the listeners and customize the progress reporting display.
launch.json
- Added support for underscores within the name of
${input}
variables - Added support for { label: ..., value: } options in
pickString
${input}
variables.
Fixes
- Fixed an issue that caused defunct processes when using the
server
adapter type with anexecutable
. - Fixed a regression that caused jumping to a frame where the source must be fetched to fail.
- Fixed handling of
output
events. The REPL should now no longer break up lines at arbitrary places.
New Contributors
- @feoh made their first contribution in #834
- @mrcjkb made their first contribution in #855
- @cryptomilk made their first contribution in #873
Full Changelog: 0.4.0...0.5.0