Skip to content

Deploy Checklist: New Expensify 2026-04-16 #88022

@OSBotify

Description

@OSBotify

Release Version: 9.3.60-22
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. Migration navigation from InteractionManager to TransitionTracker V2 #83899
  2. Use ActivityIndicator in ReportChangeWorkspacePage #87592
  3. Replace FullscreenLoadingIndicator with ActivityIndicator in ScheduleCallPage #87590
  4. Replace FullscreenLoadingIndicator with ActivityIndicator in DisplayNamePage #87587
  5. Use ActivityIndicator in ConnectToXeroFlow native loading #87583
  6. Use ActivityIndicator in ConfirmCustomSegmentList #87584
  7. Use ActivityIndicator in ConnectToQuickbooksOnlineFlow #87594
  8. Replace FullscreenLoadingIndicator with ActivityIndicator in DateOfBirthPage #87589
  9. fix: Button Learn more not available for first time open No workspace found screen #87332
  10. Bump onyx to 3.0.59 #87738
  11. Adjust Spend Over Time widget's visibility on home page #87577
  12. [Payment due @dukenv0307] Add a UI to Chronos for creating OOO events #87543
  13. Mobile-Expensify submodule update to 9.3.59-1Adhoc Build
  14. Part 1 - Thread currentUserAccountID through hold/permission functions in ReportUtils #87275
  15. Fix merchant rule row clipping descender characters #87300
  16. Mobile-Expensify submodule update to 9.3.59-2Adhoc Build
  17. [No QA] Update Track-Taxes help article with tax disabled alert FAQ #87568
  18. fix: qbo travel invoicing copy #87713
  19. [No QA] perf: Raise BillingGracePeriodEnds subscriptions out of list items #87625
  20. Mobile-Expensify submodule update to 9.3.59-3Adhoc Build
  21. [No QA] Add images to expense duplicate articles  #86831
  22. Fix reportAttributes recomputing all reports on transaction updates #87747
  23. [No QA] Update help site docs for Attendees expense table columns #86991
  24. Fix Radio buttons are hidden behind navigation bar, unable to scroll down filters #87376
  25. fix unable to scroll down share confirm page in landscape mode #87626
  26. fix odometer receipt page not scrollable in landscape mode  #87593
  27. Fix Different map expense creation layout in Track and Split expense #87465
  28. migrate sage intacct autosync and accounting-method #87744
  29. refactor: PureReportActionItem, add SimpleMessageContent #87359
  30. refactor: PureReportActionItem, add ApprovalFlowContent #87462
  31. Filter pending-delete members from approval workflows #87775
  32. fix: Remove Onyx.connect() for the key: ONYXKEYS.COLLECTION.POLICY (part 3) #86908
  33. Release 3: UI Updates for Expensify Cards #86848
  34. Extract SelectionToolbar from MoneyRequestReportActionsList #87659
  35. refactor: PureReportActionItem, add PaymentContent #87399
  36. refactor clearCreateChatError, clearTaskErrors and navigateToAndOpenReportWithAccountIDs to use isSelfTourViewed from useOnyx #87231
  37. feat: show Invite button on Members page for money request reports #82065
  38. refactor: PureReportActionItem, add PolicyChangeLogContent #87492
  39. refactor: PureReportActionItem, add ActionableWhisperContent #87507
  40. Add a map on the GPS screen that shows the trip live #87103
  41. Part 2: Remove Onyx.connect() for the key: ONYXKEYS.COLLECTION.REPORT_ACTIONS in src/libs/actions/Policy/Policy.ts #87335
  42. Fix unreported expenses not showing up in unapproved card #87895
  43. [No QA] Simplify useAllPolicyExpenseChatReportActions #87894
  44. refactor getSearchOptions to use conciergeReportID from useOnyx #87772
  45. Fix: Share sheet flow is busted #86632
  46. [No QA] perf: Raise BillingGracePeriodEnds subscriptions out of list items v2 #87849
  47. Add rotation for PDF attachments #86760
  48. [No QA] Remove selector from useArchivedReportsIdSet #87899
  49. Part 6 - Thread delegateEmail through getFinishOnboardingTaskOnyxData and completeTestDriveTask #87809
  50. Refactor deleteTrackExpense #86608
  51. Fix issue with Split reverting was not successful for expense with negative amount #84705
  52. Add onSelected handler to Chronos timer dropdown option #87823
  53. [NO QA] Improve cherry-pick workflow Slack notifications #87791
  54. [No QA] refactor: move hold expense helpers into existing IOU/Hold.ts #87890
  55. [No QA] Remove green color from + button references in help docs #87573
  56. Update empty workspace copy text #86775
  57. Skip stale hasOutstandingChildRequest on empty trip rooms #86744
  58. Add trackExpensesWithConcierge onboarding RHP variant #85762
  59. Call getThumbnailAndImageURIs unconditionally in ReceiptCell #87417
  60. [Payment due @DylanDylann] [NO QA] Add custom Sentry spans for odometer distance expenses #87813
  61. [iOS] Fix crash after inviting a user to a group chat #87169
  62. [Onyx Audit] Migrate keys to RAM-only part 2/3 - fix #87254
  63. refactor markRejectViolationAsResolved to use isOffline #86829
  64. [No QA] Add Connect-Personal-Cards.md for R3 new card import #87059
  65. [Payment due @situchan] Hide ACH if report is non reimbursable #87552
  66. [No QA][RN iOS prebuilds] Use install_modules_dependencies in group-ib-fp.podspec #87879
  67. Mobile-Expensify submodule update to d10f585Adhoc Build
    https://github.com/Expensify/Mobile-Expensify/pull/13917
  68. [No QA] Update Personal Karma help article for NewDot toggle flow #87571
  69. fix: Multiple expenses appears in confirmation page #87842
  70. fix: checkbox alignment and the padding of last item in onboarding interested features page  #87176
  71. Fix duplicate self DMs in LHN after splitting expense (Vacation Delegate) #87082
  72. [No QA] Create import-via-csv-personal.md #80549
  73. [No QA] docs: Add help site docs for Assign new cards feature #86531
  74. [No QA] Update Account-Settings.md #87917
  75. [No QA] Add help site docs for Duplicate Report feature #87835
  76. Fix Chronos timer dropdown button layout on native platforms #87828
  77. [No QA] Update Distance-Expenses help article to include tax field #87248
  78. Fix lost/duplicated requests in PersistedRequests (Issues 2, 3, 4, 5) + deploy blocker fix #85920
  79. Fix travel invoicing card display in expense detail and EReceipt #87918
  80. Fix No members page has overlapping elements when changing approver #87953
  81. fix text description "successfully authenticated" overlaps with the Got it in landscape mode  #87845
  82. Fix spend rule card page landscape overlap #87678
  83. [Card Rules] Hide deactivated cards from rule summary and selection #87679
  84. Empty state hide top bar on scroll #87620
  85. Add offline visual feedback for spend rules #87822
  86. [No QA] Revert "Do not show notifications for non-actionable actions" #87542
  87. feat: display assigned account manager, partner manager, guide #86952
  88. [NO QA] Fix flaky MiddlewareTest by using resetQueue() in beforeEach #87945
  89. Extract secondary action hooks and components from MoneyReportHeader #87361
  90. Hide Edit expense context menu on settled/approved/closed reports #87650
  91. Moved auth only providers to AuthScreen #86441
  92. [Payment due @rojiphil] Deleted transactions on search V2 #86938
  93. Fix blank VerticalCreditCards icon on native Wallet page #87723
  94. [No QA] refactor: move update params into existing IOU/UpdateMoneyRequest.ts #87896
  95. fix: UNREPORTEDTRANSACTION report action not show and no Explain sparkle link #87704
  96. [Wiring the UI] Revamp search page actions bar #86297
  97. Migration navigation from InteractionManager to TransitionTracker V3 #85759
  98. fix: Create expense from QAB after split expense, Confirm page loads infinitely #87695
  99. Use threadReportID for report lookup in ReviewTaxCode #87943
  100. [No QA] refactor: extract bulk edit and report assignment functions from IOU/index.ts #87839
  101. [No QA] Rewrite React Compiler CI compliance check #87182
  102. Refactor searchMatchUtils out from optionsListUtils #86982
  103. [Payment due @huult] Use error message from server for scan failed receipts #87111
  104. Refactor: migrate convertToDisplayString to useCurrencyListActions hook (part 1) #87880
  105. [InternalQA] Update the GroupIB Fraud Protection snippet #88006
  106. [No QA] Update help site: document bulk expense duplication #87569
  107. [No QA] Update React Compiler docs for new CI compliance check #88001
  108. fix: correctly resolve mention whispers created during message edits #86264
  109. fix: Downloaded video has corrupted format #86915
  110. clean up shouldRestrictUserBillableActions #87777
  111. Fix case-sensitive CSV import enabled column comparison #87783
  112. Add monthly spend limit per member for travel invoicing #86398
  113. perf: decompose MoneyRequestConfirmationListFooter into section components #87496
  114. Migrate main chat to FlashList with inverted flag #85114
  115. Fix leading colon in tag value and false tag violations for non-required levels #87198
  116. [Payment due @ikevin127] Fix how we handle card names on search/reports #87922
  117. Mobile-Expensify submodule update to 9.3.59-4Adhoc Build
  118. Mobile-Expensify submodule update to b50dd35Adhoc Build
    https://github.com/Expensify/Mobile-Expensify/pull/13906
  119. fix: Add updated automatic/scan flow to native share sheet creation flow #87142
  120. Hide duplicate card row error when feed connection is broken #87553
  121. [No QA] Auto-check NO QA Mobile-Expensify PRs in deploy checklist #87816
  122. Fix infinite onboarding navigation loop crash on iOS #88014
  123. Mobile-Expensify submodule update to 9.3.60-0Adhoc Build
  124. [CP Staging] Fix incorrect report name for transaction thread #88038
  125. Mobile-Expensify submodule update to 9.3.60-1dd91c6b
  126. [CP Staging] Revert "feat: show Invite button on Members page for money request reports" #88109
  127. Mobile-Expensify submodule update to 9.3.60-2abe9372
  128. [CP Staging] Revert "Extract secondary action hooks and components from MoneyReportHeader" #88105
  129. Mobile-Expensify submodule update to 9.3.60-3e23ae32
  130. Fix Map does not load when opening track GPS when tracking is ongoing #88059
  131. Mobile-Expensify submodule update to 9.3.60-4dfac3ee
  132. [CP Staging] Fix missing padding between search input and suggestion #88072
  133. Mobile-Expensify submodule update to 9.3.60-5eb14346
  134. [CP staging] Fix Plaid redirect issue on iOS #87996
  135. Mobile-Expensify submodule update to 9.3.60-65600b9c
  136. [CP Staging] Fix "Show history" button display #88066
  137. Mobile-Expensify submodule update to 9.3.60-7a33c417
  138. [CP Staging] Fix revamp actions bar filters chip regression #88102
  139. Mobile-Expensify submodule update to 9.3.60-8c393ac1
  140. Fix - Expensify Card - Issue card button is unresponsive when attempting to issue a second card #88141
  141. Mobile-Expensify submodule update to 9.3.60-9c3d2b12
  142. [CP STG] Revert "Use threadReportID for report lookup in ReviewTaxCode" #88155
  143. Mobile-Expensify submodule update to 9.3.60-101f8eaa6
  144. [CP Staging] Fix hover highlight not working after sending a message #88143
  145. Mobile-Expensify submodule update to 9.3.60-111b1de3b
  146. [CP Staging] fix: share sheet upload edited receipt and keep Category after upgrade #88095
  147. Mobile-Expensify submodule update to 9.3.60-121be3831
  148. [CP Staging] Fix iOS-Self DM-App not scroll down after created the new expense in self DM #88179
  149. Mobile-Expensify submodule update to 9.3.60-132e98a94
  150. [CP staging] Plaid redirect issue on iOS - missing change #88198
  151. Mobile-Expensify submodule update to 9.3.60-14c3141b9
  152. Mobile-Expensify submodule update to 9.3.60-1552d78ae
  153. [CP staging] Fix Chat report is shown instead of the report name #88196
  154. [CP Staging] Add and show the feed filter back #88168
  155. Mobile-Expensify submodule update to 9.3.60-1670005e8
  156. [CP Staging] Rename saved search when re-saving #88133
  157. Mobile-Expensify submodule update to 9.3.60-17c379c0d
  158. [CP Staging] Fix maintainVisibleContentPosition behaviour after migration to FlashList #88321
  159. Mobile-Expensify submodule update to 9.3.60-183dbd731
  160. [CP Staging] Fix Onfido crash from stale cached wallet data on EnablePaymentsPage #88328
  161. Mobile-Expensify submodule update to 9.3.60-191cb7dd2
  162. Mobile-Expensify submodule update to 9.3.60-2020d1161
  163. Fix silent Switch-to-Classic when GPS trip is in progress #88237
  164. Mobile-Expensify submodule update to 9.3.60-213a7e5e9
  165. [CP Staging] fix: align share Submit flow with core scan flow for self-DM #88185
  166. 🍒 Cherry pick PR #88185 to staging 🍒 #88369
  167. [CP Staging] Fix 86848 PR regressions #88086
  168. Mobile-Expensify submodule update to 9.3.60-22020b4b6

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
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