Skip to content

Deploy Checklist: New Expensify 2026-10-19 #104377

Closed

Description

@OSBotify

Release Version: 9.5.14-3
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 @nkdengineer] Enable the guest workspace role option #104128
  2. [NO QA] Skip author checklist on melvin authored PRs #104228
  3. Treat Payments Admin like Auditor in room and invoice checks #104132
  4. Restructure IOURequestStepConfirmation ahead of the per-path split #103720
  5. [NoQA] [Insights] Draw Average mode baseline on Spend over time #103989
  6. Add a time sensitive task for setting up a deposit account #100059
  7. Fix: Skip #admins room RHP for Join Workspace onboarding intent #104103
  8. Fix report total changing after reverting a split offline #100166
  9. Remove the centered AI features promo modal #104177
  10. Mobile-Expensify submodule update to 9.5.13-1 — Adhoc Build
  11. Migrate crop view gestures to Gesture Handler 3 hooks #103456
  12. [NoQA] Remove reassure duration gate #103865
  13. [Insights: Violations][R2]: Add the date filter any-approval #101058
  14. Add workspace setting to control marking non-reimbursable reports as paid #100569
  15. [Refactor] Move PolicyUtils workspace and navigation helpers into policy.ts and navigation.ts #104183
  16. Remove getReportTransactions callers' reliance on the deprecated default in createDistanceRequest (Part 7) #102941
  17. Keep the table column header inside the scroller on web #103938
  18. [No QA] Docs updates for E/A#102472 Update domain admin vacation delegate steps for new form #104126
  19. [No QA] Fix max-lines lint, TypeScript and SplitTest failures on main #104251
  20. Stop requiring lastActorAccountID to show a chat as unread #102653
  21. Mobile-Expensify submodule update to ba14948 — Adhoc Build
    ↳ https://github.com/Expensify/Mobile-Expensify/pull/14187
  22. Fix Suggestions list disappearing on rotation and refocus hook #103988
  23. [Payment due @QichenZhu] Add Rejected search filter for expenses and expense reports #103309
  24. Show Issue card on provisioned domain feeds with a workspace waitlist #104170
  25. [CP Staging] Show merged expense deleted system message to the submitter #104263
  26. Fix inline-edit pickers overlapping the cell being edited on small-height screens #100508
  27. Wrap search filter titles to two lines, show full login under user name #104129
  28. [No QA] Deploy staging web builds to the staging Static Assets Worker #104104
  29. Mobile-Expensify submodule update to 9.5.13-2 — Adhoc Build
  30. [No QA] Show a spinner below the DynamicForm header and drop redundant shouldUseGoBackButton props #104053
  31. Mobile-Expensify submodule update to 9.5.13-3 — Adhoc Build
  32. Use a platform shim for the iOS-only export staging cleanup #104268
  33. fix: convert Slack emoji images to shortcodes on paste #89625
  34. [BC][Release 3]Add the Business Central Advanced page and settings #103916
  35. Reapply opening a deep link captured before onboarding, without the Concierge regressions #103681
  36. Group personal and company agents in Account Settings #103788
  37. Default transaction start date to "From the beginning" for CSV card feeds #103954
  38. Part 2 - Remove Onyx.connect for ONYXKEYS.COLLECTION.REPORT in Parser lib: room & workspace descriptions #104018
  39. Focus the PDF scroller in the attachment modal so arrow keys scroll the PDF #103836
  40. Fix bottom tab appears on non-root paths after killing and relaunching the app #104250
  41. Fix Split can be opened after deleting offline and it opens not here page #103801
  42. Mobile-Expensify submodule update to 9.5.13-4 — Adhoc Build
  43. Mobile-Expensify submodule update to 9.5.13-5 — Adhoc Build
  44. Fix [Exploratory] After phone rotation to landscape, navigation arrows don't appear after PDF image is tapped #103781
  45. Spend - Expenses arrows still shown on the thread page started from a paid message #103523
  46. Show inline edit validation errors in a bottom-right toast. #103678
  47. Spend - Wrong expense opens after returning from expense report #103526
  48. Fix browser Back not closing modals with history back-guard #104190
  49. Fail a receipt image that never loads instead of spinning forever #102887
  50. Scan - Negative amount is allowed when creating scan expense with 1:1 user #103238
  51. Scan - Completed fields are collapsed when returning from another expense during multi scan #103205
  52. Move Categories & Tags settings into the header More menu #100293
  53. Show the violation Fix nudge on the same reports in the Inbox and Home #103407
  54. [Refactor] Extract the shared footer layout from the Manual, Time, DistanceManual, and DistanceOdometer confirmation footers #103691
  55. Update the to-do "Select all" count when a report leaves the list #104015
  56. Thread parentReportActions into isOneTransactionThread #103711
  57. [CP Staging] Fix- second whispers appears after try to load receipt following network failure #104342
  58. Mobile-Expensify submodule update to 9.5.13-6 — Adhoc Build
  59. [No QA] Split SettingsNavigatorParamList out of Navigation/types.ts to fix max-lines lint #104367
  60. [No QA][Fix Lint] Drop the redundant route assertion that fails lint on main #104371
  61. [Payment due @ikevin127] Show the 👍/👎 feedback prompt under custom agent replies #103367
  62. [Performance] Load policy expense chats via OpenRecipientPicker #103830
  63. Stop showing unsaved Control receipt defaults after upgrading to Control #103362
  64. Mobile-Expensify submodule update to 9.5.14-0 — Adhoc Build
  65. [No QA] Require the staging Cloudflare Worker deploy and verify staging there #104394
  66. Mobile-Expensify submodule update to 9.5.14-1 — c497853
  67. Mobile-Expensify submodule update to 9.5.14-2 — 25ccc05
  68. [CP Staging] Do not restrict toggle height #104427
  69. [CP Staging] Hide payment received if report is non reimbursable #104410
  70. Mobile-Expensify submodule update to 9.5.14-3 — ae6d287

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. m-natarajan commented on Oct 19, 2026

    @m-natarajan

    Regression progress is at 50%

    PRs Failing:
    #89625
    #100569
    #103309 With #104399
    #103367
    #103801
    #103836 with #104390

    PRs Untested:
    Several still pending validation: Web 7 | Android 8 | iOS 9

  2. m-natarajan commented on Oct 20, 2026

    @m-natarajan

    Regression progress is at 84%

    PRs Failing:
    #100059 with #103423
    #100569 with #104403
    #103309 With #104399
    #103367 with #104425 (Repro in Prodn)
    #103801
    #103836 with #104390
    #104128 with #104408

    PRs Untested:
    Several still pending validation: Web 5 | Android 6 | iOS 7

  3. IuliiaHerets commented on Oct 20, 2026

    @IuliiaHerets

    Regression is complete

    PRs Failing:
    #100059 faced with #103423
    #100569 faced on Native apps with #104403
    #103309 failed with #104399
    #103367 failed with #104425, repro on prod
    #103801 faced on iOS with #104443, repro on prod. Can we check it off?
    #103836 faced with #104390
    #104128 faced with #104408

    PRs Untested:
    #103781 asked
    #104103 asked

    Critical TCs that are failing:
    Compose Box and Send Messages with #99390
    Critical Viral Path with #101182
    New User Onboarding Invites with #103058

  4. self-assigned this
    on Oct 20, 2026
  5. IuliiaHerets commented on Oct 20, 2026

    @IuliiaHerets

    #103781 passed and checked off

  6. IuliiaHerets commented on Oct 20, 2026

    @IuliiaHerets

    #104427 and #104410 were passed and checked off

  7. grgia commented on Oct 20, 2026

    @grgia
    Contributor

    Deploy blockers addressed, waiting to hear back from QA on a retest after Auth deploy (one demoted blocker)

  8. grgia commented on Oct 20, 2026

    @grgia
    Contributor

    Cool we are good to go

  9. grgia commented on Oct 20, 2026

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