Repository navigation
v0.2.8
Summary:
This release introduces crucial stability enhancements, including configurable subprocess timeouts to prevent hangs on frozen FFmpeg streams, and brings official support for Python 3.14.x. It also includes major bug fixes for multi-input filtergraphs and raises the minimum required Python version to 3.11+.
Full Changelog: https://abhitronix.github.io/deffcode/latest/changelog/#v028-2026-10-18
What's Changed
✨ New Features
- FFhelper: Added configurable subprocess timeout support to
check_sp_outputto prevent indefinite hangs on frozen FFmpeg streams, featuring a graceful two-step shutdown (SIGTERM then SIGKILL). - Core: Added official support for Python 3.14.x.
- Docs: Added new multi-input
-filter_complexrecipes, including 2x2 video grids (mosaic) viaxstackand crossfade transitions viaxfade.
⚡️ Updates/Improvements
- FFhelper: Applied the new subprocess timeout logic to all internal FFmpeg subprocess calls and download adapters.
- Packaging: Modernized packaging by adding Poetry fields and
poetry.locktopyproject.toml. - Core: Bumped Ruff target-version to py311 and modernized internal typing using
typing.Self.
💥 Breaking Updates/Changes
- Core: Minimum Python version raised to 3.11+. Python 3.10 has reached EOL and is officially dropped.
- FFhelper: The
DEFAULT_TIMEOUTconstant has been renamed toDEFAULT_TIMEOUT_REQUESTS.
🐛 Bug-fixes
- Sourcer: Fixed multi-input filtergraph metadata probing that previously caused composite outputs (like
hstack,xstack) to report incorrect frame resolutions and yield corrupted frames. - FFdecoder: Fixed multi-input pipelines (e.g.,
xfade) truncating to the first input's frame count; they now correctly decode until EOF. - FFhelper: Fixed an issue where
check_sp_outputwould hang indefinitely on frozen FFmpeg streams.
You can become a sponsor via GitHub Sponsors by clicking the button below:
Thanks a million! 😊