desktop-v0.1.0

elie222/inbox-zerodesktop-v0.1.0Aug 16, 2026by github-actions[bot]

AI Summary

The initial desktop release introduces core functionality including Microsoft admin consent flow, mobile app integration, booking improvements, and various fixes across the platform.

Key Highlights

  • Added Microsoft admin consent flow for authentication
  • Introduced mobile app download page and marketing materials
  • Improved booking system with better calendar layout and metadata
  • Enhanced AI draft functionality with better grounding and cleanup
  • Added organization member activity status and reviewer access flow

New Features

  • Microsoft admin consent flow
  • Mobile app download page
  • Improved booking calendar layout
  • Enhanced AI draft cleanup and grounding
  • Organization member activity tracking

Full Release Notes

## What's Changed
* test: cover public booking reschedule rate limits by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/2698
* chore: update Homebrew formula for v2.30.0 by @elie222 in https://github.com/elie222/inbox-zero/pull/2700
* setup: Fix database command quoting by @elie222 in https://github.com/elie222/inbox-zero/pull/2704
* booking: Stabilize calendar layout by @elie222 in https://github.com/elie222/inbox-zero/pull/2705
* chore: Update dependencies by @elie222 in https://github.com/elie222/inbox-zero/pull/2703
* drafts: Preserve link context in replies by @elie222 in https://github.com/elie222/inbox-zero/pull/2706
* Tighten booking card to calendar height by @elie222 in https://github.com/elie222/inbox-zero/pull/2708
* chore: harden CLI release formula update by @elie222 in https://github.com/elie222/inbox-zero/pull/2701
* Onboarding: show real labeled emails on the inbox-processed step by @elie222 in https://github.com/elie222/inbox-zero/pull/2709
* marketing: Add mobile app page by @elie222 in https://github.com/elie222/inbox-zero/pull/2710
* changelog: Reschedule & Cancel Bookings (2026-05-18) by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/2691
* test: cover follow-up notification delivery handles by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/2675
* auth: Add Microsoft admin consent flow by @elie222 in https://github.com/elie222/inbox-zero/pull/2711
* test: cover recent rule matching and meeting brief edges by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/2684
* test: cover Slack follow-up timestamp delivery by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/2671
* test: cover recent regression-prone paths by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/2707
* follow-up: Prevent cleanup loop by @elie222 in https://github.com/elie222/inbox-zero/pull/2715
* booking: Fix date hover state by @elie222 in https://github.com/elie222/inbox-zero/pull/2717
* Fix AI draft cleanup retries by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2713
* Fix messaging channel fallback labels by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2712
* Fix Slack draft send completion by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2702
* Fix draft channel rule selection by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2674
* Preserve edited AI drafts by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2673
* test: cover onboarding processed emails and admin consent callback by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/2716
* chore: update dependency override by @elie222 in https://github.com/elie222/inbox-zero/pull/2718
* Fix Telegram follow-up actions by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2670
* Fix follow-up cleanup state handling by @elie222 in https://github.com/elie222/inbox-zero/pull/2719
* Fix link handling in notification previews by @elie222 in https://github.com/elie222/inbox-zero/pull/2720
* Fix follow-up notification completion by @elie222 in https://github.com/elie222/inbox-zero/pull/2721
* Improve draft reply grounding by @elie222 in https://github.com/elie222/inbox-zero/pull/2722
* booking: Improve public link metadata by @elie222 in https://github.com/elie222/inbox-zero/pull/2725
* dev setup: Fix workspace cleanup by @elie222 in https://github.com/elie222/inbox-zero/pull/2734
* teams: Add reviewer access flow by @elie222 in https://github.com/elie222/inbox-zero/pull/2727
* Add mobile auth code exchange flow and app association files by @elie222 in https://github.com/elie222/inbox-zero/pull/2723
* teams: Improve connect discovery and confirmation logging by @elie222 in https://github.com/elie222/inbox-zero/pull/2735
* Fix chat history action menu hover by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2732
* Fix messaging draft send state by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2731
* changelog: Smarter AI Drafts (2026-05-20) by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/2714
* Fix rule suggestion rendering by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2728
* changelog: Outlook Assistant and Smarter Scheduling (May 13, 2026) by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/2647
* Fix Gmail draft threading by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2730
* Use bottom sheet for label submenu on mobile by @elie222 in https://github.com/elie222/inbox-zero/pull/2736
* Improve booking link OG image and link previews by @elie222 in https://github.com/elie222/inbox-zero/pull/2737
* assistant: Add inbox label removal action by @elie222 in https://github.com/elie222/inbox-zero/pull/2738
* assistant chat: Decode email preview entities by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2739
* Limit rule notifications list height in Channels by @elie222 in https://github.com/elie222/inbox-zero/pull/2741
* evals: add DeepSeek model cost reporting by @elie222 in https://github.com/elie222/inbox-zero/pull/2746
* email: Fix auth cleanup for watch setup by @elie222 in https://github.com/elie222/inbox-zero/pull/2748
* email: Handle provider error spikes by @elie222 in https://github.com/elie222/inbox-zero/pull/2749
* Fix assistant sidebar close control by @elie222 in https://github.com/elie222/inbox-zero/pull/2751
* reply drafts: Improve quality metrics by @elie222 in https://github.com/elie222/inbox-zero/pull/2745
* organization: Add member activity status by @elie222 in https://github.com/elie222/inbox-zero/pull/2753
* messaging: Fix notification failure handling by @elie222 in https://github.com/elie222/inbox-zero/pull/2754
* teams: Fix bot auth configuration by @elie222 in https://github.com/elie222/inbox-zero/pull/2756
* docker: gate all cron loops behind curl install by @CarterPape in https://github.com/elie222/inbox-zero/pull/2697
* onboarding: Skip unused self-hosted steps by @elie222 in https://github.com/elie222/inbox-zero/pull/2759
* Simplify onboarding step visibility logic by @elie222 in https://github.com/elie222/inbox-zero/pull/2761
* marketing repo by @elie222 in https://github.com/elie222/inbox-zero/pull/2766
* setup: Gate calendar setup step by @elie222 in https://github.com/elie222/inbox-zero/pull/2763
* fix(security): constant-time comparison for internal/cron secrets by @casar68 in https://github.com/elie222/inbox-zero/pull/2764
* fix(rules): anchor static from/to address matching to prevent spoofing by @casar68 in https://github.com/elie222/inbox-zero/pull/2758
* marketing: Add mobile app download page and store redirects by @elie222 in https://github.com/elie222/inbox-zero/pull/2768
* eval: Add result history and caching by @elie222 in https://github.com/elie222/inbox-zero/pull/2769
* Fix draft notification sync by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2755
* Fix rule suggestion approval state by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2750
* Format rule suggestions in messaging by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2747
* eval: Cache more assistant eval results by @elie222 in https://github.com/elie222/inbox-zero/pull/2770
* marketing repo by @elie222 in https://github.com/elie222/inbox-zero/pull/2771
* messaging: Fix notification formatting by @elie222 in https://github.com/elie222/inbox-zero/pull/2773
* marketing repo by @elie222 in https://github.com/elie222/inbox-zero/pull/2772
* footer: add comparison links by @elie222 in https://github.com/elie222/inbox-zero/pull/2776
* Fix account deletion transaction lock by @elie222 in https://github.com/elie222/inbox-zero/pull/2777
* reply: Handle inline image markers in drafts by @elie222 in https://github.com/elie222/inbox-zero/pull/2778
* Fix entity normalization in similarity scoring by @elie222 in https://github.com/elie222/inbox-zero/pull/2780
* changelog: Android App Now Available (2026-06-02) by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/2775
* fix(gmail): handle per-thread batch errors in getThreadsBatch by @casar68 in https://github.com/elie222/inbox-zero/pull/2760
* fix(usage): guarantee weekly-cost TTL; don't mask partial usage failures by @casar68 in https://github.com/elie222/inbox-zero/pull/2767
* fix(ai): escape email fields to prevent prompt-injection breakout by @casar68 in https://github.com/elie222/inbox-zero/pull/2757
* fix: complete ExecutedRule lifecycle when scheduled actions fail by @rpatricksmith in https://github.com/elie222/inbox-zero/pull/2752
* landing: Update demo video by @elie222 in https://github.com/elie222/inbox-zero/pull/2782
* landing: Restore homepage thumbnail by @elie222 in https://github.com/elie222/inbox-zero/pull/2783
* fix(sentry): scrub PII/secrets before sending events by @casar68 in https://github.com/elie222/inbox-zero/pull/2762
* chore: gitignore local agent/scanning scratch directories by @elie222 in https://github.com/elie222/inbox-zero/pull/2784
* marketing: update content by @elie222 in https://github.com/elie222/inbox-zero/pull/2785
* chore: Update marketing submodule by @elie222 in https://github.com/elie222/inbox-zero/pull/2786
* logging: Adjust batch retry severity by @elie222 in https://github.com/elie222/inbox-zero/pull/2787
* llm: Add OpenAI-compatible eval support by @elie222 in https://github.com/elie222/inbox-zero/pull/2788
* llm: Centralize use-case routing by @elie222 in https://github.com/elie222/inbox-zero/pull/2789
* Add role-based LLM configuration by @elie222 in https://github.com/elie222/inbox-zero/pull/2790
* llm: Fix role selection follow-ups by @elie222 in https://github.com/elie222/inbox-zero/pull/2791
* Fix CLI environment generation by @elie222 in https://github.com/elie222/inbox-zero/pull/2793
* llms: Add Azure Foundry provider by @elie222 in https://github.com/elie222/inbox-zero/pull/2792
* Add conversion analytics integration by @elie222 in https://github.com/elie222/inbox-zero/pull/2798
* auth: Fix sign-in origin handling by @elie222 in https://github.com/elie222/inbox-zero/pull/2801
* Fix draft recipient filtering by @elie222 in https://github.com/elie222/inbox-zero/pull/2807
* chore: Clean up minor codebase issues by @elie222 in https://github.com/elie222/inbox-zero/pull/2808
* chore: Move shared logic out of route modules by @elie222 in https://github.com/elie222/inbox-zero/pull/2809
* chore: Move webhook processing into utilities by @elie222 in https://github.com/elie222/inbox-zero/pull/2810
* chore: Move shared stats and sender helpers by @elie222 in https://github.com/elie222/inbox-zero/pull/2811
* Marketing update by @elie222 in https://github.com/elie222/inbox-zero/pull/2813
* chore: Consolidate action instrumentation by @elie222 in https://github.com/elie222/inbox-zero/pull/2814
* Use shared Github icon on AI email assistant page by @elie222 in https://github.com/elie222/inbox-zero/pull/2818
* test: Add sender overlap coverage by @elie222 in https://github.com/elie222/inbox-zero/pull/2820
* perf: Add bounded meeting brief processing by @elie222 in https://github.com/elie222/inbox-zero/pull/2821
* Fix paginated bulk archive and add delete action by @elie222 in https://github.com/elie222/inbox-zero/pull/2812
* booking: Improve event titles by @elie222 in https://github.com/elie222/inbox-zero/pull/2822
* Fix booking integration test for updated calendar event titles by @elie222 in https://github.com/elie222/inbox-zero/pull/2824
* Improve rule creation handling by @elie222 in https://github.com/elie222/inbox-zero/pull/2803
* perf: Add bounded Outlook backfill processing by @elie222 in https://github.com/elie222/inbox-zero/pull/2823
* chore: update marketing submodule by @elie222 in https://github.com/elie222/inbox-zero/pull/2806
* conversion: Add paid conversion dispatch by @elie222 in https://github.com/elie222/inbox-zero/pull/2799
* Handle duplicate feedback saves by @elie222 in https://github.com/elie222/inbox-zero/pull/2827
* Limit prompt history for pattern detection by @elie222 in https://github.com/elie222/inbox-zero/pull/2828
* chore: Update workspace setup configuration by @elie222 in https://github.com/elie222/inbox-zero/pull/2833
* docs: Add sponsor badge by @elie222 in https://github.com/elie222/inbox-zero/pull/2834
* docs: Reorder README badges by @elie222 in https://github.com/elie222/inbox-zero/pull/2835
* Fix production build validation by @elie222 in https://github.com/elie222/inbox-zero/pull/2836
* docs: clarify CRON_SECRET usage for scheduled tasks by @elie222 in https://github.com/elie222/inbox-zero/pull/2838
* Fix rule condition update precedence by @elie222 in https://github.com/elie222/inbox-zero/pull/2837
* Fix production Docker build by @elie222 in https://github.com/elie222/inbox-zero/pull/2840
* Improve connection error messaging by @elie222 in https://github.com/elie222/inbox-zero/pull/2843
* fix(a11y): add accessible name to hero demo video button by @crossi-dev in https://github.com/elie222/inbox-zero/pull/2841
* fix(mail): prevent horizontal overflow in email list rows by @elie222 in https://github.com/elie222/inbox-zero/pull/2842
* Changelog: Bulk Delete by Sender (June 12, 2026) by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/2825
* bulk-unsubscribe: Restore row auto archive action by @elie222 in https://github.com/elie222/inbox-zero/pull/2844
* assistant: surface email content in chat triage summaries by @elie222 in https://github.com/elie222/inbox-zero/pull/2845
* Fix draft messaging channel toggles by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2804
* Fix draft signature ordering by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2794
* Fix draft eval date handling by @elie222 in https://github.com/elie222/inbox-zero/pull/2846
* perf: Instrument account redirect timing by @elie222 in https://github.com/elie222/inbox-zero/pull/2802
* test(assistant): fix provider mock not applying in triage content eval by @elie222 in https://github.com/elie222/inbox-zero/pull/2849
* fix(ui): wrap long rule names in the fix-rule selection dialog by @elie222 in https://github.com/elie222/inbox-zero/pull/2848
* Add suggested unsubscribe selection to bulk unsubscribe page by @elie222 in https://github.com/elie222/inbox-zero/pull/2826
* feat(llms): bridge ai sdk tools to claude-code cli via in-process mcp server by @rollecode in https://github.com/elie222/inbox-zero/pull/2847
* Changelog: Smarter Bulk Unsubscribe (June 17, 2026) by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/2850
* Fix messaging notification formatting by @elie222 in https://github.com/elie222/inbox-zero/pull/2852
* fix: Update marketing import path by @elie222 in https://github.com/elie222/inbox-zero/pull/2853
* calendar: Fix provider video location handling by @elie222 in https://github.com/elie222/inbox-zero/pull/2854
* calendar: Fix conferencing fallback by @elie222 in https://github.com/elie222/inbox-zero/pull/2856
* drive: Cascade folder tree selection by @elie222 in https://github.com/elie222/inbox-zero/pull/2857
* Fix rule result tooltip display by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2860
* fix: load chat history on mobile web by @elie222 in https://github.com/elie222/inbox-zero/pull/2864
* INB-301 Fix legacy draft reply validation by @elie222 in https://github.com/elie222/inbox-zero/pull/2867
* fix: require save for file picker selections by @elie222 in https://github.com/elie222/inbox-zero/pull/2866
* INB-175: Fix Slack assistant response truncation by @elie222 in https://github.com/elie222/inbox-zero/pull/2868
* assistant: Open Outlook emails with provider links by @elie222 in https://github.com/elie222/inbox-zero/pull/2865
* Fix Outlook Teams meeting link generation for booking events by @elie222 in https://github.com/elie222/inbox-zero/pull/2858
* drive: Align Google Drive modal button styles by @elie222 in https://github.com/elie222/inbox-zero/pull/2863
* INB-202: Fix Outlook sign-in for linked accounts by @elie222 in https://github.com/elie222/inbox-zero/pull/2869
* Messaging: Fix Telegram sent draft notification rendering by @elie222 in https://github.com/elie222/inbox-zero/pull/2870
* analytics: Refresh cached email stats by @elie222 in https://github.com/elie222/inbox-zero/pull/2874
* Add server-side mobile auth start endpoint by @elie222 in https://github.com/elie222/inbox-zero/pull/2876
* Improve assistant error observability by @elie222 in https://github.com/elie222/inbox-zero/pull/2875
* Update scheduling availability data model by @elie222 in https://github.com/elie222/inbox-zero/pull/2877
* Share mobile auth callback URL helpers by @elie222 in https://github.com/elie222/inbox-zero/pull/2878
* Landing: use wordmark-only logo in header by @elie222 in https://github.com/elie222/inbox-zero/pull/2879
* Use custom scheme for mobile auth callbacks by @elie222 in https://github.com/elie222/inbox-zero/pull/2880
* Fix booking availability migration SQL alias by @elie222 in https://github.com/elie222/inbox-zero/pull/2881
* Fix booking availability migration temp table by @elie222 in https://github.com/elie222/inbox-zero/pull/2882
* Recover empty availability table migration retry by @elie222 in https://github.com/elie222/inbox-zero/pull/2883
* Bind mobile auth return mode to server state by @elie222 in https://github.com/elie222/inbox-zero/pull/2884
* Switch brand wordmark to Gabarito font by @elie222 in https://github.com/elie222/inbox-zero/pull/2885
* Record provider account issues by @elie222 in https://github.com/elie222/inbox-zero/pull/2886
* Add default availability settings on calendars page by @elie222 in https://github.com/elie222/inbox-zero/pull/2887
* calendar: Fix availability build type narrowing by @elie222 in https://github.com/elie222/inbox-zero/pull/2888
* Fix email account deletion handling by @elie222 in https://github.com/elie222/inbox-zero/pull/2873
* calendar: Simplify availability section UI by @elie222 in https://github.com/elie222/inbox-zero/pull/2889
* calendar: Reuse Item primitives for booking dialog heading by @elie222 in https://github.com/elie222/inbox-zero/pull/2890
* fix: make analytics date range picker reachable on mobile by @elie222 in https://github.com/elie222/inbox-zero/pull/2891
* Remove availability from booking link settings by @elie222 in https://github.com/elie222/inbox-zero/pull/2897
* [codex] Add admin Apple subscription sync by @elie222 in https://github.com/elie222/inbox-zero/pull/2902
* admin: Fix weekly usage cost accounting by @elie222 in https://github.com/elie222/inbox-zero/pull/2903
* usage: Fix cost accounting for active models by @elie222 in https://github.com/elie222/inbox-zero/pull/2904
* Changelog: Availability Without Booking Links (June 23, 2026) by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/2899
* Fix reconnect notification targeting by @elie222 in https://github.com/elie222/inbox-zero/pull/2909
* admin: Add model spend breakdown by @elie222 in https://github.com/elie222/inbox-zero/pull/2910
* analytics: Fix admin spend pipes by @elie222 in https://github.com/elie222/inbox-zero/pull/2911
* admin: Shorten spend section copy by @elie222 in https://github.com/elie222/inbox-zero/pull/2912
* Add offline HTML eval dashboard for run history by @elie222 in https://github.com/elie222/inbox-zero/pull/2819
* assistant: Refine prompt guidance by @elie222 in https://github.com/elie222/inbox-zero/pull/2913
* Fix provider token refresh handling by @elie222 in https://github.com/elie222/inbox-zero/pull/2916
* Show and toggle sender label rules by @elie222 in https://github.com/elie222/inbox-zero/pull/2900
* chore: Add evaluation run script by @elie222 in https://github.com/elie222/inbox-zero/pull/2917
* chore: update workspace packages by @elie222 in https://github.com/elie222/inbox-zero/pull/2918
* rules: Add organization-managed rules by @elie222 in https://github.com/elie222/inbox-zero/pull/2795
* build: Fix server package bundling by @elie222 in https://github.com/elie222/inbox-zero/pull/2923
* auth: Handle linked email sign-in errors by @elie222 in https://github.com/elie222/inbox-zero/pull/2922
* Changelog: Organization Rules (June 28, 2026) by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/2921
* marketing update by @elie222 in https://github.com/elie222/inbox-zero/pull/2924
* onboarding: Improve unsubscribe suggestions by @elie222 in https://github.com/elie222/inbox-zero/pull/2925
* dependencies: Resolve transitive package advisory by @elie222 in https://github.com/elie222/inbox-zero/pull/2926
* Fix Outlook email cell actions by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2920
* Refine email action link handling by @elie222 in https://github.com/elie222/inbox-zero/pull/2927
* Fix Microsoft calendar booking fallback by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2919
* Fix Turbopack workspace root by @elie222 in https://github.com/elie222/inbox-zero/pull/2928
* Fix digest rule selection by @elie222 in https://github.com/elie222/inbox-zero/pull/2930
* Fix assistant rule update handling by @elie222 in https://github.com/elie222/inbox-zero/pull/2929
* Add weekly archive activity update by @elie222 in https://github.com/elie222/inbox-zero/pull/2931
* Fix assistant rule update handling by @elie222 in https://github.com/elie222/inbox-zero/pull/2932
* Fix rule condition display typing by @elie222 in https://github.com/elie222/inbox-zero/pull/2933
* Fix created item status display by @elie222 in https://github.com/elie222/inbox-zero/pull/2935
* assistant-chat: Preserve rule text formatting by @elie222 in https://github.com/elie222/inbox-zero/pull/2936
* organizations: Add ownership deletion safeguards by @elie222 in https://github.com/elie222/inbox-zero/pull/2934
* chore: Centralize query param serialization by @elie222 in https://github.com/elie222/inbox-zero/pull/2937
* rules: Align organization rule editor with the personal editor by @elie222 in https://github.com/elie222/inbox-zero/pull/2938
* llms: Improve local model base URL handling by @elie222 in https://github.com/elie222/inbox-zero/pull/2941
* Fix ownerless organization deletion by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2939
* Add konsistent structural convention checks by @elie222 in https://github.com/elie222/inbox-zero/pull/2940
* Track Google Ads click identifiers by @elie222 in https://github.com/elie222/inbox-zero/pull/2942
* calendar: Reject overlapping availability windows by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2950
* assistant: Auto-close draft reply action menu on select by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2949
* org: Fix Access Denied flash on organization pages by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2956
* rules: Shorten org-managed badge copy by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2957
* assistant: Strip HTML from classification reason display by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2954
* Changelog: Add Inbox Health email to June 17 entry by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/2855
* org: Remove synced organization rules when a member is removed by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2955
* calendar: Mark Microsoft default calendar as primary and add writable fallback by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2952
* meeting-briefs: Cover cron interval in event lookahead window by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2951
* settings: Fix digest schedule form and learned patterns dialog on small screens by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2953
* cli: Clarify Google OAuth setup with API enablement steps by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2651
* assistant: Require searchInbox before claiming inbox is empty by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2660
* Fix duplicate account linking flow by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2743
* Fix Slack draft notification actions by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2729
* slack: Render assistant slash command output as mrkdwn by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2658
* Forward conversion click IDs to private analytics by @elie222 in https://github.com/elie222/inbox-zero/pull/2947
* Fix account linking duplicate handling by @elie222 in https://github.com/elie222/inbox-zero/pull/2958
* logging: Fix categorization schema failures and downgrade expected errors by @elie222 in https://github.com/elie222/inbox-zero/pull/2964
* email: Fix crash on missing headers and recreate deleted Outlook categories by @elie222 in https://github.com/elie222/inbox-zero/pull/2967
* Fix package dependency resolution by @elie222 in https://github.com/elie222/inbox-zero/pull/2968
* fix: Accept comma-separated Gmail scopes by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2966
* Update marketing submodule by @elie222 in https://github.com/elie222/inbox-zero/pull/2969
* Update marketing submodule by @elie222 in https://github.com/elie222/inbox-zero/pull/2970
* Update marketing submodule by @elie222 in https://github.com/elie222/inbox-zero/pull/2973
* chore: Update dependencies by @elie222 in https://github.com/elie222/inbox-zero/pull/2971
* Update marketing submodule by @elie222 in https://github.com/elie222/inbox-zero/pull/2974
* build: Fix production build configuration by @elie222 in https://github.com/elie222/inbox-zero/pull/2975
* build: Fix marketing build compatibility by @elie222 in https://github.com/elie222/inbox-zero/pull/2979
* Fix PortableText link mark component build error by @elie222 in https://github.com/elie222/inbox-zero/pull/2982
* build: use Turbopack for production builds by @elie222 in https://github.com/elie222/inbox-zero/pull/2981
* Fix PortableText link href build error by @elie222 in https://github.com/elie222/inbox-zero/pull/2986
* Fix assistant chat stale rule state rejections by @elie222 in https://github.com/elie222/inbox-zero/pull/2984
* feat: AI relevance selection for reply memories in draft generation by @elie222 in https://github.com/elie222/inbox-zero/pull/2987
* fix: writing-style sample population + comment cleanup by @elie222 in https://github.com/elie222/inbox-zero/pull/2989
* Add notification when email watch lapses so users can reconnect by @elie222 in https://github.com/elie222/inbox-zero/pull/2980
* Fix code scanning findings by @elie222 in https://github.com/elie222/inbox-zero/pull/2991
* Add opt-in delete email rule action for self-hosters by @elie222 in https://github.com/elie222/inbox-zero/pull/2992
* chore: remove dead code, unused files, and unused dependencies by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2972
* Fix email account deletion for admin memberships by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2990
* Fix mobile onboarding layout so the primary CTA stays on screen by @elie222 in https://github.com/elie222/inbox-zero/pull/2983
* feat(assistant): sort the rules list A→Z and add inline search by @alexcf in https://github.com/elie222/inbox-zero/pull/2906
* chore: seed emulator from demo inbox fixtures by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2944
* feat(webhooks): add WEBHOOK_ALLOW_PRIVATE_IPS opt-in for self-hosted internal targets by @alexcf in https://github.com/elie222/inbox-zero/pull/2893
* Fix cascading source selection by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2977
* Forward trial starts to conversion analytics by @elie222 in https://github.com/elie222/inbox-zero/pull/2993
* Update marketing submodule by @elie222 in https://github.com/elie222/inbox-zero/pull/2995
* assistant: Extend chat execution timeout by @elie222 in https://github.com/elie222/inbox-zero/pull/2994
* Update marketing submodule by @elie222 in https://github.com/elie222/inbox-zero/pull/2996
* ai: Extend model evaluation coverage by @elie222 in https://github.com/elie222/inbox-zero/pull/2998
* assistant: Improve multi-batch cleanup execution by @elie222 in https://github.com/elie222/inbox-zero/pull/2997
* Update marketing submodule by @elie222 in https://github.com/elie222/inbox-zero/pull/3000
* Improve conversion tracking by @elie222 in https://github.com/elie222/inbox-zero/pull/3001
* fix: harden React bulk workflows by @elie222 in https://github.com/elie222/inbox-zero/pull/3002
* security: Prevent chart style injection by @elie222 in https://github.com/elie222/inbox-zero/pull/3003
* docs: changelog update for July 13, 2026 by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/2999
* Scope account providers to authenticated routes by @elie222 in https://github.com/elie222/inbox-zero/pull/3004
* SEO: noindex app routes and paginate blog listing by @elie222 in https://github.com/elie222/inbox-zero/pull/2985
* build: Remove obsolete recovery step by @elie222 in https://github.com/elie222/inbox-zero/pull/2976
* Update marketing submodule pointer by @elie222 in https://github.com/elie222/inbox-zero/pull/3006
* UI lifecycle: Cancel stale progress and scroll timers by @elie222 in https://github.com/elie222/inbox-zero/pull/3005
* Mail: Stabilize beta banner hydration by @elie222 in https://github.com/elie222/inbox-zero/pull/3008
* UI lifecycle: Cancel delayed scroll work by @elie222 in https://github.com/elie222/inbox-zero/pull/3009
* Accessibility: Respect reduced motion preferences by @elie222 in https://github.com/elie222/inbox-zero/pull/3010
* Derive follow-up notification snippets from the parsed message body by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2959
* Fix raw assistant tags leaking into AI chat responses by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2960
* billing: Add opt-in Stripe invoice emails by @elie222 in https://github.com/elie222/inbox-zero/pull/3007
* Fix nested Gmail label resolution in assistant by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3011
* ui: Reduce article top spacing by @elie222 in https://github.com/elie222/inbox-zero/pull/3013
* ui: Improve application alert layout by @elie222 in https://github.com/elie222/inbox-zero/pull/3012
* ui: Improve alert message accessibility by @elie222 in https://github.com/elie222/inbox-zero/pull/3014
* Add sidebar feedback dialog (PostHog storage) by @elie222 in https://github.com/elie222/inbox-zero/pull/3017
* assistant: Validate sender categorization access by @elie222 in https://github.com/elie222/inbox-zero/pull/3016
* assistant: Restore rule list ordering by @elie222 in https://github.com/elie222/inbox-zero/pull/3021
* Fix cramped mobile header by hiding redundant Log in button by @elie222 in https://github.com/elie222/inbox-zero/pull/3018
* setup: Compact feature card headers by @elie222 in https://github.com/elie222/inbox-zero/pull/3026
* Preserve sender status across casing changes by @elie222 in https://github.com/elie222/inbox-zero/pull/3020
* billing: Fix checkout success redirect by @elie222 in https://github.com/elie222/inbox-zero/pull/3025
* Add gap between feedback dialog buttons on mobile by @elie222 in https://github.com/elie222/inbox-zero/pull/3019
* api: Preserve request APIs through middleware by @elie222 in https://github.com/elie222/inbox-zero/pull/3027
* Bake Node 24 into Cloud Agent environment by @elie222 in https://github.com/elie222/inbox-zero/pull/3023
* performance: Improve landing page load speed by @elie222 in https://github.com/elie222/inbox-zero/pull/3024
* navigation: Route returning sessions to automation by @elie222 in https://github.com/elie222/inbox-zero/pull/3029
* auth: Prevent duplicate OAuth callback processing by @elie222 in https://github.com/elie222/inbox-zero/pull/3022
* analytics: Set signup-age person property for survey targeting by @elie222 in https://github.com/elie222/inbox-zero/pull/3030
* database: Enforce canonical sender uniqueness by @elie222 in https://github.com/elie222/inbox-zero/pull/3028
* Improve private event handoff by @elie222 in https://github.com/elie222/inbox-zero/pull/3032
* queue: Normalize QStash delivery headers by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3033
* drafts: Normalize tracked reply body lengths by @elie222 in https://github.com/elie222/inbox-zero/pull/3035
* api: Add REST endpoint for sending email by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3037
* ai: Reduce duplicate context and standardize reasoning effort by @elie222 in https://github.com/elie222/inbox-zero/pull/3034
* Support multi-label thread queries by @elie222 in https://github.com/elie222/inbox-zero/pull/3039
* fix(api): strip quoted replies from thread previews by @elie222 in https://github.com/elie222/inbox-zero/pull/3040
* llms: Log structured fallback outcomes by @elie222 in https://github.com/elie222/inbox-zero/pull/3041
* api: add fast all-inboxes mobile endpoints by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3042
* api: support incremental all-inboxes loading by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3045
* outlook: Preserve HTML signature structure by @elie222 in https://github.com/elie222/inbox-zero/pull/3048
* onboarding: Recognize mobile premium on web login by @elie222 in https://github.com/elie222/inbox-zero/pull/3046
* chat: Improve request failure handling by @elie222 in https://github.com/elie222/inbox-zero/pull/3049
* document filing: Ignore inline email assets by @elie222 in https://github.com/elie222/inbox-zero/pull/3044
* onboarding: ship inline unsubscribe step to everyone by @elie222 in https://github.com/elie222/inbox-zero/pull/3051
* automation: Surface bulk processing failures by @elie222 in https://github.com/elie222/inbox-zero/pull/3038
* document filing: Parse attachment disposition exactly by @elie222 in https://github.com/elie222/inbox-zero/pull/3050
* assistant: allow re-processing past emails on the top tier by @elie222 in https://github.com/elie222/inbox-zero/pull/3054
* assistant: derive bulk re-process state from a single gated value by @elie222 in https://github.com/elie222/inbox-zero/pull/3055
* api: add REST endpoints for mobile thread and sender actions by @elie222 in https://github.com/elie222/inbox-zero/pull/3052
* Add untrash thread endpoint for mobile Undo by @elie222 in https://github.com/elie222/inbox-zero/pull/3057
* Add draft-reply eval harness by @elie222 in https://github.com/elie222/inbox-zero/pull/3053
* chore: Marketing update by @elie222 in https://github.com/elie222/inbox-zero/pull/3056
* Marketing update by @elie222 in https://github.com/elie222/inbox-zero/pull/3058
* billing: Confirm before ending a trial early by @elie222 in https://github.com/elie222/inbox-zero/pull/3059
* Make the confidence gate visible in the eval report by @elie222 in https://github.com/elie222/inbox-zero/pull/3060
* Propose one meeting time rather than a list of slots by @elie222 in https://github.com/elie222/inbox-zero/pull/3063
* Add mobile rule create and edit API by @elie222 in https://github.com/elie222/inbox-zero/pull/3061
* rules: Return canonical rule order from API by @elie222 in https://github.com/elie222/inbox-zero/pull/3064
* rules: Persist action execution outcomes by @elie222 in https://github.com/elie222/inbox-zero/pull/3070
* cold email: stop learning cold email patterns from junked conversations by @elie222 in https://github.com/elie222/inbox-zero/pull/3072
* llm: Make usage accounting resilient by @elie222 in https://github.com/elie222/inbox-zero/pull/3073
* Fix Outlook inline image metadata by @elie222 in https://github.com/elie222/inbox-zero/pull/3076
* outlook: Fix inline attachment content ID projection by @elie222 in https://github.com/elie222/inbox-zero/pull/3078
* marketing: Update marketing site by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3080
* Add AI meeting recorder with Recall.ai integration by @elie222 in https://github.com/elie222/inbox-zero/pull/3071
* outlook: Cover inline attachment query contract by @elie222 in https://github.com/elie222/inbox-zero/pull/3081
* evals: Make assistant eval failures trustworthy by @elie222 in https://github.com/elie222/inbox-zero/pull/3077
* observability: Improve error resilience and log safety by @elie222 in https://github.com/elie222/inbox-zero/pull/3084
* meetings: Redesign meeting recorder UI and add an onboarding screen by @elie222 in https://github.com/elie222/inbox-zero/pull/3090
* Simplify meeting recorder lifecycle and consolidate related changes by @elie222 in https://github.com/elie222/inbox-zero/pull/3083
* messaging: Add checkmark to sent reply status by @elie222 in https://github.com/elie222/inbox-zero/pull/3092
* docs: changelog entry for AI meeting recorder by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/3094
* Drafting: Honor explicit requests for scheduling options by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3066
* meetings: Simplify recorder control flow by @elie222 in https://github.com/elie222/inbox-zero/pull/3095
* INB-318: Cascade folder selection to loaded children by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3093
* gmail: Surface exhausted batch retry failures by @elie222 in https://github.com/elie222/inbox-zero/pull/3096
* fix: handle provider rate limits reliably by @elie222 in https://github.com/elie222/inbox-zero/pull/3097
* gmail: Stop bulk work during provider throttling by @elie222 in https://github.com/elie222/inbox-zero/pull/3099
* database: Handle duplicate constraint metadata by @elie222 in https://github.com/elie222/inbox-zero/pull/3101
* meetings: Reduce explainer copy across the recorder UI by @elie222 in https://github.com/elie222/inbox-zero/pull/3102
* meetings: Add branded bot video by @elie222 in https://github.com/elie222/inbox-zero/pull/3100
* Clarify digest delivery timing and status by @elie222 in https://github.com/elie222/inbox-zero/pull/3098
* digest: Prevent overlapping digest processing by @elie222 in https://github.com/elie222/inbox-zero/pull/3104
* webhooks: Handle known processing errors by @elie222 in https://github.com/elie222/inbox-zero/pull/3103
* Add cursor-based mobile mailbox sync by @elie222 in https://github.com/elie222/inbox-zero/pull/3108
* Add OTP detection and mobile push notifications by @elie222 in https://github.com/elie222/inbox-zero/pull/3106
* llms: Fall back when configured models are unavailable by @elie222 in https://github.com/elie222/inbox-zero/pull/3110
* tinybird: Migrate analytics project to Forward by @elie222 in https://github.com/elie222/inbox-zero/pull/3111
* skills: Add Cubic-only review loop by @elie222 in https://github.com/elie222/inbox-zero/pull/3113
* skills: Generalize automated review loop by @elie222 in https://github.com/elie222/inbox-zero/pull/3115
* assistant: Align settings and triage eval contracts by @elie222 in https://github.com/elie222/inbox-zero/pull/3085
* feat(chat): add run observability by @elie222 in https://github.com/elie222/inbox-zero/pull/3118
* docs: Refresh product and self-hosting guides by @elie222 in https://github.com/elie222/inbox-zero/pull/3123
* Fail closed when email image proxy is unavailable by @elie222 in https://github.com/elie222/inbox-zero/pull/3126
* docs: Focus product docs on the core AI assistant experience by @elie222 in https://github.com/elie222/inbox-zero/pull/3125
* docs: Editorial pass on core product pages by @elie222 in https://github.com/elie222/inbox-zero/pull/3127
* email: Restore periodic Inbox Health suggestions by @elie222 in https://github.com/elie222/inbox-zero/pull/3129
* docs: changelog — OTP alerts on mobile by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/3124
* docs: refine product documentation by @elie222 in https://github.com/elie222/inbox-zero/pull/3132
* analytics: instrument authentication funnel by @elie222 in https://github.com/elie222/inbox-zero/pull/3130
* email: Prevent repeated scheduled job failures by @elie222 in https://github.com/elie222/inbox-zero/pull/3133
* Record the drafter's confidence alongside the context that produced it by @elie222 in https://github.com/elie222/inbox-zero/pull/3065
* evals: update default judge configuration by @elie222 in https://github.com/elie222/inbox-zero/pull/3140
* evals: Update judge model configuration by @elie222 in https://github.com/elie222/inbox-zero/pull/3138
* Add POST /api/ai/translate for mobile email translation by @elie222 in https://github.com/elie222/inbox-zero/pull/3141
* onboarding: Remove upgrade prompt from the bulk unsubscribe step by @elie222 in https://github.com/elie222/inbox-zero/pull/3143
* chore: Trim comments on the unsubscribe allowance code by @elie222 in https://github.com/elie222/inbox-zero/pull/3144
* pricing: Make the billing period default assignable by experiment by @elie222 in https://github.com/elie222/inbox-zero/pull/3146
* pricing: Default the billing period to monthly by @elie222 in https://github.com/elie222/inbox-zero/pull/3147
* chore: upgrade packages including Next.js 16.3 by @elie222 in https://github.com/elie222/inbox-zero/pull/3149
* meetings: Show setup when calendar is disconnected by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3091
* digest: Preserve schedule when reopening settings by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3109
* meetings: Restore calendar connection gate by @elie222 in https://github.com/elie222/inbox-zero/pull/3151
* digest: Restore loaded-state form initialization by @elie222 in https://github.com/elie222/inbox-zero/pull/3152
* build: Restore Sanity dependency compatibility by @elie222 in https://github.com/elie222/inbox-zero/pull/3155
* fix: Address meeting and digest review feedback by @elie222 in https://github.com/elie222/inbox-zero/pull/3154
* Improve Microsoft Teams app validation guidance by @elie222 in https://github.com/elie222/inbox-zero/pull/3153
* pricing: Tighten the upgrade page layout on mobile by @elie222 in https://github.com/elie222/inbox-zero/pull/3148
* drafts: Improve reply completeness and scheduling notice by @elie222 in https://github.com/elie222/inbox-zero/pull/3158
* fix(chat): Ground assistant decisions in tool evidence by @elie222 in https://github.com/elie222/inbox-zero/pull/3161
* chat: Remove rule runtime pseudo-capability by @elie222 in https://github.com/elie222/inbox-zero/pull/3162
* INB-320: Show accurate meeting recording statuses by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3107
* INB-319: Show invited meetings with embedded join links by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3105
* automation: Avoid forwarding to existing message participants by @elie222 in https://github.com/elie222/inbox-zero/pull/3156
* ui: Link account alerts to reconnect page by @elie222 in https://github.com/elie222/inbox-zero/pull/3163
* integrations: Fix runtime bugs and polish for GA release by @elie222 in https://github.com/elie222/inbox-zero/pull/3165
* workflow: Automate post-PR monitoring by @elie222 in https://github.com/elie222/inbox-zero/pull/3164
* fix(chat): consume fix context once by @elie222 in https://github.com/elie222/inbox-zero/pull/3119
* Add chat-based onboarding A/B test by @gentlemandev in https://github.com/elie222/inbox-zero/pull/2965
* meeting recorder: Improve scheduling observability by @elie222 in https://github.com/elie222/inbox-zero/pull/3168
* webhooks: Improve verification diagnostics by @elie222 in https://github.com/elie222/inbox-zero/pull/3169
* fix(chat): tighten inbox tool contracts by @elie222 in https://github.com/elie222/inbox-zero/pull/3120
* test(eval): score assistant responses accurately by @elie222 in https://github.com/elie222/inbox-zero/pull/3172
* onboarding: Rebuild chat onboarding as an LLM-guided flow by @elie222 in https://github.com/elie222/inbox-zero/pull/3170
* INB-321: Add owner indicator to meeting notetaker by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3166
* fix(docker): restore meriyah's ESM entry and smoke-test the standalone server by @MrRussLuther in https://github.com/elie222/inbox-zero/pull/3167
* docs: Remove stale internal documentation by @elie222 in https://github.com/elie222/inbox-zero/pull/3173
* docs: Remove redundant repository guidance by @elie222 in https://github.com/elie222/inbox-zero/pull/3176
* onboarding: share the chat prompt input with the in-app assistant chat by @elie222 in https://github.com/elie222/inbox-zero/pull/3174
* dependencies: Update HTTP client package by @elie222 in https://github.com/elie222/inbox-zero/pull/3177
* billing: Prevent duplicate checkout during plan changes by @elie222 in https://github.com/elie222/inbox-zero/pull/3178
* Say what the two confidence settings cost by @elie222 in https://github.com/elie222/inbox-zero/pull/3137
* Widen the reply-memory candidate pool by @elie222 in https://github.com/elie222/inbox-zero/pull/3139
* docker: Simplify standalone image smoke check by @elie222 in https://github.com/elie222/inbox-zero/pull/3175
* Bulk unsubscribe: align and filter suggested senders by @elie222 in https://github.com/elie222/inbox-zero/pull/3181
* onboarding: Inline setup and cleanup cards, shorter copy, resumable chat by @elie222 in https://github.com/elie222/inbox-zero/pull/3179
* landing: Mention mobile app, remove attachment filing section by @elie222 in https://github.com/elie222/inbox-zero/pull/3182
* Update marketing content by @elie222 in https://github.com/elie222/inbox-zero/pull/3183
* docs: Clarify public repository guidance by @elie222 in https://github.com/elie222/inbox-zero/pull/3184
* onboarding: Align completion destination by @elie222 in https://github.com/elie222/inbox-zero/pull/3185
* cold email: fail toward not blocking, and stop clobbering learned patterns by @elie222 in https://github.com/elie222/inbox-zero/pull/3075
* docker: Remove fragile build-time server smoke check by @elie222 in https://github.com/elie222/inbox-zero/pull/3187
* fix(analytics): target public conversion callback by @elie222 in https://github.com/elie222/inbox-zero/pull/3186
* email: recognize additional public provider domains by @elie222 in https://github.com/elie222/inbox-zero/pull/3188
* homepage: Clarify trial credit card requirement by @elie222 in https://github.com/elie222/inbox-zero/pull/3190
* rules: preserve explicit learned-pattern exclusions by @elie222 in https://github.com/elie222/inbox-zero/pull/3191
* rules: apply the exclusion rule to bulk pattern saves too by @elie222 in https://github.com/elie222/inbox-zero/pull/3192
* evals: Harden comparison integrity by @elie222 in https://github.com/elie222/inbox-zero/pull/3189
* site: link to AI email assistant directory by @elie222 in https://github.com/elie222/inbox-zero/pull/3193
* gmail: Adapt batch retries to throttling by @elie222 in https://github.com/elie222/inbox-zero/pull/3194
* integrations: simplify connect UX and add read-only providers by @elie222 in https://github.com/elie222/inbox-zero/pull/3195
* Add all free tools to the site footer by @elie222 in https://github.com/elie222/inbox-zero/pull/3199
* mail: remove beta banner, fix layout on small screens, add colored labels by @elie222 in https://github.com/elie222/inbox-zero/pull/3197
* fix: restore production build compatibility by @elie222 in https://github.com/elie222/inbox-zero/pull/3202
* meetings: Default recorder to all calls by @elie222 in https://github.com/elie222/inbox-zero/pull/3201
* INB-323: Fix meeting summary structured output by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3203
* INB-322: Show processing while meeting recording continues by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3200
* rules: add integration write action with Todoist task support by @elie222 in https://github.com/elie222/inbox-zero/pull/3198
* feat(mail): foundation for the redesigned mail tab by @elie222 in https://github.com/elie222/inbox-zero/pull/3204
* docs: changelog — Inbox Health reports by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/3131
* fix(chat): serialize rule updates by @elie222 in https://github.com/elie222/inbox-zero/pull/3121
* fix: isolate browser queue storage by @elie222 in https://github.com/elie222/inbox-zero/pull/3207
* fix: Harden recent integration and mail changes by @elie222 in https://github.com/elie222/inbox-zero/pull/3209
* Integrations: gate rule actions behind early access by @elie222 in https://github.com/elie222/inbox-zero/pull/3208
* feat(mail): rebuild the mail screen on the new design by @elie222 in https://github.com/elie222/inbox-zero/pull/3205
* feat(mail): add persistent local email cache by @elie222 in https://github.com/elie222/inbox-zero/pull/3210
* fix(mail): tighten the mail screen chrome by @elie222 in https://github.com/elie222/inbox-zero/pull/3211
* mail: Keep layout changes after switching views by @elie222 in https://github.com/elie222/inbox-zero/pull/3213
* mail: Add Outlook navigation parity by @elie222 in https://github.com/elie222/inbox-zero/pull/3214
* fix: seed emulator inbox during workspace setup by @elie222 in https://github.com/elie222/inbox-zero/pull/3212
* fix(meetings): keep bot scheduling resilient by @elie222 in https://github.com/elie222/inbox-zero/pull/3215
* Mail: Emphasize unread subjects by @elie222 in https://github.com/elie222/inbox-zero/pull/3220
* mail: tighten row layout and preserve thread labels by @elie222 in https://github.com/elie222/inbox-zero/pull/3218
* chore: shorten pull request review interval by @elie222 in https://github.com/elie222/inbox-zero/pull/3222
* fix: Prevent duplicate integration callback exchanges by @elie222 in https://github.com/elie222/inbox-zero/pull/3217
* fix(mail): improve rule attribution layout by @elie222 in https://github.com/elie222/inbox-zero/pull/3221
* mail: redesign the thread view as a flat message list by @elie222 in https://github.com/elie222/inbox-zero/pull/3225
* setup: Recover stalled completion actions by @elie222 in https://github.com/elie222/inbox-zero/pull/3224
* integrations: explain what the page is for by @elie222 in https://github.com/elie222/inbox-zero/pull/3223
* mail: Use Escape for back navigation by @elie222 in https://github.com/elie222/inbox-zero/pull/3227
* mail: Balance removable label spacing by @elie222 in https://github.com/elie222/inbox-zero/pull/3226
* Landing: Fix mobile horizontal overflow by @elie222 in https://github.com/elie222/inbox-zero/pull/3231
* fix(mail): preserve provider label colors by @elie222 in https://github.com/elie222/inbox-zero/pull/3229
* mail: add actions to the reader's ⋯ menu by @elie222 in https://github.com/elie222/inbox-zero/pull/3232
* mail: Mark opened emails as read by @elie222 in https://github.com/elie222/inbox-zero/pull/3230
* security: Restrict onboarding chat to text messages by @elie222 in https://github.com/elie222/inbox-zero/pull/3233
* rules: Show messaging provider in notification labels by @elie222 in https://github.com/elie222/inbox-zero/pull/3234
* Feedback: add optional webhook delivery by @elie222 in https://github.com/elie222/inbox-zero/pull/3235
* marketing: Reduce GPU usage on animated pages by @elie222 in https://github.com/elie222/inbox-zero/pull/3236
* Feedback: isolate layout environment access by @elie222 in https://github.com/elie222/inbox-zero/pull/3238
* security: Encode Gmail batch message IDs by @elie222 in https://github.com/elie222/inbox-zero/pull/3237
* security: Reject SVG image proxy responses by @elie222 in https://github.com/elie222/inbox-zero/pull/3239
* fix(mail): keep label text readable by @elie222 in https://github.com/elie222/inbox-zero/pull/3240
* Meetings: scope bot image file tracing by @elie222 in https://github.com/elie222/inbox-zero/pull/3241
* security: Restrict shared Stripe billing to plan admins by @elie222 in https://github.com/elie222/inbox-zero/pull/3242
* security: Publish API package only from main by @elie222 in https://github.com/elie222/inbox-zero/pull/3243
* security: Keep request secrets out of logs by @elie222 in https://github.com/elie222/inbox-zero/pull/3245
* fix(apple): Block sandbox production entitlements by @elie222 in https://github.com/elie222/inbox-zero/pull/3246
* chore: update marketing by @elie222 in https://github.com/elie222/inbox-zero/pull/3248
* security: keep compacted history at user trust by @elie222 in https://github.com/elie222/inbox-zero/pull/3250
* security: Validate API key account ownership by @elie222 in https://github.com/elie222/inbox-zero/pull/3249
* fix: apply static sender categorization only when category exists by @Kathircpe in https://github.com/elie222/inbox-zero/pull/3252
* docs: changelog — Mail, Rebuilt by @cursor[bot] in https://github.com/elie222/inbox-zero/pull/3228
* fix: fail open on Gmail permission check network errors by @Kathircpe in https://github.com/elie222/inbox-zero/pull/3251
* fix(chat): make clearAiInstructions Gemini-compatible (#3047) by @EgerDev in https://github.com/elie222/inbox-zero/pull/3219
* fix: persist one sender categorization result by @elie222 in https://github.com/elie222/inbox-zero/pull/3253
* INB-324: Restrict billing access to organization admins by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3257
* security: Revoke cached access after account transfers by @elie222 in https://github.com/elie222/inbox-zero/pull/3247
* fix(web): support Windows Turbopack drive roots by @elie222 in https://github.com/elie222/inbox-zero/pull/3258
* fix(usage): rename openai* usage fields to provider-agnostic names by @Kathircpe in https://github.com/elie222/inbox-zero/pull/3255
* build: Use pinned package manager for deployments by @elie222 in https://github.com/elie222/inbox-zero/pull/3259
* feat: onedrive resumable upload by @Kathircpe in https://github.com/elie222/inbox-zero/pull/3256
* mobile: Accept documented Outlook delta cursor URLs by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3112
* fix(web): make turbopack root valid on Windows drive roots by @EgerDev in https://github.com/elie222/inbox-zero/pull/3216
* meetings: Refresh the notetaker camera image by @elie222 in https://github.com/elie222/inbox-zero/pull/3264
* Improve meeting recording status UX by @elie222 in https://github.com/elie222/inbox-zero/pull/3263
* fix(mail): Keep keyboard selection on screen and autoload threads by @elie222 in https://github.com/elie222/inbox-zero/pull/3262
* refactor: simplify Microsoft upload handling by @elie222 in https://github.com/elie222/inbox-zero/pull/3261
* llms: Handle wrapped unavailable model errors by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3114
* ai: Use OpenRouter web search server tool by @elie222 in https://github.com/elie222/inbox-zero/pull/3265
* feat(mail): add unified inbox view by @elie222 in https://github.com/elie222/inbox-zero/pull/3269
* fix(mail): improve unified inbox interactions by @elie222 in https://github.com/elie222/inbox-zero/pull/3276
* feat(mail): Add end-to-end snooze workflow by @elie222 in https://github.com/elie222/inbox-zero/pull/3277
* command palette: Simplify state and add emulator coverage by @elie222 in https://github.com/elie222/inbox-zero/pull/3285
* Add account-scoped Meetings redirect by @gentlemandev in https://github.com/elie222/inbox-zero/pull/3288
* fix(mail): show active account address in switcher by @elie222 in https://github.com/elie222/inbox-zero/pull/3287
* feat(mail): add collapsible navigation by @elie222 in https://github.com/elie222/inbox-zero/pull/3289
* fix(mail): keep reader navigation and archive actions in sync by @elie222 in https://github.com/elie222/inbox-zero/pull/3290
* fix: type command palette keyboard events by @elie222 in https://github.com/elie222/inbox-zero/pull/3291
* desktop: Add Electron shell with system-browser login by @elie222 in https://github.com/elie222/inbox-zero/pull/3266
* Add public sender context to mail by @elie222 in https://github.com/elie222/inbox-zero/pull/3267
* outlook: Avoid retrying ambiguous Graph writes by @elie222 in https://github.com/elie222/inbox-zero/pull/3293
* mail: Download attachments with account context by @elie222 in https://github.com/elie222/inbox-zero/pull/3294
* mail: Fix rotated image proxy URL signatures by @elie222 in https://github.com/elie222/inbox-zero/pull/3296
* Mail: scope sidebar keyboard shortcut by @elie222 in https://github.com/elie222/inbox-zero/pull/3295
* desktop: Package macOS and Windows installers for GitHub Releases by @elie222 in https://github.com/elie222/inbox-zero/pull/3292
* desktop: Keep Mac signing secrets off the Windows release job by @elie222 in https://github.com/elie222/inbox-zero/pull/3298

## New Contributors
* @CarterPape made their first contribution in https://github.com/elie222/inbox-zero/pull/2697
* @casar68 made their first contribution in https://github.com/elie222/inbox-zero/pull/2764
* @rpatricksmith made their first contribution in https://github.com/elie222/inbox-zero/pull/2752
* @crossi-dev made their first contribution in https://github.com/elie222/inbox-zero/pull/2841
* @rollecode made their first contribution in https://github.com/elie222/inbox-zero/pull/2847
* @alexcf made their first contribution in https://github.com/elie222/inbox-zero/pull/2906
* @MrRussLuther made their first contribution in https://github.com/elie222/inbox-zero/pull/3167
* @Kathircpe made their first contribution in https://github.com/elie222/inbox-zero/pull/3252
* @EgerDev made their first contribution in https://github.com/elie222/inbox-zero/pull/3219

**Full Changelog**: https://github.com/elie222/inbox-zero/compare/v2.30.0...desktop-v0.1.0