Skip to content

Releases: debugmcp/mcp-debugger

Release 0.20.0

30 Mar 04:05

Choose a tag to compare

🎉 Release 0.20.0

[0.20.0] - 2026-03-29

Added

  • redefine_classes MCP tool — hot-swap changed Java classes into a running JVM without restarting the debug session (21 MCP tools total) (PR #26, contributed by @Finomosec)
  • E2E tests for redefine_classes and Java ClassPrepareEvent/BreakpointEvent race condition
  • redefine_classes documentation in docs/java/README.md

Fixed

  • Attach-mode stopOnEntry — restore default to preserve paused state; pass stopOnEntry through to attach and default to false in create_debug_session
  • Java event loop race — prevent ClassPrepareEvent from resuming stopped threads (PR #27, contributed by @Finomosec)
  • Java attach suspend — suspend VM on attach when stopOnEntry is true
  • Remove dead ProcessAdapter class and unrecognized --no-wait arg from debugpy E2E test

Changed

  • Comprehensive osoji sweeps — dead code removal, stale docs rewrite, test robustness improvements
  • Replace istanbul ignore comments with real unit tests
  • Fix comprehensive test matrix failures; add dotnet/java language coverage

📦 Installation

Docker:

docker pull debugmcp/mcp-debugger:0.20.0

npm (global install):

npm install -g @debugmcp/mcp-debugger@0.20.0

npx (no install):

npx @debugmcp/mcp-debugger@0.20.0 stdio

PyPI:

pip install debug-mcp-server-launcher==0.20.0

Optional adapters:

npm install -g @debugmcp/adapter-python
npm install -g @debugmcp/adapter-mock

📚 Documentation

See the README for usage instructions.

Release 0.19.0

22 Mar 14:34

Choose a tag to compare

🎉 Release 0.19.0

[0.19.0] - 2026-03-22

Added

  • .NET/C# debug adapter — full debugging via netcoredbg with launch/attach modes, conditional breakpoints, exception breakpoints, TCP-to-stdio bridge, and Portable PDB support (PR #24, contributed by @bob7123)
  • list_threads MCP tool — list all threads in the debugged process (20 MCP tools total)
  • pause_execution enhanced — optional threadId parameter to pause a specific thread
  • Java pause commandpause_execution support for Java adapter
  • Java per-breakpoint suspend policy — control thread suspension behavior per breakpoint (PR #25, contributed by @Finomosec)
  • Batteries-included CLI bundle — Rust, Java, and .NET adapters now bundled in @debugmcp/mcp-debugger
  • Pause test programs for Go, .NET, Java
  • Regression tests for Go and .NET pause fixes
  • Adapter registry, server coverage, and Go policy unit tests
  • Bridge fallback and bundle asset verification tests
  • Disconnect/detach safety tests

Fixed

  • Go and .NET pause workflow failures
  • Latent bugs in adapter loader, mock DAP parser, Java adapter, and Docker entrypoint
  • Fail fast with clear error when Docker daemon is not running
  • netcoredbg bridge path resolution for spaces in paths and NPX bundle variants
  • dapLaunchArgs.program preservation for compiled languages
  • Comprehensive osoji audit remediations (runtime bugs, dead code, stale docs)
  • 0% coverage files addressed after Vitest 4 upgrade

Changed

  • Adapter loading, error handling, logging, and language-specific documentation updated
  • Test robustness improvements and dead code removal

📦 Installation

Docker:

docker pull debugmcp/mcp-debugger:0.19.0

npm (global install):

npm install -g @debugmcp/mcp-debugger@0.19.0

npx (no install):

npx @debugmcp/mcp-debugger@0.19.0 stdio

PyPI:

pip install debug-mcp-server-launcher==0.19.0

Optional adapters:

npm install -g @debugmcp/adapter-python
npm install -g @debugmcp/adapter-mock

📚 Documentation

See the README for usage instructions.

Release 0.18.1

11 Mar 17:09

Choose a tag to compare

🎉 Release 0.18.1

[0.18.1] - 2026-03-11

Added

  • Java FQCN (Fully Qualified Class Name) support as breakpoint file parameter — pass class names like com.example.MyClass instead of file paths

Fixed

  • Multi-breakpoint aggregation and sourcePath-based breakpoint cleanup
  • Moved isJavaFqcn into adapter policy layer following Open/Closed principle

📦 Installation

Docker:

docker pull debugmcp/mcp-debugger:0.18.1

npm (global install):

npm install -g @debugmcp/mcp-debugger@0.18.1

npx (no install):

npx @debugmcp/mcp-debugger@0.18.1 stdio

PyPI:

pip install debug-mcp-server-launcher==0.18.1

Optional adapters:

npm install -g @debugmcp/adapter-python
npm install -g @debugmcp/adapter-mock

📚 Documentation

See the README for usage instructions.

Release 0.18.0

06 Mar 12:17

Choose a tag to compare

🎉 Release 0.18.0

[0.18.0] - 2026-03-05

Added

  • Go debugging support – full Delve DAP adapter with debug, test, exec, replay, and core modes, goroutine-aware stack traces, and automatic dlv detection (contributed by @swinyx)
  • Java debugging support – JDI bridge (JdiDapServer.java) with launch and attach modes, variable inspection, and deferred breakpoints via ClassPrepareRequest (contributed by @roofpig95008)
  • Java attach mode – connect to running JVMs via JDWP agent for debugging servers and complex applications
  • Java expression evaluation – full expression evaluator supporting field access, method calls, array indexing, arithmetic, string concatenation, casting, instanceof, ternary, and unary operators
  • Java conditional breakpoints – conditions evaluated server-side via the expression evaluator
  • Java documentationdocs/java/README.md user guide covering prerequisites, JDI bridge architecture, and troubleshooting
  • CI Go + Java toolchains – workflow now installs Go 1.21, Delve, and JDK 21 for cross-platform E2E testing
  • Dev proxy – lightweight MCP proxy for hot-reloading mcp-debugger during development without restarting Claude Code
  • Dev proxy STDIO backend transport mode – STDIO transport option for the dev proxy

Changed

  • Java backend – replaced KDA (kotlin-debug-adapter) and stdio-tcp-bridge with a single JDI bridge (JdiDapServer.java) using com.sun.jdi.* directly; zero external dependencies, compiles on first use
  • Java minimum JDK – bumped from JDK 11+ to JDK 21+ to match --release 21 compilation target
  • Removed dead sendConfigDoneWithAttach/sendConfigDoneWithLaunch code paths

Fixed

  • Java inner class breakpoints – fixed JDWP ClassPrepareRequest filter patterns (*ClassName$* silently fails; changed to ClassName$*)
  • Java instanceof with interfacesisSubtypeOf now handles InterfaceType subjects and recursive interface-extends-interface chains
  • Java thread ID overflow – changed from int to long thread IDs throughout the DAP bridge
  • Java frame ID collisions – replaced arithmetic encoding (threadId * 100000 + frameIndex) with lookup-table approach
  • Java breakpoint IDs – added unique, monotonically increasing breakpoint IDs per DAP spec
  • Java thread safety – used ConcurrentHashMap and AtomicInteger for shared state; added synchronized blocks for frame cache access
  • Java short-circuit evaluation&& and || now properly short-circuit
  • Java thread discovery – discover JVM threads via DAP threads request instead of hardcoding threadId=1
  • Java variable access – document and enforce javac -g requirement for LocalVariableTable (JDI needs it for local variable inspection)
  • Block EventSource phantom reconnection in SSE transport
  • Coerce stringified tool arguments from SSE transport
  • Docker Java support, crash safety, and continue-execution state race
  • Auto-detach safety for attach sessions
  • Prevent orphan child processes from holding ports after SSE crash
  • Prevent SSE backend from crashing immediately after startup
  • Two-phase initialized event handling for Delve on Windows
  • Replace printf-generated Docker entry.sh with version-controlled script
  • Downgrade missing debugpy to warning for virtualenv support
  • Prevent Docker path double-prefixing with idempotent resolution
  • Bundled Go adapter and mock-adapter-process for npx distribution
  • Resolved workspace:* dependency resolution during pnpm pack
  • Fixed cross-test pollution from process.env.PATH in Go/Python unit tests
  • Added Go adapter to Dockerfile and fixed Windows volume mount paths

Removed

  • Java jdb adapter – jdb text-parsing approach proved too fragile; replaced by JDI bridge

📦 Installation

Docker:

docker pull debugmcp/mcp-debugger:0.18.0

npm (global install):

npm install -g @debugmcp/mcp-debugger@0.18.0

npx (no install):

npx @debugmcp/mcp-debugger@0.18.0 stdio

PyPI:

pip install debug-mcp-server-launcher==0.18.0

Optional adapters:

npm install -g @debugmcp/adapter-python
npm install -g @debugmcp/adapter-mock

📚 Documentation

See the README for usage instructions.

Release v0.17.0

22 Nov 16:33

Choose a tag to compare

🎉 Release v0.17.0

📦 Installation

Docker:

docker pull debugmcp/mcp-debugger:v0.17.0

npm (global install):

npm install -g @debugmcp/mcp-debugger@v0.17.0

npx (no install):

npx @debugmcp/mcp-debugger@v0.17.0 stdio

PyPI:

pip install debug-mcp-server-launcher==v0.17.0

Optional adapters:

npm install -g @debugmcp/adapter-python
npm install -g @debugmcp/adapter-mock

📚 Documentation

See the README for usage instructions.

Release v0.16.0

10 Nov 14:54

Choose a tag to compare

🎉 Release v0.16.0

📦 Installation

Docker:

docker pull debugmcp/mcp-debugger:v0.16.0

npm (global install):

npm install -g @debugmcp/mcp-debugger@v0.16.0

npx (no install):

npx @debugmcp/mcp-debugger@v0.16.0 stdio

PyPI:

pip install debug-mcp-server-launcher==v0.16.0

Optional adapters:

npm install -g @debugmcp/adapter-python
npm install -g @debugmcp/adapter-mock

📚 Documentation

See the README for usage instructions.

Release v0.14.1

16 Sep 11:01

Choose a tag to compare

🎉 Release v0.14.1

📦 Installation

Docker:

docker pull debugmcp/mcp-debugger:v0.14.1

npm:

npm install -g @debugmcp/mcp-debugger@v0.14.1

PyPI:

pip install debug-mcp-server-launcher==v0.14.1

📚 Documentation

See the README for usage instructions.

Release v0.14.0

16 Sep 02:14

Choose a tag to compare

🎉 Release v0.14.0

📦 Installation

Docker:

docker pull debugmcp/mcp-debugger:v0.14.0

npm:

npm install -g @debugmcp/mcp-debugger@v0.14.0

PyPI:

pip install debug-mcp-server-launcher==v0.14.0

📚 Documentation

See the README for usage instructions.

Release v0.13.0

28 Aug 23:18

Choose a tag to compare

🎉 Release v0.13.0

📦 Installation

Docker:

docker pull debugmcp/mcp-debugger:v0.13.0

npm:

npm install -g @debugmcp/mcp-debugger@v0.13.0

PyPI:

pip install debug-mcp-server-launcher==v0.13.0

📚 Documentation

See the README for usage instructions.