Releases: seborama/proton-mail-export-cli-tidy
Releases · seborama/proton-mail-export-cli-tidy
v2.0.0
🚀 Major Release: Comprehensive Code Improvements and Testing Infrastructure
This release represents a significant overhaul of the codebase, transforming it from a functional script into a well-structured, maintainable, and user-friendly tool.
✨ New Features
🔍 Dry-Run Mode
- Added
--dry-runoption for safe preview before execution - Shows exactly what would be organized without touching files
- Perfect for validating organization logic before committing
🧪 Comprehensive Testing
- 25 unit tests covering all core logic components
- Test coverage for label categorization, email parsing, file utilities
- Ensures reliability and prevents regressions
🛠️ Technical Improvements
📝 Type Safety & Code Quality
- Full type hints throughout codebase for better maintainability
- Extracted constants eliminating magic numbers
- Comprehensive error logging with specific failure details
🏗️ Modular Architecture
- Refactored large functions into smaller, testable units
- Single-responsibility principle applied
- Enhanced separation of concerns
🔧 Enhanced Error Handling
- Structured logging with configurable debug levels
- Specific exception handling for different error types
- Better user feedback and troubleshooting support
📚 Documentation Updates
- Enhanced README with usage examples and command-line options
- Added Development section with test execution instructions
- Updated .gitignore to exclude development tool artifacts
🔄 Backward Compatibility
- All existing functionality preserved
- No breaking changes to existing usage patterns
- Enhanced with new capabilities while maintaining simplicity
🧪 Test Coverage
✅ Label categorization and priority selection
✅ Email metadata parsing and validation
✅ File utilities and path operations
✅ Error scenarios and edge cases
✅ Malformed data handling
📈 Statistics
- 4 files changed: 693 insertions, 144 deletions
- 25 unit tests: All passing
- 100% backward compatibility: No breaking changes
This release significantly improves code maintainability, user experience, and developer confidence while preserving the tool's core simplicity and effectiveness.