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