mcilspy/CHANGELOG.md
Ryan Malloy 7d784af17c refactor: address major code review findings
- Use importlib.metadata for dynamic version (single source in pyproject.toml)
- Clean up duplicate `import re` statements across modules
- Add missing type hints to all public methods
- Fix PATH auto-discovery for ilspycmd (~/.dotnet/tools)
- Add pytest test suite with 35 tests covering models, metadata reader, wrapper
- Bump version to 0.2.0, add CHANGELOG.md
2026-02-07 02:05:57 -07:00

1.9 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.2.0] - 2026-02-07

Security

  • Fixed shell injection vulnerability in SDK installation - replaced create_subprocess_shell with create_subprocess_exec using 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/tools when 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 re imports, 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