-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Deploy Checklist: New Expensify 2026-04-07 #87187
Copy link
Copy link
Open
Labels
StagingDeployCash🔐 LockCashDeploys 🔐Prevent new code from being deployed to stagingPrevent new code from being deployed to staging
Description
Release Version: 9.3.53-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:
- Fix - [Unreported] Add distance rate to the distance expenses tracked in selfDM #74967
- Revert "Implement bulk change approver flow for Search page #75729" #77441
- Revert "[CP staging] Hide Change approver option when Add approvals is disabled in Workflows" #77470
- Implement bulk change approver flow for Search page v2 #77857
- Upgrade
react-fast-pdfandwebpack#80160 - 78073: Update ghost text in Expense Threads / Reports #82909
- [Onyx Audit] Migrate keys to RAM-only part 2/2 #83450
- fix: update the 2fa screen mapping screen #83552
- Feat - [Unreported] Add distance rate to the distance expenses tracked in selfDM #84136
- Implement system message for card freeze and unfreeze actions #85016
- [No QA]: Move Track expense functions to a new file #85340
- Add hasFailedOnfido to acceptWalletTerms failureData #85579
- Dry camera logic #85758
- Refactor: ReportUtils from translateLocal to translate from hook (part 6) #86013
- refactor: getPolicyExpenseReportOption() to change privateIsArchived parameter to boolean #86015
- [Payment due @thesahindia] Add rhpHomePage variant to onboarding A/B/C/D test #86289
- Fix workspace name not updating in real time in Recent Chats #86298
- Fix Join button briefly appearing when creating thread on another user's message #86379
- Revert "Update customUnitRateID to _FAKE_P2P_ID_ when unreporting expense" #86408
- [Payment due @ShridharGoel] Fix infinite spinner add cards #86484
- Reject 0-byte receipt blobs on web before server upload #86500
- [No QA] Add Export Expenses and Export Reports help articles #86501
- [No QA] Add IDs to tooltips for tracking #86541
- [Payment due @ikevin127] Add Explain support for UNREPORTEDTRANSACTION report actions #86565
- [Payment due @cretadn22] Fix silent receipt drop when file is missing from cache #86581
- Refactor
deleteMoneyRequestto pass data #86606 - Refactor: getCurrencyDecimals method to hook (part 4) #86620
- Bump Onyx to 3.0.58 #86636
- Fix: Focus jumps to Concierge Anywhere (SidePanel) when switching chats in the Inbox #86658
- Refactor buildOptimisticChatReport to use currentUserAccountID from useOnyx #86672
- Update Home announcements with latest content #86675
- Add start/stop timer buttons to the Chronos report header #86690
- Unbold 'your' in next step messages #86702
- decompose ReportScreen 6d: extract navigate-away handler #86721
- Hide discover section #86726
- Keyboard Accessibility Issue: “To:” Field Not Activatable via Keyboard on Confirm Details Screen. #86757
- refactor:
IOURequestStepScanclean-up, phase 6: move multi-scan state to hook and usekeyfor reset #86800 - Merge main into my PR #86830
- Bump react-native-onyx from 3.0.54 to 3.0.57. #86924
- 86309:Thread - Leave thread works only when use it second time #86926
- [No QA] Update help docs for Release 3 multi-workspace card feed sharing #86930
- fix: Extra hold expense comment appears after splitting held expense [#86798] #86931
- Part 3 - Thread delegateEmail through unapprove/retract/submit report actions #86942
- Remove
Onyx.connect()usage forONYXKEYS.COLLECTION.POLICY_TAGSfromsrc/libs/actions/IOU/SendInvoice.ts#86948 - Part 2: Remove Onyx.connect() for the key: ONYXKEYS.SESSION in src/libs/actions/Policy/Policy.ts #86951
- Remove
Onyx.connect()usage forONYXKEYS.COLLECTION.POLICY_TAGSindetachReceiptfunction fromsrc/libs/actions/IOU/index.ts#86957 - [No QA] refactor: Extract LHNEmptyState from LHNOptionsList #86964
- [No QA] Fix SET_PIN_ORDER_CARD payload for US addresses #86985
- Clear custom range date validation error on date selection #87024
- [NoQA] Bump claude-code-action to v1.0.86 #87036
- fix: default emoji doesn't render #87045
- fix: Per attendee amount on the table does not show negative sign #87048
- [No QA] Refactor editTaskAssignee to use options object #87050
- fix: Reports - Limit filter is reapplied after resetting filters #87057
- [No QA] Update Personal-Cards.md for R2 broken connections #87058
- [No QA] [Zombie spans] Fix
ManualAppStartupwhen signing out from OD #87069 - Web - Expense - Expense RHPs in the background flicker when opening Category picker #87070
- Move date filter Range text outside ScrollView for consistent visibility #87099
- fix: skip auto-redistribution when adding splits with manual edits #87124
- [Snyk] Security upgrade activesupport from 7.2.3 to 7.2.3.1 #87132
- [No QA] Update BZ checklist to require comments on both PR and issue #87134
- [No QA] Refactor createDraftWorkspace to use newGenerateDefaultWorkspaceName #87149
- Update badge, pin, and pencil icon sizes in LHN #87159
- Use 1024px thumbnail instead of full-size original in receipt preview #87163
- [No QA] Fix typescriptt error on
main#87165 - [No QA] Update Gemfile.lock and Podfile.lock #87196
- Revert "refactor:
IOURequestStepScanclean-up, phase 6: move multi-scan state to hook and usekeyfor reset" #87216 - Revert "[Onyx Audit] Migrate keys to RAM-only part 2/2" #87221
- [CP Staging] Fix discover section is missing for new accounts #87224
- [CP Staging] Fix tax in confirmation page when creating a tracked distance request #87237
Mobile-Expensify PRs:
Internal QA:
Deploy Blockers:
- [$250] DEV: Report Preview Not Updating After Adding Expense Until Manual Refresh #87179
- Home - Discover section is missing for new accounts #87195
- Expense - Expense preview is blank after splitting expense #87197
- Expense - Not here page opens after deleting expenses #87199
- Expense - Deleted expense appears as skeleton loader in the expense preview #87200
- Expense - Second expense does not auto appear in expense preview #87201
- Distance - Tax rate and amount do not update after selecting distance rate on confirm page #87202
- Distance - After editing distance, Distance rate changes to personal rate #87204
- Distance-Rate does not auto default to last used rate when creating distance expense in self DM #87205
- Report - Expense information is still visible on preview after being unreported. #87206
- Distance - No rate error on confirm page when submitting expense with invalid rate from self DM #87207
- Android - Scan - App crashes when interacting with scan tooltip #87208
- Expense - Infinite loading after adding an expense to report #87209
- Reports - Page inconsistency when changing approver on Collect workspace on Inbox & Reports #87213
- Web - Workspace - BA - Endless spinner appears after start Plaid flow to connect BA #87214
- Expense-Multiple scan receipts adding page closed automatically after capturing images once #87215
- Expense -Incorrect rate and unit displayed for some time when submitting expense to 1:1 chat #87217
- Report - "Remove Hold" button is not displayed after holding an expense. #87219
- Android - Report - App freezes after splitting an expense and selecting one of the splits. #87220
Chronologically ordered merged PRs (oldest first)
- Revert "Implement bulk change approver flow for Search page #75729" #77441
- Revert "[CP staging] Hide Change approver option when Add approvals is disabled in Workflows" #77470
- Fix - [Unreported] Add distance rate to the distance expenses tracked in selfDM #74967
- Merge main into my PR #86830
- [Onyx Audit] Migrate keys to RAM-only part 2/2 #83450
- Fix workspace name not updating in real time in Recent Chats #86298
- [No QA] Fix SET_PIN_ORDER_CARD payload for US addresses #86985
- Update Home announcements with latest content #86675
- [NoQA] Bump claude-code-action to v1.0.86 #87036
- 78073: Update ghost text in Expense Threads / Reports #82909
- [Payment due @thesahindia] Add rhpHomePage variant to onboarding A/B/C/D test #86289
- [No QA] Add Export Expenses and Export Reports help articles #86501
- Fix Join button briefly appearing when creating thread on another user's message #86379
- Bump react-native-onyx from 3.0.54 to 3.0.57. #86924
- Implement system message for card freeze and unfreeze actions #85016
- fix: Per attendee amount on the table does not show negative sign #87048
- Refactor
deleteMoneyRequestto pass data #86606 - Remove
Onyx.connect()usage forONYXKEYS.COLLECTION.POLICY_TAGSindetachReceiptfunction fromsrc/libs/actions/IOU/index.ts#86957 - Mobile-Expensify submodule update to
9.3.52-1— Adhoc Build - Mobile-Expensify submodule update to
9.3.52-2— Adhoc Build - fix: Extra hold expense comment appears after splitting held expense [#86798] #86931
- Mobile-Expensify submodule update to
9.3.52-3— Adhoc Build - Unbold 'your' in next step messages #86702
- [No QA]: Move Track expense functions to a new file #85340
- Mobile-Expensify submodule update to
9.3.52-4— Adhoc Build - refactor: getPolicyExpenseReportOption() to change privateIsArchived parameter to boolean #86015
- Mobile-Expensify submodule update to
9.3.52-5— Adhoc Build - Move date filter Range text outside ScrollView for consistent visibility #87099
- [Payment due @cretadn22] Fix silent receipt drop when file is missing from cache #86581
- Hide discover section #86726
- Bump Onyx to 3.0.58 #86636
- Mobile-Expensify submodule update to
9.3.52-6— Adhoc Build - Remove travel invoicing card from home page #87109
- Mobile-Expensify submodule update to
9.3.52-7— Adhoc Build - [No QA] [Zombie spans] Fix
ManualAppStartupwhen signing out from OD #87069 - Mobile-Expensify submodule update to
e142ed2— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/13907 - [No QA] Update Personal-Cards.md for R2 broken connections #87058
- Clear custom range date validation error on date selection #87024
- [No QA] Update help docs for Release 3 multi-workspace card feed sharing #86930
- Web - Expense - Expense RHPs in the background flicker when opening Category picker #87070
- Reject 0-byte receipt blobs on web before server upload #86500
- Implement bulk change approver flow for Search page v2 #77857
- Keyboard Accessibility Issue: “To:” Field Not Activatable via Keyboard on Confirm Details Screen. #86757
- Part 2: Remove Onyx.connect() for the key: ONYXKEYS.SESSION in src/libs/actions/Policy/Policy.ts #86951
- Refactor buildOptimisticChatReport to use currentUserAccountID from useOnyx #86672
- Remove
Onyx.connect()usage forONYXKEYS.COLLECTION.POLICY_TAGSfromsrc/libs/actions/IOU/SendInvoice.ts#86948 - Part 3 - Thread delegateEmail through unapprove/retract/submit report actions #86942
- [No QA] Refactor editTaskAssignee to use options object #87050
- Mobile-Expensify submodule update to
9.3.52-8— Adhoc Build - fix: Reports - Limit filter is reapplied after resetting filters #87057
- [No QA] refactor: Extract LHNEmptyState from LHNOptionsList #86964
- [No QA] Add IDs to tooltips for tracking #86541
- decompose ReportScreen 6d: extract navigate-away handler #86721
- [No QA] Refactor createDraftWorkspace to use newGenerateDefaultWorkspaceName #87149
- fix: default emoji doesn't render #87045
- Fix: Focus jumps to Concierge Anywhere (SidePanel) when switching chats in the Inbox #86658
- [Payment due @ShridharGoel] Fix infinite spinner add cards #86484
- Add start/stop timer buttons to the Chronos report header #86690
- Add hasFailedOnfido to acceptWalletTerms failureData #85579
- [Payment due @ikevin127] Add Explain support for UNREPORTEDTRANSACTION report actions #86565
- Revert "Update customUnitRateID to _FAKE_P2P_ID_ when unreporting expense" #86408
- Refactor: getCurrencyDecimals method to hook (part 4) #86620
- [No QA] Fix typescriptt error on
main#87165 - fix: skip auto-redistribution when adding splits with manual edits #87124
- Update badge, pin, and pencil icon sizes in LHN #87159
- fix: update the 2fa screen mapping screen #83552
- refactor:
IOURequestStepScanclean-up, phase 6: move multi-scan state to hook and usekeyfor reset #86800 - [No QA] Update BZ checklist to require comments on both PR and issue #87134
- Feat - [Unreported] Add distance rate to the distance expenses tracked in selfDM #84136
- Refactor: ReportUtils from translateLocal to translate from hook (part 6) #86013
- Use 1024px thumbnail instead of full-size original in receipt preview #87163
- [Snyk] Security upgrade activesupport from 7.2.3 to 7.2.3.1 #87132
- Mobile-Expensify submodule update to
9.3.52-9— Adhoc Build - Upgrade
react-fast-pdfandwebpack#80160 - Dry camera logic #85758
- 86309:Thread - Leave thread works only when use it second time #86926
- Mobile-Expensify submodule update to
9.3.53-0— Adhoc Build - [No QA] Update Gemfile.lock and Podfile.lock #87196
- Mobile-Expensify submodule update to
9.3.53-1— Adhoc Build - Revert "refactor:
IOURequestStepScanclean-up, phase 6: move multi-scan state to hook and usekeyfor reset" #87216 - Mobile-Expensify submodule update to
9.3.53-2— f053480 - Revert "[Onyx Audit] Migrate keys to RAM-only part 2/2" #87221
- Mobile-Expensify submodule update to
9.3.53-3— 0e40e82 - [CP Staging] Fix tax in confirmation page when creating a tracked distance request #87237
- Mobile-Expensify submodule update to
9.3.53-4— b84a454 - [CP Staging] Fix discover section is missing for new accounts #87224
- Mobile-Expensify submodule update to
9.3.53-5— 8846309
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
StagingDeployCash🔐 LockCashDeploys 🔐Prevent new code from being deployed to stagingPrevent new code from being deployed to staging
Type
Fields
Give feedbackNo fields configured for issues without a type.