Repository navigation
Deploy Checklist: New Expensify 2026-10-20 #104495
Copy link
Copy link
Closed
Labels
DailyKSv2KSv2StagingDeployCash🔐 LockCashDeploys 🔐Prevent new code from being deployed to stagingPrevent new code from being deployed to staging
Description
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:
- Localize Mapbox map labels to the user's preferred app locale #99304
- Remove unsafe assertions from badge and theme style defaults #100026
- Remove unsafe type assertions from native receipt validation #100214
- Use named import in canFocusInputOnScreenFocus #100614
- Remove unsafe type assertions from card messages and UI helpers #100798
- Remove two unsafe assertions from SearchRouter helpers #100942
- Make Category GL code and Tag GL code columns inline-editable in Spend #101670
- Move pre-selected option to top in shared SelectionScreen (accounting selectors) #101719
- [Part 30] Remove Onyx.connect from LocalePhoneNumber #102123
- [CP Staging] Revert "Align workspace selector logic" #102134
- [Payment due @mkhutornyi] Add Bank account column to workspace Members page #102427
- [Payment due @huult] Hide Pay and Unapprove while a cancelled payment is processing #102489
- [Payment due @marufsharifi] Add work arrangement to workspace member invites #102642
- [Payment due @sobitneupane] Show deactivated Expensify Cards in the Closed cards section #102769
- [No QA] Update PAYMENT_VIA_EXPENSIFY.md #102785
- Fix/align workspace selector logic v2 #102844
- [No QA] Update Add-Expensify-Card-to-Apple-Pay-or-Google-Wallet.md #102912
- refactor: remove unsafe assertions from SelectionList section flattening #102964
- [No QA] test(ios): Verify NitroSQLite database directory in native CI #102980
- MenuItem decomposition - remove
titleContainerStyle#103040 - [HOLD] [No QA] [Merge 10/7] Docs updates for E/A#101309 Add vendor search operator to search operators article #103104
- [No QA] Trigger artifacts workflow when artifacts workflow files change #103149
- [Resizable columns] Absorb resize width in trailing columns #103186
- [NoQA] Fix import/no-cycle - part 17 #103190
- [NoQA] Fix import/no-cycle - part 18 #103203
- Return to the spend rule form after upgrading from a workspace spend rule page #103365
- Fix uneven spacing between the Date and Report fields on the expense form #103366
- remove the last two report metadata Onyx fallbacks from the ReportUtils #103434
- fix: show an error when importing per diem rates without a per diem unit #103605
- Improvements and fixes in reuse routes feature #103654
- Move the Expensify Card statement PDF modal to the global modal stack #103708
- [Payment due @nyomanjyotisa] [No QA] Bump compression from 1.7.4 to 1.8.2 #103757
- [NoQA] [Insights] Draw Previous period for Spend over time #103786
- [No QA] Docs updates for E/A#103072 Duplicate expense stays on the source report #103851
- fix: Skip the camera error alert when the capture is cancelled by leaving the screen #103892
- Remove unsafe assertions from search, domain, hold, and per diem flows #103895
- Surface verification error in Collect Deposit Account flow #103902
- Remove unsafe assertions from composer, paste, input, and tab navigation contracts #103910
- [No QA] Align accounting help with provider terminology #103912
- Remove unsafe focus-event assertions from keyboard navigation and window dimensions hooks #103921
- Keep unsaved message edit when closing the Concierge side panel #103950
- perf: stop report action avatars re-rendering on every chat message #103976
- [No QA] Docs updates for E/A#103652 Add Join my company workspace onboarding option #103991
- Keep the staged other-workspace card feed checked after linking #103994
- Fix Describe rule bugs #104055
- Fix [Exploratory] Onboarding Task - Tap Organise spend & Somethng Else, Rotate phone 2 Landscpe can't scroll #104069
- Fix stale scheduled call button in header #104073
- [NoQA] [Insights] Draw multi-series bar charts #104085
- Restore: Show up to three report fields per row and edit them inline #104124
- [No QA] Docs updates for E/A#104152 Add Talk to a human option to Concierge Basics #104163
- Defer navigation after draft workspace merges to avoid recipient picker flash #104192
- [No QA] Docs updates for E/A#102438 Let admins merge expenses across a member's reports #104219
- Complete join-workspace onboarding with a saved name instead of reopening the name step #104243
- Add local CSV downloads to Insights charts #104272
- Use small thumbnail size in the Concierge side panel #104288
- Return to member Profile from Display name Not here back button #104290
- [Refactor] Move remaining PolicyUtils member, domain, and travel helpers into members.ts, domains.ts, and travel.ts #104331
- [Payment due @ZhenjaHorbach] [NoQA][Wise][Release 1] UI - Create Intro Screen #104334
- [NoQA] [Insights] fix: Show empty states when no bucket has expenses #104337
- [No QA] Fix Sentry not using data-sentry-label #104340
- Stop the mobile chart tooltip from overlapping the device status bar #104355
- [Payment due @ZhenjaHorbach] [NoQA][Wise][Release 1] Business - UI - Entry Point Wallet #104366
- Let users attach and replace receipts on created odometer expenses #104375
- [No QA] Enable Workers Issues for the NewDot Cloudflare Worker #104398
- [No QA] Add NetSuite SuiteTax setup guidance #104401
- [No QA] Generate Cloudflare-Worker source maps #104428
- Keep the default workspace first in the expense participant picker #104453
- [No QA] Enable Workers traces for the NewDot Cloudflare Worker #104492
- [CP Staging] Show "removed" instead of "set to """ when a text report field is cleared #104551
- feat: Enable Insights and comparisons on desktop web #104591
Mobile-Expensify PRs:
- https://github.com/Expensify/Mobile-Expensify/pull/14157
- https://github.com/Expensify/Mobile-Expensify/pull/14190
- https://github.com/Expensify/Mobile-Expensify/pull/14191
Internal QA:
- [Internal QA] Show Consolidated Travel Billing as on when it's set up on the workspace account #104447 - @blimpich
Deploy Blockers:
- Workspace - "Find Member" input and "Filters" button are moved while resizing members table #104506
- [Due for payment 2026-10-28] [$175] Report field - System message shows "set text to """ after clearing text report field #104507
- Taxes - No action triggered while resizing "Tax Code" column to the left on "Taxes" table #104508
- Members - Bank account row shows "Bank account" instead of bank name #104511
Chronologically ordered merged PRs (oldest first)
- [CP Staging] Revert "Align workspace selector logic" #102134
- MenuItem decomposition - remove
titleContainerStyle#103040 - [NoQA] Fix import/no-cycle - part 18 #103203
- [Payment due @ZhenjaHorbach] [NoQA][Wise][Release 1] UI - Create Intro Screen #104334
- Return to the spend rule form after upgrading from a workspace spend rule page #103365
- Remove two unsafe assertions from SearchRouter helpers #100942
- remove the last two report metadata Onyx fallbacks from the ReportUtils #103434
- [Refactor] Move remaining PolicyUtils member, domain, and travel helpers into members.ts, domains.ts, and travel.ts #104331
- Use named import in canFocusInputOnScreenFocus #100614
- Remove unsafe type assertions from native receipt validation #100214
- [Payment due @nyomanjyotisa] [No QA] Bump compression from 1.7.4 to 1.8.2 #103757
- [No QA] Docs updates for E/A#103652 Add Join my company workspace onboarding option #103991
- [Part 30] Remove Onyx.connect from LocalePhoneNumber #102123
- [No QA] Update PAYMENT_VIA_EXPENSIFY.md #102785
- Mobile-Expensify submodule update to
9.5.14-1— Adhoc Build - Mobile-Expensify submodule update to
977e6a4— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/14190 - [NoQA] [Insights] Draw multi-series bar charts #104085
- Fix stale scheduled call button in header #104073
- fix: show an error when importing per diem rates without a per diem unit #103605
- [No QA] test(ios): Verify NitroSQLite database directory in native CI #102980
- perf: stop report action avatars re-rendering on every chat message #103976
- refactor: remove unsafe assertions from SelectionList section flattening #102964
- [No QA] Docs updates for E/A#104152 Add Talk to a human option to Concierge Basics #104163
- Remove unsafe focus-event assertions from keyboard navigation and window dimensions hooks #103921
- [No QA] Docs updates for E/A#102438 Let admins merge expenses across a member's reports #104219
- Remove unsafe assertions from search, domain, hold, and per diem flows #103895
- Remove unsafe assertions from badge and theme style defaults #100026
- Remove unsafe type assertions from card messages and UI helpers #100798
- [No QA] Docs updates for E/A#103072 Duplicate expense stays on the source report #103851
- [HOLD] [No QA] [Merge 10/7] Docs updates for E/A#101309 Add vendor search operator to search operators article #103104
- [No QA] Add NetSuite SuiteTax setup guidance #104401
- [NoQA] Fix import/no-cycle - part 17 #103190
- Defer navigation after draft workspace merges to avoid recipient picker flash #104192
- [No QA] Enable Workers Issues for the NewDot Cloudflare Worker #104398
- Move pre-selected option to top in shared SelectionScreen (accounting selectors) #101719
- [No QA] Update Add-Expensify-Card-to-Apple-Pay-or-Google-Wallet.md #102912
- [No QA] Align accounting help with provider terminology #103912
- Fix/align workspace selector logic v2 #102844
- Mobile-Expensify submodule update to
bbab4b1— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/14157 - Use small thumbnail size in the Concierge side panel #104288
- Move the Expensify Card statement PDF modal to the global modal stack #103708
- Add local CSV downloads to Insights charts #104272
- Keep the staged other-workspace card feed checked after linking #103994
- Fix Describe rule bugs #104055
- [Resizable columns] Absorb resize width in trailing columns #103186
- Complete join-workspace onboarding with a saved name instead of reopening the name step #104243
- [No QA] Generate Cloudflare-Worker source maps #104428
- Keep unsaved message edit when closing the Concierge side panel #103950
- Surface verification error in Collect Deposit Account flow #103902
- [No QA] Fix Sentry not using data-sentry-label #104340
- Improvements and fixes in reuse routes feature #103654
- [No QA] Trigger artifacts workflow when artifacts workflow files change #103149
- [Payment due @ZhenjaHorbach] [NoQA][Wise][Release 1] Business - UI - Entry Point Wallet #104366
- fix: Skip the camera error alert when the capture is cancelled by leaving the screen #103892
- [Payment due @mkhutornyi] Add Bank account column to workspace Members page #102427
- Mobile-Expensify submodule update to
9.5.14-2— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/14191 - Mobile-Expensify submodule update to
9.5.14-3— Adhoc Build - Fix [Exploratory] Onboarding Task - Tap Organise spend & Somethng Else, Rotate phone 2 Landscpe can't scroll #104069
- [Payment due @sobitneupane] Show deactivated Expensify Cards in the Closed cards section #102769
- [Payment due @marufsharifi] Add work arrangement to workspace member invites #102642
- Localize Mapbox map labels to the user's preferred app locale #99304
- [NoQA] [Insights] fix: Show empty states when no bucket has expenses #104337
- Stop the mobile chart tooltip from overlapping the device status bar #104355
- Keep the default workspace first in the expense participant picker #104453
- [Payment due @huult] Hide Pay and Unapprove while a cancelled payment is processing #102489
- Return to member Profile from Display name Not here back button #104290
- Let users attach and replace receipts on created odometer expenses #104375
- Remove unsafe assertions from composer, paste, input, and tab navigation contracts #103910
- [Internal QA] Show Consolidated Travel Billing as on when it's set up on the workspace account #104447
- [NoQA] [Insights] Draw Previous period for Spend over time #103786
- Restore: Show up to three report fields per row and edit them inline #104124
- [No QA] Enable Workers traces for the NewDot Cloudflare Worker #104492
- Fix uneven spacing between the Date and Report fields on the expense form #103366
- Make Category GL code and Tag GL code columns inline-editable in Spend #101670
- Mobile-Expensify submodule update to
9.5.15-0— Adhoc Build - Mobile-Expensify submodule update to
9.5.15-1— Adhoc Build - [CP Staging] Show "removed" instead of "set to """ when a text report field is cleared #104551
- Mobile-Expensify submodule update to
9.5.15-2— 1cb4328 - feat: Enable Insights and comparisons on desktop web #104591
- 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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
DailyKSv2KSv2StagingDeployCash🔐 LockCashDeploys 🔐Prevent new code from being deployed to stagingPrevent new code from being deployed to staging
Activity
m-natarajan commentedon Oct 20, 2026
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
kavimuru commentedon Oct 21, 2026
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
grgia commentedon Oct 21, 2026
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.
grgia commentedon Oct 21, 2026
Will deploy when https://github.com/Expensify/Mobile-Expensify/pull/14193 is merged
grgia commentedon Oct 21, 2026
Sentry check done for both boxes, nothing blocks.
The Android tab bar crash (APP-N5H) predates this release and is tracked in #104505.
luacmartins commentedon Oct 21, 2026
@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
grgia commentedon Oct 21, 2026
@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
luacmartins commentedon Oct 21, 2026
Holding on CPing #104591
kavimuru commentedon Oct 21, 2026
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)
luacmartins commentedon Oct 21, 2026
@grgia all good to deploy
grgia commentedon Oct 21, 2026
Status is about pull requests and delayed webhooks, nothing blocking deploy
grgia commentedon Oct 21, 2026