- Add dump_package tool documentation to README and API.md - Document generate_pdb and use_pdb_variable_names parameters - Update tool count from 14 to 15 in API.md - Add DumpPackageRequest/Response models to API.md - Add v0.4.0 and v0.3.0 entries to CHANGELOG - Renumber API.md tools to accommodate new dump_package tool
3.0 KiB
3.0 KiB
Changelog
All notable changes to mcilspy will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Calendar Versioning for major releases.
[0.4.0] - 2026-02-11
Added
- PDB Generation (
generate_pdbflag) - Generate portable PDB files from decompiled assemblies for IDE debugging - PDB Variable Names (
use_pdb_variable_namesflag) - Use original variable names from existing PDB files for improved readability dump_packagetool - Extract all assemblies from NuGet package folder structures for bulk analysis
Changed
decompile_assemblynow exposes all ilspycmd CLI options - mcilspy has 100% feature coverage- Updated documentation with new tool and parameter descriptions
- Tool count increased from 14 to 15
[0.3.0] - 2026-02-10
Fixed
- Type parsing regex - Fixed
list_typesreturning empty results (regex expected "Class:" but ilspycmd outputs "Class ") - UserStringHeap data access - Fixed Python name mangling issue in
search_stringscausing crash - Decompile stdout mode - Added
_decompile_to_stdout()method for simple decompilation without output directory
Changed
- Merged comprehensive code review fixes from parallel taskmaster branches (security, architecture, performance, testing)
- All 165 tests passing
[0.2.0] - 2026-02-07
Security
- Fixed shell injection vulnerability in SDK installation - replaced
create_subprocess_shellwithcreate_subprocess_execusing explicit argument lists - Added subprocess timeout (5 minutes) to prevent hanging on malicious/corrupted assemblies
Added
- pytest test suite with 35 tests covering models, metadata reader, and wrapper
- PATH auto-discovery for ilspycmd - now checks
~/.dotnet/toolswhen not in PATH - FastMCP lifespan pattern for proper dependency management
Changed
- Version handling now uses
importlib.metadata- single source of truth in pyproject.toml - Error messages standardized across all tools using
_format_error()helper - Type parsing improved with proper handling for nested types (
Outer+Nested) - Imports cleaned up - removed duplicate
reimports, added top-level import
Fixed
- Global mutable state replaced with FastMCP lifespan context pattern
- Type hints added to all public methods
- Regex parsing now logs unparsed lines instead of silently ignoring
[0.1.1] - 2026-02-06
Added
- dnfile-based metadata tools (search_methods, search_fields, search_properties, list_events, list_resources, get_metadata_summary)
- Platform-aware installation tool with SDK detection
- Improved README with badges and quick start guide
Fixed
- HeapItemBinary conversion in metadata reader
- Property and event listing with proper row index handling
[0.1.0] - 2026-02-05
Added
- Initial release
- FastMCP server wrapping ilspycmd
- Tools: decompile_assembly, list_types, generate_diagrammer, get_assembly_info
- check_ilspy_installation and install_ilspy helper tools