Skip to content

v6.4.0 Search Infrastructure Overhauled

Latest

Choose a tag to compare

@zinja-coder zinja-coder released this 28 May 19:20
· 1 commit to jadx-ai since this release

What's Changed

Release Notes: JADX AI MCP v6.4.0

This major release focuses on drastically improving stability, performance, and reliability when analyzing massive Android applications. We've overhauled the search infrastructure to eliminate timeouts, fixed severe native memory leaks, and added precise refactoring capabilities for overloaded methods.

A huge shoutout to @mostafaNazari702 for their massive contributions to the search timeout and progress tracking features in this release! 🎉

What's New & Improved

Performance & Stability (Handling Massive APKs)

  • Metadata-Based Search & Progress Polling: Resolved a critical issue where the MCP server would timeout while searching through extremely large APKs. The server now leverages metadata-based scanning instead of full decompilation and utilizes a dynamic polling mechanism (/search-progress) to keep the connection alive while reporting real-time progress back to the AI model. (Thanks to @mostafaNazari702! PRs #94, #54)
  • Native Memory Leak Fix: Fixed a severe native memory exhaustion bug by ensuring Deflater and Inflater streams within the DecompilationCache are explicitly closed (.end()).
  • Thread Contention Eliminated: Replaced Math.random() with UUID.randomUUID() for search ID generation, eliminating lock contention and collisions in parallel stream workers during heavy concurrent searches.
  • Cache Optimizations: Fixed a double-lookup bug in ClassRoutes that caused redundant CPU decompression overhead and artificially inflated cache hit statistics.

Refactoring & Search Precision

  • Overloaded Method Disambiguation (Issue #89): The get_method_by_name and rename_method MCP tools now support an optional method_signature parameter. This allows AI models and users to precisely identify, read, and refactor specific methods when multiple overloads exist (e.g., distinguishing between onCreate(Bundle) and onCreate(Bundle, PersistableBundle)).

Bug Fixes

  • Startup Proxy Crash (Issue #99): Fixed a bug where the MCP server would immediately crash on startup if the host system had a dirty no_proxy (or other proxy-related) environment variable containing non-printable characters or trailing newlines. The server now thoroughly sanitizes the environment before dependencies are loaded.

Core Upgrades

  • Upgraded underlying dependency to JADX Core v1.5.5.

New Contributors

Full Changelog: v6.3.0...v6.4.0

Checksum SHA256:

  • jadx-mcp-server-6.4.0.zip: 4dcfa6137f090ae46f88ff5a190a7efc6f578172a68c4ba1dd85974ed9d3da9f
  • jadx-ai-mcp-6.4.0.jar: 46f1c76b3ebdfdf1d0e4792a0e1bc1bc404b29d79c00606e89e28a25726b67c7