Skip to content

Deploy Checklist: New Expensify 2026-10-21 #104620

Closed

Description

@OSBotify

Release Version: 9.5.18-1
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. [Payment due @ZhenjaHorbach] [No QA][Wise] Onyx Types For Global Reimbursements #104260
  2. [Payment due @linhvovan29546] Create company agents #103817
  3. Freeze Home tab in the background on web #104078
  4. Add Exact Online waitlist #103997
  5. Log when a sign-out storage wipe deletes a new session #104456
  6. [No QA][Performance] Document the defer-after-paint pattern and add the PERF-20 review rule #102425
  7. Guard against null workspace member entries in employeeList #103793
  8. Dismiss the chart tooltip on mobile devices when the window is resized (e.g. when the device is rotated) #104369
  9. [NoQA][Business Central][R3] Change phrasing for sync reimbursed reports feature #104429
  10. [No QA] Show reclaimable tax details in the added distance rate change log #104431
  11. [No QA] Fix flaky SessionTest SAML sign-out tests by removing unneeded virtual Jest mocks #104064
  12. Reapply SetRule and DeleteRule commands #104033
  13. Add NetSuite OAuth migration nudges #103927
  14. fix Copilot - Not here page when click Create expense in delegate mode #102346
  15. Remove getReportTransactions callers' reliance on the deprecated default in submitReport (Part 9) #103683
  16. Key native attachment thumbnails on the attachment ID so they stay on screen after send #103527
  17. [Payment due @Krishna2323] Describe a rule from New rule and fall back to an agent rule #103810
  18. Migrate batch 1 one-button alerts from DecisionModal to useDecisionModal #103553
  19. Add NumericInput BigNumberPad and consolidate full-screen layout #102140
  20. Migrate standalone pan gestures to Gesture Handler 3 hooks #103455
  21. Keep the PDF focused when an arrow key can't move the attachment carousel #104449
  22. [No QA] Add saml sentry breadcrumbs #103347
  23. [Liquid Glass Follow Up] Fix native tab bar issues when the Insights beta is on #104368
  24. [Payment due @ZhenjaHorbach] [NoQA][Wise][Release 1] Business - UI - Entry Point Workspace #104485
  25. [Payment due @situchan] Add Held search filter for expenses #104076
  26. Show Per Diem Download CSV option before rates are added #104252
  27. [Payment due @nkdengineer] Use the Vendor label for Xero instead of Supplier #104468
  28. Mobile-Expensify submodule update to 9.5.15-2 — Adhoc Build
  29. [Payment due @ZhenjaHorbach] [No QA][Wise][Payments][ONYX TYPE] Keep Wise KYC needs on the bank account #104538
  30. Add bank account home screen task navigates away from the homescreen #104434
  31. Migrate chart gestures to Gesture Handler 3 hooks #103457
  32. [Payment due @ahmedGaber93] Draw every period that hasn't ended with a dashed line #104075
  33. Hide the date suffix in dated distance rate names #104264
  34. [Payment due @truph01] [NoQA] [Insights] Persist Insights Compare mode after signing out #104347
  35. Reapply "Add a More menu option to switch single-expense reports between expense view and table view" #103703
  36. Enforce the cash-expense reimbursable rule when defaultReimbursable is absent #101903
  37. Handle agent rule and impossible answers in the AI rules builder #103952
  38. Fix false missingAttendees violation in Search rows #104540
  39. [Merge ATS] Add Ashby specific approver field #103134
  40. Let the reaction decide the Concierge feedback prompt on a thread's parent message #103424
  41. [No QA] Docs updates for E/A#101315 import IES custom dimensions as tags #101783
  42. ConfirmationPage composition migration #103070
  43. fix: Credit Card Export Account Lists Appear on Vendor Bills #100170
  44. Fix guest leaving and joining workspace room #104542
  45. Fix Spend footer selector follow-ups: Reset currency, disabled chevron, Save search display, saved search Total #104058
  46. Allow any workspace admin to pay reports #103239
  47. Offer the workspace members bulk actions in the floating bar #102380
  48. fix: Expose empty receipt upload as an accessible button #104528
  49. Show letter avatars for invited members on the invite Confirm details page #104265
  50. Mobile-Expensify submodule update to 9.5.15-3 — Adhoc Build
  51. Add Zoho Books connector entry and OAuth setup flow #103689
  52. [Payment due @truph01] Add natural language filter entry point to Spend page (re-PR with deploy blocker fixes) #102237
  53. [No QA] Configure prefer-nullish-coalescing with ignorePrimitives #104537
  54. Part 5- thread reportOwnerLogin through canDeleteReportAction and the merge predicates #102260
  55. [Payment due @ZhenjaHorbach] [No QA] Bump mathjs to 15.2.0 to address security vulnerabilities #103003
  56. Mobile-Expensify submodule update to c880190 — Adhoc Build
    ↳ https://github.com/Expensify/Mobile-Expensify/pull/14195
  57. Mobile-Expensify submodule update to 21d5357 — Adhoc Build
    ↳ https://github.com/Expensify/Mobile-Expensify/pull/14186
  58. Fix: Open full screen category popover on phones in landscape mode #103552
  59. Mobile-Expensify submodule update to 2430692 — Adhoc Build
    ↳ https://github.com/Expensify/Mobile-Expensify/pull/14193
  60. [NO QA] Fix failing test on main #104601
  61. Add labels to Home Insights widget charts #104466
  62. [No-QA] feat: Report time to full display when NewDot's splash hides #104292
  63. Bump Node to 26.12.1 to block the compromised eMudhra intermediates #104599
  64. Mobile-Expensify submodule update to 79eae6d — Adhoc Build
    ↳ https://github.com/Expensify/Mobile-Expensify/pull/14188
  65. Mobile-Expensify submodule update to 9.5.16-0 — Adhoc Build
  66. Mobile-Expensify submodule update to 9.5.16-1 — 358d634
  67. [CP Staging] Revert "Reapply "Add a More menu option to switch single-expense reports between expense view and table view"" #104661
  68. [Payment due @situchan] [cp staging] Update the triggers for SetRule #104779
  69. Mobile-Expensify submodule update to 9.5.16-2 — 5b081e6
  70. [No QA] Deploy production web builds to the production Cloudflare Worker #104759
  71. Mobile-Expensify submodule update to 9.5.16-3 — 332f92b
  72. Mobile-Expensify submodule update to 9.5.18-0 — 94d24c5
  73. [CP Staging] Keep NetSuite OAuth upgrade option visible for TBA connections #104777
  74. Mobile-Expensify submodule update to 9.5.18-1 — 2e00935

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 22, 2026

    @m-natarajan

    Regression progress is at 51%

    PRs Failing:
    #102380
    #103810
    #103952
    #104542

    PRs Untested:
    Several still pending validation: Web 16 | Android 26 | iOS 28

  2. m-natarajan commented on Oct 22, 2026

    @m-natarajan

    Regression progress is at 99%

    PRs Failing:
    #102237 with #104683
    #102380 with #104680
    #103703 with #104681 and #104682
    #103810 with #104688 (Repro in Prod)
    #103927 with #104687
    #103952 with #104691 (Repro in Prod)
    #104033
    #104434
    #104542

    PRs Untested:
    Several still pending validation: Web 5 | Android 4 | iOS 7
    #103134 (comment)
    #103689 (comment)

    PRs unchecked:
    #104528 - Validated only the functional steps and not the voice over step as this requires [A11y]

  3. m-natarajan commented on Oct 22, 2026

    @m-natarajan

    Regression progress completed

    PRs Failing:
    #102237 with #104683
    #102260 with #104713 (Repro in Prod)
    #102380 with #104680
    #103703 with #104681 and #104682
    #103424 with #104728 (Repro in Prod)
    #103457
    #103455 with #104740 (Repro in Prod)
    #103810 with #104688 (Repro in Prod)
    #103927 with #104687
    #103952 with #104691 (Repro in Prod)
    #104434 with #104723 (Repro in Prod)
    https://github.com/Expensify/Mobile-Expensify/pull/14186 with #104710

    PRs Untested:
    #103239 - iOS
    #103457 - All
    #103689 (comment)

    PRs unchecked:
    #104528 - Validated only the functional steps and not the voice over step as this requires [A11y]

  4. grgia commented on Oct 22, 2026

    @grgia
    Contributor

    demoting #104647 behind beta

  5. grgia commented on Oct 22, 2026

    @grgia
    Contributor

    @m-natarajan what failed for #104542

  6. m-natarajan commented on Oct 22, 2026

    @m-natarajan

    @grgia Its passed. Updated in the second (Not listed in failed ones)

  7. m-natarajan commented on Oct 22, 2026

    @m-natarajan

    #103457 failed with #104797 (Deploy blocker) and #104771 (Repro in Prod)
    #103239 - Validation passed in iOS

  8. self-assigned this
    on Oct 22, 2026
  9. m-natarajan commented on Oct 22, 2026

    @m-natarajan

    #104777 validated in Web and iOS, APK build N/A for Android

  10. grgia commented on Oct 23, 2026

    @grgia
    Contributor

    Sentry check done for both boxes, nothing blocks.

    Release Sentry New issues
    9.5.16-1 (staging) link 0 (web 9.5.16: one new render loop, APP-NBD, 4 events from one user, nothing in this release touches that code)
    9.5.15-3 (production) link 0, no crash spike
  11. grgia commented on Oct 23, 2026

    @grgia
    Contributor

    :shipit:

  12. os-botify commented on Oct 23, 2026

    @os-botify

    Could not verify the staging builds because a GitHub API call failed.
    Reopening!

  13. reopened this on Oct 23, 2026
  14. grgia commented on Oct 23, 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