Skip to content

v1.1.3

Latest

Choose a tag to compare

@SimpNick6703 SimpNick6703 released this 11 Apr 07:41
d8ad1d6

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.py script now compiles all 8 preset variants (HEVC/H264) in parallel using ThreadPoolExecutor, significantly reducing release preparation time.
  • Modern Resource Management: Adopted tempfile.TemporaryDirectory context managers for guaranteed cleanup of temporary staging areas.
  • Enhanced Logging: Replaced silent pass blocks 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.html into a cleaner structure within the docs/ directory, extracting CSS and JavaScript into standalone styles.css and app.js files.
  • Deployment Syncing: Updated GitHub Actions (deploy.yml) to correctly route deployments through the new modular docs/ architecture.

CI/CD & Code Quality

  • Improved Pipeline Speed: Added pip dependency 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