Repository navigation
Deploy Checklist: New Expensify 2026-10-21 #104620
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.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:
- fix: Credit Card Export Account Lists Appear on Vendor Bills #100170
- [No QA] Docs updates for E/A#101315 import IES custom dimensions as tags #101783
- Enforce the cash-expense reimbursable rule when defaultReimbursable is absent #101903
- Add NumericInput BigNumberPad and consolidate full-screen layout #102140
- [Payment due @truph01] Add natural language filter entry point to Spend page (re-PR with deploy blocker fixes) #102237
- Part 5- thread reportOwnerLogin through canDeleteReportAction and the merge predicates #102260
- fix Copilot - Not here page when click Create expense in delegate mode #102346
- Offer the workspace members bulk actions in the floating bar #102380
- [No QA][Performance] Document the defer-after-paint pattern and add the PERF-20 review rule #102425
- [Payment due @ZhenjaHorbach] [No QA] Bump mathjs to 15.2.0 to address security vulnerabilities #103003
- ConfirmationPage composition migration #103070
- [Merge ATS] Add Ashby specific approver field #103134
- Allow any workspace admin to pay reports #103239
- [No QA] Add saml sentry breadcrumbs #103347
- Let the reaction decide the Concierge feedback prompt on a thread's parent message #103424
- Migrate standalone pan gestures to Gesture Handler 3 hooks #103455
- Migrate chart gestures to Gesture Handler 3 hooks #103457
- Key native attachment thumbnails on the attachment ID so they stay on screen after send #103527
- Fix: Open full screen category popover on phones in landscape mode #103552
- Migrate batch 1 one-button alerts from DecisionModal to useDecisionModal #103553
- Remove getReportTransactions callers' reliance on the deprecated default in submitReport (Part 9) #103683
- Add Zoho Books connector entry and OAuth setup flow #103689
- Reapply "Add a More menu option to switch single-expense reports between expense view and table view" #103703
- Guard against null workspace member entries in employeeList #103793
- [Payment due @Krishna2323] Describe a rule from New rule and fall back to an agent rule #103810
- [Payment due @linhvovan29546] Create company agents #103817
- Add NetSuite OAuth migration nudges #103927
- Handle agent rule and impossible answers in the AI rules builder #103952
- Add Exact Online waitlist #103997
- Reapply SetRule and DeleteRule commands #104033
- Fix Spend footer selector follow-ups: Reset currency, disabled chevron, Save search display, saved search Total #104058
- [No QA] Fix flaky SessionTest SAML sign-out tests by removing unneeded virtual Jest mocks #104064
- [Payment due @ahmedGaber93] Draw every period that hasn't ended with a dashed line #104075
- [Payment due @situchan] Add Held search filter for expenses #104076
- Freeze Home tab in the background on web #104078
- Show Per Diem Download CSV option before rates are added #104252
- [Payment due @ZhenjaHorbach] [No QA][Wise] Onyx Types For Global Reimbursements #104260
- Hide the date suffix in dated distance rate names #104264
- Show letter avatars for invited members on the invite Confirm details page #104265
- [No-QA] feat: Report time to full display when NewDot's splash hides #104292
- [Payment due @truph01] [NoQA] [Insights] Persist Insights Compare mode after signing out #104347
- [Liquid Glass Follow Up] Fix native tab bar issues when the
Insightsbeta is on #104368 - Dismiss the chart tooltip on mobile devices when the window is resized (e.g. when the device is rotated) #104369
- [NoQA][Business Central][R3] Change phrasing for sync reimbursed reports feature #104429
- [No QA] Show reclaimable tax details in the added distance rate change log #104431
- Add bank account home screen task navigates away from the homescreen #104434
- Keep the PDF focused when an arrow key can't move the attachment carousel #104449
- Log when a sign-out storage wipe deletes a new session #104456
- Add labels to Home Insights widget charts #104466
- [Payment due @nkdengineer] Use the Vendor label for Xero instead of Supplier #104468
- [Payment due @ZhenjaHorbach] [NoQA][Wise][Release 1] Business - UI - Entry Point Workspace #104485
- fix: Expose empty receipt upload as an accessible button #104528
- [No QA] Configure prefer-nullish-coalescing with ignorePrimitives #104537
- [Payment due @ZhenjaHorbach] [No QA][Wise][Payments][ONYX TYPE] Keep Wise KYC needs on the bank account #104538
- Fix false missingAttendees violation in Search rows #104540
- Fix guest leaving and joining workspace room #104542
- Bump Node to 26.12.1 to block the compromised eMudhra intermediates #104599
- [NO QA] Fix failing test on main #104601
- [CP Staging] Revert "Reapply "Add a More menu option to switch single-expense reports between expense view and table view"" #104661
- [No QA] Deploy production web builds to the production Cloudflare Worker #104759
- [CP Staging] Keep NetSuite OAuth upgrade option visible for TBA connections #104777
- [Payment due @situchan] [cp staging] Update the triggers for SetRule #104779
Mobile-Expensify PRs:
- https://github.com/Expensify/Mobile-Expensify/pull/14186
- https://github.com/Expensify/Mobile-Expensify/pull/14188
- https://github.com/Expensify/Mobile-Expensify/pull/14193
- https://github.com/Expensify/Mobile-Expensify/pull/14195
Deploy Blockers:
- Describe search - Apply button is not disabled in offline mode and no error message #104631
- Describe search - Keyword hasReceipt:yes is applied when searching for expenses with receipt #104642
- Members - Change role RHP disappears after refreshing the page #104644
- [Due for payment 2026-10-30] Expense - Selection mode is cleared after changing to table view and resizing #104645
- Agents - Company agent is not removed from table after deleting workspace until reset app #104647
- [Due for payment 2026-11-02] Android & iOS - Rules - App does not scroll down to Describe field when field is focused #104648
- Describe search - billable:no filter is applied when searching for non-reimbursable expenses #104658
- Accounting - Exact Online is shown when all accountings are collapsed #104660
- iOS Safari-Exact Online- "You’re on the waitlist" overlaps with "Coming soon" in Polski&Greek #104674
- Web-Workspace- Press ESC select all checkbox is highlighted #104680
- [Due for payment 2026-10-30] Android - Expense can´t be held while in table view. #104681
- "Describe your search" box hidden behind keyboard when put cursor on it in landscape #104683
- Integration- Unable to upgrade Netsuite connection #104687
- Insight-CSV download is allowed in offline mode #104797
Chronologically ordered merged PRs (oldest first)
- [Payment due @ZhenjaHorbach] [No QA][Wise] Onyx Types For Global Reimbursements #104260
- [Payment due @linhvovan29546] Create company agents #103817
- Freeze Home tab in the background on web #104078
- Add Exact Online waitlist #103997
- Log when a sign-out storage wipe deletes a new session #104456
- [No QA][Performance] Document the defer-after-paint pattern and add the PERF-20 review rule #102425
- Guard against null workspace member entries in employeeList #103793
- Dismiss the chart tooltip on mobile devices when the window is resized (e.g. when the device is rotated) #104369
- [NoQA][Business Central][R3] Change phrasing for sync reimbursed reports feature #104429
- [No QA] Show reclaimable tax details in the added distance rate change log #104431
- [No QA] Fix flaky SessionTest SAML sign-out tests by removing unneeded virtual Jest mocks #104064
- Reapply SetRule and DeleteRule commands #104033
- Add NetSuite OAuth migration nudges #103927
- fix Copilot - Not here page when click Create expense in delegate mode #102346
- Remove getReportTransactions callers' reliance on the deprecated default in submitReport (Part 9) #103683
- Key native attachment thumbnails on the attachment ID so they stay on screen after send #103527
- [Payment due @Krishna2323] Describe a rule from New rule and fall back to an agent rule #103810
- Migrate batch 1 one-button alerts from DecisionModal to useDecisionModal #103553
- Add NumericInput BigNumberPad and consolidate full-screen layout #102140
- Migrate standalone pan gestures to Gesture Handler 3 hooks #103455
- Keep the PDF focused when an arrow key can't move the attachment carousel #104449
- [No QA] Add saml sentry breadcrumbs #103347
- [Liquid Glass Follow Up] Fix native tab bar issues when the
Insightsbeta is on #104368 - [Payment due @ZhenjaHorbach] [NoQA][Wise][Release 1] Business - UI - Entry Point Workspace #104485
- [Payment due @situchan] Add Held search filter for expenses #104076
- Show Per Diem Download CSV option before rates are added #104252
- [Payment due @nkdengineer] Use the Vendor label for Xero instead of Supplier #104468
- Mobile-Expensify submodule update to
9.5.15-2— Adhoc Build - [Payment due @ZhenjaHorbach] [No QA][Wise][Payments][ONYX TYPE] Keep Wise KYC needs on the bank account #104538
- Add bank account home screen task navigates away from the homescreen #104434
- Migrate chart gestures to Gesture Handler 3 hooks #103457
- [Payment due @ahmedGaber93] Draw every period that hasn't ended with a dashed line #104075
- Hide the date suffix in dated distance rate names #104264
- [Payment due @truph01] [NoQA] [Insights] Persist Insights Compare mode after signing out #104347
- Reapply "Add a More menu option to switch single-expense reports between expense view and table view" #103703
- Enforce the cash-expense reimbursable rule when defaultReimbursable is absent #101903
- Handle agent rule and impossible answers in the AI rules builder #103952
- Fix false missingAttendees violation in Search rows #104540
- [Merge ATS] Add Ashby specific approver field #103134
- Let the reaction decide the Concierge feedback prompt on a thread's parent message #103424
- [No QA] Docs updates for E/A#101315 import IES custom dimensions as tags #101783
- ConfirmationPage composition migration #103070
- fix: Credit Card Export Account Lists Appear on Vendor Bills #100170
- Fix guest leaving and joining workspace room #104542
- Fix Spend footer selector follow-ups: Reset currency, disabled chevron, Save search display, saved search Total #104058
- Allow any workspace admin to pay reports #103239
- Offer the workspace members bulk actions in the floating bar #102380
- fix: Expose empty receipt upload as an accessible button #104528
- Show letter avatars for invited members on the invite Confirm details page #104265
- Mobile-Expensify submodule update to
9.5.15-3— Adhoc Build - Add Zoho Books connector entry and OAuth setup flow #103689
- [Payment due @truph01] Add natural language filter entry point to Spend page (re-PR with deploy blocker fixes) #102237
- [No QA] Configure prefer-nullish-coalescing with ignorePrimitives #104537
- Part 5- thread reportOwnerLogin through canDeleteReportAction and the merge predicates #102260
- [Payment due @ZhenjaHorbach] [No QA] Bump mathjs to 15.2.0 to address security vulnerabilities #103003
- Mobile-Expensify submodule update to
c880190— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/14195 - Mobile-Expensify submodule update to
21d5357— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/14186 - Fix: Open full screen category popover on phones in landscape mode #103552
- Mobile-Expensify submodule update to
2430692— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/14193 - [NO QA] Fix failing test on main #104601
- Add labels to Home Insights widget charts #104466
- [No-QA] feat: Report time to full display when NewDot's splash hides #104292
- Bump Node to 26.12.1 to block the compromised eMudhra intermediates #104599
- Mobile-Expensify submodule update to
79eae6d— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/14188 - Mobile-Expensify submodule update to
9.5.16-0— Adhoc Build - Mobile-Expensify submodule update to
9.5.16-1— 358d634 - [CP Staging] Revert "Reapply "Add a More menu option to switch single-expense reports between expense view and table view"" #104661
- [Payment due @situchan] [cp staging] Update the triggers for SetRule #104779
- Mobile-Expensify submodule update to
9.5.16-2— 5b081e6 - [No QA] Deploy production web builds to the production Cloudflare Worker #104759
- Mobile-Expensify submodule update to
9.5.16-3— 332f92b - Mobile-Expensify submodule update to
9.5.18-0— 94d24c5 - [CP Staging] Keep NetSuite OAuth upgrade option visible for TBA connections #104777
- 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
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 22, 2026
Regression progress is at 51%
PRs Failing:
#102380
#103810
#103952
#104542
PRs Untested:
Several still pending validation: Web 16 | Android 26 | iOS 28
m-natarajan commentedon Oct 22, 2026
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]
m-natarajan commentedon Oct 22, 2026
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]
grgia commentedon Oct 22, 2026
demoting #104647 behind beta
grgia commentedon Oct 22, 2026
@m-natarajan what failed for #104542
m-natarajan commentedon Oct 22, 2026
@grgia Its passed. Updated in the second (Not listed in failed ones)
m-natarajan commentedon Oct 22, 2026
#103457 failed with #104797 (Deploy blocker) and #104771 (Repro in Prod)
#103239 - Validation passed in iOS
m-natarajan commentedon Oct 22, 2026
#104777 validated in Web and iOS, APK build N/A for Android
grgia commentedon Oct 23, 2026
Sentry check done for both boxes, nothing blocks.
grgia commentedon Oct 23, 2026
os-botify commentedon Oct 23, 2026
Could not verify the staging builds because a GitHub API call failed.
Reopening!
grgia commentedon Oct 23, 2026