Skip to content

Deploy Checklist: New Expensify 2026-07-14 #96044

Description

@OSBotify

Release Version: 9.4.34-10
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. fix: Show editable Amount by default in report view #94929
  2. [No QA][INP] Defer PrevNextButtons-NextButton work off the press frame #95737
  3. [NoQA] Decompose ReportActionsList: 12b - remove manual memo #95382
  4. [No QA] Bump expensify-common to 2.0.191 #95790
  5. Fix clearSelectedTransactions call in export download status modal #95469
  6. Refactor: migrate getRate to use usePersonalPolicy hook (part 6) #95587
  7. Move MultiGestureIcon out of icon primitives #95278
  8. [No QA][Split #94595] PR 1 - Add ESLint guard for useOnyx dependencies arg #95613
  9. Mobile-Expensify submodule update to 48d5238Adhoc Build
  10. Mobile-Expensify submodule update to 9.4.33-1Adhoc Build
  11. perf: decompose ReportPreviewActionButton into propless context consumers #95503
  12. [No QA] Add expo-task-manager to buildFromSource to ensure patch is applied #95804
  13. [Domain Control] Handle highlight on return animation for domain pages #91421
  14. Search: show expense count and total when "Select all matching items" is active #95238
  15. Fix APP-B2Q (3/3): give notification-preferences a distinct path param to avoid reportID collision #94688
  16. Open validation RHP directly for pending USD bank accounts #94707
  17. [No QA] Update instructions for adding Expensify Card to wallets #94702
  18. fix: The floating action badge scrolls to the wrong report #94762
  19. [No QA] Fix main ESLint failure by updating seatbelt baseline for ReportPreview refactor #95861
  20. [No QA] Migrate web builds and Storybook from Webpack to Rspack/Rsbuild #95319
  21. Use the policies OnyxDerived dependency for the Pay/Approve badge, not the deprecated policy cache #95805
  22. [Payment due @bernhardoj] Send optimistic Concierge timestamp for pregenerated replies #95002
  23. Auto-scroll to next report preview that requires action #92467
  24. Fix agent avatar CDN URL path in Share Code QR #95901
  25. fix: Reports - Highlight animation is visible on added expense after duplication #94670
  26. [No QA] Re-land billing docs hub with lint-safe route helpers #95786
  27. 83865 migrate workspace workflows members #94482
  28. [No QA] Tweak update required page copy #95821
  29. [No QA] Fix flaky SubscriptionUtils › isUserOnFreeTrial test #95867
  30. Send empty bank account when disabling payments #95699
  31. Company cards page loads each time opening it #95470
  32. [NoQA] Skip forwarding Reauthenticate logs to sentry #95928
  33. Fix: imported contact name not shown in expense after creation #94819
  34. Add truncated-text tooltips to remaining workspace table rows. #95885
  35. Sort Search transactions by date using created, with inserted/transactionID tiebreakers #95837
  36. fix: Show discard changes modal on browser/device back in money-request flows #95076
  37. [NoQA] Make connections optional in the Policy type to match real data #95395
  38. Introduce the spinner on the FormAlertWithSubmitButton buttons #92498
  39. [Submit] Update "Submit to someone" to two options to allow for Submit workspace creation #94319
  40. Allow workspace and status filter to be negatable #95023
  41. fix: Start & End date does not matches Title format with Trip-based Auto-reporting #87140
  42. Scope reportAttributes recompute to reports referencing changed display names #95931
  43. Remove dateBoundMileageRate beta #95483
  44. ButtonWithDropdownMenu — align public API to composed conventions #95494
  45. Mobile-Expensify submodule update to ab15861Adhoc Build
    https://github.com/Expensify/Mobile-Expensify/pull/13973
  46. fix: restore main session when authToken expires while in copilot mode #93084
  47. [No QA] Add motion usage description to fix App Store rejection #95831
  48. Remove Onyx.connect() usage for ONYXKEYS.COLLECTION.POLICY_TAGS from createTransaction #95716
  49. [No QA] Docs updates for E/A#95729 Lowercase workspace role labels #95847
  50. Allow negative response to be reprompted after 30 days #94936
  51. Make workflow payer row read-only during bank setup #95490
  52. Polish add-personal-details flow #95516
  53. Mobile-Expensify submodule update to 9.4.33-2Adhoc Build
  54. Expense - Expense is created in another report with error when Submissions are disabled #94386
  55. [No QA] fix: add Share Extension receipt telemetry #95840
  56. [Payment due @hoangzinh] Fixed Attendee type to match with BE #95838
  57. Pass unavailableTranslation param - batch 1 #95758
  58. Fix magic code navigates back on payment (SettlementButton) #93087
  59. Scope first policy load recompute to reports referencing changed policies #95944
  60. [No QA] [Performance] Add pre-mount destination hook and usage guard #95397
  61. Hide device management & merge accounts and repurpose close account when copiloting into an agent #95812
  62. Migrate transaction thread secondary actions archived checks #93215
  63. Stage profile photo removal behind the Save button #95806
  64. Fix Android 'Already closed' crash on receipt PDF render #94894
  65. Pass ownerLogin as param to isViolationDismissed #2 #95777
  66. [Part 11] Refactor phone number formatting in workspace pages #95757
  67. [NoQA] Receipt follow up - dedup receipt commands #95811
  68. Replace getDisplayNameOrDefault with temporaryGetDisplayNameOrDefault - batch 8 #95697
  69. Remove getPersonalDetailsByIDs usage from OptionsListUtils #95888
  70. [No QA] Reduce unsafe type assertions in SearchUIUtils tests #95904
  71. [No QA] Reduce unsafe type assertions in add Root History Router Extension tests #95903
  72. [No QA] Reduce unsafe type assertions in use Other Feeds For Feed Selector tests #95937
  73. [Payment due @daledah] Add reasonCode parameter to (some) ResendValidateCode calls #90726
  74. Repair the originating domain feed on NewDot company card reconnect #95214
  75. [NoQA] Fix typecheck failure in SearchUIUtilsTest from PR #95758 #95985
  76. Handle copy policy settings failure in modal with retry option #93710
  77. fix: pending transaction message in money request header #95923
  78. Open hyperlinked reports and expenses in the RHP #95131
  79. [No QA] Fix CopyPolicySettingsUtils prefer-nullish-coalescing lint on main #95993
  80. Mobile-Expensify submodule update to 9.4.33-3Adhoc Build
  81. Mobile-Expensify submodule update to 9.4.33-4Adhoc Build
  82. [Audit] Onyx export: extend key export rules for complete coverage #95433
  83. [No QA] Add RAM_ONLY_COMPANY_CARDS_LOADING_STATE to safe Onyx export keys #96004
  84. fix: Error is not shown for the empty Quantity field after choose another subrate #95735
  85. Add received payment action to first More menu section #92477
  86. [NO QA] hide old letter avatars selector behind beta #95955
  87. [Payment due @Krishna2323] Add loading states for table components that benefit from it #95809
  88. Part 5 - Remove Onyx.connect() for the key: ONYXKEYS.PERSONAL_DETAILS_LIST in src/libs/actions/Report.ts #95660
  89. Mobile-Expensify submodule update to 9bf2f41Adhoc Build
    https://github.com/Expensify/Mobile-Expensify/pull/14007
  90. [NoQA] Removed unused dependencies #95909
  91. [No QA] Fix ExportOnyxStateTest: bucket areAgentsLoaded and arePolicyRoomsLoaded keys #96007
  92. [CP staging] Revert #94973 to fix deploy blocker #95957 (storage access modal on sign-out) #96006
  93. Mobile-Expensify submodule update to 9.4.33-5Adhoc Build
  94. [No QA] chore: consolidate script execution on Bun (drop ts-node and tsx) #95890
  95. Mobile-Expensify submodule update to 9.4.33-6Adhoc Build
  96. [No QA] Swap babel-loader + babel-plugin-react-compiler for OXC (Rust React Compiler) #93980
  97. [No QA] fix(rsbuild): lazy-import Sentry plugin to silence webpack deprecation warnings #96021
  98. [No QA] fix: run rsbuild dev server with Node instead of Bun #96023
  99. Fix blank Xero setup WebView on Android by loading an authenticated setup URL #95552
  100. Docs updates for E/A#94604 legal entity tax ID for Travel #95685
  101. Mobile-Expensify submodule update to 892ce4bAdhoc Build
  102. [No QA] Restructure Workspace Merchant Rules examples into their own section #93490
  103. Introduce free trial countdown pop-up #84049
  104. [Submit] Remove Instant option for Submit workspace #95912
  105. Mobile-Expensify submodule update to 9.4.33-7Adhoc Build
  106. [Submit] In-product modal for existing "Get paid back" intent users (Wave 4) #95099
  107. [No QA] Fix failing test on main by bucketing the new trial payment reminder Onyx key #96037
  108. Mobile-Expensify submodule update to 9.4.33-8Adhoc Build
  109. Mobile-Expensify submodule update to 9.4.34-0Adhoc Build
  110. [CP Staging] Show export button for admins #95987
  111. Mobile-Expensify submodule update to 9.4.34-12ffd274
  112. [CP Staging] Fix focus trap tab registration loop #96027
  113. Mobile-Expensify submodule update to 9.4.34-2087c8c2
  114. [CP Staging] Fix infinite spinner on the Next button in feature training carousel modal #96063
  115. Mobile-Expensify submodule update to 9.4.34-38c8c206
  116. [CP Staging] Fix infinite spinner on the Save button in change card limit modal #96087
  117. Mobile-Expensify submodule update to 9.4.34-45bd6460
  118. [CP Staging] Revert "Add reasonCode parameter to (some) ResendValidateCode calls" #96134
  119. Mobile-Expensify submodule update to 9.4.34-56198537
  120. [CP staging] Revert "Fix magic code navigates back on payment (SettlementButton)" #96126
  121. Mobile-Expensify submodule update to 9.4.34-6f0fdc33
  122. [CP staging] Revert "Introduce free trial countdown pop-up" #96129
  123. Mobile-Expensify submodule update to 9.4.34-73eb95e1
  124. Mobile-Expensify submodule update to 9.4.34-8a49c9ed
  125. [CP Stg] Enforce Babel + OXC React Compiler memoization parity #96115
  126. 🍒 Cherry pick PR #96115 to staging 🍒 #96154
  127. [CP Stg] Fix memoized icon crashes #96164
  128. Mobile-Expensify submodule update to 9.4.34-9 — 2294e39
  129. [CP Staging] [Payment due @huult] Coalesce concurrent SAML reauthentication redirects to fix SSO sign-in flashing #96108
  130. Mobile-Expensify submodule update to 9.4.34-10 — 7cd0c9b

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