9.4.73-3

Expensify/App9.4.73-3Sep 8, 2026by github-actions[bot]

AI Summary

This release focuses on stabilizing the application with numerous bug fixes addressing UI glitches, navigation errors, and crashes in subscription pages. It introduces new features such as the ability to merge reports and a toggle for requiring company cards in rules. Additionally, the update includes significant accessibility improvements and comprehensive documentation refinements.

Key Highlights

  • Implementation of the Merge Reports functionality via a new Report Home Page (RHP) and action menu.
  • Addition of a 'require company cards' toggle within the rules revamp.
  • Fixes for critical navigation issues, including cross-domain search router crashes and subscription page blank states.
  • Improvements to mobile responsiveness, specifically adding a narrow layout for landscape mode.
  • Significant accessibility updates, including the addition of an Accessibility page to HelpDot.

Breaking Changes

  • Revert of 'Allow any workspace admin to pay reports' feature.

New Features

  • Merge Reports RHP and action menu
  • Require company cards toggle for rules revamp
  • Accessibility page in HelpDot
  • Narrow layout for landscape mode mWeb
  • Category tax defaults to Expense defaults

Full Release Notes

## What's Changed
* fix: only fall back to group policy for expense sign when no report exists by @M00rish in https://github.com/Expensify/App/pull/99434
* [NoQA] Add a join.ad macro for the post-sign-in Join step by @kacper-mikolajczak in https://github.com/Expensify/App/pull/100092
* Reset css height/maxHeight values to default when animation stops by @s77rt in https://github.com/Expensify/App/pull/100356
* Stop showing the LHN RBR, Fix badge and To-do for companyCardRequired after submit by @MelvinBot in https://github.com/Expensify/App/pull/100190
* Read the added-expense violations snapshot for the Search Violations column by @neil-marcellini in https://github.com/Expensify/App/pull/99979
* [No QA] Update help docs for Releases 1-5: DualEntry integration by @MelvinBot in https://github.com/Expensify/App/pull/99607
* [No QA] Add Accessibility page to HelpDot by @rushatgabhane in https://github.com/Expensify/App/pull/96664
* fix: hide tax row on per diem and time split expenses (#99200) by @truph01 in https://github.com/Expensify/App/pull/99756
* [cp stag & prod] Derive the next Search page from the snapshot cursor by @mukhrr in https://github.com/Expensify/App/pull/100144
* fix: Outstanding report can be selected on confirm page, but expense is created in another report by @nkdengineer in https://github.com/Expensify/App/pull/100066
* [No QA] Docs updates for E/A#95005 Cancel a pending P2P wallet payment by @MelvinBot in https://github.com/Expensify/App/pull/98928
* [No QA] Update Explore-whats-changed-in-New-Expensify.md by @brianlee-expensify in https://github.com/Expensify/App/pull/99690
* [No QA] Docs updates for E/A#99015 rename Subscription empty-state button to Add card by @MelvinBot in https://github.com/Expensify/App/pull/99366
* [No QA] Update Merge-Accounts.md by @brianlee-expensify in https://github.com/Expensify/App/pull/99484
* [No QA] [NoQA] Docs updates for E/A#98521 Export status window returns after page refresh by @MelvinBot in https://github.com/Expensify/App/pull/99954
* [No QA] Docs updates for E/A#98509 linking existing card feed to non-USD workspace by @MelvinBot in https://github.com/Expensify/App/pull/99706
* [No QA] Docs updates for E/A#97094 Show GL codes in tag picker setting by @MelvinBot in https://github.com/Expensify/App/pull/98474
* [No QA] Docs updates for E/A#97083 note comma values need quotes in search by @MelvinBot in https://github.com/Expensify/App/pull/98475
* [No QA] Docs updates for E/A#98622 document bank connection re-authentication error by @MelvinBot in https://github.com/Expensify/App/pull/99476
* [Payment due @situchan] [No QA] Docs updates for E/A#97401 Settle balance confirmation step by @MelvinBot in https://github.com/Expensify/App/pull/99705
* Docs updates for E/A#94093 add Default supplier to Xero export settings by @MelvinBot in https://github.com/Expensify/App/pull/96538
* [No QA] Update Manage-Copilot-Access.md by @brianlee-expensify in https://github.com/Expensify/App/pull/99487
* [No QA] Update Act-as-a-Copilot.md by @brianlee-expensify in https://github.com/Expensify/App/pull/99489
* [No QA] Docs updates for E/A#99992 document Paid by column and filter by @MelvinBot in https://github.com/Expensify/App/pull/100057
* [No QA] Docs updates for E/A#98489 domain already set up and admin access by @MelvinBot in https://github.com/Expensify/App/pull/100096
* [No QA] Update Edit-Expenses.md by @brianlee-expensify in https://github.com/Expensify/App/pull/100078
* [No QA] Docs updates for E/A#98887 Submit workspace creation via emailed deeplink by @MelvinBot in https://github.com/Expensify/App/pull/100097
* [No QA] Docs updates for E/A#99644 document locked cash expense default on splits by @MelvinBot in https://github.com/Expensify/App/pull/100109
* Docs updates for E/A#97423 Clarify who can add a receipt to an expense by @MelvinBot in https://github.com/Expensify/App/pull/99959
* Remove legacy backTo fallback from goBackFromExportConnection by @MelvinBot in https://github.com/Expensify/App/pull/100265
* Fix cross-Domain Search Router navigation by @nabi-ebrahimi in https://github.com/Expensify/App/pull/100150
* Fix Expensify links in chat that use single quotes by @deetergp in https://github.com/Expensify/App/pull/99808
* Hide Home loading bar while offline by @MelvinBot in https://github.com/Expensify/App/pull/100011
* Use narrow layout in landscape mode mWeb by @GCyganek in https://github.com/Expensify/App/pull/97880
* refactor: thread onboarding status through createTransactionThreadReport callers by @daledah in https://github.com/Expensify/App/pull/100213
* [No QA] Claim the sequential queue read gate for deferred writes by @Abdukhamid000 in https://github.com/Expensify/App/pull/99815
* [No QA] Update conciergeChat to remove Onyx.connect - 41 by @cretadn22 in https://github.com/Expensify/App/pull/100307
* Add category tax defaults to Expense defaults by @Krishna2323 in https://github.com/Expensify/App/pull/99420
* feat: add require company cards toggle to rules revamp by @Krishna2323 in https://github.com/Expensify/App/pull/100241
* [Payment due @suneox] Treat invalid search status filter as if there is no filter at all by @jjcoffee in https://github.com/Expensify/App/pull/100162
* Align distance rates toggle switches with the page's right inset by @MelvinBot in https://github.com/Expensify/App/pull/100143
* fix: stop showing the canceled status on expense previews by @Krishna2323 in https://github.com/Expensify/App/pull/99097
* Fix unresponsive LHN report tap after returning to Inbox from a Settings RHP by @fedirjh in https://github.com/Expensify/App/pull/100167
* fix: Subscription page becomes blank after deleting workspace by @nkdengineer in https://github.com/Expensify/App/pull/99911
* feat: implement Merge Reports RHP and action menu by @dmkt9 in https://github.com/Expensify/App/pull/95658
* Shorten commuter exclusion option copy by @fedirjh in https://github.com/Expensify/App/pull/100211
* fix: After deleting expense row on group empty row appears by @nkdengineer in https://github.com/Expensify/App/pull/100282
* [NO QA]  Fix ESLint check on main: complete buildForm in VendorMatchingMerchantRulesTest by @MelvinBot in https://github.com/Expensify/App/pull/100398
* Hide the approval workflow UI when a DEW sets dynamicExternalWorkflowHidePeople by @MelvinBot in https://github.com/Expensify/App/pull/100138
* [No QA] refactor: replace shouldUseStagingServer with a tri-state activeServer (part 1/5) by @sharabai in https://github.com/Expensify/App/pull/99926
* Fix: prevent dynamic route crash when "action" query param exists in both base path and suffix by @MelvinBot in https://github.com/Expensify/App/pull/98949
* fix: Code does not arrive when adding contact method with new user by @nkdengineer in https://github.com/Expensify/App/pull/99909
* CompactAvatar + multi-select rows by @jmusial in https://github.com/Expensify/App/pull/99421
* [CP Staging] Fix stale/missing receipt page count badge across distance edits by @ishpaul777 in https://github.com/Expensify/App/pull/100357
* [CP staging] Revert "Allow any workspace admin to pay reports" by @chuckdries in https://github.com/Expensify/App/pull/100354
* [NO QA] Update CONTRIBUTING.md by @mallenexpensify in https://github.com/Expensify/App/pull/100412
* [No QA] Move Sage Intacct vendor matching docs to main navetation  by @stephanieelliott in https://github.com/Expensify/App/pull/100366
* MenuItem decomposition - `outerWrapperStyle` cases by @war-in in https://github.com/Expensify/App/pull/99915
* [No QA] Fix import/no-cycle - part 2  by @LukasMod in https://github.com/Expensify/App/pull/99768
* [No QA] fix: update Knip for Bun shell interpolation by @chrispader in https://github.com/Expensify/App/pull/100329
* [No QA] Clarify why the Workspaces tab resets to WorkspaceInitialPage on narrow layouts by @MelvinBot in https://github.com/Expensify/App/pull/100321
* Fix card-issued link resolving against the active route by @mukhrr in https://github.com/Expensify/App/pull/98406
* [No QA] Fix stale artifacts cache on iOS by @mateuuszzzzz in https://github.com/Expensify/App/pull/99185
* [No QA] Consume react-native dSYMS in CI workflows by @mateuuszzzzz in https://github.com/Expensify/App/pull/98853
* Update getReportPreviewAction function to pass getCleanUpTransactionThreadReportOnyxData - 2 by @cretadn22 in https://github.com/Expensify/App/pull/99036
* [No QA] Fix import/no-cycle - part 1 - follow up by @LukasMod in https://github.com/Expensify/App/pull/100009
* Fix/96257 relaid optimistic scan failed move by @yusufdeveloper2903 in https://github.com/Expensify/App/pull/99328
* [No QA] Add policy vendors Onyx collection type by @Beamanator in https://github.com/Expensify/App/pull/100240
* [No QA] Update AI Agent help docs by @MelvinBot in https://github.com/Expensify/App/pull/100263
* [No QA] [Hold for feature] [No QA] Docs updates for E/A#99758 Intuit Enterprise Suite now available to all workspaces by @MelvinBot in https://github.com/Expensify/App/pull/99799
* Pass issue_card reasonCode when issuing an Expensify card by @chuckdries in https://github.com/Expensify/App/pull/100430
* [No QA] Use OXC to transform Reassure perf tests by @roryabraham in https://github.com/Expensify/App/pull/100429
* [No QA] Don't inject SENTRY_RELEASE into every chunk by @collectioneur in https://github.com/Expensify/App/pull/100175
* [Payment due @suneox] fix: skip export-again warning for manual exports by @MelvinBot in https://github.com/Expensify/App/pull/99982
* [No QA] Correct Expensify Travel plan availability in help article by @MelvinBot in https://github.com/Expensify/App/pull/100229
* Fix - travel legacy request-access path skips the confirm modal after verification by @jmusial in https://github.com/Expensify/App/pull/99182
* [No QA] add MoneyRequestReportActionsList performance test by @sosek108 in https://github.com/Expensify/App/pull/100023
* Fix: preserve untouched tag levels when bulk-editing a single tag level by @MelvinBot in https://github.com/Expensify/App/pull/97951
* Do not optimistically create the moved-expense system message when the destination report is a draft by @MelvinBot in https://github.com/Expensify/App/pull/99721
* Update persistent window logic to not show for new users by @KJ21-ENG in https://github.com/Expensify/App/pull/100236


**Full Changelog**: https://github.com/Expensify/App/compare/9.4.72-2...9.4.73-3