9.4.47-7
Expensify/App9.4.47-7Aug 1, 2026by github-actions[bot]
AI Summary
This release enhances Copilot usability with a dedicated switch button and renders agent rule change logs in NewDot. It also adds native HTML table support and Expensify Card statement PDF export to bulk actions.
Key Highlights
- Make Copilot switching discoverable with a dedicated Switch button
- Render agent rule change logs in NewDot #admins
- Add native support for HTML tables in responses
- Add Expensify Card statement PDF export to search bulk actions
- Redirect the root path to Home instead of the Inbox
New Features
- Copilot Switch button
- Native HTML table support
- Card statement PDF export in bulk actions
Full Release Notes
## What's Changed * Fix table filter popover appearing mid-screen when opened over the keyboard on Android by @MelvinBot in https://github.com/Expensify/App/pull/97303 * [CP Staging][Payment due @mkhutornyi] Render agent rule change logs in NewDot #admins by @yuwenmemon in https://github.com/Expensify/App/pull/96773 * [Payment due @huult] feat(wallet): prompt for magic code when changing wallet phone by @dukenv0307 in https://github.com/Expensify/App/pull/95566 * [No QA] Fix spell checker to account for doc names with apostrophes and spaces by @NikkiWines in https://github.com/Expensify/App/pull/97321 * Fix: exclude just-created draft expense from terminal status filters (Deleted/Approved/Paid/Done) in Search by @MelvinBot in https://github.com/Expensify/App/pull/96495 * Make Copilot switching discoverable with a dedicated Switch button on the Accounts page (v2) by @wildan-m in https://github.com/Expensify/App/pull/95769 * Show Concierge thinking indicator on expense reports and threads by @chiragsalian in https://github.com/Expensify/App/pull/97363 * Allow WebP extension on receipts by @Gonals in https://github.com/Expensify/App/pull/91705 * feat: Show the Workspace name beside the room name in Search results by @nkdengineer in https://github.com/Expensify/App/pull/96574 * fix: resolve admin "Keep selected" duplicates when transaction thread… by @yusufdeveloper2903 in https://github.com/Expensify/App/pull/96607 * Make editable cell hover target full height by @x-dev90 in https://github.com/Expensify/App/pull/96318 * Collapse line breaks in agent rule change log LHN previews by @MelvinBot in https://github.com/Expensify/App/pull/97420 * Add Expensify Card statement PDF export to search bulk actions by @ishpaul777 in https://github.com/Expensify/App/pull/92790 * [NoQA] Fix `SearchAutocompleteListTest` jest test by @MonilBhavsar in https://github.com/Expensify/App/pull/97429 * [CP Staging] fix: Spend page on the background blinks continuously by @daledah in https://github.com/Expensify/App/pull/97438 * Do not render export page link for integration that has nothing to change by @s77rt in https://github.com/Expensify/App/pull/97355 * [No QA] Add tech debt philosophy doc by @luacmartins in https://github.com/Expensify/App/pull/95768 * Migrate money request time step to dynamic routes (#83850 part 2) by @suneox in https://github.com/Expensify/App/pull/96963 * Advance lastUpdateID for WRITE requests only after the deferred flush applies by @elirangoshen in https://github.com/Expensify/App/pull/97098 * Derive app skeletons from queued requests by @BartekObudzinski in https://github.com/Expensify/App/pull/97115 * Gate language and payment card currency selection behind a Save button (a11y On Input, PR 6) by @MelvinBot in https://github.com/Expensify/App/pull/97075 * Fix selected category ordering in spend rules by @marufsharifi in https://github.com/Expensify/App/pull/95967 * Remove non-sortable flag for 'exportedTo' column in search table headers by @lorretheboy in https://github.com/Expensify/App/pull/95473 * Add contextual Category rules section to category details RHP by @Krishna2323 in https://github.com/Expensify/App/pull/96591 * [No QA] Update docs using Magic Code by @NikkiWines in https://github.com/Expensify/App/pull/97278 * [CP Staging] Fix filter name cut off on landscape by @bernhardoj in https://github.com/Expensify/App/pull/97432 * Redirect the root path to Home instead of the Inbox by @WojtekBoman in https://github.com/Expensify/App/pull/97446 * [No QA] Update iOS build workflows to Xcode 26.6 by @mountiny in https://github.com/Expensify/App/pull/97452 * perf: skip full transactions scan in computeReportName by @TMisiukiewicz in https://github.com/Expensify/App/pull/97340 * [No QA] Unify avatar sizes by @jmusial in https://github.com/Expensify/App/pull/95275 * Fix: Screen Reader: Many Pages: There is no dialog role and title announced by @Krishna2323 in https://github.com/Expensify/App/pull/96892 * [No QA] Update help docs for Releases 1-5: Rillet integration by @MelvinBot in https://github.com/Expensify/App/pull/97195 * Fix markdown cursor restore crash on IOU description focus by @x-dev90 in https://github.com/Expensify/App/pull/96638 * refactor getPolicyName callers in SidebarUtils/ReportNameUtils by @daledah in https://github.com/Expensify/App/pull/97085 * Add native support for HTML tables in responses by @dukenv0307 in https://github.com/Expensify/App/pull/94926 * [Payment due @ahmedGaber93] Convert Search footer totals via GetTransactionsConvertedAmount command by @c3024 in https://github.com/Expensify/App/pull/94669 * [No QA] Add agent-device sign-in drive library for conditional flow steering by @kacper-mikolajczak in https://github.com/Expensify/App/pull/96809 * [CP-staging] Revert "Add Next button to company card assignee step instead of tap-to-advance" by @chiragsalian in https://github.com/Expensify/App/pull/97501 * Show only Custom range (not Custom date) in Consolidated Travel Billing export by @rlinoz in https://github.com/Expensify/App/pull/97461 * Fix empty-state alignment shift on Tags, Per diems, and Workspaces tables by @MelvinBot in https://github.com/Expensify/App/pull/97451 * Fix - Wrong avatar is shown on the template agent after refreshing page by @jmusial in https://github.com/Expensify/App/pull/97449 * Move Expense type filter up below Workspace in Expenses advanced filters by @MelvinBot in https://github.com/Expensify/App/pull/97508 * Fix dependent tag second-level row stuck faded after selecting first-level tag by @MelvinBot in https://github.com/Expensify/App/pull/94756 * Fix missing report export templates by @ShridharGoel in https://github.com/Expensify/App/pull/97484 * fix: Notification appears when user is focused on the report by @nkdengineer in https://github.com/Expensify/App/pull/96891 * [NO QA] Guard getCorpayOnboardingFields against empty countryISO by @MelvinBot in https://github.com/Expensify/App/pull/97249 * Revert "fix: block removing a workspace member who holds an active Expensify Card" by @deetergp in https://github.com/Expensify/App/pull/97511 * Fix missing error message when chat creation fails due to network request by @nabi-ebrahimi in https://github.com/Expensify/App/pull/96678 * Fix invoice room skeleton on failed send by @nabi-ebrahimi in https://github.com/Expensify/App/pull/95259 * [No QA] Add images for Transitioning to New Expensify articles by @stephanieelliott in https://github.com/Expensify/App/pull/97515 * [Payment due @thesahindia] Improve parity with Auth on checks for merging a transaction by @aldo-expensify in https://github.com/Expensify/App/pull/97017 * Fix Save button shifting up in offline mode on room settings pages by @MelvinBot in https://github.com/Expensify/App/pull/97421 * 🍒 Cherry pick PR #97582 to staging 🍒 by @os-botify[bot] in https://github.com/Expensify/App/pull/97588 **Full Changelog**: https://github.com/Expensify/App/compare/9.4.46-10...9.4.47-7