#+title: dape.el - Changelog
#+author: Daniel Pettersson
#+language: en

* Version 0.13.0
- Add support for new version of =lldb-vscode= which is now called =lldb-dap=
- Rework source line with new hook =dape-display-source-hook= (performance)
- Support watch expressions with space in =dape-info-watch-edit-mode=
- Keep current stack frame selection through REPL usage
- Mark =dape-command= as safe-local-variable
- Align =defcustom= hook names with Emacs standard
- Clarify boundary of exception message overlay with extended face
- Replace custom fringe arrow handling with =overlay-arrow-variable-list=
- Improve error message when failing to establish TCP connection
- Generate new hexlish buffers on =dape-memory-read=
- Extend =repeat-map= to improve =edebug= like workflow
- Fix skip server-process creation for children of socket connections
- Fix prefix-* path substation for non matching prefix
- Fix ensure removal of dangling stack pointer overlays
- Fix handle error when breakpoint on line where =thing-at-point= is nil
- Fix stale modeline status on switching adapter connection
- Fix =dape-select-stack= when delayed stack trace loading is in effect

* Version 0.12.0
- Rework breakpoint info type display
- Add stack select up/down repl commands
- Cache mode line format to improve performance
- Improve error printing on startup failure
- Fix locked running state by atomizing thread status updates
- Fix mode-line status switches from initialized to running
- Fix minibuffer default-directory stuck at first guess

* Version 0.11.1
- Show each breakpoint as verified when no connection active
- Add basic support for data breakpoints
- Fix "continued" state handling (breaking =lldb-vscode=)

* Version 0.11.0
- Experimental: Add inlay hints for variables
- Improve state handling by only using events for state changes
- Fix false invalidation of breakpoints
- Add debounce to dape-info and memory viewer buffer for improved performance
- Add source line contents to breakpoints info buffer
- Support hit condition breakpoints with =dape-breakpoint-hits=
- Show reason for stoppage in mode-line
- Improve REPL completions
- Add edit watch buffer mode =dape-info-watch-edit-mode=

* Version 0.10.0
- Remove "Selecting deleted buffer" in jsonrcp shutdown error message
- Handle child connections of depth => 2
- Make sure that =compile= starts a new compilation
- Add "Hits" to breakpoint info buffer
- Add node attach configuration

* Version 0.9.0
- Enhanced support for multi-connection adapters
- Threads buffer shows all threads across connections
- Thread selection works across all connections
- Modeline indicates active child connections
- Threads buffer displays names of non-stopped threads

* Version 0.8.1
- Revert =debugpy= connection changes, breaks process debugging

* Version 0.8
- Add new mode for memory view =dape-memory-mode= with write support
- Enable persistent breakpoint support with =dape-breakpoint-save= and =dape-breakpoint-load=
- Remove gdb disclaimer, gdb seams to be fully supported by =dape=
- Add =js-debug-ts-node= batteries included configuration
- Add =debugpy-module= batteries included configuration
- Switch =debugpy= connection to stdio, improves tramp usage (no need for exposing ports)
- Prefer the current file when having multiple Java main classes (=jdtls=)
- Add module information in stack buffer with =dape-info-stack-buffer-modules=
- Show threads information in running state
- Add dape buffer window customization =dape-info-buffer-window-groups=
- Improve repl shorthand, support for multi char shorthand and completion
- Use autoport and tramp config transformations as default (=dape-default-config-functions=)
- Add info messaging for tramp detection
- Add =:null= as json null symbol
- Bump jsonrpc version 1.0.25 (improved performance on large messages batches)
- Improve =dape-configs= documentation
- Rework core dape macros into hygienic macros
- Improve =dape-pause= connection inferring
- Ensure stopped buffer for watch buffer var fetching, remove flickering
- Rework function evaluation in minibuffer hints
- Rework dape-info to use revert-buffer
- Rework runInTerminal to use =make-process= directly
- Fix recursive nil to :json-false translation
- Fix goto module with remote debugging
- Remove dependency on undefined behaviour (defun return value)
- Fix usage of locally defined =dape-configs=

* Version 0.7
- Add GDB as an "supported" adapter (see =dape--info-threads-all-stack-trace-disable=)
- Change thread up/down bindings to match gud bindings
- Skip updating non visible info buffers
- Expose request timeout as =dape-timeout=
- Improve performance of stack trace calls

* Version 0.6
- Harden breakpoints functions against dead breakpoint overlays
- Small improvements in the batteries included configurations
- Nicer variable print in repl
- Improve current connection guesses (improves =debugpy= multi process support)
- Bump required jsonrpc version to 1.0.24
- Fix broken external terminal with correct =runInTerminal= response in =js-debug=
- Normalize naming and usage of dape faces
- Add typescript as part of js-debug modes
- Focus emacs on stopped, controllable with =dape-on-stopped-hooks=

* Version 0.5
- Use setBreakpoints response and event =breakpoint= to validate and move breakpoints
- Add =dape-debug= custom to disable debug printouts in =*dape-repl*=
- Fix =startDebugging= request removing stack pointer

* Version 0.4
- Switched to jsonrpc.el for parsing DAP messages
- Add support for modules and loaded sources
- Added jdtls (java-debug) as a supported adapter
- Handle subprocess creation for =debugpy= processes (fix =startDebugging= handling)
- Add option to align variables buffer =dape-info-variable-table-aligned= (unaligned per default)
- Add overlay for inline exception stoppage description
- Rework dape debugging printouts (removed =*dape-debug*= buffer) in =*dape-repl*=
- =dape-info= now toggles buffers on interactive calls
- Add file name completion for interactive calls of =dape=
- New global non interactive mode for =dape-active-mode= for adding bindings
- Added hints in minibuffer controlled by =dape-minibuffer-hint=, =dape-minibuffer-hint-ignore-properties=
- Rework of =dape-configs=; remove usage of =read-*= functions and guess default values instead.
- Add =dape-command= as an analog to =compile-command=
- Rework in buffer stack pointers to be able to display breakpoints and arrow at same line
- Change defaults of =dape-display-source-buffer-action=
- Add commands for moving up and down the stack =C-o=, =C-i=
- Add mouse bindings for adding, changing and removing =dape-breakpoints-*=
- Add generic =dape-config= entries for exploring adapters =launch=, =attach=
- Improve usability of =dape-evaluate-expression=, if sends region if active
- Rework =dape-breakpoints=*= =dape= incorrectly allowed for multiple breakpoints on same line
- Minor bugfixes and improvements

* Version 0.3
- Add support for source by sourceReference by =dape-mime-mode-alist=
- Support stepping granularity with =dape-stepping-granularity=
- Improve repl completions with completionTriggerCharacters
- Add =rdbg= as a batteries included adapter
- Extend =fn= config keyword to take a list of functions as well
- Cleanup breakpoints on buffer kill
- Add basic support for debugging with tramp
- Add new configuration keys prefix-local and prefix-remote for source mapping
- Minor bugfixes and improvements

