|
180 | 180 | - Lint: `ruff check opencut/` — codebase is fully clean, pre-commit enforces on every commit |
181 | 181 |
|
182 | 182 | ## Version |
183 | | -- Current: **v1.9.6** |
| 183 | +- Current: **v1.9.7** |
184 | 184 | - All version strings: `pyproject.toml`, `__init__.py`, `CSXS/manifest.xml` (ExtensionBundleVersion + Version), `com.opencut.uxp/manifest.json`, `com.opencut.uxp/main.js` (VERSION const), `index.html` version display, README badge, `package.json` |
185 | 185 | - Use `python scripts/sync_version.py --set X.Y.Z` to update all 19 targets at once (including UXP files and package.json) |
186 | 186 | - Use `python scripts/sync_version.py --check` in CI to verify all targets match |
@@ -919,6 +919,12 @@ enhance = ["resemble-enhance>=0.0.1"] |
919 | 919 | - **10 duplicate class attributes in HTML** — 10 elements had two `class=` attributes; HTML parser silently ignores the second, losing spacing utilities (mt-xs, mt-sm, mb-sm, mt-md). All merged into single attributes. |
920 | 920 | - **pip install permission denied** — `safe_pip_install()` failed on Windows when both normal and `--user` installs hit Errno 13 (Microsoft Store Python, OneDrive-synced user dirs, restrictive ACLs). Added `--target ~/.opencut/packages` as third fallback strategy. server.py adds `~/.opencut/packages` to `sys.path` at startup. |
921 | 921 |
|
| 922 | +## v1.9.7 Batch 39 (Priority Queue, MCP Tools, Final ffprobe) |
| 923 | +- **WorkerPool priority queue** — replaced FIFO ThreadPoolExecutor with PriorityQueue-backed pool. CRITICAL(0) jobs leapfrog BACKGROUND(200) when workers busy. |
| 924 | +- **5 new MCP tools** — denoise_audio, upscale, scene_detect, depth_map, shorts_pipeline (23 total). |
| 925 | +- **3 more bare ffprobe** — audio.py waveform, video_editing.py reframe, utils/media.py probe. Fixed to get_ffprobe_path(). |
| 926 | +- **FFmpeg path warnings** — get_ffmpeg_path()/get_ffprobe_path() now log WARNING when binary not found. |
| 927 | + |
922 | 928 | ## v1.9.6 Batch 38 Bug Fixes (Route Cleanup) |
923 | 929 | - **10 remaining `_p(pct, msg)` closures** — audio.py (3), video_fx.py (5), captions.py (1), workflow.py (1) all crashed with TypeError when core modules called on_progress with 1 arg. Fixed all to `msg=""`. |
924 | 930 | - **Redundant filepath re-validation in 7+ routes** — face_enhance, face_swap, upscale_run, remove_watermark, title_overlay, particle_apply, color_correct, color_convert, color_external_lut all re-read `data.get("filepath")` despite @async_job handling it. Removed ~80 lines of dead code. |
|
0 commit comments