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 astoppedevent, 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 newsessionswidget 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 aterminatedordisconnectcommand, 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
startDebuggingsupport. This will enable support for debugging python
applications using multiprocessing withdebugpy, once support for it is
released indebugpyitself. The currentdebugpyversion 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
startDebuggingis 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
restartproperty 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
supportsProgressReportingcapability. 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
serveradapter type with anexecutable. - Fixed a regression that caused jumping to a frame where the source must be fetched to fail.
- Fixed handling of
outputevents. 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