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