v1.1.3 - Architecture Refactor, Build Parallelization & Frontend Modularization
CLI & Argument Parsing
- Flexible Argument Parsing: Re-implemented the CLI parser to intelligently identify input files, output paths, target sizes, and codec flags (
hevc,h264) irrespective of their order. - Preset Override Priority: Preset binaries now treat hardcoded values as defaults, allowing users to fully override the codec, target size, and output path via command-line arguments.
- Unified Command Interface: Consolidated CLI behavior across all preset variants for a more intuitive user experience.
Subprocess & Stability Enhancements
- Deadlock Resolution: Fixed potential subprocess deadlocks in both single-pass and split-pass hardware encoding by optimizing stdout/stderr pipe handling.
- Improved Progress Parsing: Re-engineered progress monitoring to be more resilient, using character-by-character reading and centralized formatting (
format_progress). - Standardized Encoding: Enforced UTF-8 encoding across all subprocess communications for improved robustness.
System & Build Optimization
- Parallelized Build System: The
build.pyscript now compiles all 8 preset variants (HEVC/H264) in parallel usingThreadPoolExecutor, significantly reducing release preparation time. - Modern Resource Management: Adopted
tempfile.TemporaryDirectorycontext managers for guaranteed cleanup of temporary staging areas. - Enhanced Logging: Replaced silent
passblocks with explicit exception catching and stderr logging for better debug context. - Cross-Platform Build Isolation: Isolated PyInstaller's work and configuration directories to resolve race conditions during parallel builds, ensuring success on macOS, Windows, and Linux.
Frontend Re-architecture
- Modularized Documentation: Successfully split the 700+ line
index.htmlinto a cleaner structure within thedocs/directory, extracting CSS and JavaScript into standalonestyles.cssandapp.jsfiles. - Deployment Syncing: Updated GitHub Actions (
deploy.yml) to correctly route deployments through the new modulardocs/architecture.
CI/CD & Code Quality
- Improved Pipeline Speed: Added
pipdependency caching to GitHub Actions to accelerate CI/CD workflows. - Static Analysis Compliance: Resolved numerous Pyre linting issues and removed brittle regex-based source mutations from the build pipeline.
Full Changelog: v1.1.2...v1.1.3