Repository navigation
Deploy Checklist: New Expensify 2026-09-28 #102451
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.4.95-4
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:
- Extract syncVersions workflow shell into a script #97598
- Fix agent avatar flicker on create by preserving optimistic avatar #97870
- Remove Onyx.connect() for the key: ONYXKEYS.COLLECTION.REPORT in src/libs/OptionsListUtils.ts (Part 2) #97934
- Refactor/66418 remove deprecated reports transactions in has non reimbursable transactions p2 #99425
- [No QA] Add CI guard for the Re.Pack babel allowlist #99584
- Remove getReportTransactions callers' reliance on the deprecated default (Part 3) #99885
- Remove getReportTransactions callers' reliance on the deprecated default (Part 4) #99887
- Add retry button and logic #99902
- [No QA] Docs updates for E/A#98326 Document Paid by search filter #99963
- Scroll to unread marker when clicking "New messages" button #100276
- fix: preserve Markdown formatting in long messages #100421
- Part 4- thread reportOwnerLogin into isAwaitingFirstLevelApproval and canSubmitAndIsAwaitingForCurrentUser #100464
- [No QA] Docs updates for E/A#99182 travel account verification prompts before booking #100496
- Add Campfire integration advanced pages #100602
- [Payment due @truph01] Add an audit trail for receipt additions #100801
- Support GL codes for dependent multi-level tags #100885
- [No QA] Docs updates for E/A#99236 Workspace change now requires Save button #101009
- [Payment due @thelullabyy] Send the configured group columns with a grouped CSV export #101150
- Split MoneyRequestConfirmationList #101198
- [No QA] Docs updates for E/A#99995 bulk submit skips blocked reports #101261
- Move selected workspace to top in the workspace pickers #101295
- [CFI] Update the Manual create expense form to use dropdown-style rows and a compact add-receipt button #101301
- [Payment due @TaduJR] QuickBooks Desktop: add the currency conversion fee account setting #101319
- Fix GPS - Resume offline does not update current location after reconnecting #101345
- fix: redirect requester to the domain exists page when adminship is denied/approved #101387
- [Merge ATS] Recognize merge_ats in Workflows #101510
- [NOQA] feat: report receipt camera capabilities on the camera-init span #101562
- [Payment due @ikevin127] fix: export Onyx state through Onyx #101568
- Add September 2026 product marketing window: Connect Expensify to Claude #101618
- Gate the DEW approve-failed green dot on the current user being the approver #101625
- Add NOK, SEK, ZAR to auto-update government distance rates #101656
- [No QA][Insights][R1][App] Add the filter controls and store their selections #101774
- Block Submit when prevent self-approval is on and the submitter is the first approver #101845
- Remove redundant row wrapper around AccountSwitcher on the Account page #101867
- [Payment due @nyomanjyotisa] Use None and Save on the shipped FX account pickers #101890
- Use the floating bulk action bar for the report view table #101893
- [Payment due @Krishna2323] Add NetSuite split exports by posting period toggle #101934
- fix: close expanded chart on Escape keydown like the attachment viewer #101941
- [No QA] Consolidated help docs: new-expensify/workspaces #101958
- Updated canIOUBePaid calls to utilize chatReportRNVP #101962
- [Payment due @brunovjk] Clear the assign card error when leaving the confirmation step #101963
- [No QA] Docs updates for E/A#101497 Document report expense table sorting and group order #101986
- Route src/hooks personal details reads through usePersonalDetails wrappers #102062
- Bump react-native-screens to 4.28.0 and drop the patch #102069
- [No QA] Update PAYMENT_VIA_EXPENSIFY.md #102085
- Replace multi-account personal details selectors with usePersonalDetails hooks #102132
- [Payment due @nkdengineer] Prevent Concierge follow-ups from replaying completed replies #102147
- [NoQA] [Insights] Make Home insights match the ones on Insights page #102156
- [No QA] Docs updates for E/A#101772 SWIFT/BIC format guidance for deposit accounts #102159
- Stop the rule Save button spinning forever when validation fails #102198
- [NoQA] [Insights] Add compare root key to search grammar #102209
- Allow mapping a Tag column in the personal card CSV transaction import #102242
- Update the accounting software options and switch to a tile layout #102267
- Show the subscription expiring soon banner before the trial banners #102307
- Remove supporting text from the Restrict card spend rule form #102314
- fix Expense - Unable to move undeleted expense to workspace #102317
- [No QA] Fix tests broken by merge race with getReportTransactions refactor #102334
- Avoid nested ScrollViews in landscape bottom-docked confirm modals #102335
- [No QA] Update HOW_TO_BECOME_A_CONTRIBUTOR_PLUS.md #102342
- Refresh expense report after adding bank account from queued reimbursement #102345
- Remove translateLocal from
Policy.tsandsrc/libs/ReportNameUtils.ts#102361 - [NoQA] Removed usage of Onyx.connect from Localize lib for pure translate fn #102364
- Keep export-failed reports in Ready To Pay to-do #102374
- Fix the Search footer flickering to a loading skeleton after Select all #102375
- Add payment history page #102377
- Keep last report row border to avoid FlashList overlap #102426
- [No QA] Delete the disabled Codex review workflow #102445
- fix: show lock icon on tag GL code field when connected to accounting #102501
- Expense - Scan and per diem confirm page does not use dropdown-style rows #102580
- [cp staging] Fix bulk action bar blocker #102582
- Revert "[Payment due @Krishna2323] Add NetSuite split exports by posting period toggle" #102588
Mobile-Expensify PRs:
- https://github.com/Expensify/Mobile-Expensify/pull/14139
- https://github.com/Expensify/Mobile-Expensify/pull/14145
Internal QA:
- NON-UI Change: Pass selected company feed to OAuth reconnect #102322 - @amyevans
- [Payment due @huult] Add Certinia FFA vendor matching to workspace features #101653 - @Beamanator
Deploy Blockers:
- [Due for payment 2026-10-08] [$175] Onboarding - Accounting tiles use checkbox style button when it does not support multi select #102469
- [Due for payment 2026-10-12] Expense - ESC button closes report directly after opening More menu #102471
- [Due for payment 2026-10-07] Android & iOS - Onboarding - Accounting tiles show 1 column after rotating to portrait #102475
- [Due for payment 2026-10-14] Expense - Description field shows raw markdown text in split details page #102478
- [Due for payment 2026-10-07] Expense - Scan and per diem confirm page does not use dropdown-style rows #102479
- [Due for payment 2026-10-14] Expense - Description row does not expand and long description is truncated in split details #102484
- [Due for payment 2026-10-07] Tags - No lock icon on GL code field when connected to accounting #102485
- Compose Box-Dot-heavy invalid URL candidate becomes a link after adding a character #102487
- [Due for payment 2026-10-14] Scan - Split details page does not show the new UI when scan expense is split offline #102491
- [Due for payment 2026-10-07] Expense - Missing "Report contains held expenses.." from Approve button on floating menu #102492
- When switching between WS currency , auto update gov toggle remains on #102493
- [Due for payment 2026-10-26] Android & iOS - Expense - Retry button is not shown when uploading receipt fails #102494
- [Due for payment 2026-10-22] Expense - Remove receipt system message is not shown in self dm on removing the receipt. #102533
- [Due for payment 2026-10-22] Expense - Add receipt message is missing and system message reorder. #102537
- [Due for payment 2026-10-20] Android & iOS - Scan - Retrying receipt scan duplicates the expense #102551
- [Due for payment 2026-10-14] Invoice - Category field shows Automatic when invoice expense does not auto categorize #102553
- Expense - Rate change tooltip is not shown on confirm page #102555
- Expense - "added a receipt" system message is missing in each split after splitting expense #102556
- [Due for payment 2026-10-20] Expense - Merchant row has different style from other rows on split details page #102565
Chronologically ordered merged PRs (oldest first)
- Split MoneyRequestConfirmationList #101198
- fix: redirect requester to the domain exists page when adminship is denied/approved #101387
- Route src/hooks personal details reads through usePersonalDetails wrappers #102062
- Replace multi-account personal details selectors with usePersonalDetails hooks #102132
- Add retry button and logic #99902
- Extract syncVersions workflow shell into a script #97598
- Gate the DEW approve-failed green dot on the current user being the approver #101625
- Add September 2026 product marketing window: Connect Expensify to Claude #101618
- [NOQA] feat: report receipt camera capabilities on the camera-init span #101562
- [Payment due @ikevin127] fix: export Onyx state through Onyx #101568
- fix Expense - Unable to move undeleted expense to workspace #102317
- [Merge ATS] Recognize merge_ats in Workflows #101510
- [Payment due @huult] Add Certinia FFA vendor matching to workspace features #101653
- Remove getReportTransactions callers' reliance on the deprecated default (Part 3) #99885
- Refactor/66418 remove deprecated reports transactions in has non reimbursable transactions p2 #99425
- Remove getReportTransactions callers' reliance on the deprecated default (Part 4) #99887
- Scroll to unread marker when clicking "New messages" button #100276
- NON-UI Change: Pass selected company feed to OAuth reconnect #102322
- Support GL codes for dependent multi-level tags #100885
- [No QA] Fix tests broken by merge race with getReportTransactions refactor #102334
- Mobile-Expensify submodule update to
93e558e— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/14139 - Bump react-native-screens to 4.28.0 and drop the patch #102069
- Fix GPS - Resume offline does not update current location after reconnecting #101345
- Move selected workspace to top in the workspace pickers #101295
- [Payment due @Krishna2323] Add NetSuite split exports by posting period toggle #101934
- [Payment due @brunovjk] Clear the assign card error when leaving the confirmation step #101963
- Add NOK, SEK, ZAR to auto-update government distance rates #101656
- [No QA] Docs updates for E/A#99182 travel account verification prompts before booking #100496
- Update the accounting software options and switch to a tile layout #102267
- [No QA] Add CI guard for the Re.Pack babel allowlist #99584
- [NoQA] [Insights] Make Home insights match the ones on Insights page #102156
- [No QA] Update PAYMENT_VIA_EXPENSIFY.md #102085
- [No QA] Docs updates for E/A#101772 SWIFT/BIC format guidance for deposit accounts #102159
- [No QA] Docs updates for E/A#101497 Document report expense table sorting and group order #101986
- [No QA] Docs updates for E/A#99995 bulk submit skips blocked reports #101261
- [No QA] Consolidated help docs: new-expensify/workspaces #101958
- [No QA] Docs updates for E/A#98326 Document Paid by search filter #99963
- [No QA] Docs updates for E/A#99236 Workspace change now requires Save button #101009
- [No QA][Insights][R1][App] Add the filter controls and store their selections #101774
- Block Submit when prevent self-approval is on and the submitter is the first approver #101845
- Add Campfire integration advanced pages #100602
- Keep export-failed reports in Ready To Pay to-do #102374
- Use the floating bulk action bar for the report view table #101893
- Remove redundant row wrapper around AccountSwitcher on the Account page #101867
- [No QA] Update HOW_TO_BECOME_A_CONTRIBUTOR_PLUS.md #102342
- [Payment due @nkdengineer] Prevent Concierge follow-ups from replaying completed replies #102147
- Remove supporting text from the Restrict card spend rule form #102314
- [Payment due @thelullabyy] Send the configured group columns with a grouped CSV export #101150
- Remove translateLocal from
Policy.tsandsrc/libs/ReportNameUtils.ts#102361 - [NoQA] Removed usage of Onyx.connect from Localize lib for pure translate fn #102364
- Add payment history page #102377
- fix: close expanded chart on Escape keydown like the attachment viewer #101941
- fix: preserve Markdown formatting in long messages #100421
- Mobile-Expensify submodule update to
848f33a— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/14145 - Show the subscription expiring soon banner before the trial banners #102307
- Stop the rule Save button spinning forever when validation fails #102198
- Refresh expense report after adding bank account from queued reimbursement #102345
- [NoQA] [Insights] Add compare root key to search grammar #102209
- [Payment due @truph01] Add an audit trail for receipt additions #100801
- [Payment due @TaduJR] QuickBooks Desktop: add the currency conversion fee account setting #101319
- Keep last report row border to avoid FlashList overlap #102426
- Updated canIOUBePaid calls to utilize chatReportRNVP #101962
- Avoid nested ScrollViews in landscape bottom-docked confirm modals #102335
- Fix the Search footer flickering to a loading skeleton after Select all #102375
- Fix agent avatar flicker on create by preserving optimistic avatar #97870
- Part 4- thread reportOwnerLogin into isAwaitingFirstLevelApproval and canSubmitAndIsAwaitingForCurrentUser #100464
- [Payment due @nyomanjyotisa] Use None and Save on the shipped FX account pickers #101890
- [CFI] Update the Manual create expense form to use dropdown-style rows and a compact add-receipt button #101301
- Allow mapping a Tag column in the personal card CSV transaction import #102242
- [No QA] Delete the disabled Codex review workflow #102445
- Remove Onyx.connect() for the key: ONYXKEYS.COLLECTION.REPORT in src/libs/OptionsListUtils.ts (Part 2) #97934
- Mobile-Expensify submodule update to
9.4.95-0— Adhoc Build - fix: show lock icon on tag GL code field when connected to accounting #102501
- Mobile-Expensify submodule update to
9.4.95-1— 80fe19a - [cp staging] Fix bulk action bar blocker #102582
- Mobile-Expensify submodule update to
9.4.95-2— 1fc5118 - Expense - Scan and per diem confirm page does not use dropdown-style rows #102580
- Mobile-Expensify submodule update to
9.4.95-3— f7aa0f4 - Revert "[Payment due @Krishna2323] Add NetSuite split exports by posting period toggle" #102588
- Mobile-Expensify submodule update to
9.4.95-4— c55d532
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
melvin-bot commentedon Sep 28, 2026
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
melvin-bot commentedon Sep 29, 2026
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
kavimuru commentedon Sep 29, 2026
Regression progress is at 51%
PRs Failing:
#99902 Waiting for the bug to be exported
#100421 on Android and iOS with original bug #95210
PRs Untested:
#99885 pending validation on iOS
#99887 Pending validation on all the platforms
#101150 Pending validation on all the platforms
#101198 Pending validation on all the platforms
#101295 Pending validation on all the platforms
#101319 Pending validation on web
#101345 Pending validation on all the platforms
#101387 Pending validation on all the platforms
#101510 Pending validation on the native apps
#101618 Pending validation on the native apps
#101625 Pending validation on all the platforms
#101845 Pending validation on the native apps
#101890 Pending validation on the native apps
#101934 Pending validation on all the platforms
#101963 Pending validation on all the platforms
#102062 Pending validation on all the platforms
#101656
#101893
#101963
#102147
melvin-bot commentedon Sep 29, 2026
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
IuliiaHerets commentedon Sep 29, 2026
Regression progress is at 97%
PRs Failing:
#99885 failed with #102503
#100421 failed with #102487 and #102500, also test 1 failed on Native apps with an original issue, comment
#101656 faced on Web with #102493
#101893 failed with #102490 and #102496
#101963 failed with #102504
#102147 failed on iOS with an original issue, comment
PRs Untested:
Several still pending validation: Web 5 | Android 8 | iOS 8
#101568 asked
#101934 asked
melvin-bot commentedon Sep 29, 2026
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
kavimuru commentedon Sep 29, 2026
Regression progress is at 99%
PRs Failing:
#99885 failed with #102503 repro in PROD checking it off.
#100421 failed with #102487 and #102500, also test 1 failed on Native apps with an #95210, #100421 (comment)
#101656 faced on Web with #102493
#101893 failed with #102490 and #102496 repro in PROD, okay to check it off?
#101963 failed with #102504 repro in PROD, okay to check it off?
#102147 failed on iOS with an https://github.com/Expensify/Expensify/issues/684289, #102147 (comment)
#99902 failing with #102551
PRs Untested:
#101510 Pending validation on iOS
#101625 Pending validation on web and iOS
#101568 #101568 (comment)
#101934 #101934 (comment)
melvin-bot commentedon Sep 29, 2026
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
Beamanator commentedon Sep 29, 2026
Internal QA success - #101653 (comment) - checking that off
kavimuru commentedon Sep 29, 2026
Regression is completed in the BS
PRs Failing:
#99885 failed with #102503 repro in PROD checking it off.
#100421 failed with #102487 and #102500, also test 1 failed on Native apps with an #95210, #100421 (comment)
#101656 faced on Web with #102493
#101893 failed with #102490 and #102496 repro in PROD, okay to check it off?
#101963 failed with #102504 repro in PROD, okay to check it off?
#102147 failed on iOS with an https://github.com/Expensify/Expensify/issues/684289, #102147 (comment)
#99902 failing with #102551
PRs Untested:
#101510 Pending validation on iOS
#101568 (comment)
#101934 (comment)
Julesssss commentedon Sep 29, 2026
Checking off the following:
kavimuru commentedon Sep 29, 2026
Regression is completed in the BS
PRs Failing:
#99885 failed with #102503 repro in PROD checking it off.
#100421 failed with #102487 and #102500, also test 1 failed on Native apps with an #95210, #100421 (comment)
#101656 faced on Web with #102493
#101893 failed with #102490 and #102496 repro in PROD, okay to check it off?
#101963 failed with #102504 repro in PROD, okay to check it off?
#102147 failed on iOS with an https://github.com/Expensify/Expensify/issues/684289, #102147 (comment)
#99902 failing with #102551
PRs Untested:
#101510 iOS was unable to complete, at step 8 throws an error sync limit reached for today
#101568 (comment)
#101934 (comment)
#101625 (comment)
Julesssss commentedon Sep 29, 2026
Last blocker fixed with CP: #102492 (comment)
Julesssss commentedon Sep 29, 2026
Checked off:
trjExpensify commentedon Sep 29, 2026
@Julesssss I'm looking to CP #102580 before we deploy for #102479, related to #100221.
Edit: Handling here.
m-natarajan commentedon Sep 30, 2026
Checked off #102426
Julesssss commentedon Sep 30, 2026
Julesssss commentedon Sep 30, 2026
Manually submitted due to this build upload issue