Skip to content

Deploy Checklist: New Expensify 2026-07-21 #96534

Description

@OSBotify

Release Version: 9.4.41-4
Compare Changes: production...staging
Mobile-Expensify Changes: https://github.com/Expensify/Mobile-Expensify/compare/production...staging

This release contains changes from the following pull requests:

Mobile-Expensify PRs:

Internal QA:

Deploy Blockers:

Chronologically ordered merged PRs (oldest first)
  1. [CP Staging] Revert "Add reasonCode parameter to (some) ResendValidateCode calls" #96134
  2. Mobile-Expensify submodule update to 9.4.36-1Adhoc Build
  3. Promote French to a fully supported locale #96336
  4. [No QA] Docs updates for E/A#94433 update login page URL to root #95086
  5. [No QA] Docs updates for E/A#93146 Add Tag GL code column to Spend column list #95084
  6. [No QA] Docs updates for E/A#96018 remove Certinia from upcoming NewDot integrations #96251
  7. [No QA] Docs updates for E/A#95955 hide letter avatar option in profile settings #96051
  8. chore: upgrade react-native-gesture-handler to 2.32.0 #96316
  9. Mobile-Expensify submodule update to cbf1d90Adhoc Build
    https://github.com/Expensify/Mobile-Expensify/pull/14016
  10. [No QA] fix: full reconnects on Reconnect/OpenApp with a newer cutoff #95497
  11. perf: remove redundant O(employees) member scans #96080
  12. refactor: Extract shared hooks for report preview action buttons #95941
  13. refactor: migrate WorkspacesListPage loading gate to queue-derived truth #96300
  14. [No QA] Docs updates for E/A#93907 inline table cell edit icon #95674
  15. perf: shrink SearchRouter's initial recent-reports build, paginate on scroll #95683
  16. [NoQA] fix: Metro Hot-Module-Replacement (HMR)/Hot reload not working on mobile #96325
  17. refactor: migrate direct Button usages to composed Button (PR1 — workspace + settings) #95046
  18. fix: keep public room in LHN for anonymous users #93054
  19. [No QA] Docs updates for E/A#94685 Card statements shortcut for Expensify Card-only workspaces #94897
  20. Mobile-Expensify submodule update to a3f6363Adhoc Build
    https://github.com/Expensify/Mobile-Expensify/pull/14005
  21. [No QA] Docs updates for E/A#94973 Saving unsent receipts on mobile sign-out #95844
  22. Standardize Expense Report and Expense header with predictable button placement and carousel counter #90403
  23. [No QA] Docs updates for E/A#95483 date-bound distance rate editable settings #96049
  24. Remove Onyx.connect() usage for ONYXKEYS.COLLECTION.POLICY_TAGS from updateSplitTransactions #95803
  25. Refactor: isolate allReports from getMemberChangeMessageElements function #95605
  26. Remove Onyx.connect() for the key: ONYXKEYS.COLLECTION.REPORT in src/libs/OptionsListUtils.ts (Part 1) #94795
  27. Allow Payments Admins to share bank accounts from Wallet #96241
  28. fix: prevent SAML re-fire infinite loop during short-lived-token redeem #96124
  29. Fix travel reload/back Not Found by preserving policyID in base path #95900
  30. Pass device info in apple and google sign in commands #95868
  31. [No QA] Docs updates for E/A#93963 update workspace member role filtering UI #95528
  32. Fix - w27-BA- IBAN does not appear in the confirmation page, Auth CreateCorpayBankAccount error shown #96201
  33. fix: decode file:// URIs consistently before filesystem calls #96397
  34. Refactor: ReportUtils from translateLocal to translate from hook (part 7) #95340
  35. [No QA] Update help docs for Releases 1 & 2: Advanced Duplicate Detection #94978
  36. [Payment due @ZhenjaHorbach] fix(ReceiptImage): render local PDF receipts via LocalPDFReceiptPreview #94560
  37. Pass ownerLogin as param to getViolationsOnyxData #95147
  38. Mobile-Expensify submodule update to 7ad9444Adhoc Build
    https://github.com/Expensify/Mobile-Expensify/pull/14003
  39. [No QA] Update tab selector base key to be generic #96259
  40. Implement submit via PDF #94049
  41. fix: land new account on initially opened room #92834
  42. [Payment due @rojiphil] Show Spend Needs approval suggested search for approvers assigned outside the workflow #95633
  43. Fix receipt submitted log is not emitted after submitting a receipt #95939
  44. Add borderWidth support for nested text (chat) on mobile #94332
  45. fix: Allow approvers to edit expenses on draft open reports #79300
  46. [NoQA] Add followupSource and accountID to followup_clicked log event #91687
  47. Mobile-Expensify submodule update to 9.4.36-2Adhoc Build
  48. Mobile-Expensify submodule update to 9.4.36-3Adhoc Build
  49. [No QA] Docs updates for E/A#96351 correct Certinia PSA/SRP install link #96360
  50. [No QA] Note UK/EU Expensify Card availability in US card help articles #93577
  51. [No QA] Add UK/EU Expensify Card setup help article #93569
  52. [No QA] Add UK/EU Expensify Card 3DS authentication help article #93572
  53. [Rules Revamp] Release 3: Add Agents tab to Rules Revamp Beta #95322
  54. [No QA] Unlisted FAQ on Classic Track and Submit plans #85946
  55. [No QA] Update help docs for Release 7: reactive expense analysis in workspace chats, expense reports, and expense threads #96217
  56. Mobile-Expensify submodule update to 9.4.36-4Adhoc Build
  57. fixed truncated Posted column in Report layout table #95635
  58. Fix "Preparing download" & "Your file is ready" modal disappear after rotating device to landscape #95276
  59. Scope Top Spenders suggested search to eligible workspace policyIDs #95593
  60. [Home Page] Add a "Getting started" slot for the Organize my personal spending intent #95496
  61. Show permission modal for bank account currency flow #95609
  62. Refactor: isolate allReportActions from getTrackExpenseActionableWhisper function #95745
  63. Fix: New expense not visible in grouped-by from search when created offline #92132
  64. fix: Increase history popstate fallback timeout #95980
  65. Part 12 - Thread delegateAccountID through pay, send, and invoice flows #95907
  66. [No QA] Log deferred WRITE Onyx flush failures after the watermark advanced #96290
  67. Implement easier change of bank account #94019
  68. Add key to Accordion in Sage Intacct export pages to fix React key warning #95989
  69. Decode HTML entities in report names for search rows and report preview #96383
  70. Fall back restricted CSV member roles #96456
  71. Perf: compute transaction violations once in MoneyRequestReportPreviewProvider #96053
  72. [Snyk] Security upgrade concurrently from 9.2.1 to 9.2.4 #95972
  73. fix: reduce INP latency for receipt image interactions #96089
  74. [Payment due @daledah] Bring back validateCode reasonCode #96224
  75. [Payment due @mkhutornyi] Allow clearing the Default Vendor by re-selecting it (CC/DC export only) #96227
  76. Pass hasReportActions to openReport (p3) #95881
  77. Preserve Search context when creating a task from Search #95927
  78. Mobile-Expensify submodule update to 0492d55Adhoc Build
    https://github.com/Expensify/Mobile-Expensify/pull/14019
  79. chore: upgrade react-native-live-markdown to 0.1.333 #96381
  80. Defer mounting Search filter dropdown content until opened #96287
  81. [No QA] Updates to ECUK setup docs for formatting and instructions  #96438
  82. [No QA] Add UK/EU Expensify Card PIN management help docs #89154
  83. Fix: Magic code expired page - 'request one here' does nothing in a fresh tab #96502
  84. feat: remove isNewManualExpenseFlowEnabled beta flag #96228
  85. [No QA] Add PIN unblock to docs #96511
  86. Fix iOS freeze when picking a brand-new P2P recipient on the distance confirmation step #95771
  87. Mobile-Expensify submodule update to 9.4.37-0Adhoc Build
  88. Fix: physical-address error persists after selecting a valid address #94528
  89. Mobile-Expensify submodule update to 9.4.38-0Adhoc Build
  90. Mobile-Expensify submodule update to 9.4.38-1Adhoc Build
  91. [Payment due @DylanDylann] [NO QA] [Phase 2 of #66427, Sub-PR 1/5] Mark current getReportName to be deprecated method #96155
  92. [Part 1.1] Remove Onyx.connect(ONYXKEYS.SESSION) in ReportActionsUtils: thread currentUserAccountID through getReimbursedMessage #95787
  93. [Part 2.1] Remove Onyx.connect(ONYXKEYS.SESSION) in ReportActionsUtils: thread currentUserAccountID through isWhisperActionTargetedToOthers #95799
  94. [Part 3.1] Remove Onyx.connect(ONYXKEYS.SESSION) in ReportActionsUtils: thread currentUserAccountID through wasActionTakenByCurrentUser #95889
  95. fix: Prevent tall image attachment preview blur #96240
  96. Mobile-Expensify submodule update to 9.4.39-0Adhoc Build
  97. [Payment due @thelullabyy] Vendor matching CC: Add Vendors tab to Workspace settings #96143
  98. [Payment due @thelullabyy] Vendor matching CC - R4: App (Xero extension) #94093
  99. Fix: Session Expired page "Please sign in again" link does nothing #96386
  100. Fix company cards upgrade back navigation to honor backTo #96505
  101. Fix styling of the Inbox page tabs to match Spend page #95877
  102. Mobile-Expensify submodule update to 9.4.40-0Adhoc Build
    https://github.com/Expensify/Mobile-Expensify/pull/14018
  103. docs: link scheduler delegate patch to PR #93878 #96445
  104. [Sentry: APP-5J] Web null UnhandledRejection crash on /search #95466
  105. Fix: use converted JPEG for HEIC receipts on Submit share tab #96232
  106. [Split #94595] Batch A - Remove useOnyx deps from low-risk shared hooks #95616
  107. feat: Add Suggestions tab to the agent rule creation flow #95875
  108. Show inline Explain link on integration sync failure messages #96424
  109. Refactor: ConfirmModal to useConfirmModal | Batch 2 #84405
  110. [Payment due @marufsharifi] Shrink Book a call avatar to match phone icon size #96233
  111. Fix wizard step indicator announcements for screen readers #95918
  112. [No QA] Docs updates for E/A#95431 document bulk deleting agents on web #96248
  113. [No QA] [Docs] Explain shared-approver forwarding in approval workflows #96025
  114. Mobile-Expensify submodule update to 9.4.41-0Adhoc Build
  115. [cp staging] Revert "Merge pull request #90403 from thelullabyy/fix-lullabyy/90366" #96636
  116. Mobile-Expensify submodule update to 9.4.41-1d617941
  117. [No QA] Revert #96228 #96661
  118. Mobile-Expensify submodule update to 9.4.41-2b0623c0
  119. [CP Staging][Home] Stop nudging approvers to submit reports they don't own #96639
  120. Mobile-Expensify submodule update to 9.4.41-31c4f9cf
  121. [CP Staging] fix: empty line and highlighted sliver below wrapped mention (Android) #96610
  122. Mobile-Expensify submodule update to 9.4.41-4d87fa98

Deployer verifications:

  • I checked Sentry for this release version and verified that this release does not introduce any new crashes. More detailed instructions on this verification can be found here.
  • I checked Sentry for the previous release version and verified that the release did not introduce any new crashes. Because mobile deploys use a phased rollout, completing this checklist will deploy the previous release version to 100% of users. More detailed instructions on this verification can be found here.
  • I checked GitHub Status and verified there is no reported incident with Actions.
    cc @Expensify/applauseleads

Metadata

Metadata

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions