Version History =============== 0.4.4 ----- - External subtitle imports can now match prefixless sidecar files against the source basename, choose their extension, and confirm partial substitutions. - Unmux now creates missing output directories with confirmation or the new ``--yes`` option. - Project documentation is now built with Sphinx and includes installation, usage, development, file-format, and API references. 0.4.3 ----- - Styled ASS subtitle sources with embedded font attachments are now detected explicitly, keep MKV output, preserve current source font attachments, and reject incompatible sidecar subtitle import. - Attachment descriptors are now treated as source-runtime data instead of pattern schema data, so pattern persistence skips them and source-vs-pattern validation ignores them. - Inspect differences no longer report planned changes for attachment filename/count drift while still showing attachment streams in the stream table. 0.4.2 ----- - Pattern details now show an inline ``Show: `` hint next to the quality field when the pattern itself has no stored quality but the selected show does. - Inspect stream tables now show attachment format labels like ``TTF`` in the codec column and keep attachment language cells blank instead of showing an undefined language. - FFmpeg damaged-MP3 diagnostics now recognize additional corruption lines such as ``invalid new backstep``, keeping them grouped under the ``warn-corrupt-mpeg-audio`` review summary. 0.4.1 ----- - ``convert`` now supports ``--copy-video`` and ``--copy-audio`` to keep the selected stream type in copy mode without applying the corresponding reencode flags, filters, or formatting options. - FFmpeg conversions now monitor diagnostics while the process is running, retry unset AVI packet timestamps once with ``-fflags +genpts``, and stop early when a file should be skipped instead of waiting for the full job to finish. - End-of-run convert summaries now list only FFmpeg findings that still require review, including named remedy identifiers such as ``warn-corrupt-mpeg-audio``. - ``upgrade`` now finishes by reporting the installed FFX version together with the active bundle branch. 0.3.1 ----- - Debug mode screen titles now append the active Textual screen class name, making screen-specific troubleshooting easier during inspect and edit flows. - ``--cut`` again works as a combined flag/option: omitted disables cutting, bare ``--cut`` applies the default ``60,180``, and explicit duration or ``START,DURATION`` values stay supported. - H.265 unmux commands no longer force an invalid ``-f h265`` output format, keeping FFmpeg copy extraction aligned with the required Annex B bitstream filter. - H.264 encoding now falls back from ``libx264`` to ``libopenh264`` with a warning when needed, and the test fixtures use the same encoder fallback so the suite remains portable across FFmpeg builds. 0.3.0 ----- - Inspect and edit screens now refresh nested track and pattern changes more reliably, with inspect-mode tables aligned to the target pattern view shown in the differences pane. - Metadata editing got a follow-up polish pass with clearer FFmpeg notifications, a shared in-screen log pane, safer apply/reload handling, and expanded cleanup and normalization coverage. - Track and asset probing recognize additional codecs, and the modern test suite now covers more metadata-editor, change-set, screen-state, and asset-probe behavior. - Textual now requires version ``8.0`` or newer to match the UI APIs used by the current screens. 0.2.6 ----- - DB-free ``ffx edit`` workflow for in-place metadata editing via temporary-file rewrite. - Inspect and edit workflows split into dedicated Textual screens with shared media-workflow support. - Textual tables and row actions now separate raw data from rendered labels to avoid markup leaking into stored metadata. - Responsive screen layout pass, ``Esc`` back handling, sortable show/inspect tables, and improved edit-screen notifications/toggles. - Application-wide UTF-8 i18n catalogs with language precedence from CLI over config over system over German default. - Metadata normalization extended for localized subtitle titles, ISO language cleanup, and smarter track editor language/title helpers. 0.2.5 ----- - Show-level quality and notes fields. - Pattern-over-show-over-default season-shift resolution with dynamic DB migration loading. - Migration prompt now reports the upgrade path and creates an in-place DB backup before applying schema changes. - ``upgrade --branch `` now fetches remote-only branches before switching. - ``unmux`` now applies season shifting to subtitle output filenames. - Convert now keeps DB-defined target subtitle dispositions authoritative over sidecar filename disposition flags when a pattern definition exists. - Focused modern tests added around migrations, unmux, upgrade, and subtitle-disposition import precedence. 0.2.4 ----- - Lightweight CLI commands now stay import-light via lazy runtime loading. - Setup/config templating moved to ``assets/ffx.json.j2``. - Aligned two-step local setup wrappers: ``ffx setup`` and ``ffx configure_workstation``. - Combined ``ffprobe`` payload reuse in ``FileProperties``. - Configurable crop-detect sampling plus per-process crop result caching. - Single-query controller accessors and conditional DB schema bootstrap. - Shared screen bootstrap/controller wiring for large detail screens. - Configurable default season/episode digit lengths. - Digit-aware ``rename`` and padded ``unmux`` filename markers. 0.2.3 ----- - PyPI packaging. - Output filename templating. - Season shifting. - DB versioning. 0.2.2 ----- - CLI overrides. 0.2.1 ----- - Signature handling. - Tag cleanup. - Bugfixes and refactoring. 0.2.0 ----- - Tests. - Config file. 0.1.3 ----- - Subtitle file imports. 0.1.2 ----- - Bugfixes. 0.1.1 ----- - Bugfixes. - TMDB show identification.