- 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
48 lines
1.9 KiB
Markdown
48 lines
1.9 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to mcilspy will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Calendar Versioning](https://calver.org/) 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
|