release_2.0.0
·
28 commits
to master
since this release
Major Features
- New Extraction Feature: Added a dedicated tab for extracting RVZ files back to ISO, WBFS, GCZ or WIA formats
- Drag & Drop Support: Added drag-and-drop capability for file selection in all tabs
- Selectable File Lists: Added DataGrid controls to individually select/deselect files for conversion, verification, and extraction
User Interface Improvements
- Resizable Layout: Split window with resizable log viewer using a grid splitter
- Consistent Styling: Moved style definitions to App.xaml for better maintainability and consistency
- Enhanced Tooltips: Added detailed tooltips for all UI elements to improve usability
- Adjustable Window Size: Updated window dimensions optimized for the new feature set
Technical Improvements
- Modular Services: Added specialized services for file operations, conversions, verifications, and extractions
- Improved Error Handling: Enhanced bug reporting and error handling across all operations
- Asynchronous Operations: Better async file operations and thread safety
- Robust Cancellation: Improved cancellation support with proper token propagation
- Enhanced Archive Handling: Better extraction of ZIP, 7Z, and RAR archives with security improvements
Bug Fixes
- International Support: Fixed number parsing for international locale support
- UI Freeze Prevention: Added shutdown flag to skip log UI updates when closing to avoid freezes
- Better Extension Detection: Improved handling of compound extensions like .nkit.iso
- Safer Archive Extraction: Prevent ZipSlip vulnerabilities by trimming leading slashes from archive entry paths
- Smoother Progress Tracking: Fixed progress bar jumping by improving counter update logic
Code Quality
- Documentation: Added comprehensive XML documentation to classes and methods
- Thread Safety: Added locks and improved async methods to prevent UI freezes and deadlocks
- Shared HTTP Handler: Implemented SharedHttpHandler for connection pooling across services
- Proper Cleanup: Enhanced dispose pattern implementation for resources
- Validation: Added UI validations for file selection, folder nesting, and missing dependencies