OpenCut v1.9.23 — UXP a11y polish
v1.9.23 — UXP Accessibility Polish (Round-2 audit follow-up)
Incremental release on top of v1.9.22 that lands the remaining UXP accessibility fixes surfaced during the second QA audit round.
What's in v1.9.23
- 7 UXP tab panels now have working
aria-labelledby— previously the Cut panel had an orphanaria-labelledby=""and the other 6 panels had no attribute at all, leaving screen readers unable to announce the active section. AssignedtabBtn{Cut,Captions,Audio,Video,Timeline,Search,Deliverables,Settings}ids to each tab button and wired each panel'saria-labelledbyto the matching id. - All 72 UXP
<button>elements now carry explicittype="button"— previously 61/72 were missing it. No active<form>in the UXP doc (so no implicit submit), but CLAUDE.md mandates explicit type on all buttons. Closes the gap with the CEP panel's 179/179 coverage. .hiddenand.oc-hiddenunified asdisplay: none !important— previously only scoped to.oc-result-area.hiddenand.oc-processing-banner.hidden, so toggling.hiddenon any other element (e.g., depth install hint, NLP result card) was a silent no-op. New global rule makes the utility class work regardless of element type.
Everything v1.9.22 shipped (recap)
/filepreview route allowlist restored (realpath must be under tempdir or~/.opencut, MIME type must be audio/video/image) — reverts a v1.9.21 security regressionsafe_bool()hardened against NaN/inf/containers — reject lists/tuples/sets/dicts that were previously coerced to True- 15 more
safe_boolcall sites across audio/captions/system/video_ai/video_core/video_editing routes mcp_server.pyJSON-RPC serialization fallback (default=str+-32603on failure) so non-serializable tool results can no longer hang the clientcore/highlights.pynull-safe guard onresponse.text.startswith(...)when LLM provider returns an empty responseroutes/system.pymovedtempfile+OPENCUT_DIRto function-local imports insideserve_file()(fixes the v1.9.21 CI lint failure)
Downloads
- Windows:
OpenCut-Server-Windows.tar.gz(PyInstaller onedir, WebView2-ready) - Linux:
OpenCut-Server-Linux.tar.gz - macOS:
OpenCut-Server-macOS.tar.gz
Binaries are built by GitHub Actions CI and uploaded automatically. If the download links below show "(no assets yet)", the CI run is still in progress — refresh in a few minutes.