v1.12.0-rc.1
Pre-release
Pre-release
Changes since v1.11.0
- fix: avoid AV1 clip-switch crashes on Windows
- fix: preserve Windows AV1 software decode timing
- docs: record the 554 pre-fix and post-fix crash A/B
- docs: name the issue number in the A/B verdict cell
- fix: guard Windows frame decoding resources and hardware tests
- docs(website): add the export benchmark post, with live standings
- fix(editor): fold a probed duration in on the shared write queue
- fix(timeline): read the document at write time in addZoomsBulk
- fix(editor): bind the probed duration to the take that produced it
- test(editor): cover the probed-duration decision, guards included
- style: apply biome formatting to the probed-duration changes
- fix(preview): mount the primary asset while the timeline is empty
- test: run the probed-duration decision test in the default environment
- fix: close the rest of the auto-zoom write race, and stop the seed clobbering a measured length
- fix(editor): recover a missing primary asset when seeding the timeline
- fix(rec): the microphone can't be disabled in the Studio Rec tab
- fix(capture): drain the Linux decoder at EOF on the seek path
- fix(capture): match the real AVERROR_INVALIDDATA in the seek path
- fix(capture): return the last frame when seeking at/past end (frame-dropped captures)
- docs(capture): note the EOF drain is inert on B-frame-less captures
- fix(captioning): correct web-demuxer.wasm URL — transcription always failed with "Failed to fetch"
- fix(macos): exclude recording controls from captures
- fix(capture): stamp Linux video frames with wall-clock PTS to stop time-compression
- fix(capture): write the tail frame even when stopped while paused (CodeRabbit #512)
- fix(capture): freeze staging while paused and snapshot wall-clock before flush (CodeRabbit #512)
- refactor(capture): give a paused frame its own StageOutcome::Frozen
- fix(preview): hold the frame a VFR seek lands on, not the one after it
- fix(capture): pass the dmabuf argument the three new tests omitted
- fix(windows): let the default microphone id veto the device name
- feat(store): let a caller bound a document save that never answers
- refactor(timeline): one auto-zoom collect/append path for both callers
- feat(recording): suggest cursor-dwell zooms for a freshly imported take
- feat(launch): add the after-recording auto-zoom toggle
- feat(editor): run the fresh-take auto-zoom pass on the metadata write queue
- fix(editor): keep the placeholder duration on the asset, and off auto-zoom
- fix(timeline): re-collect auto-zoom suggestions when the clips move underneath
- fix(recording): write the cursor sidecar before publishing the session
- fix(recording): persist auto-zoom preferences and reconcile media duration
- chore: bump nix package to v1.11.0
- fix(macos): warn when recording the default microphone
- fix(macos): suppress stale microphone warnings
- fix(macos): only warn about a defaulted microphone when one was actually requested
- fix(macos): let the default microphone id veto the device name
- refactor(schema): drop autoTranscribe, which nothing has ever read
- refactor(schema): drop the two input schemas nothing consumes
- chore: let CodeRabbit approve PRs
- chore: let CodeRabbit approve PRs
- fix(capture-linux): measure the cursor against the window, not its monitor
- test(capture-linux): cover the encoder-preferred content_rect branch
- fix(capture-linux): set the content rect on the dmabuf path too
- fix(transcription): a recording with no audio is a verdict, not a failed job
- test(transcription): assert the silent-media toast says what it says
- ci: auto-approve Beetix PRs limited to Linux/Wayland paths
- revert: CodeRabbit back to comment-only
- ci: read the approvable paths from CODEOWNERS instead of duplicating them
- docs: add Trendshift repository badge
- docs(website): indicate lower is better for export benchmark standings
- fix(website): port newestPerPlatform to leaderboard so multi-platform builds rank correctly
- fix(macos): resolve Chromium USB microphone labels
- feat(cursor): add smart cursor auto-hide and zoom hide (#104)
- fix(linux): validate mapped DMA-BUF frames
- fix(macos): drop video frames whose timestamp does not advance
- docs(macos): state the timestamp gate's measured bounds, not assumed ones
- fix(macos): stop the take when the writer dies mid-capture, and tell the user
- fix(macos): let a second stop wait for the shutdown already running
- fix(macos): settle the native stop on the helper's exit, not its first error
- fix(macos): keep a timed-out helper out of the next take, and say why a take ended
- fix(macos): listen for errors on the helper's output pipes too
- fix(macos): recover the take a dead writer or a killed helper left on disk
- fix(macos): keep a recovered take when the disk is still full, and say what failed
- fix(wgc): read the config argument as UTF-16 so non-ASCII output paths resolve
- fix(timeline): coalesce scrub state updates per frame
- test(timeline): measure per-frame scrub commits against one update's cost
- fix(windows): low-pass before decimating so 96/192 kHz sources stop aliasing
- docs(testing): add the anti-alias check, and log the A/B that confirms it
- fix(ai): report every modifier removed with a pill
- fix(ai): enumerate audio pills too, now that RegionKind carries them
- ci(whisper-stt): drop the msvc-dev-cmd step the Windows build never used
- docs(linux): bring the platform table back in line with what the code does
- docs(linux): the webcam is a separate file on Windows too, and VAAPI needs dmabuf export
- fix(capture-linux): re-apply the vaMapBuffer2 guard to the dmabuf encoder's CPU upload
- fix(capture-linux): apply the vaMapBuffer2 guard to a forced VAAPI encoder too
- fix(hud): keep a dragged HUD inside the display work area
- fix(hud): clamp the visible bar, not the window, into the work area
- feat(editor): show what a trim keeps, while the handles are still moving
- fix(editor): size the card timecode gate to the timecode it is gating
- fix(editor): measure the card timecode gate instead of guessing per character
- feat(launch): make post-recording auto-zoom systematic and remove toggle button
- fix(hud): keep open popovers on screen and harden the work-area clamp
- fix(build): re-fetch a staged ONNX Runtime that is the right version from the wrong archive
- feat: add Czech (cs) locale
- fix(cs): correct Czech grammar, terminology and typos in locale files
- fix(cs): replace em dashes with natural Czech punctuation throughout
- fix(cs): replace escaped inner quotes with proper Czech closing quotation mark
- fix(cs): address CodeRabbit review: grammar, gender agreement and missing preposition
- fix(cs): add cs to tutorialHelpTranslations static locale map
- fix(cs): add missing i18n keys added in main merge (autoZoom, cursor)
- fix(cs): register cs in main process and packaging, sync keys with main
- fix(hud): label recording controls for assistive technology
- test(hud): pin the exact accessible name of every HUD control
- feat(settings): persist recording setup and project appearance defaults
- fix(settings): fail stale CLI sources and keep HUD stop/save in sync
- fix(settings): stop camera pref ping-pong and stale select-source writes
- refactor(settings): drop the Settings dialog and new-project appearance defaults
- docs(perf): record the HEVC 8-bit macOS decode measurements
- docs(perf): harden the decode harnesses after review
- feat(presets): store editor style presets as shareable files
- chore(i18n): add style preset strings for all locales
- feat(editor): add a Presets menu to the Composition pane
- docs(testing): log the PR #652 macOS settings-persistence pass
- fix(editor): move presets menu to header
- fix(presets): handle persistence failures
Full Changelog: v1.11.0...v1.12.0-rc.1