Repository navigation
Closed
Labels
DailyKSv2KSv2StagingDeployCash🔐 LockCashDeploys 🔐Prevent new code from being deployed to stagingPrevent new code from being deployed to staging
Description
Release Version: 9.5.31-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:
- Remove Onyx.connect() for the key: ONYXKEYS.COLLECTION.REPORT in src/libs/ReportUtils.ts (part 6) #93423
- Show rate out-of-policy violation for disabled Track distance rates #100549
- [No QA] Update Set-Up-SAML-SSO.md #101247
- Keep newly created agents editable across browser tabs #101360
- Scan - No Amount, Merchant and Date field when splitting expense in 1:1 DM #103071
- Reuse the existing chat for a second expense to a login created offline #103195
- Show report submit errors in the Search row and make them dismissible in the report #103547
- [Payment due @marufsharifi] Add NetSuite credit card charge export foundation #103686
- refactor: Pass the split write barrier in and require submission flags #103695
- [Payment due @getusha] Handle workflow CSV import/export with new rules-based structure #103879
- Part 16c-2a - Thread delegateAccountID through the settings and wallet Concierge callers #104004
- [No QA] Docs updates for E/A#83733 Document merchant= operator for exact merchant matches #104125
- [Rules Engine Release 2] [App] Support expense defaults for more than just merchants #104155
- Add Reimbursable setting to company card feeds #104160
- Show a thread as unread in the LHN when you mark your own message as unread #104289
- Copy UK fuel-band rates with their reclaimable fraction and check it for the lightning bolt #104309
- [Payment due @mkhutornyi] Approve and submit every match from Select all #104441
- refactor: thread hasCompletedGuidedSetupFlow through the Concierge wrappers #104464
- Show Bank address before Bank city in the non-USD bank account flow #104679
- upgrade: bump expensify-common to 2.0.224 to enforce URL hostname length limits #104791
- [Payment due @QichenZhu] Add currencies to amount search filters #104802
- Use the torch and a snapshot for Android flash scans #104840
- [Payment due @truph01] Add Rillet reimbursements as an out-of-pocket export option #104889
- Open the Search row long-press menu from the global modal stack #105112
- Fix
Add existing expensepagination loop crashing #105119 - Keep resized image dimensions on native so large attachments don't jump on upload #105125
- [No QA] Add help content for company agents #105146
- Keep the Workspaces row menu attached to its button after a window resize #105236
- Add count metric option to search and insights charts #105265
- fix(Wise): Hide the untapped no-SSN link from the confirmation page #105267
- [Wise][Release 1] Business - UI - Form Saving (Wire in the API Command) #105278
- Show the full report field name in a tooltip when it is cut off #105279
- Drop the Domain Admin requirement from the preferred exporter note #105296
- Remove useOnyx loading status reads for collection keys and keys with default values #105374
- [Payment due @ZhenjaHorbach] fix(DynamicForm): Give every input the same spacing as its neighbors #105382
- Upgrade Sentry React Native SDK to 8.32.0 and revert the TurboModuleContext workaround #105398
- Migrate ReportHeaderAvatars #105403
- Right-align the trip status badge on narrow layouts #105404
- Show the replies row under support ticket previews #105406
- [No QA] Docs updates for E/A#105107 Spend footer Count, Total, and Currency menu #105435
- Show Reconnect for NetSuite OAuth authentication errors #105454
- fix: label international bank terms checkbox #105468
- [Payment due @ZhenjaHorbach] [Wise][Release 1] Business - UI - GR enabled on US account (Wallet Page) #105491
- [Performance] Migrate
useDeferNonEssentialsontoNavigationDeferredMount#105496 - Keep held expenses out of unheld totals when splitting offline #105524
- [NO QA] Rename the Digits travel billing commands to TravelBilling #105528
- [NO QA] Rename the Campfire, DualEntry and Sage Intacct travel billing internals #105529
- [No QA] rename Numeric components to KeypadAmountEditor and AmountFormField #105533
- [No QA] Docs updates for E/A#99092 Book travel visibility in Create menu and Search #105546
- Treat empty route params as missing when going back to a chat #105565
- Tell the submitter that unkept duplicates will be removed #105567
- Offer to create the searched-for category when a category search has no results #105575
- Fix offline timezone row and weekly optimistic report title dates #105577
- Attendee field is empty after creating new report #105600
- fix: Spacing between Action button & right caret is narrow when resizableTableColumns is on #105610
- [No QA] Add patch so the Re.Pack dev server exits on Ctrl+C #105612
-
MenuItemdecomposition - wrapperStyle-onlyMenuItemWithTopDescriptionrows #105621 - [NoQA] Continue Concierge drafts past literal ampersands #105637
- [Payment due @ZhenjaHorbach] feat(Wise): Add the hosted form kickout page #105640
- Upgrade node-forge to 1.4.2 #105658
- [Payment due @FitseTLT] [NoQA] Remove the globalReimbursementFX beta #105659
- [No QA] Stop reading Onyx loading status on the company card Reimbursable page #105672
- [No QA] Fix Oxlint failure on main from deprecated originalMessage in duplicate confirmation test #105689
- Preserve Search report links after workspace-member sign-in #105710
- [Payment due @Pujan92] MenuItem: migrate keyboard shortcuts #105714
- [Insights polish] Update pie chart labels styling and total value formatting #105747
- [Perf] Restore React Compiler caching in useReportActionsPagination #105781
- Revert "Keep newly created agents editable across browser tabs" #105844
- [cp staging] Revert "Merge pull request #104155 from Krishna2323/krishna2323/issue-102277-expense-defaults" #105888
- [cp staging] Hide searched category creation for draft-only workspaces #105896
- [CP Staging] Respect currency precision in amount filters #105917
Mobile-Expensify PRs:
- https://github.com/Expensify/Mobile-Expensify/pull/14159
- https://github.com/Expensify/Mobile-Expensify/pull/14212
- https://github.com/Expensify/Mobile-Expensify/pull/14214
Internal QA:
Deploy Blockers:
- Company cards - Error shows up after changing feed reimbursable settings from other workspace #105804
- [Due for payment 2026-11-11] Expense - App crashes when opening expense with amount edited by a rule. #105805
- Spend - Currency is not applied in Amount filter when searched with command #105806
- Spend - Currency filter can be different from the currency in amount filter #105807
- [Due for payment 2026-11-11] Spend - Decimal digits can be added when currency does not support it #105808
- [Due for payment 2026-11-11] [$175] Categories disappear after creating category from confirm page when submitting to employer #105809
- [$175] Expense - No option to create category when search has no results when inline editing #105810
- [Due for payment 2026-11-11] Rules - Negative sign cannot be entered on Amount field when creating rule #105811
- [Due for payment 2026-11-11] Rules - After changing to currency that does not support cents, rule shows amount with cents #105812
- Agents - App fails to create agent when two tabs are opened #105813
- [Due for payment 2026-11-11] Merchant field cannot be saved when it is empty when rule can be created without merchant #105817
- [Due for payment 2026-11-13] Spend - Field label overlaps with currency button #105818
- [Due for payment 2026-11-11] Rule - "0" amount is not saved on "Amount" field while creating a new rule. #105819
- [Due for payment 2026-11-11] Rules - Rule is not applied when rule is "update category to y when category is x" #105822
- [Due for payment 2026-11-11] Rules - Expense shows up in preview list when category does not match #105828
- [Due for payment 2026-11-11] Rules - Expense with matching category does not show up in preview list #105829
- After blocking request the error not shown, after unblocking opens on Confirmation #105851
- [Due for payment 2026-11-11] Rule - Created rule doesn´t disappear after deleting category used as condition. #105855
- [Due for payment 2026-11-11] Rules - Expense defaults rule that involve matching category is not duplicated #105859
- [Due for payment 2026-11-11] Expense - Currency is not applied as specified in rules #105862
- Spend-Category filter retains previous search value after clearing and applying a new search #105947
Chronologically ordered merged PRs (oldest first)
- [Payment due @marufsharifi] Add NetSuite credit card charge export foundation #103686
- Scan - No Amount, Merchant and Date field when splitting expense in 1:1 DM #103071
- Add Reimbursable setting to company card feeds #104160
- Mobile-Expensify submodule update to
471a98a— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/14214 - [Performance] Migrate
useDeferNonEssentialsontoNavigationDeferredMount#105496 - [No QA] Stop reading Onyx loading status on the company card Reimbursable page #105672
- Treat empty route params as missing when going back to a chat #105565
- Upgrade node-forge to 1.4.2 #105658
- [NO QA] Rename the Campfire, DualEntry and Sage Intacct travel billing internals #105529
- [NO QA] Rename the Digits travel billing commands to TravelBilling #105528
- Right-align the trip status badge on narrow layouts #105404
- [Payment due @QichenZhu] Add currencies to amount search filters #104802
MenuItemdecomposition - wrapperStyle-onlyMenuItemWithTopDescriptionrows #105621- Tell the submitter that unkept duplicates will be removed #105567
- Show Reconnect for NetSuite OAuth authentication errors #105454
- Mobile-Expensify submodule update to
9e12557— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/14212 - Upgrade Sentry React Native SDK to 8.32.0 and revert the TurboModuleContext workaround #105398
- Keep newly created agents editable across browser tabs #101360
- Reuse the existing chat for a second expense to a login created offline #103195
- [No QA] Fix Oxlint failure on main from deprecated originalMessage in duplicate confirmation test #105689
- [Payment due @getusha] Handle workflow CSV import/export with new rules-based structure #103879
- fix(Wise): Hide the untapped no-SSN link from the confirmation page #105267
- [Payment due @ZhenjaHorbach] fix(DynamicForm): Give every input the same spacing as its neighbors #105382
- [Wise][Release 1] Business - UI - Form Saving (Wire in the API Command) #105278
- Fix offline timezone row and weekly optimistic report title dates #105577
- [NoQA] Continue Concierge drafts past literal ampersands #105637
- Keep held expenses out of unheld totals when splitting offline #105524
- Keep the Workspaces row menu attached to its button after a window resize #105236
- Preserve retest requests across canceled staging deploys #105673
- [No QA] Docs updates for E/A#83733 Document merchant= operator for exact merchant matches #104125
- [No QA] Add help content for company agents #105146
- [No QA] Docs updates for E/A#99092 Book travel visibility in Create menu and Search #105546
- [No QA] Docs updates for E/A#105107 Spend footer Count, Total, and Currency menu #105435
- Mobile-Expensify submodule update to
9.5.28-5— Adhoc Build - Fix
Add existing expensepagination loop crashing #105119 - [No QA] rename Numeric components to KeypadAmountEditor and AmountFormField #105533
- Open the Search row long-press menu from the global modal stack #105112
- [No QA] Add patch so the Re.Pack dev server exits on Ctrl+C #105612
- Show report submit errors in the Search row and make them dismissible in the report #103547
- Use the torch and a snapshot for Android flash scans #104840
- [No QA] Update Set-Up-SAML-SSO.md #101247
- [Payment due @truph01] Add Rillet reimbursements as an out-of-pocket export option #104889
- fix: label international bank terms checkbox #105468
- Drop the Domain Admin requirement from the preferred exporter note #105296
- refactor: thread hasCompletedGuidedSetupFlow through the Concierge wrappers #104464
- Keep resized image dimensions on native so large attachments don't jump on upload #105125
- Part 16c-2a - Thread delegateAccountID through the settings and wallet Concierge callers #104004
- refactor: Pass the split write barrier in and require submission flags #103695
- Remove Onyx.connect() for the key: ONYXKEYS.COLLECTION.REPORT in src/libs/ReportUtils.ts (part 6) #93423
- [Rules Engine Release 2] [App] Support expense defaults for more than just merchants #104155
- Show rate out-of-policy violation for disabled Track distance rates #100549
- Offer to create the searched-for category when a category search has no results #105575
- fix: Spacing between Action button & right caret is narrow when resizableTableColumns is on #105610
- [Payment due @mkhutornyi] Approve and submit every match from Select all #104441
- [Payment due @Pujan92] MenuItem: migrate keyboard shortcuts #105714
- Show a thread as unread in the LHN when you mark your own message as unread #104289
- Add count metric option to search and insights charts #105265
- [Payment due @FitseTLT] [NoQA] Remove the globalReimbursementFX beta #105659
- Mobile-Expensify submodule update to
9.5.28-6— Adhoc Build - Mobile-Expensify submodule update to
9.5.28-7— Adhoc Build - Show Bank address before Bank city in the non-USD bank account flow #104679
- Preserve Search report links after workspace-member sign-in #105710
- Show the replies row under support ticket previews #105406
- Migrate ReportHeaderAvatars #105403
- [Payment due @ZhenjaHorbach] feat(Wise): Add the hosted form kickout page #105640
- Mobile-Expensify submodule update to
9.5.29-0— Adhoc Build - Show the full report field name in a tooltip when it is cut off #105279
- Attendee field is empty after creating new report #105600
- Mobile-Expensify submodule update to
9.5.30-0— Adhoc Build - Copy UK fuel-band rates with their reclaimable fraction and check it for the lightning bolt #104309
- [Payment due @ZhenjaHorbach] [Wise][Release 1] Business - UI - GR enabled on US account (Wallet Page) #105491
- [Perf] Restore React Compiler caching in useReportActionsPagination #105781
- [Insights polish] Update pie chart labels styling and total value formatting #105747
- Remove useOnyx loading status reads for collection keys and keys with default values #105374
- upgrade: bump expensify-common to 2.0.224 to enforce URL hostname length limits #104791
- Mobile-Expensify submodule update to
367b607— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/14159 - Mobile-Expensify submodule update to
9.5.31-0— Adhoc Build - Revert "Keep newly created agents editable across browser tabs" #105844
- Mobile-Expensify submodule update to
9.5.31-1— f7ec2f0 - Mobile-Expensify submodule update to
9.5.31-2— e7ca7c0 - [cp staging] Revert "Merge pull request #104155 from Krishna2323/krishna2323/issue-102277-expense-defaults" #105888
- [cp staging] Hide searched category creation for draft-only workspaces #105896
- Mobile-Expensify submodule update to
9.5.31-3— dd7a0c6 - [CP Staging] Respect currency precision in amount filters #105917
- Mobile-Expensify submodule update to
9.5.31-4— 62cfc08
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
izarutskaya commentedon Nov 4, 2026
Regression progress is a few steps left
PRs Failing:
#101360 on iOS
#104155 with #105805, #105819, #105855
#104160 with #105804 & #105854
#105112 with #105824
#105278 on Web with #105851
#105600 on Android with original KI #105549 (#105600 (comment))
PRs Untested:
#103547 (comment)
#104309 (comment)
#105491 (comment)
#105640 (comment)
https://github.com/Expensify/Mobile-Expensify/pull/14159#issuecomment-6615450843
Several still pending validation: Web 3 | Android 8 | iOS 9
izarutskaya commentedon Nov 4, 2026
Regression is completed
PRs Failing:
#101360 faced with #105813
#104155 with #105805, #105819, #105855
#104160 with #105804 & #105854
#104889 failing with #105899 Repro in Prod
#105112 with #105824 Repro in Prod
#105278 on Web with #105851
#105600 on Android with original KI #105549 (#105600 (comment))
PRs Untested:
#103547 (comment)
#104309 (comment)
#105454 (comment)
#105491 (comment)
#105640 (comment)
https://github.com/Expensify/Mobile-Expensify/pull/14159#issuecomment-6615450843 Probably no need QA
Critical TCs that are failing:
Login with #72386
Onboarding with #98848
izarutskaya commentedon Nov 4, 2026
Checked it off as per #105491 (comment)
blimpich commentedon Nov 4, 2026