Skip to content

Deploy Checklist: New Expensify 2026-10-20 #104495

Closed

Description

@OSBotify

Release Version: 9.5.15-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. [CP Staging] Revert "Align workspace selector logic" #102134
  2. MenuItem decomposition - remove titleContainerStyle #103040
  3. [NoQA] Fix import/no-cycle - part 18 #103203
  4. [Payment due @ZhenjaHorbach] [NoQA][Wise][Release 1] UI - Create Intro Screen #104334
  5. Return to the spend rule form after upgrading from a workspace spend rule page #103365
  6. Remove two unsafe assertions from SearchRouter helpers #100942
  7. remove the last two report metadata Onyx fallbacks from the ReportUtils #103434
  8. [Refactor] Move remaining PolicyUtils member, domain, and travel helpers into members.ts, domains.ts, and travel.ts #104331
  9. Use named import in canFocusInputOnScreenFocus #100614
  10. Remove unsafe type assertions from native receipt validation #100214
  11. [Payment due @nyomanjyotisa] [No QA] Bump compression from 1.7.4 to 1.8.2 #103757
  12. [No QA] Docs updates for E/A#103652 Add Join my company workspace onboarding option #103991
  13. [Part 30] Remove Onyx.connect from LocalePhoneNumber #102123
  14. [No QA] Update PAYMENT_VIA_EXPENSIFY.md #102785
  15. Mobile-Expensify submodule update to 9.5.14-1 — Adhoc Build
  16. Mobile-Expensify submodule update to 977e6a4 — Adhoc Build
    ↳ https://github.com/Expensify/Mobile-Expensify/pull/14190
  17. [NoQA] [Insights] Draw multi-series bar charts #104085
  18. Fix stale scheduled call button in header #104073
  19. fix: show an error when importing per diem rates without a per diem unit #103605
  20. [No QA] test(ios): Verify NitroSQLite database directory in native CI #102980
  21. perf: stop report action avatars re-rendering on every chat message #103976
  22. refactor: remove unsafe assertions from SelectionList section flattening #102964
  23. [No QA] Docs updates for E/A#104152 Add Talk to a human option to Concierge Basics #104163
  24. Remove unsafe focus-event assertions from keyboard navigation and window dimensions hooks #103921
  25. [No QA] Docs updates for E/A#102438 Let admins merge expenses across a member's reports #104219
  26. Remove unsafe assertions from search, domain, hold, and per diem flows #103895
  27. Remove unsafe assertions from badge and theme style defaults #100026
  28. Remove unsafe type assertions from card messages and UI helpers #100798
  29. [No QA] Docs updates for E/A#103072 Duplicate expense stays on the source report #103851
  30. [HOLD] [No QA] [Merge 10/7] Docs updates for E/A#101309 Add vendor search operator to search operators article #103104
  31. [No QA] Add NetSuite SuiteTax setup guidance #104401
  32. [NoQA] Fix import/no-cycle - part 17 #103190
  33. Defer navigation after draft workspace merges to avoid recipient picker flash #104192
  34. [No QA] Enable Workers Issues for the NewDot Cloudflare Worker #104398
  35. Move pre-selected option to top in shared SelectionScreen (accounting selectors) #101719
  36. [No QA] Update Add-Expensify-Card-to-Apple-Pay-or-Google-Wallet.md #102912
  37. [No QA] Align accounting help with provider terminology #103912
  38. Fix/align workspace selector logic v2 #102844
  39. Mobile-Expensify submodule update to bbab4b1 — Adhoc Build
    ↳ https://github.com/Expensify/Mobile-Expensify/pull/14157
  40. Use small thumbnail size in the Concierge side panel #104288
  41. Move the Expensify Card statement PDF modal to the global modal stack #103708
  42. Add local CSV downloads to Insights charts #104272
  43. Keep the staged other-workspace card feed checked after linking #103994
  44. Fix Describe rule bugs  #104055
  45. [Resizable columns] Absorb resize width in trailing columns #103186
  46. Complete join-workspace onboarding with a saved name instead of reopening the name step #104243
  47. [No QA] Generate Cloudflare-Worker source maps #104428
  48. Keep unsaved message edit when closing the Concierge side panel #103950
  49. Surface verification error in Collect Deposit Account flow #103902
  50. [No QA] Fix Sentry not using data-sentry-label #104340
  51. Improvements and fixes in reuse routes feature #103654
  52. [No QA] Trigger artifacts workflow when artifacts workflow files change #103149
  53. [Payment due @ZhenjaHorbach] [NoQA][Wise][Release 1] Business - UI - Entry Point Wallet #104366
  54. fix: Skip the camera error alert when the capture is cancelled by leaving the screen #103892
  55. [Payment due @mkhutornyi] Add Bank account column to workspace Members page #102427
  56. Mobile-Expensify submodule update to 9.5.14-2 — Adhoc Build
    ↳ https://github.com/Expensify/Mobile-Expensify/pull/14191
  57. Mobile-Expensify submodule update to 9.5.14-3 — Adhoc Build
  58. Fix [Exploratory] Onboarding Task - Tap Organise spend & Somethng Else, Rotate phone 2 Landscpe can't scroll #104069
  59. [Payment due @sobitneupane] Show deactivated Expensify Cards in the Closed cards section #102769
  60. [Payment due @marufsharifi] Add work arrangement to workspace member invites #102642
  61. Localize Mapbox map labels to the user's preferred app locale #99304
  62. [NoQA] [Insights] fix: Show empty states when no bucket has expenses #104337
  63. Stop the mobile chart tooltip from overlapping the device status bar #104355
  64. Keep the default workspace first in the expense participant picker #104453
  65. [Payment due @huult] Hide Pay and Unapprove while a cancelled payment is processing #102489
  66. Return to member Profile from Display name Not here back button #104290
  67. Let users attach and replace receipts on created odometer expenses #104375
  68. Remove unsafe assertions from composer, paste, input, and tab navigation contracts #103910
  69. [Internal QA] Show Consolidated Travel Billing as on when it's set up on the workspace account #104447
  70. [NoQA] [Insights] Draw Previous period for Spend over time #103786
  71. Restore: Show up to three report fields per row and edit them inline #104124
  72. [No QA] Enable Workers traces for the NewDot Cloudflare Worker #104492
  73. Fix uneven spacing between the Date and Report fields on the expense form #103366
  74. Make Category GL code and Tag GL code columns inline-editable in Spend #101670
  75. Mobile-Expensify submodule update to 9.5.15-0 — Adhoc Build
  76. Mobile-Expensify submodule update to 9.5.15-1 — Adhoc Build
  77. [CP Staging] Show "removed" instead of "set to """ when a text report field is cleared #104551
  78. Mobile-Expensify submodule update to 9.5.15-2 — 1cb4328
  79. feat: Enable Insights and comparisons on desktop web #104591
  80. Mobile-Expensify submodule update to 9.5.15-3 — bfce097

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

    @m-natarajan

    Regression progress is at 53%

    PRs Failing:
    #100798
    #100942 with #104519 (Repro in Prod)
    #102427 with #104511
    #103186 with #103186 and #104508
    #103365
    #103902 with #104515

    PRs Untested:
    Multiple PRs pending validation across all platforms

  2. kavimuru commented on Oct 21, 2026

    @kavimuru

    Regression is completed in the Browserstack

    PRs failing:
    #100798 failing with #104521 repro in production, checking it off.
    #100942 with #104519 Repro in Production checking it off
    #102427 with #104511
    #103186 failing with #103186
    #103365 failing with #104509 repro in PROD, ok to check it off?
    #103654 failing on web with original issue #103260 #103654 (comment)

    PRs untested:
    #102844 pending validation on all platforms
    #104073 Pending validation
    https://github.com/Expensify/Mobile-Expensify/pull/14190#issuecomment-6300297980

  3. grgia commented on Oct 21, 2026

    @grgia
    Contributor

    Yes, we can check off #103365 and #103654. #104509 reproduces in production so it stays a bug, and #103654 passed the retest on 9.5.15-2.

  4. grgia commented on Oct 21, 2026

    @grgia
    Contributor
  5. grgia commented on Oct 21, 2026

    @grgia
    Contributor

    Sentry check done for both boxes, nothing blocks.

    Release Sentry New issues
    9.5.15-2 (staging) link 0
    9.5.14-3 (production) link 0, no crash spike (web 9.5.14 has 5 one-user errors)

    The Android tab bar crash (APP-N5H) predates this release and is tracked in #104505.

  6. luacmartins commented on Oct 21, 2026

    @luacmartins
    Contributor

    @grgia can you hold the deploy for a bit? We want to release Insights on web, so I'm putting up a PR to do that and it'd need to be CPed

  7. grgia commented on Oct 21, 2026

    @grgia
    Contributor

    @luacmartins yes, we're also holding on https://github.com/Expensify/Mobile-Expensify/pull/14193

    I was about to post I'm gonna step away for class for ~2 hours

  8. luacmartins commented on Oct 21, 2026

    @luacmartins
    Contributor

    Holding on CPing #104591

  9. kavimuru commented on Oct 21, 2026

    @kavimuru

    Regression is completed in the Browserstack

    PRs failing:
    #100798 failing with #104521 repro in production, checking it off.
    #100942 with #104519 Repro in Production checking it off
    #102427 with #104511
    #103186 failing with #103186
    #103365 failing with #104509 repro in PROD, ok to check it off?
    #103654 failing on web with original issue #103260 #103654 (comment)

    PRs untested:
    #102844 (comment)

  10. luacmartins commented on Oct 21, 2026

    @luacmartins
    Contributor

    @grgia all good to deploy

  11. self-assigned this
    on Oct 21, 2026
  12. grgia commented on Oct 21, 2026

    @grgia
    Contributor

    Status is about pull requests and delayed webhooks, nothing blocking deploy

  13. grgia commented on Oct 21, 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