Skip to content

Deploy Checklist: New Expensify 2026-11-03 #105799

Closed

Description

@OSBotify

Release Version: 9.5.31-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. [Payment due @marufsharifi] Add NetSuite credit card charge export foundation #103686
  2. Scan - No Amount, Merchant and Date field when splitting expense in 1:1 DM #103071
  3. Add Reimbursable setting to company card feeds #104160
  4. Mobile-Expensify submodule update to 471a98a — Adhoc Build
    ↳ https://github.com/Expensify/Mobile-Expensify/pull/14214
  5. [Performance] Migrate useDeferNonEssentials onto NavigationDeferredMount #105496
  6. [No QA] Stop reading Onyx loading status on the company card Reimbursable page #105672
  7. Treat empty route params as missing when going back to a chat #105565
  8. Upgrade node-forge to 1.4.2 #105658
  9. [NO QA] Rename the Campfire, DualEntry and Sage Intacct travel billing internals #105529
  10. [NO QA] Rename the Digits travel billing commands to TravelBilling #105528
  11. Right-align the trip status badge on narrow layouts #105404
  12. [Payment due @QichenZhu] Add currencies to amount search filters #104802
  13. MenuItem decomposition - wrapperStyle-only MenuItemWithTopDescription rows #105621
  14. Tell the submitter that unkept duplicates will be removed #105567
  15. Show Reconnect for NetSuite OAuth authentication errors #105454
  16. Mobile-Expensify submodule update to 9e12557 — Adhoc Build
    ↳ https://github.com/Expensify/Mobile-Expensify/pull/14212
  17. Upgrade Sentry React Native SDK to 8.32.0 and revert the TurboModuleContext workaround #105398
  18. Keep newly created agents editable across browser tabs #101360
  19. Reuse the existing chat for a second expense to a login created offline #103195
  20. [No QA] Fix Oxlint failure on main from deprecated originalMessage in duplicate confirmation test #105689
  21. [Payment due @getusha] Handle workflow CSV import/export with new rules-based structure #103879
  22. fix(Wise): Hide the untapped no-SSN link from the confirmation page #105267
  23. [Payment due @ZhenjaHorbach] fix(DynamicForm): Give every input the same spacing as its neighbors #105382
  24. [Wise][Release 1] Business - UI - Form Saving (Wire in the API Command) #105278
  25. Fix offline timezone row and weekly optimistic report title dates #105577
  26. [NoQA] Continue Concierge drafts past literal ampersands #105637
  27. Keep held expenses out of unheld totals when splitting offline #105524
  28. Keep the Workspaces row menu attached to its button after a window resize #105236
  29. Preserve retest requests across canceled staging deploys #105673
  30. [No QA] Docs updates for E/A#83733 Document merchant= operator for exact merchant matches #104125
  31. [No QA] Add help content for company agents #105146
  32. [No QA] Docs updates for E/A#99092 Book travel visibility in Create menu and Search #105546
  33. [No QA] Docs updates for E/A#105107 Spend footer Count, Total, and Currency menu #105435
  34. Mobile-Expensify submodule update to 9.5.28-5 — Adhoc Build
  35. Fix Add existing expense pagination loop crashing #105119
  36. [No QA] rename Numeric components to KeypadAmountEditor and AmountFormField #105533
  37. Open the Search row long-press menu from the global modal stack #105112
  38. [No QA] Add patch so the Re.Pack dev server exits on Ctrl+C #105612
  39. Show report submit errors in the Search row and make them dismissible in the report #103547
  40. Use the torch and a snapshot for Android flash scans #104840
  41. [No QA] Update Set-Up-SAML-SSO.md #101247
  42. [Payment due @truph01] Add Rillet reimbursements as an out-of-pocket export option #104889
  43. fix: label international bank terms checkbox #105468
  44. Drop the Domain Admin requirement from the preferred exporter note #105296
  45. refactor: thread hasCompletedGuidedSetupFlow through the Concierge wrappers #104464
  46. Keep resized image dimensions on native so large attachments don't jump on upload #105125
  47. Part 16c-2a - Thread delegateAccountID through the settings and wallet Concierge callers #104004
  48. refactor: Pass the split write barrier in and require submission flags #103695
  49. Remove Onyx.connect() for the key: ONYXKEYS.COLLECTION.REPORT in src/libs/ReportUtils.ts (part 6) #93423
  50. [Rules Engine Release 2] [App] Support expense defaults for more than just merchants #104155
  51. Show rate out-of-policy violation for disabled Track distance rates #100549
  52. Offer to create the searched-for category when a category search has no results #105575
  53. fix: Spacing between Action button & right caret is narrow when resizableTableColumns is on #105610
  54. [Payment due @mkhutornyi] Approve and submit every match from Select all #104441
  55. [Payment due @Pujan92] MenuItem: migrate keyboard shortcuts #105714
  56. Show a thread as unread in the LHN when you mark your own message as unread #104289
  57. Add count metric option to search and insights charts #105265
  58. [Payment due @FitseTLT] [NoQA] Remove the globalReimbursementFX beta #105659
  59. Mobile-Expensify submodule update to 9.5.28-6 — Adhoc Build
  60. Mobile-Expensify submodule update to 9.5.28-7 — Adhoc Build
  61. Show Bank address before Bank city in the non-USD bank account flow #104679
  62. Preserve Search report links after workspace-member sign-in #105710
  63. Show the replies row under support ticket previews #105406
  64. Migrate ReportHeaderAvatars #105403
  65. [Payment due @ZhenjaHorbach] feat(Wise): Add the hosted form kickout page #105640
  66. Mobile-Expensify submodule update to 9.5.29-0 — Adhoc Build
  67. Show the full report field name in a tooltip when it is cut off #105279
  68. Attendee field is empty after creating new report #105600
  69. Mobile-Expensify submodule update to 9.5.30-0 — Adhoc Build
  70. Copy UK fuel-band rates with their reclaimable fraction and check it for the lightning bolt #104309
  71. [Payment due @ZhenjaHorbach] [Wise][Release 1] Business - UI - GR enabled on US account (Wallet Page) #105491
  72. [Perf] Restore React Compiler caching in useReportActionsPagination #105781
  73. [Insights polish] Update pie chart labels styling and total value formatting #105747
  74. Remove useOnyx loading status reads for collection keys and keys with default values #105374
  75. upgrade: bump expensify-common to 2.0.224 to enforce URL hostname length limits #104791
  76. Mobile-Expensify submodule update to 367b607 — Adhoc Build
    ↳ https://github.com/Expensify/Mobile-Expensify/pull/14159
  77. Mobile-Expensify submodule update to 9.5.31-0 — Adhoc Build
  78. Revert "Keep newly created agents editable across browser tabs" #105844
  79. Mobile-Expensify submodule update to 9.5.31-1 — f7ec2f0
  80. Mobile-Expensify submodule update to 9.5.31-2 — e7ca7c0
  81. [cp staging] Revert "Merge pull request #104155 from Krishna2323/krishna2323/issue-102277-expense-defaults" #105888
  82. [cp staging] Hide searched category creation for draft-only workspaces #105896
  83. Mobile-Expensify submodule update to 9.5.31-3 — dd7a0c6
  84. [CP Staging] Respect currency precision in amount filters #105917
  85. Mobile-Expensify submodule update to 9.5.31-4 — 62cfc08

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

  1. izarutskaya commented on Nov 4, 2026

    @izarutskaya

    Regression progress is a few steps left

    PRs Failing:
    #101360 on iOS
    #104155 with #105805, #105819, #105855
    #104160 with #105804 & #105854
    #105112 with #105824
    #105278 on Web with #105851
    #105600 on Android with original KI #105549 (#105600 (comment))

    PRs Untested:
    #103547 (comment)
    #104309 (comment)
    #105491 (comment)
    #105640 (comment)
    https://github.com/Expensify/Mobile-Expensify/pull/14159#issuecomment-6615450843

    Several still pending validation: Web 3 | Android 8 | iOS 9

  2. izarutskaya commented on Nov 4, 2026

    @izarutskaya

    Regression is completed

    PRs Failing:
    #101360 faced with #105813
    #104155 with #105805, #105819, #105855
    #104160 with #105804 & #105854
    #104889 failing with #105899 Repro in Prod
    #105112 with #105824 Repro in Prod
    #105278 on Web with #105851
    #105600 on Android with original KI #105549 (#105600 (comment))

    PRs Untested:
    #103547 (comment)
    #104309 (comment)
    #105454 (comment)
    #105491 (comment)
    #105640 (comment)
    https://github.com/Expensify/Mobile-Expensify/pull/14159#issuecomment-6615450843 Probably no need QA

    Critical TCs that are failing:
    Login with #72386
    Onboarding with #98848

  3. izarutskaya commented on Nov 4, 2026

    @izarutskaya

    Checked it off as per #105491 (comment)

  4. blimpich commented on Nov 4, 2026

    @blimpich
    Contributor

    :shipit:

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