Skip to content

Deploy Checklist: New Expensify 2026-08-10 #98179

Description

@OSBotify

Release Version: 9.4.52-0
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:

Deploy Blockers:

Chronologically ordered merged PRs (oldest first)
  1. fix: Fix on LHN while no error in chat when paid offline the deleted IOU then turn online #96258
  2. Part 3: Remove Onyx.connect() for the key: ONYXKEYS.NETWORK in src/libs/ReportActionsUtils.ts #95776
  3. [NoQA] chore: Move react-native-nitro-fetch patch to correct subfolder #97772
  4. [NoQA] Support name-based agent emails #97895
  5. [No QA] Docs: improve help-site discoverability (out-of-pocket keywords, Apple/Google Pay troubleshooting, member-onboarding synonyms) #97419
  6. Allow the workspace currency selector to open from the upgrade step and travel confirmation #97543
  7. [No QA] Update ChatGPT MCP connection doc for official connector directory #97139
  8. Implement support for the NetSuite OAuth connect flow #96677
  9. fix: allow FFA-only Certinia company selection #96995
  10. Fix company cards bulk actions menu alignment #97405
  11. refactor: align expense preview card metadata line with mobile row styling #96942
  12. Apply the sign-in response on arrival #97690
  13. Bump react-native-onyx to 3.0.94 #96853
  14. [No QA] Remove copy for not yet released functionality from help doc #97986
  15. [No QA] fix: force own transaction for inbox tab navigation span #97966
  16. Mobile-Expensify submodule update to 9.4.51-1Adhoc Build
  17. [No QA] Update help docs for Release 1: Automatic report reassignment on workflow changes #97799
  18. remove unneccesary custom types from translations batch15 #96605
  19. [Payment due @DylanDylann] Improve shipment error handling #97252
  20. Fix - Add react-native-live-markdown to the Custom Agent Instructions input #97876
  21. [No QA] Add support for consuming React Native artifacts on iOS #96293
  22. Migrate Workspace Avatar usages #97465
  23. Fixed locale specific polyfills by installing it in IntlStore #97786
  24. Fix Switch button tooltip alignment #97688
  25. [No QA] Docs updates for E/A#96065 interactive Concierge spend charts #97738
  26. Standardize Expense Report and Expense header with predictable button placement and carousel counter #97005
  27. Add DualEntry integration #97373
  28. Remove Onyx.connect() for the key: ONYXKEYS.PERSONAL_DETAILS_LIST in src/libs/ReportNameUtils.ts #97785
  29. Pass hasReportActions to openReport (p5) #96866
  30. Preserve Search context when opening trip previews #96283
  31. fix (batch 2): isNewManualExpenseFlowEnabled beta flag regressions #97264
  32. Fix report history showing the workspace's current bank account instead of the reimbursement's actual bank account #97707
  33. [No QA] - Remove some dead sidebarLinkActive styles #98037
  34. Mobile-Expensify submodule update to 1868bbcAdhoc Build
    https://github.com/Expensify/Mobile-Expensify/pull/13918
  35. Refactor: migrate convertToDisplayString to useCurrencyListActions hook (part 16) #97892
  36. Add insight-switcher dropdown to the chart slot in Home #96625
  37. [No QA] fix: report warm inbox tab navigations correctly on web #98022
  38. [No QA] Remove infinite-skeleton Sentry span tracking #98034
  39. Fix iOS crash when returning from Settings after enabling Contacts access #97992
  40. Mobile-Expensify submodule update to 7e8bfd0Adhoc Build
    https://github.com/Expensify/Mobile-Expensify/pull/14042
  41. Replace usage of getPersonalDetailByEmail in delegate flow #96860
  42. Fix company cards import crash by transposing spreadsheet data densely #97573
  43. fix: Block raw HEIC upload when conversion fails #96024
  44. Fix stale split highlights when splitting from the Spend page #97520
  45. Only show user from selected workspace filter for From/To filter #97516
  46. Use the room name for the contextual search suggestion #96448
  47. Save offline receipts on sign out #97562
  48. Migrate Button to ButtonComposed (batch 6) text-only styled — rest #97402
  49. [Insights: Violations]: Expanding group & Suggested search #97067
  50. Fix APP-HNA: prevent use-after-free in Fabric findShadowNodeByTag focus traversal #97496
  51. fix: backfill report actions when the newest page has none visible #97689
  52. Migrate Button to ButtonComposed (batch 7) #96731
  53. Hoist search row violations computation out of per-row hook #97867
  54. Perf: use indexed derived value in useReportTransactions #97965
  55. fix: Show IES details on upgrade page #97931
  56. Unify distance display to 2 decimal places #97862
  57. fix: disable enable personal karma on native #97177
  58. ReportActionAvatars -> UserAvatar for single avatars migration #94906
  59. Refactor: remove deprecatedReportsTransactions in hasNonReimbursableTransactions(Part 1) #94806
  60. [No QA] Add advance-vs-stall telemetry to reconnect requests and alert on the older loop-breaker #97585
  61. Optimistically add message for distance rate changes #97517
  62. [NoQA] fix typecheck #98072
  63. Fix - Merge expenses prompts for attendee selection even when both expenses have the same attendee #96526
  64. Fix missing padding on workspace avatar in menu item #98041
  65. [No QA] Show upgrade modal if user has no eliglbe policy for moving expenses #97280
  66. fix: persist search response code so an invalid query keeps hiding Retry #97674
  67. [No QA] [Payment due @truph01] Docs updates for E/A#96947 add Download receipts option to reports #97740
  68. Skip write-wait for home screen search requests that don't need OpenApp data #97669
  69. Add a Time sensitive to-do for employees with missing deposit accounts #96623
  70. Fix: show all categories in Search filter when workspace filter is cleared #98070
  71. Keep currency for CSV-imported personal cards #97968
  72. [Payment due @gijoe0295] fix: surface empty draft reports in Submit to-do bucket #97312
  73. [Payment due @marufsharifi] [Commuter Mileage Exclusion] [R1] Display and enforce fixed distance exclusions #93848
  74. Share extension: pre-mount destination report and create expense before reveal transition #97242
  75. Skip SearchForTodos when the queue drops the reconnect as a duplicate #98007
  76. fix: keyboard focus lost after Back on Enter-activated rows #97306
  77. fix: open country selector RHP when adding a personal card after upgrade #96752
  78. Dedupe getTransactionsForReport lookups in Search row Action column #97877
  79. fix: Invoice created via duplicate workspace shows error #97209
  80. fix: Clean-up some tax related bugs #94007
  81. [No QA] Update conciergeReportID to remove Onyx.connect - 35 #97882
  82. Retry failed locale chunk loads to prevent a permanently stuck boot splash #97491
  83. [No QA] Update Rillet non-reimbursable config source #97845
  84. Fix AI Features Promo modal SecurityError from doubled-slash path and re-entrancy #97849
  85. Fix footer Reset falling back to a stale selected-expense currency #97767
  86. Migrate Button to ButtonComposed (batch 4) in iou+txn #96299
  87. fix: migrate NewChatPage to use useSearchSelector #95778
  88. Prevent uncaught removeChild error in safe area provider cleanup #97595
  89. fix: Force close app then open, home page displays instead of onboarding modal #97443
  90. Workspaces - Wrong warning message when delete Workspace with Travel Invoicing enable #96872
  91. Render Skia web charts on a software surface when WebGL is unavailable #97219
  92. Remove Onyx.connect() usage for ONYXKEYS.COLLECTION.POLICY_TAGS from src/libs/actions/IOU/index.ts in splitBill, splitBillAndOpenReport, createDistanceRequest #97077
  93. Enable multiline GL account names in NetSuite AP Approval Account list #98093
  94. Refactor: migrate convertToDisplayString to useCurrencyListActions hook (part 18) #98096
  95. Only check for valid phone number in the deposit bank account flow #97801
  96. Correct policy changelog report action system messages for: Workflows Submission frequency #97921
  97. Concierge HTML tables: make the whole row clickable and align styling with other tables #97670
  98. Changes to AUS corpay setup for certification #97333
  99. Remove Onyx.connect() usage for ONYXKEYS.COLLECTION.POLICY_TAGS in getPerDiemExpenseInformation function from src/libs/actions/IOU/PerDiem.ts #98035
  100. Patch react-native-nitro-sqlite so failed ROLLBACKs stop masking real SQLite errors #97954
  101. Show selected saved view name in Search page header #97663
  102. [No QA] Add unit tests for getWorkspaceCustomUnitUpdatedMessage in ReportActionsUtils #97917
  103. Refactor: ConfirmModal to useConfirmModal | Batch 4 #92236
  104. Mobile-Expensify submodule update to 9.4.52-0Adhoc Build
    https://github.com/Expensify/Mobile-Expensify/pull/14027

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

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions