Skip to content

0.5.0

Compare
Choose a tag to compare
@mfussenegger mfussenegger released this 22 Feb 14:27
· 126 commits to master since this release
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 a stopped 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 new sessions widget that shows active
    sessions.

    To start a second debug session you have to call continue({ new = true })
    or run(config) with a configuration that has a different name than the
    current active session, or with run(config, { new = true }).

    For plugins or customizations that use listeners, keep in mind that if you
    receive a terminated or disconnect 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 with debugpy, once support for it is
    released in debugpy itself. The current debugpy 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() and down() 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 the status() 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 an executable.
  • 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

Full Changelog: 0.4.0...0.5.0