ZPL2PDF - v2.0.0
π Major Release - Complete Rewrite
Multi-language, WinGet Automation, Docker Optimization
This is a major release with complete architecture refactoring and numerous new features.
β¨ Added
Multi-Language Support
- 8 Languages: English, Portuguese, Spanish, French, German, Italian, Japanese, Chinese
- Automatic Detection: Detects system language automatically
- Permanent Configuration:
--set-languagecommand for persistent settings - Environment Variable:
ZPL2PDF_LANGUAGEsupport - Configuration File: Language setting in
zpl2pdf.json - Localization System: Complete
.resxresource files withLocalizationManager
Daemon Mode (Auto-Conversion)
- Automatic Folder Monitoring: Watches folder and converts files automatically
- Background Process: Daemon runs in background with PID management
- Daemon Commands:
start,stop,status,run - Custom Watch Folders: Configure any folder to monitor
- Fixed Dimensions: Optional fixed dimensions for all files
- Dynamic Extraction: Extract dimensions from each ZPL file automatically
Cross-Platform Support
- Windows: x64, x86, ARM64
- Linux: x64, ARM64, ARM (Ubuntu, Debian, CentOS, Alpine)
- macOS: Intel (x64), Apple Silicon (ARM64)
- Self-Contained: No .NET installation required
- Optimized Builds: Platform-specific optimizations
Docker Support
- Alpine Linux Base: Ultra-lightweight (470MB)
- Multi-Architecture: linux/amd64, linux/arm64
- Docker Compose: Ready-to-use configurations
- Health Checks: Built-in container health monitoring
- GitHub Container Registry:
ghcr.io/brunoleocam/zpl2pdf - Docker Hub:
brunoleocam/zpl2pdf
Professional Windows Installer
- Inno Setup: Professional installer with multi-language UI
- Language Selection: Choose app language during installation
- File Association:
.zplfiles open with ZPL2PDF - PATH Integration: Optional system PATH addition
- Smart Shortcuts: Start/Stop daemon from Start Menu
- Clean Uninstallation: Preserves user data optionally
Build & Distribution Automation
- Build Scripts:
build-all-platforms.ps1and.sh - 8 Platform Builds: Single command builds all platforms
- Automated Checksums: SHA256 for all builds
- Release Automation:
release.ps1and.shscripts - GitHub Actions: Automated Docker publishing on releases
Architecture & Code Quality
- Clean Architecture: Separation of concerns (Application, Domain, Infrastructure, Presentation)
- SOLID Principles: Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion
- Value Objects: Immutable domain objects (
ConversionOptions,LabelDimensions,DaemonConfiguration) - Service Layer: Centralized business logic (
ConversionService,FileValidationService,UnitConversionService) - Dependency Injection: Interfaces for all services
- 90%+ Test Coverage: Comprehensive unit and integration tests
Documentation
- Complete Restructure: Organized docs into user guides, development guides, and translations
- Multi-Language Docs: README available in 8 languages
- Docker Documentation: Comprehensive Docker usage and publishing guides
- Build Documentation: Detailed build scripts documentation
- CI/CD Documentation: Complete automation workflow documentation
π Changed
- Architecture: Migrated from monolithic to Clean Architecture (4-layer separation)
- Performance: Improved conversion speed by 300% with async processing
- Memory Usage: Reduced memory footprint by 50% with optimized rendering
- Error Handling: Enhanced error messages with localization support
- Code Quality: Improved maintainability and testability (90%+ coverage)
- Build Process: Automated cross-platform builds with single command
- Docker Image: Optimized from 674MB to 470MB (Alpine Linux)
- Installation Path: Changed from AppData to Program Files (Windows)
- Installer Size: Reduced to 35.44 MB with LZMA2 compression
π Fixed
- File Locking Issues: Implemented robust retry mechanisms for files in use
- Memory Leaks: Fixed memory leaks in long-running daemon processes
- Cross-Platform Compatibility: Resolved platform-specific path issues
- Dimension Calculation: Improved accuracy of ZPL dimension extraction
- Error Recovery: Better error handling with graceful degradation
- Encoding Issues: Fixed multi-language character encoding
- Docker Permissions: Fixed file permission issues in containers
π Security
- Dependency Updates: Updated all dependencies to latest secure versions
- Non-Root Docker: Containers run as non-root user
zpl2pdf - Input Validation: Enhanced validation to prevent malicious ZPL code
- Environment Variables: Secure handling of sensitive configuration
- File Permissions: Proper permissions for daemon-created folders
ποΈ Removed
- Legacy Code: Removed old monolithic architecture
- Hardcoded Strings: Replaced with localization resources
- Duplicate Code: Eliminated 200+ lines of code duplication
- Temporary Files: Removed dependency on temporary file creation