Repository navigation
Deploy Checklist: New Expensify 2026-05-11 #90263
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.3.72-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:
- [Payment due @situchan] Fix stuck Concierge thinking indicator when client misses Onyx clear update #85620
- Preserve deep-linked report route during onboarding guard redirect #86390
- [No QA] docs: add high contrast mode to Account Settings help article #87000
- Use dekstop layout for header buttons in landscape mode #87256
- fix: Broken report page and report review after removing split #88075
- Make report action links for the current report push onto the navigation history #88360
- [No QA] [NO QA] Docs updates for E/A#87740 Update attendee column docs for optional sorting #88408
- Remove Onyx.connect() usage for ONYXKEYS.COLLECTION.POLICY_TAGS in replaceReceipt function from src/libs/actions/IOU/index.ts #88463
- Remove Onyx.connect() usage for ONYXKEYS.COLLECTION.POLICY_TAGS in createSplitsAndOnyxData function from src/libs/actions/IOU/index.ts #88515
- [Payment due @abdulrahuman5196] Resurface Top Spenders insight for track-intent workspace users #88752
- [No QA] Docs updates for E/A#86938 Add undelete and deleted expense filter docs #88763
- Update onboarding purpose modal for Release 4.0 #88796
- fix: recover stale DM access when opening profile message #88799
- fix: Remove Onyx.connect() for the key: ONYXKEYS.COLLECTION.POLICY (part 8) #88885
- Add receipt requirement columns to category spreadsheet import #88962
- perf: lazy-load rare-trigger global modals to shrink ManualAppStartup #89180
- BT - Migrate
NETSUITE_EXPORT#89229 - chore: remove beta gate for bulk duplicate reports #89261
- Sync participants when selecting report in handleRegularReportSelection #89333
- fix: Split action does not trigger paywall in expired workspace #89401
- [Payment due @abzokhattab] Add workspace rules PDF document upload, view, and management UI #89414
- Add a service worker on NewDot web for offline-refresh + faster repeat-load TTI #89419
- [Internal QA] Refactor: simplified getReportActionMessageFragments to remove dependency from ONYXKEYS.COLLECTION.REPORT Onyx data #89452
- Refactor: isolate getCombinedReportActions from ONYXKEYS.COLLECTION.REPORT Onyx data #89453
- Refactor: isolate clearCustomStatus from ONYXKEYS.SESSION Onyx data #89461
- Refactor: isolate requestUnlockAccount from ONYXKEYS.SESSION Onyx data #89465
- refactor: PureReportActionItem, move composer focus and delete-draft logic #89485
- [No QA] [NO QA] Docs updates for E/A#87491 Add Expensify Card bulk export CSV docs #89491
- feat: expose Accounting suggested searches to Auditors #89513
- [Payment due @eh2077] [NoQA] Fix Split Update payload #89530
- fix duplicate modal #89581
- refactor: PureReportActionItem, lazy MiniReportActionContextMenu #89589
- [No QA]: refactor: extract SearchUpdate.ts from IOU/index.ts #89590
- [Payment due @ShridharGoel] Decompose distance and report step into hooks #89599
- fix: Empty state illustration is not scrollable on landscape mode when applying role filter #89611
- Exclude task reports from hidden report filter in search #89626
- Docs updates for E/A#87956 Add cash back toggle to card settings docs #89641
- Docs updates for E/A#86177 Add inline category creation from expense flow #89642
- Fix incorrect month display in Expense line chart for zh/ja locales #89651
- [No QA] Create How-Concierge-Analyzes-Spend.md #89681
- [No QA] refactor: extract OptionRow.DescriptiveText leaf #89753
- [NoQA] Refactor: isolate subscribeToUserEvents from ONYXKEYS.SESSION Onyx data #89758
- [Payment due @dmkt9] Add prompt for translating spanish #89761
- Re-land smooth post-submit Spend tab navigation with Android skeleton fix #89791
- fix: Card in system message is not hyperlinked when accessed as a copilot #89817
- [NoQA] Fix links to Sentry release in checklist #89818
- Docs updates for E/A#88607 Add track and budget onboarding to Home docs #89826
- Docs updates for E/A#89618 Add central invoicing withdrawal type to search docs #89829
- [No QA] Update Add-Approvals.md #89845
- Adjust sentry tab switching spans to tab navigator #89871
- Replace SKIP_SLICE_TAB_THRESHOLD magic number in useCustomRootStackNavigatorState/index.ios.ts with proper TAB_NAVIGATOR state rehydration #89907
- [No QA] refactor: extract OptionRow.Title leaf #89912
- [No QA] refactor: extract OptionRow.DraftIndicator leaf #89917
- Fix Personal Card - Background page does not change when navigating to wallet page #89921
- fix: enhance AddAgentPage for landscape mode support #89930
- [No QA] Add Save for later odometer details to Distance Expenses help docs #89960
- [Payment due @linhvovan29546] Clean non-breaking spaces from category name on rename #89961
- [NoQA] Add Gusto sync controls to Members page #89973
- Generalize seed-full-reconnect helper across Onyx clear flows #89980
- [NoQA] Initial setup for Workflows approvals when Gusto is connected #89996
- perf: avoid focus-driven re-render in MoneyRequestReportPreviewContent #90001
- Stop card filter items from jumping on selection #90036
- Fix lint failure: use useConfirmModal hook for rules document errors #90050
- [No QA] Update ConfirmModal allowance in WorkspaceOverviewPage #90061
- feat: Open reports at first unread action V2 #90072
- [No QA] chore: bump expo-modules-core to version 55.0.16 #90084
- [No QA] chore: bump react-native-reanimated to version 4.2.3 #90086
- [NoQA] Restore seatbelt entries after revert of #51366 #90090
- fix: User is not redirected to the concierge chat after clearing the create chat error #90101
- Pass backTo to category upgrade path in expense edit flow #90116
- Add Concierge Anywhere help button to domain editing screens #90118
- Stop workspace filter from scrolling and reordering on selection #90121
- [No QA]: refactor: move init/start functions from IOU/index.ts to MoneyRequest.ts #90157
- [No QA] refactor: drop redundant report and reportID props from OptionRowLHN tree #90158
- [NoQA] Fix lint on main #90161
- Fix navigation arrows disappearing during report browsing - v2 #90175
- [NO QA] Fix isDeletedAction crash when originalMessage is a string #90201
- Hide Add category button in expense picker when accounting connection exists #90209
- [No QA] Fix ESLint and typecheck failures on main #90235
- [No QA] Fix seatbelt for deprecated useSubStep calls #90246
- [CP Staging] Fix: Spend infinite skeleton row #90320
- [CP Staging] fix: Invoice report loading infinitely #90323
- [CP Staging] Fix iOS - Chat - Claim offer banner is cut off after rotating device to portrait #90326
- [CP Staging] Revert #88752 #90376
- [CP Staging] Revert "Preserve deep-linked report route during onboarding guard redirect" #90387
Mobile-Expensify PRs:
- https://github.com/Expensify/Mobile-Expensify/pull/13933
- https://github.com/Expensify/Mobile-Expensify/pull/13934
Internal QA:
Deploy Blockers:
- [Due for payment 2026-05-29] Expense - Partial skeleton loader briefly appears in the report after creating expense #90270
- [Due for payment 2026-05-26] iOS - Expense - Pay button splits in half in landscape mode #90280
- [Due for payment 2026-06-09] iOS - Expense - Selection button is shown below the header in expense report in landscape mode #90282
- [Due for payment 2026-05-20] [Due for payment 2026-05-20] iOS - Chat - Claim offer banner is cut off after rotating device to portrait #90283
- Onboarding - Old UI briefly appears after page reload #90284
- [Due for payment 2026-06-10] Expense - Expense policy document is broken on the duplicated workspace #90285
- [Due for payment 2026-05-20] [Due for payment 2026-05-20] Spend - Third preview with infinite loading appears after creating second expense on "Spend" #90286
- [Due for payment 2026-05-20] [Due for payment 2026-05-20] Report - Expense details load infinitelly after adding expense to empty report offline. #90287
- Workspace- "Configure via Gusto" link navigated to not here page #90291
- [Due for payment 2026-05-20] [Due for payment 2026-05-20] Invoice - Invoice report loads infinitely when sent offline #90293
- [Due for payment 2026-09-17] [$250] Spend - IOU is displayed on "Top Spenders" section. #90294
- Deeplink - Finish onboarding flow, app not respond when tap back button of Concierge chat #90303
- [Due for payment 2026-07-21] [$125] iOS - Workspace - Circle icon is shown on top left of Members, Categories, Taxes, Distance rates #90374
Chronologically ordered merged PRs (oldest first)
- Use dekstop layout for header buttons in landscape mode #87256
- [Payment due @abzokhattab] Add workspace rules PDF document upload, view, and management UI #89414
- fix: Broken report page and report review after removing split #88075
- [No QA]: refactor: extract SearchUpdate.ts from IOU/index.ts #89590
- fix duplicate modal #89581
- perf: lazy-load rare-trigger global modals to shrink ManualAppStartup #89180
- Refactor: isolate requestUnlockAccount from ONYXKEYS.SESSION Onyx data #89465
- [NoQA] Refactor: isolate subscribeToUserEvents from ONYXKEYS.SESSION Onyx data #89758
- fix: Remove Onyx.connect() for the key: ONYXKEYS.COLLECTION.POLICY (part 8) #88885
- Refactor: isolate clearCustomStatus from ONYXKEYS.SESSION Onyx data #89461
- Sync participants when selecting report in handleRegularReportSelection #89333
- [NoQA] Fix links to Sentry release in checklist #89818
- [No QA] Update ConfirmModal allowance in WorkspaceOverviewPage #90061
- Fix lint failure: use useConfirmModal hook for rules document errors #90050
- [Payment due @situchan] Fix stuck Concierge thinking indicator when client misses Onyx clear update #85620
- Mobile-Expensify submodule update to
9.3.69-1— Adhoc Build - Docs updates for E/A#87956 Add cash back toggle to card settings docs #89641
- Fix incorrect month display in Expense line chart for zh/ja locales #89651
- Make report action links for the current report push onto the navigation history #88360
- Add a service worker on NewDot web for offline-refresh + faster repeat-load TTI #89419
- fix: Empty state illustration is not scrollable on landscape mode when applying role filter #89611
- Mobile-Expensify submodule update to
9.3.69-2— Adhoc Build - Mobile-Expensify submodule update to
9.3.69-3— Adhoc Build - [No QA] docs: add high contrast mode to Account Settings help article #87000
- [NoQA] Restore seatbelt entries after revert of #51366 #90090
- [NoQA] Add Gusto sync controls to Members page #89973
- Docs updates for E/A#86177 Add inline category creation from expense flow #89642
- [No QA] [NO QA] Docs updates for E/A#87740 Update attendee column docs for optional sorting #88408
- Preserve deep-linked report route during onboarding guard redirect #86390
- [No QA] [NO QA] Docs updates for E/A#87491 Add Expensify Card bulk export CSV docs #89491
- Re-land smooth post-submit Spend tab navigation with Android skeleton fix #89791
- [No QA] refactor: extract OptionRow.DraftIndicator leaf #89917
- BT - Migrate
NETSUITE_EXPORT#89229 - Replace SKIP_SLICE_TAB_THRESHOLD magic number in useCustomRootStackNavigatorState/index.ios.ts with proper TAB_NAVIGATOR state rehydration #89907
- Mobile-Expensify submodule update to
9.3.69-4— Adhoc Build - refactor: PureReportActionItem, move composer focus and delete-draft logic #89485
- Exclude task reports from hidden report filter in search #89626
- Adjust sentry tab switching spans to tab navigator #89871
- fix: Split action does not trigger paywall in expired workspace #89401
- [NoQA] Fix lint on main #90161
- Generalize seed-full-reconnect helper across Onyx clear flows #89980
- fix: recover stale DM access when opening profile message #88799
- [No QA] refactor: drop redundant report and reportID props from OptionRowLHN tree #90158
- Mobile-Expensify submodule update to
9.3.69-5— Adhoc Build - feat: expose Accounting suggested searches to Auditors #89513
- Mobile-Expensify submodule update to
9.3.69-6— Adhoc Build - [No QA] Docs updates for E/A#86938 Add undelete and deleted expense filter docs #88763
- Mobile-Expensify submodule update to
9.3.69-7— Adhoc Build - Mobile-Expensify submodule update to
9.3.69-8— Adhoc Build - perf: avoid focus-driven re-render in MoneyRequestReportPreviewContent #90001
- Mobile-Expensify submodule update to
9.3.69-9— Adhoc Build - [No QA] chore: bump react-native-reanimated to version 4.2.3 #90086
- Mobile-Expensify submodule update to
f1c60e0— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/13934 - Remove Onyx.connect() usage for ONYXKEYS.COLLECTION.POLICY_TAGS in createSplitsAndOnyxData function from src/libs/actions/IOU/index.ts #88515
- Mobile-Expensify submodule update to
9.3.69-10— Adhoc Build - Remove Onyx.connect() usage for ONYXKEYS.COLLECTION.POLICY_TAGS in replaceReceipt function from src/libs/actions/IOU/index.ts #88463
- Pass backTo to category upgrade path in expense edit flow #90116
- Mobile-Expensify submodule update to
9.3.69-11— Adhoc Build - fix: enhance AddAgentPage for landscape mode support #89930
- chore: remove beta gate for bulk duplicate reports #89261
- Mobile-Expensify submodule update to
9.3.69-12— Adhoc Build - Hide Add category button in expense picker when accounting connection exists #90209
- [Internal QA] Refactor: simplified getReportActionMessageFragments to remove dependency from ONYXKEYS.COLLECTION.REPORT Onyx data #89452
- Add receipt requirement columns to category spreadsheet import #88962
- Update onboarding purpose modal for Release 4.0 #88796
- Mobile-Expensify submodule update to
9.3.69-13— Adhoc Build - [No QA] refactor: extract OptionRow.Title leaf #89912
- [No QA] refactor: extract OptionRow.DescriptiveText leaf #89753
- Add Concierge Anywhere help button to domain editing screens #90118
- Stop card filter items from jumping on selection #90036
- [Payment due @eh2077] [NoQA] Fix Split Update payload #89530
- Stop workspace filter from scrolling and reordering on selection #90121
- Mobile-Expensify submodule update to
9.3.69-14— Adhoc Build - [NO QA] Fix isDeletedAction crash when originalMessage is a string #90201
- [Payment due @abdulrahuman5196] Resurface Top Spenders insight for track-intent workspace users #88752
- Mobile-Expensify submodule update to
9.3.69-15— Adhoc Build - Refactor: isolate getCombinedReportActions from ONYXKEYS.COLLECTION.REPORT Onyx data #89453
- [No QA] Add Save for later odometer details to Distance Expenses help docs #89960
- fix: Card in system message is not hyperlinked when accessed as a copilot #89817
- fix: User is not redirected to the concierge chat after clearing the create chat error #90101
- [NoQA] Initial setup for Workflows approvals when Gusto is connected #89996
- refactor: PureReportActionItem, lazy MiniReportActionContextMenu #89589
- Fix navigation arrows disappearing during report browsing - v2 #90175
- [No QA] Fix seatbelt for deprecated useSubStep calls #90246
- [No QA]: refactor: move init/start functions from IOU/index.ts to MoneyRequest.ts #90157
- [No QA] Fix ESLint and typecheck failures on main #90235
- [Payment due @dmkt9] Add prompt for translating spanish #89761
- Mobile-Expensify submodule update to
9.3.69-16— Adhoc Build - [No QA] Update Add-Approvals.md #89845
- Docs updates for E/A#89618 Add central invoicing withdrawal type to search docs #89829
- Docs updates for E/A#88607 Add track and budget onboarding to Home docs #89826
- feat: Open reports at first unread action V2 #90072
- [No QA] Create How-Concierge-Analyzes-Spend.md #89681
- Fix Personal Card - Background page does not change when navigating to wallet page #89921
- [No QA] chore: bump expo-modules-core to version 55.0.16 #90084
- Mobile-Expensify submodule update to
9.3.69-17— Adhoc Build - [Payment due @ShridharGoel] Decompose distance and report step into hooks #89599
- Mobile-Expensify submodule update to
9.3.69-18— Adhoc Build - [Payment due @linhvovan29546] Clean non-breaking spaces from category name on rename #89961
- Mobile-Expensify submodule update to
9.3.70-0— Adhoc Build - Mobile-Expensify submodule update to
9.3.70-1— 2c3bb3c
↳ https://github.com/Expensify/Mobile-Expensify/pull/13933 - Mobile-Expensify submodule update to
include cherry-picked PR #13933— c367389 - [CP Staging] fix: Invoice report loading infinitely #90323
- Mobile-Expensify submodule update to
9.3.70-2— 0ffa8f6 - [CP Staging] Fix: Spend infinite skeleton row #90320
- Mobile-Expensify submodule update to
9.3.70-3— 8966f12 - [CP Staging] Revert #88752 #90376
- Mobile-Expensify submodule update to
9.3.70-4— cd49c10 - [CP Staging] Revert "Preserve deep-linked report route during onboarding guard redirect" #90387
- Mobile-Expensify submodule update to
9.3.70-5— adcc007 - [CP prod] Reverts client side filtering #90377
- Mobile-Expensify submodule update to
9.3.70-6— c9af6f3 - Mobile-Expensify submodule update to
9.3.72-0— 269b5ac - Mobile-Expensify submodule update to
9.3.72-1— 35f87af - [CP Staging] Fix iOS - Chat - Claim offer banner is cut off after rotating device to portrait #90326
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
lakchote commentedon May 12, 2026
Demoted #90285 (behind beta)
IuliiaHerets commentedon May 12, 2026
Regression is almost completed in BS
PRs Failing:
#86390 faced on Native apps with #89560
#88075 failed on iOS with #90309
#88463 faced on Web and Android with #90316
#88752 faced with #90294
#89401 faced on Web with #89718
#89599 failed with #89709, also faced with #90313
#89791 failed with #90286 and #90287
#90116 failed with #90318
PRs Untested:
#87256 pending validation on iOS
#89180 asked to check internally
#89229 pending validation on all
#89452 internal PR
#89485 pending validation on iOS
#89513 pending validation on Native apps
#89589 pending validation on iOS
#89641 no QA steps, asked
#89642 no QA steps, asked
#89871 no QA steps, asked
#89907 pending validation on iOS
#89961 pending validation on Web
#89980 pending validation on iOS
#90036 pending validation on all
#90072 pending validation on iOS
#90118 pending validation on all
kavimuru commentedon May 12, 2026
Regression is completed in BS
Critical test cases that are failing:
Critical Viral Path with #48727
Expensify Card with https://github.com/Expensify/Expensify/issues/532771
Travel with #82362
#90328
PRs Failing:
#86390 faced on Native apps with #89560
#88075 failed on iOS with #90309
#88463 faced on Web and Android with #90316
#88752 faced with #90294
#89401 faced on Web with #89718
#89599 failed with #89709, also faced with #90313
#89791 failed with #90286 and #90287
#90116 failed with #90318
PRs Untested:
#89229 pending validation on iOS
#89513 pending validation on iOS
#89907 pending validation on iOS
#89980 pending validation on iOS
#89641 no QA steps, #89641 (comment)
#89642 no QA steps, #89642 (comment)
#89871 no QA steps,
#89761 (comment)
#89826 (comment)
#89829 (comment)
#89180 #89180 (comment) to check internally
#89452 internal PR
Beamanator commentedon May 12, 2026
#90286 closed by #90320
Beamanator commentedon May 12, 2026
#90293 and #90287 fixed by #90323
kavimuru commentedon May 12, 2026
Regression is completed in BS
Critical test cases that are failing:
Critical Viral Path with #48727
Expensify Card with https://github.com/Expensify/Expensify/issues/532771
Travel with #82362
#90328
PRs Failing:
#86390 faced on Native apps with #89560
#88075 failed on iOS with #90309
#88463 faced on Web and Android with #90316
#88752 faced with #90294
#89401 faced on Web with #89718
#89599 failed with #89709, also faced with #90313
#89791 failed with #90286 and #90287
#90116 failed with #90318
PRs Untested:
#89641 no QA steps, #89641 (comment)
#89642 no QA steps, #89642 (comment)
#89871 - #89871 (comment)
#89761 (comment)
#89826 (comment)
#89829 (comment)
#89452 internal PR
Beamanator commentedon May 12, 2026
Demoting #90284, checking off #88796 too
Beamanator commentedon May 13, 2026
#90294 fixed by #90376
Beamanator commentedon May 13, 2026
#90377 worked well in staging
https://expensify.slack.com/archives/C07J32337/p1778628486097809?thread_ts=1778625458.746699&cid=C07J32337
Beamanator commentedon May 13, 2026
#90303 fixed by #90387
izarutskaya commentedon May 13, 2026
#90326 checking it of the list based on comment
lakchote commentedon May 13, 2026