Skip to content

v1.10.0

Latest

Choose a tag to compare

@EtienneLescot EtienneLescot released this 24 Aug 10:57

What's Changed

  • fix(notes): keep the note stylesheet in the production bundle by @EtienneLescot in #270
  • chore(release): sync the v1.9.0 RC fixes into main by @EtienneLescot in #275
  • feat(editor): turn on roundness, shadow and motion blur by default by @EtienneLescot in #273
  • fix(cursor): make the Windows cursor sampler DPI-aware by @EtienneLescot in #278
  • fix(hud): stop being born click-through, wait for the renderer to ask by @EtienneLescot in #269
  • fix(media): watch the background path refresh instead of firing it into the void by @EtienneLescot in #255
  • fix(agent): stop cutting the transcript at the 800th word by @EtienneLescot in #256
  • fix(ci): scope RC release notes to the previous RC by @EtienneLescot in #267
  • test(media): inject the failed registry write instead of chmod-ing the temp dir by @EtienneLescot in #280
  • feat(agent): add addTrims and addZooms, so a cut stops costing a round trip by @EtienneLescot in #258
  • perf(test): run Vitest in node by default, and fix the workflow guidance around it by @EtienneLescot in #281
  • fix(ai): stop compacting the chat on a context window we never measured by @EtienneLescot in #286
  • chore(release): release v1.9.0 into main by @EtienneLescot in #288
  • fix(ci): re-pin ffmpeg on a month-end BtbN build by @EtienneLescot in #295
  • fix(ci): harden the AUR publish pipeline and repair its distribution CI by @EtienneLescot in #297
  • fix(release): publish before syncing main, and stop racing the merge by @EtienneLescot in #296
  • ci(linux): guard the native payload, declare patchelf, drop the dead zsync glob by @EtienneLescot in #298
  • fix(appx): ship branded Store tiles instead of electron-builder's placeholders by @EtienneLescot in #294
  • fix(win): ship the compositor addon beside its ffmpeg DLLs by @EtienneLescot in #303
  • fix(linux): give the capture helper's ffmpeg libraries their own directory name by @EtienneLescot in #300
  • fix(linux): negotiate DMA-BUF so capture works on niri and other wlroots compositors by @EtienneLescot in #299
  • ci(release): make the Discord announcement dispatchable on its own by @EtienneLescot in #289
  • test(ci): cover the missing-tag path under STRICT by @EtienneLescot in #314
  • fix(release): bump package-lock.json alongside package.json by @EtienneLescot in #290
  • ci: bump pinned GitHub Actions to their Node 24 majors by @EtienneLescot in #97
  • fix(linux): make the Linux build work on arm64 by @zebster-cmd in #293
  • feat: add Fedora RPM packaging support by @Mundo-Dev0ps in #101
  • ci(docs): bump the SHA-pinned Pages actions to their Node 24 majors by @EtienneLescot in #316
  • docs(ci): correct the include-hidden-files rationale in docs.yml by @EtienneLescot in #318
  • fix(linux): give the compositor's build.rs its own freestanding-header fallback by @EtienneLescot in #315
  • fix(linux): recover the DMA-BUF plane size the producer leaves at zero by @EtienneLescot in #319
  • test(media): stop the media-links temp-dir cleanup failing its own race by @EtienneLescot in #320
  • fix(linux): stop the packages needing a glibc newer than the target distro by @EtienneLescot in #322
  • fix(win): stop depending on the Visual C++ Redistributable by @EtienneLescot in #321
  • fix(linux): declare the libraries the packages need, and prove it on a clean machine by @EtienneLescot in #325
  • fix(linux): bundle libgomp in the AppImage, the one format that cannot declare it by @EtienneLescot in #326
  • ci(store): submit the appx to the Microsoft Store from the release build by @EtienneLescot in #311
  • fix(linux): declare xdg-desktop-portal and name its backend; ci(winget): stop skipping in silence by @EtienneLescot in #329
  • docs(dist): make the Microsoft Store the recommended Windows route by @EtienneLescot in #285
  • fix(win): ship the OpenMP runtime the ggml backends actually import by @EtienneLescot in #330
  • fix(wgc): GPU DXGI encode path for Windows capture, with a fallback at every step by @EtienneLescot in #305
  • fix(win): pace the capture loop to a deadline instead of sleeping a full period by @EtienneLescot in #331
  • feat(wgc): report which GPU capture landed on, and let the tool test audio by @EtienneLescot in #332
  • fix(ci): start release notes from a tag that exists by @EtienneLescot in #333
  • fix(wgc): make the GPU encode path opt-in until it earns the default by @EtienneLescot in #337
  • fix(recording): write fragmented MP4 so a killed helper keeps its file by @EtienneLescot in #338
  • fix(wgc): report adapter LUIDs, because the descriptions can be identical by @EtienneLescot in #342
  • ci(packaging): make the dormant Homebrew cask job visible, and add the AppStream metadata Flathub needs by @EtienneLescot in #340
  • ci(flatpak): spike how far Flathub actually is by @EtienneLescot in #347
  • docs(agents): add development principles, slim release flow, correct branch contract by @EtienneLescot in #96
  • fix(waveform): stop re-decoding audio-less recordings, and unify "no camera" (#348) by @EtienneLescot in #349
  • fix(wgc): make the Windows recorder DPI-aware and stop guessing its monitor by @EtienneLescot in #351
  • feat(build): let a developer package on a distro newer than the floor by @EtienneLescot in #360
  • fix(compositor): say when a declared camera is unreadable by @EtienneLescot in #357
  • fix(recording): open the recording a failed stop left playable by @EtienneLescot in #363
  • fix(editor): import a recording once, so reopening keeps the project you saved by @EtienneLescot in #366
  • feat(editor): delete a project from the Open project dialog by @EtienneLescot in #367
  • docs(e2e): correct the computer-use testing guidance, HUD to helpers by @EtienneLescot in #361
  • docs(testing): log the 1.9.5-rc.2 regression pass by @EtienneLescot in #369
  • docs(testing): "the machine is at 100%" is not a reason to skip DPI by @EtienneLescot in #372
  • docs(testing): batch the computer-use grants so the operator can leave by @EtienneLescot in #373
  • docs(testing): log the macOS 1.9.5-rc.1 pass — fragmenting is active, but a clean stop cannot prove it by @EtienneLescot in #374
  • fix(recording): stop macOS fragments carrying an offset the box cannot hold by @EtienneLescot in #375
  • chore(release): set main to 1.9.5 by @EtienneLescot in #378
  • fix(store): give msstore a project to publish, not just a package by @EtienneLescot in #379
  • ci(store): add a retry path for Store submission that rebuilds nothing by @EtienneLescot in #380
  • fix(store): the option is --inputDirectory, and it takes a directory by @EtienneLescot in #381
  • feat(update): add manual release checking by @arhxam in #313
  • feat(update): in-place updates on Windows, macOS and Linux by @EtienneLescot in #358
  • ci(aur): say which key AUR refused, instead of just that it refused one by @EtienneLescot in #382
  • docs: stop telling macOS users to strip the quarantine flag by @EtienneLescot in #383
  • fix(hud): give click-through a way out that Windows cannot revoke by @EtienneLescot in #388
  • docs(agents): the HUD lift is a cursor poll now, not a WH_MOUSE_LL hook by @EtienneLescot in #389
  • feat(website): rebuild the landing page around a live editor by @EtienneLescot in #391
  • chore(release): set main to 1.9.6 by @EtienneLescot in #393
  • fix(store): pin msstore-cli, whose v0.4.0 cancels every upload instantly by @EtienneLescot in #394
  • fix(recording): the camera that was chosen is the camera that gets recorded by @EtienneLescot in #403
  • fix(recording): carry the microphone's name, not just its id by @EtienneLescot in #404
  • fix(recording): advance the audio timeline on the clock, not on the data by @EtienneLescot in #406
  • fix(recording): stop a camera name from matching a different camera by @EtienneLescot in #405
  • fix(preview): stop the scrub seek storm that emptied the editor by @EtienneLescot in #400
  • fix(workbench): one tool roster, pinned in CI, instead of three hand-written ones by @EtienneLescot in #401
  • fix(compositor): anchor Linux annotations on the un-zoomed screen rect by @EtienneLescot in #398
  • fix(editor): restore spacing between slider labels and values by @tebuevd in #384
  • fix(layout): show no-webcam for camera-less projects by @arhxam in #310
  • fix(ai): report compacted model context by @arhxam in #312
  • fix(timeline): preserve partially anchored regions by @arhxam in #307
  • fix(editor): surface failed timeline saves by @arhxam in #308
  • fix(ai): prevent stale agent edit overwrites by @arhxam in #309
  • fix(ai): restore the agent rollback a dead catch had silenced by @EtienneLescot in #408
  • fix(captions): place subtitles against the output frame, and let the offsets reach its edges by @EtienneLescot in #399
  • feat(editor): add webcam crop, output gain, and Add to timeline by @vitaligusatinsky in #344
  • fix(captions): recover from a failed GPU start, and stop the helper on quit by @vitaligusatinsky in #345
  • fix(recording): advance the macOS audio timeline on the clock, not on the data by @EtienneLescot in #410
  • fix(editor): lay the camera box out from the camera, not from a guess by @EtienneLescot in #411
  • feat(stt): surface transcription timing and backend, drop the dead --cuda variant by @EtienneLescot in #409
  • fix(editor): keep the webcam pan when the zoom passes through 100% by @EtienneLescot in #413
  • test(e2e): drop the two stale checklist tests, clean their leftovers by @EtienneLescot in #417
  • test(recording): measure the Linux audio timeline instead of trusting it by @EtienneLescot in #415
  • fix(hud): keep the click-through mirror, its guard test, and its docs honest by @EtienneLescot in #416
  • feat(app): give the app an About box and a reachable update check by @EtienneLescot in #414
  • test(app): pin the copyright the bundle and the About box share by @EtienneLescot in #421
  • feat(nix): package the compositor, verify the build in CI, and bound two CLI hangs by @EtienneLescot in #419
  • fix(recording): size the capture buffer from the filter, not the display mode by @EtienneLescot in #423
  • fix(recording): count the tap's catch-up apart from audio it lost by @EtienneLescot in #424
  • feat(editor): reach the AI provider settings from the app menu by @EtienneLescot in #422
  • fix(editor): stop editor shortcuts reaching the timeline under a modal by @EtienneLescot in #425
  • ci(nix): let the build job finish, and name the stage that fails by @EtienneLescot in #429
  • feat(ai-edition): a zoom write reports where the pointer really was by @EtienneLescot in #431
  • feat(workbench): split the behaviour axis, judge the half that reads by @EtienneLescot in #432
  • ci(nix): print the get-sources duration on every attempt, not just failures by @EtienneLescot in #436
  • fix(workbench): union the zoom denominator, derive the turn timeout from the harness by @EtienneLescot in #426
  • ci(nix): run record before sources, to test whether position is the cause by @EtienneLescot in #438
  • fix(editor): suppress editor shortcuts under every modal, not just some by @EtienneLescot in #437
  • fix(editor): treat a malformed legacyEditor envelope as absent, not as a crash by @EtienneLescot in #442
  • fix(editor): apply Edit Clip as one save, and refuse Full Camera with no webcam by @EtienneLescot in #444
  • test(ai-edition): share one base document in the addZoom invariant by @EtienneLescot in #441
  • feat(export): keep "Show in folder" on the success panel, not only in the toast by @EtienneLescot in #443
  • test(ai-edition): pin the fixture clock instead of racing it by @EtienneLescot in #446
  • ci(nix): put record back after sources, and record why the experiment failed by @EtienneLescot in #447
  • fix(workbench): make the third verdict reachable, then migrate onto it by @EtienneLescot in #440
  • fix(hud): dismiss the HUD popovers when the window loses focus by @EtienneLescot in #450
  • feat(nix): package the PipeWire capture helper by @EtienneLescot in #448
  • fix(editor): make undo/redo actually apply by @EtienneLescot in #439
  • fix(nix): build whisper-stt CPU-only; the Vulkan shader gen cannot fork by @EtienneLescot in #455
  • refactor(workbench): retire the last meaning regex, under a new check id by @EtienneLescot in #452
  • fix(workbench): retire beh.sandbox from the baseline, confirmed at n=10 by @EtienneLescot in #453
  • refactor(workbench): retire the meaning regex a scenario file hid by @EtienneLescot in #454
  • test(workbench): wire the second half of a bidirectional rubric by @EtienneLescot in #456
  • fix(nix): add dlopen RPATH entries in postFixup, after the shrink by @EtienneLescot in #458
  • feat(editor): merge the background facet into video effects by @EtienneLescot in #451
  • fix(editor): light theme contrast + gradient palette (cherry-pick for 1.10.0-rc.2) by @EtienneLescot in #474
  • fix(editor): close the clip picker on an outside click (1.10.0.rc2 cherry-pick) by @EtienneLescot in #476
  • fix(stt): offer every whisper.cpp language in the regenerate picker (cherry-pick to 1.10.0.rc2) by @EtienneLescot in #475
  • fix(editor): zoom/pan the whole timeline pane on scroll, not just the lanes (cherry-pick for 1.10.0-rc.2) by @EtienneLescot in #477
  • fix(editor): remove the redundant top-bar settings button (cherry-pick for 1.10.0-rc.2) by @EtienneLescot in #478
  • fix(editor): timeline clip delete icon contrast in light theme (cherry-pick for 1.10.0-rc.3) by @EtienneLescot in #481
  • fix(captions): place captions by anchor and margin, not by an invisible band (rc.3) by @EtienneLescot in #484
  • fix: initialise CoreGraphics before building a window capture filter (cherry-pick for 1.10.0-rc.4) by @EtienneLescot in #490

New Contributors

Full Changelog: v1.9.0...v1.10.0