9.4.56-3

Expensify/App9.4.56-3Aug 20, 2026by github-actions[bot]

AI Summary

This release adds search operators for custom fields and reimbursement IDs, alongside various bug fixes for distance screens, keyboard focus, and bulk payment flows.

Key Highlights

  • [No QA] Add search operators for custom fields and reimbursement IDs
  • Fix landscape mode on Odometer photo screen
  • Fix: Duplicates-Not here RHP opens when Admin clicks 'Review duplicates' offline
  • Auto-focus search input in Category/Tag inline-edit popovers
  • Fix - Search bulk pay drops the selected payment method after magic code verification

New Features

  • Add search operators for custom fields and reimbursement IDs
  • Fix - Search bulk pay drops the selected payment method after magic code verification

Full Release Notes

## What's Changed
* [No QA] Docs updates for E/A#97337 Add search operators for custom fields and reimbursement IDs by @MelvinBot in https://github.com/Expensify/App/pull/97743
* [NO QA] Add Expensify Visa Commercial Card press release to Home announcements by @MelvinBot in https://github.com/Expensify/App/pull/98803
* Part 6: Remove Onyx.connect() for the key: ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS in src/libs/actions/IOU.ts by @thelullabyy in https://github.com/Expensify/App/pull/97051
* Show non-USD bank accounts as incomplete instead of pending by @marufsharifi in https://github.com/Expensify/App/pull/98023
* fix: display read-only Role selector at full opacity in member details by @mukhrr in https://github.com/Expensify/App/pull/98109
* Migrate money request hold reason and receipt view routes to dynamic … by @suneox in https://github.com/Expensify/App/pull/98751
* Lazy-load contact options: shell first, createOption after getValidOptions by @jmgraa in https://github.com/Expensify/App/pull/97087
* [Payment due @parasharrajat] Add reasonCodes for shipping cards by @chuckdries in https://github.com/Expensify/App/pull/97157
* [CP Staging] fix: gate Download receipts on receipt presence in Search by @truph01 in https://github.com/Expensify/App/pull/98849
* Migrate per diem subrate step to dynamic routes (#83850 part 3) by @suneox in https://github.com/Expensify/App/pull/98629
* [Internal QA] Fix Account and Wallet RBR still showing for personal cards past the 90-day grace period by @wildan-m in https://github.com/Expensify/App/pull/96364
* Return keyboard focus to the popover trigger, without touching DOM globals on native by @Krishna2323 in https://github.com/Expensify/App/pull/98727
* Fix device back from Submit to my employer confirmation landing on the workspace chat by @abzokhattab in https://github.com/Expensify/App/pull/97512
* Display full category hierarchy across category display surfaces by @KJ21-ENG in https://github.com/Expensify/App/pull/95830
* [NO QA] Show a banner when a Consolidated Travel Billing invoice is past due by @blimpich in https://github.com/Expensify/App/pull/98234
* [No QA] Fix SubmitDetailsPage typecheck by @rlinoz in https://github.com/Expensify/App/pull/98875
* [NO QA] Update Rillet settlement copy to Consolidated Travel Billing by @blimpich in https://github.com/Expensify/App/pull/98666
* Move multi-level tag Required from the Tags table to Rules by @Krishna2323 in https://github.com/Expensify/App/pull/98414
* [Split #94595] Final PR - Remove useOnyx dependencies arg and bump Onyx by @fabioh8010 in https://github.com/Expensify/App/pull/97594
* Fix typecheck: pass isMovingTransactionFromTrackExpense to share flow pre-mount route by @MelvinBot in https://github.com/Expensify/App/pull/98874
* Open the broken card feed from the wallet company cards link by @marufsharifi in https://github.com/Expensify/App/pull/98021
* Use group policy filtering in create report flow by @fedirjh in https://github.com/Expensify/App/pull/98731
* Fix blank background when copiloting into an agent from the agent-DM RHP by @MelvinBot in https://github.com/Expensify/App/pull/97869
* Refactor FAB create/track workspace checks to rely on group-policy by @fedirjh in https://github.com/Expensify/App/pull/98729
* chore: update NWWebSocket to 0.5.10 by @adhorodyski in https://github.com/Expensify/App/pull/98052
* Fix regressions from SelfDM splits flow by @ZhenjaHorbach in https://github.com/Expensify/App/pull/97475
* Fix inconsistent font style on unverified Domain members header by @MelvinBot in https://github.com/Expensify/App/pull/98773
* [CP Staging] fix - Android - Distance - Address suggestion list loads infinitely by @situchan in https://github.com/Expensify/App/pull/98836
* Fix: Update billable setting page by @nkdengineer in https://github.com/Expensify/App/pull/98258
* Fix monthly Next Step submit date shifting one day back in UTC-negative timezones by @MelvinBot in https://github.com/Expensify/App/pull/98132
* [No QA] Use native concurrency queue for test builds by @roryabraham in https://github.com/Expensify/App/pull/98694
* refactor: Bump @react-navigation/core to 7.21.12 and drop the now-upstream beforeRemove patch by @TaduJR in https://github.com/Expensify/App/pull/98097
* [No QA] Fix flaky useReportActionAvatarsTranslateTest by pinning actionName by @NicolasBonet in https://github.com/Expensify/App/pull/98901
* Follow-up: narrow useIsAgentAccount personal-details selector to avoid extra re-renders by @jakubstec in https://github.com/Expensify/App/pull/98756
* [NoQA] Use Intuit icon for IES by @ShridharGoel in https://github.com/Expensify/App/pull/98726
* Auto-focus search input in Category/Tag inline-edit popovers by @MelvinBot in https://github.com/Expensify/App/pull/98626
* [CP Staging] Indent GL code subtitle to match the subcategory name in list rows by @yusufdeveloper2903 in https://github.com/Expensify/App/pull/98850
* Fix: Duplicates-Not here RHP opens when Admin clicks "Review duplicates" offline by @annaweber830 in https://github.com/Expensify/App/pull/97906
* Fix: gate forceKeyboardIfAlreadyFocused per-platform to remove Android discard-changes keyboard regression by @MelvinBot in https://github.com/Expensify/App/pull/98808
* Fix - Search bulk pay drops the selected payment method after magic code verification by @jmusial in https://github.com/Expensify/App/pull/98310
* Required 2FA setup screen is unresponsive, blocking new-domain login and account merge by @neerajbachani in https://github.com/Expensify/App/pull/94486
* Remove OnyxUtils.get() from GPSTripStateChecker (use useOnyx) by @MelvinBot in https://github.com/Expensify/App/pull/98703
* [NO QA] InteractionManager cleanup by @collectioneur in https://github.com/Expensify/App/pull/95493
* [No QA][Payment due @ahmedGaber93] Docs updates for E/A#97998 document 500-expense per-report move limit by @MelvinBot in https://github.com/Expensify/App/pull/98684
* Update contributing guidelines Docs to require responding to ai reviews by @FitseTLT in https://github.com/Expensify/App/pull/97361
* Recover the missing report ID once the reports collection loads by @wildan-m in https://github.com/Expensify/App/pull/97636
* ReportActionAvatars -> UserAvatar for multi avatars migration + leftovers by @jmusial in https://github.com/Expensify/App/pull/97983
* [No QA] fix(ci): Raise generateTranslations bun test timeout to fix oxfmt SIGTERM flake by @MelvinBot in https://github.com/Expensify/App/pull/98905
* [No QA] Tag the cherry-pick requester in the automated retest request by @jasperhuangg in https://github.com/Expensify/App/pull/98907
* Re-validate report rows against the status filter in Reports search by @mukhrr in https://github.com/Expensify/App/pull/98556
* fix deleted status on narrow screen by @nkdengineer in https://github.com/Expensify/App/pull/98115
* [Phase 2] Part 5 - Migrate deprecatedGetReportName → getReportName in pages + tests files by @hoangzinh in https://github.com/Expensify/App/pull/97111
* [CP Staging] Revert optimistic scan-failed expense move on pay by @deetergp in https://github.com/Expensify/App/pull/98914
* [Payment due @Pujan92] Add Cancel payment action for pending P2P wallet payments by @KioCoan in https://github.com/Expensify/App/pull/95005


**Full Changelog**: https://github.com/Expensify/App/compare/9.4.55-4...9.4.56-3