4.1 KiB
4.1 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
Unreleased
Added
- Complete Ghidra HTTP API implementation:
- Memory operations (read/write)
- Cross-reference analysis
- Program analysis (callgraph, dataflow)
- Enhanced decompiler controls:
- Raw output vs clean pseudocode
- Syntax tree visibility
- Multiple simplification styles
- Comprehensive API documentation (GHIDRA_HTTP_API.md, MCP_BRIDGE_API.md)
- Standardized JSON response formats
- Implemented
/plugin-versionendpoint for version checking - Added proper error handling for when no program is loaded
Changed
- Unified all endpoints to use structured JSON
- Improved error handling and response metadata
- Simplified bridge code and added type hints
- Updated port discovery to use DEFAULT_GHIDRA_PORT
- Refactored Java plugin into modular architecture:
- Separated concerns into api, endpoints, util, and model packages
- Created standardized response builders and error handlers
- Implemented transaction management helpers
- Added model classes for structured data representation
- Removed
portfield from responses (bridge knows what instance it called)
Fixed
- Fixed endpoint registration in refactored code (all endpoints now working)
- Improved handling of program-dependent endpoints when no program is loaded
- Enhanced root endpoint to dynamically include links to available endpoints
- Added proper HATEOAS links to all endpoints
1.4.0 - 2025-04-08
Added
- Structured JSON communication between Python bridge and Java plugin
- Consistent response format with metadata (timestamp, port, instance type)
- Comprehensive test suites for HTTP API and MCP bridge
- Test runner script for easy test execution
- Detailed testing documentation in TESTING.md
- Origin checking for API requests
- Mutating tests for API functionality
Changed
- Improved error handling in API responses
- Enhanced JSON parsing in the Java plugin
- Updated documentation with JSON communication details
- Standardized API responses across all endpoints
- Improved version handling in build system
Fixed
- Build complete package in
packagephase - Versioning and naming of JAR files
- GitHub Actions workflow permissions
- Extension ZIP inclusion in complete package
- ProgramManager requirement
- Git tag fetching functionality
- MCP bridge test failures
1.3.0 - 2025-04-02
Added
- Added docstrings for all @mcp.tool functions
- Variable manipulation tools (rename/retype variables)
- New endpoints for function variable management
- Dynamic version output in API responses
- Enhanced function analysis capabilities
- Support for searching variables by name
- New tools for working with function variables:
- get_function_by_address
- get_current_address
- get_current_function
- decompile_function_by_address
- disassemble_function
- set_decompiler_comment
- set_disassembly_comment
- rename_local_variable
- rename_function_by_address
- set_function_prototype
- set_local_variable_type
Changed
- Improved version handling in build system
- Reorganized imports in bridge_mcp_hydra.py
- Updated MANIFEST.MF with more detailed description
1.2 - 2025-03-30
Added
- Enhanced function analysis capabilities
- Additional variable manipulation tools
- Support for multiple Ghidra instances
Changed
- Improved error handling in API calls
- Optimized performance for large binaries
1.1 - 2025-03-30
Added
- Initial release of GhydraMCP bridge
- Basic Ghidra instance management tools
- Function analysis tools
- Variable manipulation tools
1.0 - 2025-03-24
Added
- Initial project setup
- Basic MCP bridge functionality