Repository navigation
Deploy Checklist: New Expensify 2026-07-31 #97529
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.47-7
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:
- Allow WebP extension on receipts #91705
- Add Expensify Card statement PDF export to search bulk actions #92790
- [CP Staging] Revert "Add currency selector to Search footer total spend" #94562
- [Payment due @ahmedGaber93] Convert Search footer totals via GetTransactionsConvertedAmount command #94669
- Fix dependent tag second-level row stuck faded after selecting first-level tag #94756
- Add native support for HTML tables in responses #94926
- Fix invoice room skeleton on failed send #95259
- [No QA] Unify avatar sizes #95275
- Remove non-sortable flag for 'exportedTo' column in search table headers #95473
- [Payment due @huult] feat(wallet): prompt for magic code when changing wallet phone #95566
- [No QA] Add tech debt philosophy doc #95768
- Make Copilot switching discoverable with a dedicated Switch button on the Accounts page (v2) #95769
- Fix selected category ordering in spend rules #95967
- Make editable cell hover target full height #96318
- Fix: exclude just-created draft expense from terminal status filters (Deleted/Approved/Paid/Done) in Search #96495
- feat: Show the Workspace name beside the room name in Search results #96574
- R4: Add contextual Category rules section to category details RHP #96591
- fix: resolve admin "Keep selected" duplicates when transaction thread… #96607
- Fix markdown cursor restore crash on IOU description focus #96638
- Fix missing error message when chat creation fails due to network request #96678
- [No QA] Add agent-device sign-in drive library for conditional flow steering #96809
- fix: Notification appears when user is focused on the report #96891
- Fix: Screen Reader: Many Pages: There is no dialog role and title announced #96892
- Migrate money request time step to dynamic routes (#83850 part 2) #96963
- [Payment due @thesahindia] Improve parity with Auth on checks for merging a transaction #97017
- Gate language and payment card currency selection behind a Save button (a11y On Input, PR 6) #97075
- refactor getPolicyName callers in SidebarUtils/ReportNameUtils #97085
- Advance lastUpdateID for WRITE requests only after the deferred flush applies #97098
- Derive app skeletons from queued requests #97115
- [No QA] Update help docs for Releases 1-5: Rillet integration #97195
- [NO QA] Guard getCorpayOnboardingFields against empty countryISO #97249
- [No QA] Update docs using Magic Code #97278
- Fix table filter popover appearing mid-screen when opened over the keyboard on Android #97303
- [No QA] Fix spell checker to account for doc names with apostrophes and spaces #97321
- perf: skip full transactions scan in computeReportName #97340
- Do not render export page link for integration that has nothing to change #97355
- Fix Save button shifting up in offline mode on room settings pages #97421
- [NoQA] Fix
SearchAutocompleteListTestjest test #97429 - Redirect the root path to Home instead of the Inbox #97446
- [No QA] Update iOS build workflows to Xcode 26.6 #97452
- Show only Custom range (not Custom date) in Consolidated Travel Billing export #97461
- Move Expense type filter up below Workspace in Expenses advanced filters #97508
- [No QA] Add images for Transitioning to New Expensify articles #97515
- Fix - Workspace - Edit icon is not on the bottom right of workspace avatar #97566
- [CP Staging] Revert "Fix markdown cursor restore crash on IOU description focus" #97571
- [CP Staging] Revert "[No QA] Update iOS build workflows to Xcode 26.6" #97580
- [CP Staging] Revert "Migrate money request time step to dynamic routes (#83850 part 2)" #97582
- 🍒 Cherry pick PR #97582 to staging 🍒 #97588
- Hide Download statement when a selected settlement is only partially selected #97607
Mobile-Expensify PRs:
- https://github.com/Expensify/Mobile-Expensify/pull/13986
- https://github.com/Expensify/Mobile-Expensify/pull/14037
- https://github.com/Expensify/Mobile-Expensify/pull/14038
- https://github.com/Expensify/Mobile-Expensify/pull/14040
Deploy Blockers:
- [Due for payment 2026-08-08] iOS - App crashes upon launch #97552
- [Due for payment 2026-08-21] Web- Per Diem - Not here page appears when tapping the back button on the Time page #97558
- [Due for payment 2026-08-17] Rules - "Please select at least one field" is shown when all fields are selected #97560
- [Due for payment 2026-08-17] Rules - Deleted flag for review rule can be opened in offline mode #97561
- [Due for payment 2026-08-17] Rules - Deleted field requirements rule disappears instead of showing crossed-out in offline #97563
- [Due for payment 2026-08-08] Workspace - Edit icon is not on the bottom right of workspace avatar #97564
- Spend - Total spend changes to default currency after selecting expense created offline #97579
- [Due for payment 2026-08-19] After changing payment currency, Reset button does not reset currency to default currency #97583
- Spend - Total Spent changes to minus one on zero expense after changing currency #97584
- [Due for payment 2026-08-19] Accounts - The tooltip for the Switch is not aligned properly. #97587
- [Due for payment 2026-08-08] Spend-Download statement appears when select only some transactions inside settlement #97603
Chronologically ordered merged PRs (oldest first)
- [CP Staging] Revert "Add currency selector to Search footer total spend" #94562
- Fix table filter popover appearing mid-screen when opened over the keyboard on Android #97303
- Mobile-Expensify submodule update to
9.4.46-1— Adhoc Build - [Payment due @huult] feat(wallet): prompt for magic code when changing wallet phone #95566
- [No QA] Fix spell checker to account for doc names with apostrophes and spaces #97321
- Fix: exclude just-created draft expense from terminal status filters (Deleted/Approved/Paid/Done) in Search #96495
- Make Copilot switching discoverable with a dedicated Switch button on the Accounts page (v2) #95769
- Mobile-Expensify submodule update to
9.4.46-2— Adhoc Build - Allow WebP extension on receipts #91705
- feat: Show the Workspace name beside the room name in Search results #96574
- fix: resolve admin "Keep selected" duplicates when transaction thread… #96607
- Make editable cell hover target full height #96318
- Mobile-Expensify submodule update to
9.4.46-3— Adhoc Build - Add Expensify Card statement PDF export to search bulk actions #92790
- [NoQA] Fix
SearchAutocompleteListTestjest test #97429 - Mobile-Expensify submodule update to
9.4.46-4— Adhoc Build - Do not render export page link for integration that has nothing to change #97355
- [No QA] Add tech debt philosophy doc #95768
- Migrate money request time step to dynamic routes (#83850 part 2) #96963
- Advance lastUpdateID for WRITE requests only after the deferred flush applies #97098
- Derive app skeletons from queued requests #97115
- Gate language and payment card currency selection behind a Save button (a11y On Input, PR 6) #97075
- Fix selected category ordering in spend rules #95967
- Remove non-sortable flag for 'exportedTo' column in search table headers #95473
- R4: Add contextual Category rules section to category details RHP #96591
- [No QA] Update docs using Magic Code #97278
- Mobile-Expensify submodule update to
9.4.46-5— Adhoc Build - Redirect the root path to Home instead of the Inbox #97446
- [No QA] Update iOS build workflows to Xcode 26.6 #97452
- perf: skip full transactions scan in computeReportName #97340
- [No QA] Unify avatar sizes #95275
- Fix: Screen Reader: Many Pages: There is no dialog role and title announced #96892
- [No QA] Update help docs for Releases 1-5: Rillet integration #97195
- Mobile-Expensify submodule update to
d9f70b8— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/14038 - Fix markdown cursor restore crash on IOU description focus #96638
- Mobile-Expensify submodule update to
a6edaab— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/14037 - refactor getPolicyName callers in SidebarUtils/ReportNameUtils #97085
- Add native support for HTML tables in responses #94926
- [Payment due @ahmedGaber93] Convert Search footer totals via GetTransactionsConvertedAmount command #94669
- [No QA] Add agent-device sign-in drive library for conditional flow steering #96809
- Mobile-Expensify submodule update to
9.4.46-6— Adhoc Build - Show only Custom range (not Custom date) in Consolidated Travel Billing export #97461
- Move Expense type filter up below Workspace in Expenses advanced filters #97508
- Mobile-Expensify submodule update to
9.4.46-7— Adhoc Build - Fix dependent tag second-level row stuck faded after selecting first-level tag #94756
- Mobile-Expensify submodule update to
9.4.46-8— Adhoc Build - Mobile-Expensify submodule update to
9.4.46-9— Adhoc Build - fix: Notification appears when user is focused on the report #96891
- [NO QA] Guard getCorpayOnboardingFields against empty countryISO #97249
- Mobile-Expensify submodule update to
9.4.46-10— Adhoc Build - Mobile-Expensify submodule update to
2523b47— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/13986 - Fix missing error message when chat creation fails due to network request #96678
- Fix invoice room skeleton on failed send #95259
- [No QA] Add images for Transitioning to New Expensify articles #97515
- [Payment due @thesahindia] Improve parity with Auth on checks for merging a transaction #97017
- Fix Save button shifting up in offline mode on room settings pages #97421
- Mobile-Expensify submodule update to
9.4.47-0— Adhoc Build - Mobile-Expensify submodule update to
9.4.47-2— 8dbdd8b
↳ https://github.com/Expensify/Mobile-Expensify/pull/14040 - Mobile-Expensify submodule update to
include cherry-picked PR #14040— 919da30 - [CP Staging] Revert "Fix markdown cursor restore crash on IOU description focus" #97571
- Mobile-Expensify submodule update to
9.4.47-3— 48ad5ec - [CP Staging] Revert "[No QA] Update iOS build workflows to Xcode 26.6" #97580
- Mobile-Expensify submodule update to
9.4.47-4— 44bab77 - Mobile-Expensify submodule update to
9.4.47-5— 1384627 - [CP Staging] Revert "Migrate money request time step to dynamic routes (#83850 part 2)" #97582
- 🍒 Cherry pick PR #97582 to staging 🍒 #97588
- Fix - Workspace - Edit icon is not on the bottom right of workspace avatar #97566
- Mobile-Expensify submodule update to
9.4.47-6— 1c10891 - Hide Download statement when a selected settlement is only partially selected #97607
- Mobile-Expensify submodule update to
9.4.47-7— fb3ad9f
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 Jul 31, 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 Jul 31, 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.
izarutskaya commentedon Jul 31, 2026
Regression progress is at 54%
PRs Failing:
#96963 on Web with #97558
PRs Untested:
Several PRs pending validation
All iOS slots are blocked due to #97552
melvin-bot commentedon Jul 31, 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.
izarutskaya commentedon Jul 31, 2026
Regression progress is at 84%
PRs Failing:
#95259 on Web, Android with #97572
#96574 on Android with original issue ID #96151 #96574 (comment)
#96963 on Web with #97558
PRs Untested:
#95566 - internal PR #95566 (comment)
#96892 - accessibility PR #96892 (comment)
Several PRs pending validation
27 iOS | 1 Android
izarutskaya commentedon Jul 31, 2026
Regression is completed
PRs Failing:
#92790 with #97603
#95259 on Web, Android with #97572 Check it off according comment #97572 (comment)
#96574 on Android with original issue ID #96151 #96574 (comment)
#96607 with #97605 repro in prod
#96638 on iOS with #97604
#96963 with #97558
PRs Untested:
#95566 - internal PR #95566 (comment)
#96892 - accessibility PR #96892 (comment)
Critical TCs that are failing:
Onboarding with #96378
Gusto with #94927
QBO with #94142
marcaaron commentedon Aug 1, 2026