Repository navigation
Deploy Checklist: New Expensify 2026-09-30 #102701
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.0-5
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:
- [No QA] Create Use-Agent-Templates.md #96236
- [NoQA] Fix three ways a version sync can fail or push a bad version to main #97599
- feat: Extend shift+click range selection to Search results and report transaction lists #98130
- HeaderWithBackButton migration - composition implementation #98601
- [No QA] Docs updates for E/A#99033 company card CSV import template button #99707
- ReportActionAvatars - report-type wrappers - ChatThreadAvatar #100390
- Fix negative Total after moving an IOU report to a workspace #100535
- Automatically launch E-card enrollment after changing workspace to supported currency #100667
- [NoQA] Show attempt-limit errors when revealing card details #100695
- [No QA] [Payment due @ikevin127] [No QA] Docs updates for E/A#100113 Correct bank account status badges and pending validation paths #100750
- [No QA] Fix import/no-cycle - part 11 #101088
- Re-fetch the report when a cache clear wipes its memory-only loaded stamp #101131
- [No QA] [no QA] Docs updates for E/A#100678 Add DualEntry vendor matching help article #101141
- fix: Receipt preview is blank in expense details page #101404
- chore(deps): Update NitroSQLite to 9.8.2 #101437
- [No QA] [no QA] Docs updates for E/A#101045 Add changed card number as broken connection cause #101480
- Fix Account tooltip no longer appears after rotating device #101588
- [No QA] Update AI Agent help docs #101605
- [No QA] Update Merge-Accounts.md #101631
- [Payment due @marufsharifi] Set member work arrangement #101876
- Replace direct personal details reads with usePersonalDetails hooks in src/pages #102059
- [No QA] Update help docs for Release 2: multiple approval paths per approver #102127
- [BC][Release 2]Add the Business Central Export page and settings #102129
- Match the backend Invalid validateCode message so a wrong magic code stays retryable #102137
- Match the autoGrowHeight measurement text's line breaking to the input on Android #102149
- Remove isRecommended config prop on TravelDomainListItem #102207
- Fix receipt being lost after app upgrade for
ReplaceReceiptAPI command #102219 - [No QA] fix: simplify busy onboarding view #102276
- Allow expense delete without iou report action #102281
- [NoQA] [Insights] Show already-loaded charts on Insights and Home/Spend when fetched by different actions #102311
- Part 16b - Thread delegateAccountID through the Search and merge optimistic IOU actions #102355
- [No QA] Update Managing-Expenses-in-a-Report.md #102356
- Add Campfire multiple card account export settings #102410
- [Payment due @ahmedGaber93] [NoQA] add accessibility checks in pr template #102411
- [No QA] Move DynamicReportDetailsPage to a folder, extract types and getReportDetailsCaseID #102413
- [NoQA] Instrument authToken drops and receipt folder state #102430
- [Refactor] Move duplicate-merge and tax helpers out of TransactionUtils/index.ts #102442
- [No QA] Docs updates for E/A#101656 Add Norway, Sweden, and South Africa government rates #102461
- [No QA] Docs updates for E/A#101934 Add NetSuite Split exports by posting period toggle #102463
- [No QA] Update deploying guide to match current workflows #102473
- Use the default circle shape for the onboarding accounting radio buttons #102477
- Lock Symbol.dispose on web to fix Skia dispose errors in Safari #102521
- [No QA][Insights] Switch the graphs/tables to top 5 instead of top 10 #102524
- [NoQA] [Insights] Add Compare to page controls #102526
- Use 'See chat history' copy and history icon on the profile chat history row #102541
- [No QA][Insights] Distinguish getInsights request failures from backend errors #102544
- [NoQA] [Insights] Add tooltips for truncated labels in chart inline table #102547
- Extract ReportDetailsAvatar, ReportDetailsDescription and ReportDetailsPromotedActions #102548
- [BC][R1] Scope the Business Central icon gradient ids to each rendered copy #102554
- [No QA] Move NetSuite helpers out of PolicyUtils to fix max-lines lint failure #102589
- [No QA] Mock fetch in IOURequestRedirectToStartPageTest to stop 'Request is not defined' failures #102624
- [No QA][Insights] Adjust Insights filters alignment and spacing #102634
- Fix category tax defaults not showing in the Category RHP rules summary #102647
- [No QA] Fix eslint-seatbelt drift from HeaderWithBackButton migration rule #102689
- chore(deps): Update NitroSQLite to 9.8.3 #102751
Mobile-Expensify PRs:
- https://github.com/Expensify/Mobile-Expensify/pull/14129
- https://github.com/Expensify/Mobile-Expensify/pull/14149
- https://github.com/Expensify/Mobile-Expensify/pull/14151
Internal QA:
- [CP Staging + Prod]Prevent Home page crashes from missing rail passenger IDs #102646 - @rlinoz
- Add non-incentivized Early Renewal 2027 flow #101931 - @blimpich
Deploy Blockers:
- Spend - SHIFT+click does not select the middle group when collapsed #102719
- Campfire - Unable to clear the custom account after selecting it #102721
- Accountings- Account number not displayed in Reimbursable account #102723
- Login-Tapping try new Expensify directs to log out page #102728
- [Due for payment 2026-10-14] [$175] Expensify Card - "You appear to be online" flashes briefly after updating workspace currency #102779
- [Due for payment 2026-10-15] Home-Changing font size to maximum not showing insights in footer #102787
- iOS- Onyx files appears in Files and Unable to view attachment after upgrade #102798
Chronologically ordered merged PRs (oldest first)
- Mobile-Expensify submodule update to
9.4.97-0— Adhoc Build - [No QA] Docs updates for E/A#99033 company card CSV import template button #99707
- [No QA] Move DynamicReportDetailsPage to a folder, extract types and getReportDetailsCaseID #102413
- Use the default circle shape for the onboarding accounting radio buttons #102477
- [No QA] Update deploying guide to match current workflows #102473
- [No QA] Fix import/no-cycle - part 11 #101088
- ReportActionAvatars - report-type wrappers - ChatThreadAvatar #100390
- Remove isRecommended config prop on TravelDomainListItem #102207
- [No QA] Mock fetch in IOURequestRedirectToStartPageTest to stop 'Request is not defined' failures #102624
- Replace direct personal details reads with usePersonalDetails hooks in src/pages #102059
- [No QA] Move NetSuite helpers out of PolicyUtils to fix max-lines lint failure #102589
- [NoQA] Fix three ways a version sync can fail or push a bad version to main #97599
- [No QA][Insights] Switch the graphs/tables to top 5 instead of top 10 #102524
- [Payment due @ahmedGaber93] [NoQA] add accessibility checks in pr template #102411
- [Refactor] Move duplicate-merge and tax helpers out of TransactionUtils/index.ts #102442
- Mobile-Expensify submodule update to
9.4.97-1— Adhoc Build - Mobile-Expensify submodule update to
9.4.97-2— Adhoc Build - [CP Staging + Prod]Prevent Home page crashes from missing rail passenger IDs #102646
- [No QA] Update help docs for Release 2: multiple approval paths per approver #102127
- Mobile-Expensify submodule update to
9.4.97-3— Adhoc Build - [NoQA] Show attempt-limit errors when revealing card details #100695
- [Payment due @marufsharifi] Set member work arrangement #101876
- fix: Receipt preview is blank in expense details page #101404
- [BC][R1] Scope the Business Central icon gradient ids to each rendered copy #102554
- Mobile-Expensify submodule update to
9.4.98-0— Adhoc Build - chore(deps): Update NitroSQLite to 9.8.2 #101437
- Mobile-Expensify submodule update to
9.4.99-0— Adhoc Build - Re-fetch the report when a cache clear wipes its memory-only loaded stamp #101131
- [NoQA] [Insights] Add tooltips for truncated labels in chart inline table #102547
- [NoQA] [Insights] Add Compare to page controls #102526
- Extract ReportDetailsAvatar, ReportDetailsDescription and ReportDetailsPromotedActions #102548
- Match the backend Invalid validateCode message so a wrong magic code stays retryable #102137
- [NoQA] Instrument authToken drops and receipt folder state #102430
- Fix category tax defaults not showing in the Category RHP rules summary #102647
- [No QA][Insights] Distinguish getInsights request failures from backend errors #102544
- Use 'See chat history' copy and history icon on the profile chat history row #102541
- [BC][Release 2]Add the Business Central Export page and settings #102129
- Add Campfire multiple card account export settings #102410
- [No QA] [no QA] Docs updates for E/A#100678 Add DualEntry vendor matching help article #101141
- [No QA] Update Merge-Accounts.md #101631
- Match the autoGrowHeight measurement text's line breaking to the input on Android #102149
- [No QA] Update AI Agent help docs #101605
- Lock Symbol.dispose on web to fix Skia dispose errors in Safari #102521
- Part 16b - Thread delegateAccountID through the Search and merge optimistic IOU actions #102355
- Allow expense delete without iou report action #102281
- Fix receipt being lost after app upgrade for
ReplaceReceiptAPI command #102219 - [No QA] Docs updates for E/A#101656 Add Norway, Sweden, and South Africa government rates #102461
- [No QA] Docs updates for E/A#101934 Add NetSuite Split exports by posting period toggle #102463
- [No QA] Update Managing-Expenses-in-a-Report.md #102356
- HeaderWithBackButton migration - composition implementation #98601
- [No QA][Insights] Adjust Insights filters alignment and spacing #102634
- [NoQA] [Insights] Show already-loaded charts on Insights and Home/Spend when fetched by different actions #102311
- Fix Account tooltip no longer appears after rotating device #101588
- [No QA] [Payment due @ikevin127] [No QA] Docs updates for E/A#100113 Correct bank account status badges and pending validation paths #100750
- [No QA] fix: simplify busy onboarding view #102276
- [No QA] Fix eslint-seatbelt drift from HeaderWithBackButton migration rule #102689
- Mobile-Expensify submodule update to
80a856f— Adhoc Build - Mobile-Expensify submodule update to
9.4.99-1— Adhoc Build - Mobile-Expensify submodule update to
9.4.99-2— Adhoc Build - Fix negative Total after moving an IOU report to a workspace #100535
- feat: Extend shift+click range selection to Search results and report transaction lists #98130
- [No QA] Create Use-Agent-Templates.md #96236
- Automatically launch E-card enrollment after changing workspace to supported currency #100667
- Mobile-Expensify submodule update to
9.5.0-0— Adhoc Build - Mobile-Expensify submodule update to
9.5.0-1— 63b7670
↳ https://github.com/Expensify/Mobile-Expensify/pull/14149 - Mobile-Expensify submodule update to
include cherry-picked PR #14149— d4ef961 - chore(deps): Update NitroSQLite to 9.8.3 #102751
- Mobile-Expensify submodule update to
9.5.0-2— 67d30b6 - Add non-incentivized Early Renewal 2027 flow #101931
- Mobile-Expensify submodule update to
9.5.0-3— 6e8d3c8 - [No QA] [no QA] Docs updates for E/A#101045 Add changed card number as broken connection cause #101480
- Mobile-Expensify submodule update to
9.5.0-5— fc45dc7
↳ https://github.com/Expensify/Mobile-Expensify/pull/14129
↳ https://github.com/Expensify/Mobile-Expensify/pull/14151
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
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 Oct 1, 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 Oct 1, 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 Oct 1, 2026
Regression progress is at 97%
PRs Failing:
#98130 faced on Web with #102719
#100667 failed with #102730
#102129 failed with an original issue, comment
#102137 faced on Android with #102726
#102355 faced on Web with #102441, repro on prod
#102410 failed with #102721
PRs Untested:
Several are still pending validation: Web 1 | Android 1 | iOS 2
#100390 asked
#101876 asked
kavimuru commentedon Oct 1, 2026
Regression is completed.
PRs Failing:
#98130 faced on Web with #102719
#100667 failed with #102730 reprod in PROD okay to check it off?
#102129 failed with an #101109, #102129 (comment)
#102137 faced on Android with #102726
#102355 faced on Web with #102441, repro on prod
#102410 failed with #102721
kavimuru commentedon Oct 1, 2026
Regression is completed.
PRs Failing:
#98130 faced on Web with #102719
#100667 failed with #102730 repro in PROD okay to check it off?
#102129 failed with an #101109, #102129 (comment)
#102137 faced on Android with #102726
#102355 faced on Web with #102441, repro on prod
#102410 failed with #102721
#101437 failing with #102798
melvin-bot commentedon Oct 1, 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.
os-botify commentedon Oct 1, 2026
This issue either has unchecked items or has not yet been marked with the
:shipit:emoji of approval. (The emoji needs to be the last comment before closing)Reopening!
Julesssss commentedon Oct 1, 2026
melvin-bot commentedon Oct 5, 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.