Skip to content

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

Description

@OSBotify

Release Version: 9.4.34-14
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
  131. [CP Staging] Revert "Open validation RHP directly for pending USD bank accounts" #96182
  132. Mobile-Expensify submodule update to 9.4.34-11fc6ab9e
  133. [No QA] Log auth session result type on non-success native SAML sign-in #96156
  134. Mobile-Expensify submodule update to 9.4.34-126df0398
  135. Mobile-Expensify submodule update to 9.4.34-137830533
  136. [CP staging] Fix FlashList max-update-depth crashes from OXC React Compiler bailouts #96168
  137. 🍒 Cherry pick PR #96168 to staging 🍒 #96226
  138. Hide proactive app review modal during Supportal and copilot sessions #96231
  139. Mobile-Expensify submodule update to 9.4.34-14cb6731c

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions