9.4.94-0

Expensify/App9.4.94-0Sep 28, 2026by github-actions[bot]

Upgrading?

AI Summary

This release focuses on performance optimizations, UI cleanup, and bug fixes for expense management and search functionality. Key improvements include moving search components onto write-readiness barriers and removing certain nudge elements from the home page.

Key Highlights

  • Performance optimization: Moving Search and submit-expense onto write-readiness barriers.
  • UI Changes: Removed 'Validate account' nudge and 'Discover' section from Home page.
  • Bug Fixes: Fixed flaky ReportTest unread/delete timestamp race.
  • Accounting: Added Tax rate and Tax code columns to the workspace Taxes table.

New Features

  • Add enter shortcut to submit text-based search filters.
  • Show a Pending status for Expensify Cards awaiting issue or activation.
  • Support 'Select all matching' when moving expenses to a report.
  • Hide duplicate violation and Review duplicates action on IOU reports.

Full Release Notes

## What's Changed
* Remove dead betas plumbing by @arekm213 in https://github.com/Expensify/App/pull/101885
* Expense-Error is shown when vacation delegate clicks "Download as PDF" on rejected expense by @lorretheboy in https://github.com/Expensify/App/pull/101515
* fix: drop pending domain adminship request when closing a user account by @jakubstec in https://github.com/Expensify/App/pull/101353
* Add enter shortcut to submit text-based search filters by @bernhardoj in https://github.com/Expensify/App/pull/101759
* Hide duplicate violation and Review duplicates action on IOU reports by @yusufdeveloper2903 in https://github.com/Expensify/App/pull/101324
* [Home Page] Remove Validate account nudge and Discover section by @adamgrzybowski in https://github.com/Expensify/App/pull/101880
* [NoQA] Log the reason for every sign-out by @adhorodyski in https://github.com/Expensify/App/pull/101882
* [No QA] Fix flaky ReportTest unread and delete timestamp race by @mountiny in https://github.com/Expensify/App/pull/102136
* refactor: extract the transaction data derivation chain by @sosek108 in https://github.com/Expensify/App/pull/101201
* [Batch 5] Migrate the background location permissions flow to useConfirmModal by @MelvinBot in https://github.com/Expensify/App/pull/101081
* [Performance] Move Search and submit-expense onto write-readiness barriers and delete `deferredLayoutWrite` by @JakubKorytko in https://github.com/Expensify/App/pull/100169
* [CP Staging] Revert "[Payment due @truph01] Add natural language filter entry point to Spend page" by @stitesExpensify in https://github.com/Expensify/App/pull/102203
* Remove getPersonalDetailByEmail from getMemberAccountIDsForWorkspace #2 by @bernhardoj in https://github.com/Expensify/App/pull/101851
* [No QA] support Xcode 27 DeviceHub in iOS emulator scripts by @jmgraa in https://github.com/Expensify/App/pull/102070
* [Payment due @Pujan92] Send the add_delegate and update_delegate validate code reasons by @allgandalf in https://github.com/Expensify/App/pull/100449
* Always send shouldSaveRecentSearch in the Search payload by @MelvinBot in https://github.com/Expensify/App/pull/102195
* [Payment due @huult] [No QA] Hide redundant MARKEDREIMBURSED action when report has a sibling IOU pay action by @MelvinBot in https://github.com/Expensify/App/pull/95015
* Size the Skia web surface to the chart's painted box by @mukhrr in https://github.com/Expensify/App/pull/101291
* [Merge ATS] Add merge ATS filters page by @bernhardoj in https://github.com/Expensify/App/pull/101236
* Add Tax rate and Tax code columns to the workspace Taxes table by @Krishna2323 in https://github.com/Expensify/App/pull/100710
* Move pre-selected currencies to top in the spend rule currency list by @marufsharifi in https://github.com/Expensify/App/pull/101203
* [Insights] fix: Insights empty state is not scrollable in landscape mode by @mhawryluk in https://github.com/Expensify/App/pull/102083
* [No QA] Add NetSuite bundle release history to the help site by @yuwenmemon in https://github.com/Expensify/App/pull/102112
* [Insights] fix: Confirm page is not cleared when reopened from Create expense button on Insights by @mhawryluk in https://github.com/Expensify/App/pull/102141
* [Payment due @shubham1206agra] Restore last-four SSN for USD beneficial owners by @madmax330 in https://github.com/Expensify/App/pull/102019
* [No QA] Docs updates for E/A#99695 document over-limit approver change messages in #admins by @MelvinBot in https://github.com/Expensify/App/pull/101145
* [Payment due @Ollyws] Show reimbursement ETA in payment report actions by @deetergp in https://github.com/Expensify/App/pull/101646
* [CP Staging] Don't move member expense to admin selfDM by @hungvu193 in https://github.com/Expensify/App/pull/102214
* Fix legacy transaction self-heal being skipped when a report has no IOU action by @mollfpr in https://github.com/Expensify/App/pull/101162
* Show a Pending status for Expensify Cards awaiting issue or activation by @marufsharifi in https://github.com/Expensify/App/pull/101399
* Read the CSV card identity from the mapped column instead of the row's last cell by @mukhrr in https://github.com/Expensify/App/pull/101569
* [No QA] [NO QA] Clarify support for connecting to multiple workspaces. by @sakluger in https://github.com/Expensify/App/pull/102218
* Block migrated user welcome modal in copilot access by @VickyStash in https://github.com/Expensify/App/pull/102124
* refactor: extract useMoneyRequestReportData by @sosek108 in https://github.com/Expensify/App/pull/100035
* [No QA] Update XERO45 help article by @jjcoffee in https://github.com/Expensify/App/pull/102185
* [Search] Preserve all-matching selection in Spend Reports by @emkhalid in https://github.com/Expensify/App/pull/99628
* [No QA] Add a NetSuite bundle upgrade help guide by @yuwenmemon in https://github.com/Expensify/App/pull/102101
* [No QA] Consolidated help docs: new-expensify/domains by @stephanieelliott in https://github.com/Expensify/App/pull/101951
* [No QA] Consolidated help docs: new-expensify/insights by @stephanieelliott in https://github.com/Expensify/App/pull/101948
* [No QA] Consolidated help docs: new-expensify/chat by @stephanieelliott in https://github.com/Expensify/App/pull/101950
* [No QA] Consolidated help docs: new-expensify/expensify-card by @stephanieelliott in https://github.com/Expensify/App/pull/101949
* [No QA] Consolidated help docs: new-expensify/settings by @stephanieelliott in https://github.com/Expensify/App/pull/101952
* [No QA] Consolidated help docs: new-expensify/wallet-and-payments by @stephanieelliott in https://github.com/Expensify/App/pull/101954
* [No QA] Consolidated help docs: new-expensify/getting-started by @stephanieelliott in https://github.com/Expensify/App/pull/101957
* Support 'Select all matching' when moving expenses to a report by @MelvinBot in https://github.com/Expensify/App/pull/98411
* Migrate src/components single-account personal details reads to usePersonalDetail by @TMisiukiewicz in https://github.com/Expensify/App/pull/102055
* [NoQA] [Insights] Add horizontal bar chart variant for wide layouts by @adamgrzybowski in https://github.com/Expensify/App/pull/101435
* fix(patches): run the useInsertionEffect cleanup of a component removed inside a hidden Activity by @dariusz-biela in https://github.com/Expensify/App/pull/101577
* [No QA][Insights][R1][App] Render the chart inline table by @OlGierd03 in https://github.com/Expensify/App/pull/100807
* [CP Staging] Prevent member expenses from opening in admin self DM by @hungvu193 in https://github.com/Expensify/App/pull/102252
* [Payment due @daledah] Surface the server's bank account ownership error instead of generic copy by @NicolasBonet in https://github.com/Expensify/App/pull/101909
* Keep the restricted action RHP on the stack when opening Subscription by @MelvinBot in https://github.com/Expensify/App/pull/101853
* Part 16a - Thread delegateAccountID through the change-workspace report preview by @Krishna2323 in https://github.com/Expensify/App/pull/101451
* Give the first page of a Search query a single owner by @elirangoshen in https://github.com/Expensify/App/pull/101723
* Hide RTER violations on paid expense reports by @MelvinBot in https://github.com/Expensify/App/pull/101559
* [No QA] Give React-Core-prebuilt a machine-independent podspec source path by @mikolajpochec in https://github.com/Expensify/App/pull/101725
* Paginate live to-do searches instead of rendering every cached row by @TMisiukiewicz in https://github.com/Expensify/App/pull/100941
* `MenuItem` decomposition - section rows by @war-in in https://github.com/Expensify/App/pull/101594


**Full Changelog**: https://github.com/Expensify/App/compare/9.4.93-3...9.4.94-0

Related Repositories