What's Changed
- fix(updater): unwedge update restarts when boot phase is 'error' by @louis030195 in #4832
- Add enterprise screenshot capture controls by @louis030195 in #4904
- fix(engine): retention loop rescans entire history every 5min + NULL-poisoned NOT IN anti-joins by @EzraEllette in #4861
- fix(a11y): stop freezing foreground apps on windows while recording (p95 ui stall 156ms -> 1.6ms, ~100x) by @EzraEllette in #4834
- fix(meetings): duplicate transcript lines with alternating speaker labels after meeting ends by @divanshu-go in #4894
- [codex] tag enterprise telemetry by org and device by @louis030195 in #4908
- [codex] Bound feedback recording attachment window by @louis030195 in #4913
- fix(tray): stop stuck "Starting…" when capture handle desyncs from a healthy engine by @louis030195 in #4915
- fix: prevent stale preset closure on chat summary card click by @Akarshkushwaha in #4892
- [codex] Fix owned browser session fallback and ChatGPT model selection by @louis030195 in #4818
- refactor(chat): source pipe-watch messages from store, drop mirror effect (useEffect cleanup phase 1) by @Anshgrover23 in #4896
- refactor(app): convert useInstalledApps to TanStack Query (useEffect cleanup phase 2) by @Anshgrover23 in #4898
- fix(audio): don't assert meeting-process detection unsupported on Windows by @EzraEllette in #4910
- ci(sdk): add concurrency group to cancel superseded PR runs by @chirag127 in #4853
- chore(tauri): enable noFallthroughCasesInSwitch in tsconfig by @chirag127 in #4857
- refactor(app): ref-mirror sweep — mirror latest values in render (useEffect cleanup phase 1) by @Anshgrover23 in #4895
- refactor(engine): move crossbeam to dev-dependencies by @chirag127 in #4856
- refactor(app): drop reset-on-prop effects, rely on key remount (useEffect cleanup phase 1) by @Anshgrover23 in #4891
- fix(pi): self-heal corrupt pi-agent install instead of crash-looping by @louis030195 in #4914
- feat(onboarding): SCREENPIPE_SKIP_ONBOARDING env var escape hatch by @chirag127 in #4852
- Remove stale offline mode references by @louis030195 in #4922
- [codex] Remove storage tabs by @louis030195 in #4824
- feat(pipes): persist full agent trajectory per pipe run by @louis030195 in #4829
- Fix stale subscription entitlement bypass by @louis030195 in #4737
- Changelog: append july 3 updates by @mintlify[bot] in #4932
- fix(chat): hide thinking blocks, clean up work groups by @thisisharsh7 in #4897
- fix(settings): back button preserves navigation context by @thisisharsh7 in #4907
- [pr] gitignore stray dev/null dir created by git-lfs in Claude worktrees on Windows by @EzraEllette in #4933
- fix(ui-recorder): merge enriched click context events by @louis030195 in #4909
- refactor(app): subscribe to Tauri events via the shared useTauriEvent hook by @Anshgrover23 in #4938
- refactor(app): drive periodic re-render tickers with the useInterval hook by @Anshgrover23 in #4939
- refactor(app): use the useEventListener hook for window DOM listeners by @Anshgrover23 in #4940
- refactor(app): replace ref-mirror effects with render assignment (useEffect cleanup phase 1) by @Anshgrover23 in #4889
- feat(sidebar): collapse pipe sessions into single automations group by @thisisharsh7 in #4899
- fix(a11y): Windows walk budgets inoperative — mid-walk deadline, fragile-provider gap, lightweight focused metadata by @EzraEllette in #4917
- fix(audio): drain NSRunningApplication lookups in an autorelease pool (macOS RSS leak) by @louis030195 in #4945
- fix(db): disable inline WAL auto-checkpoint to stop header-page corruption by @louis030195 in #4946
- fix(capture): stop typing/clipboard triggers from bypassing debounce and dedup by @EzraEllette in #4937
- [codex] add Pi extensions browser by @louis030195 in #4931
Full Changelog: app-v2.5.91...app-v2.5.94