github starsong-consulting/GhydraMCP v3.0.0-beta
Release v3.0.0-beta

pre-release5 hours ago

Changed

  • Ghidra 11.x + 12.x: The plugin builds and runs against both Ghidra 11.x and 12.x; CI builds a matrix over the latest of each. Per-version extension artifacts are stamped with the matching ghidraVersion (which must equal the running Ghidra exactly).
  • Ghidra 12.x: Migrated the plugin to build against Ghidra 12.x (tested on 12.1.2). Build with GHIDRA_HOME pointing at the install, or -Dghidra.version= to stamp the extension.
  • Javalin HTTP server: The plugin now embeds a Javalin/Jetty server with a layered resource/service/dto/hateoas/middleware/server structure, replacing the previous JDK HttpServer + endpoints/ implementation. Shaded into a single Ghydra.jar.

Fixed

  • Locked buffer crashes: DB-iterator traversals are marshalled onto the EDT (GhidraSwing.runRead), fixing IOException: Locked buffer crashes during concurrent analysis.
  • StackOverflow containment: A self-referential pointer made Ghidra's own label resolution recurse without bound; reads now contain the resulting Error and fail the request cleanly instead of crashing the EDT.
  • Call graph callees: Callee discovery scans the whole function body instead of just the entry address, so /analysis/callgraph and /analysis/callees return results.
  • Client errors return 400: Malformed input (bad addresses, hex, JSON bodies, invalid params) maps to HTTP 400 instead of 500; /xrefs pagination no longer returns empty pages past the first.
  • Bridge/CLI field sync: Bridge and CLI formatters match the server's response field names (decompilation, variables, xrefs, segments, memory), and integral JSON numbers are no longer rendered as floats.

Don't miss a new GhydraMCP release

NewReleases is sending notifications on new releases.