macOS 13 and 14: on-device transcription is fixed. In v1.10.0 the speech-to-text
helper never loaded on Ventura or Sonoma, and the captions pane reported
Failed to fetch— which looked like a network fault but was the helper aborting in
the dynamic loader. Updating to v1.11.0 fixes it. Recording, editing and export were
never affected, and macOS 15 and later were never affected. See #538 for the analysis.
What's Changed
- docs(testing): say who runs the manual e2e pass, and that a slice counts by @EtienneLescot in #461
- fix(timeline): remove the dead Add Full Camera toolbar button by @EtienneLescot in #466
- fix(editor): remove the redundant top-bar settings button by @EtienneLescot in #465
- fix(editor): close the clip picker on an outside click by @EtienneLescot in #464
- fix(stt): offer every whisper.cpp language in the regenerate picker by @EtienneLescot in #468
- revert: remove the dead Add Full Camera toolbar button by @EtienneLescot in #473
- fix(editor): light theme contrast + gradient palette by @EtienneLescot in #470
- fix(editor): zoom/pan the whole timeline pane on scroll by @EtienneLescot in #467
- fix(captions): position presets you can click, sliders that reach the true edge by @EtienneLescot in #471
- fix(editor): timeline clip delete icon contrast in light theme by @EtienneLescot in #480
- fix(captions): place captions by anchor and margin, not by an invisible band by @EtienneLescot in #482
- docs(testing): log the v1.10.0-rc.3 Windows e2e run by @EtienneLescot in #485
- fix: initialise CoreGraphics before building a macOS window capture filter by @naadydev in #488
- fix(recording): use hardware H.264 on Windows by default by @EtienneLescot in #489
- fix(app,recording): Save Diagnostics UI + faster #460 shutdown by @EtienneLescot in #492
- chore(release): release v1.10.0 into main by @EtienneLescot in #495
- docs: publish minimum and recommended system requirements by @EtienneLescot in #496
- fix(website): match recreation generator's param name to amplitude by @EtienneLescot in #498
- fix(ci): don't let the docs refresh block Microsoft Store publishing by @EtienneLescot in #499
- chore: bump nix package to v1.10.0 by @EtienneLescot in #497
- fix(build): stop the Windows cargo env values from breaking Linux builds by @EtienneLescot in #516
- refactor(editor): delete the orphaned v3 left rail and media pane by @EtienneLescot in #479
- fix(capture): zero-copy dmabuf→VAAPI capture — fix whole-screen recording freeze on GNOME/AMD (#507) by @Beetix in #508
- feat(linux): capture mouse clicks on Wayland via evdev by @Beetix in #501
- fix(macos): make recording work on Monterey, and stop calling a dead helper a denied permission by @EtienneLescot in #527
- feat(webcam): add AI background cutout, blur, and custom wallpapers (#291) by @EtienneLescot in #493
- fix(compositor): bound the image texture cache, which never freed anything by @EtienneLescot in #537
- fix(webcam): ask the machine whether it can segment, instead of guessing by @EtienneLescot in #541
- perf(wallpapers): cap the bundled backgrounds at 3840px by @EtienneLescot in #542
- perf(audio): stretch speed regions through libavfilter atempo instead of WSOLA — fixes exports frozen at ~80% by @superkc2026 in #371
- fix(nix): unbreak
nix build, and let it run on the PRs that can break it by @EtienneLescot in #545 - fix(export): keep the progress bar honest and moving during the audio phase by @EtienneLescot in #546
- fix(preview): show the modifiers under a trim when the playhead is on it by @EtienneLescot in #553
- feat(website): add a development journal at /blog by @EtienneLescot in #563
- feat(website): route all Discord links through getopenscreen.com/discord by @EtienneLescot in #568
- perf(linux): convert to YUV on the GPU, halving the export readback by @EtienneLescot in #555
- chore: add FUNDING.yml by @EtienneLescot in #574
- perf(linux): take the export from 3.33x the floor to 1.17x, and onto the GPU by @EtienneLescot in #559
- fix(export): give the Linux encoder a keyframe interval and a chosen QP window by @EtienneLescot in #575
- fix(build): stop hiding the shared dependencies behind cfg(linux) by @EtienneLescot in #581
- chore(ffmpeg): say that the encoder list is reported, not verified by @EtienneLescot in #579
- refactor(export): drop send_rgba and the state that existed only for it (Linux) by @EtienneLescot in #580
- fix: reset themed cursor when sidecar type is null or omitted by @My-Denia in #566
- feat(update): add update settings and a background check by @My-Denia in #525
- feat(editor): persist and restore the editor window bounds by @My-Denia in #524
- feat(editor): crop at pixel resolution with a larger preview by @My-Denia in #523
- fix: snap illegal AAC sample rates to 48 kHz on Windows by @My-Denia in #565
- fix(stt): distinguish initializing from transcribing on every spinner by @My-Denia in #522
- perf(export): decode H.264 in software on the macOS export walk (1.82x floor -> 1.30x) by @EtienneLescot in #583
- fix(packaging): unblock the Windows build, and cover what landed after v1.10.0 by @EtienneLescot in #589
- docs(perf): record the macOS export measurements, including what failed by @EtienneLescot in #594
- docs(perf): capping the macOS decoder's threads is a loss, and why the fixture said otherwise by @EtienneLescot in #597
- ci(onnx): build ONNX Runtime for macOS with the floor the app declares by @EtienneLescot in #595
- ci(build): do not run the release matrix for internal v0.0.0-* tags by @EtienneLescot in #598
- fix(wgc): pull-based frame delivery to stop CopyResource wedging the stop path by @abduznik in #306
- fix(macos): serve ONNX Runtime from a build that respects the 13.0 floor by @EtienneLescot in #599
- docs(perf): settle the macOS export's 4 s cold start, and kill the asar lever by @EtienneLescot in #600
- fix(ci): read the runner image instead of interpolating an empty string by @EtienneLescot in #601
- feat(editor): imported audio, and transcript words you can correct, add and delete by @EtienneLescot in #569
- docs(e2e): checks for imported audio, voice-over and word insertion by @EtienneLescot in #603
- build: pin electron exactly, so packaging works without a second declaration by @EtienneLescot in #605
- fix(insertions): the deleted word stayed in the transcript by @EtienneLescot in #604
- fix(i18n): simplify transcript panel title across all locales by @EtienneLescot in #607
- fix(editor): reset all parameters on audio track pane reset by @EtienneLescot in #609
- fix(editor): polish UI layout, slider gauge, icons and captions panel by @EtienneLescot in #610
- fix(timeline): expand initial timeline height and dynamically adjust for stacked audio lanes by @EtienneLescot in #611
- fix(editor): keep the camera preset labels inside their button by @EtienneLescot in #614
- fix(compositor): high-quality motion blur and gaussian webcam blur by @EtienneLescot in #608
- fix(editor): keep the top bar usable when the window gets narrow by @EtienneLescot in #613
- fix(build): ship the ffmpeg CLI in the macOS .app so transcription works without a system ffmpeg by @EtienneLescot in #618
- chore: name @Beetix code owner for Linux/Wayland capture by @EtienneLescot in #623
New Contributors
- @naadydev made their first contribution in #488
- @Beetix made their first contribution in #508
- @superkc2026 made their first contribution in #371
- @abduznik made their first contribution in #306
Full Changelog: v1.10.0...v1.11.0