9.5.2-4

Expensify/App9.5.2-4Oct 5, 2026by github-actions[bot]

Upgrading?

AI Summary

This update includes performance optimizations for chat indexing, adds NetSuite split export functionality, and fixes various UI issues across expenses and reports. It also includes rollbacks of previous changes due to identified bugs.

Key Highlights

  • Performance optimization: index 1:1 chats by participants
  • Add NetSuite split exports by posting period toggle
  • Fix Home page crashes from missing rail passenger IDs
  • Revert 'fix: remove unsafe assertions' and 'fix: scan error'
  • Enable auto-scroll to actionable report previews

New Features

  • NetSuite split exports by posting period toggle
  • Add Day to Insights Spend over time group-by options
  • Mention loyalty programs in travel nudges

Full Release Notes

## What's Changed
* Filter untrusted annotation links in the native PDF viewer by @mjasikowski in https://github.com/Expensify/App/pull/102754
* List upcoming years ascending after the pinned year in the year picker by @MelvinBot in https://github.com/Expensify/App/pull/102694
* [NOQA] fix: start telemetry spans with no parent by @OlimpiaZurek in https://github.com/Expensify/App/pull/101877
* perf: index 1:1 chats by participants instead of scanning reports on confirmation mount by @OlimpiaZurek in https://github.com/Expensify/App/pull/101219
* Add NetSuite split exports by posting period toggle by @ShridharGoel in https://github.com/Expensify/App/pull/102605
* [Payment due @huult] [No QA] Adding FCB assets by @dubielzyk-expensify in https://github.com/Expensify/App/pull/102826
* [Batch 6] Migrate GPS trip ConfirmModal usages to useConfirmModal by @MelvinBot in https://github.com/Expensify/App/pull/102013
* Fix import/no-cycle - part 14 by @LukasMod in https://github.com/Expensify/App/pull/101722
* Part 1 - Remove onyx connect for the key: ONYXKEYS.COLLECTION.REPORT in Parser lib by @hoangzinh in https://github.com/Expensify/App/pull/100121
* Disable report header actions while expenses are selected by @huult in https://github.com/Expensify/App/pull/102784
* Allow any workspace admin to pay reports by @lorretheboy in https://github.com/Expensify/App/pull/101226
* [CP Staging] fix: Expense - Growl is shown after creating split distance expense from QAB by @mhawryluk in https://github.com/Expensify/App/pull/102838
* [CP Staging] fix: mweb - Expense - Menu remains openeed after opening expense via growl by @mhawryluk in https://github.com/Expensify/App/pull/102877
* [NoQA] Use real FlashList in SelectionList perf test by @WojtekBoman in https://github.com/Expensify/App/pull/102841
* [Payment due @mananjadhav] Render agent prompt changes in owner DMs by @yuwenmemon in https://github.com/Expensify/App/pull/100990
* [No QA] feat: size tiers for account-size Sentry tags, add transactions_count and db_size tags by @arekm213 in https://github.com/Expensify/App/pull/102197
* Bump react-native-gesture-handler to 3.3.0 by @collectioneur in https://github.com/Expensify/App/pull/102678
* [CP Staging] fix: Expense - Back button reopens expense after opening expense and tapping View on growl by @mhawryluk in https://github.com/Expensify/App/pull/102847
* [CP Staging] fix: Report opens with skeleton loader after clicking View on growl when invoice is deleted offline by @mhawryluk in https://github.com/Expensify/App/pull/102872
* Fix not-found page after clearing cache by @chrispader in https://github.com/Expensify/App/pull/100859
* [No QA] Catch rejected AudioContext.resume() calls in howler by @MelvinBot in https://github.com/Expensify/App/pull/102795
* [No QA] Mock the user search in ConciergePromptBoxTest to fix the Jest job on main by @mountiny in https://github.com/Expensify/App/pull/102895
* Stop building unused export templates in exported-to filter by @TMisiukiewicz in https://github.com/Expensify/App/pull/102876
* Give HTML system messages the wrapping styles the text branch already has by @mukhrr in https://github.com/Expensify/App/pull/102382
* fix: show scan error instead of populating $0 amount when scan fails by @x-dev90 in https://github.com/Expensify/App/pull/98871
* [No QA] Add Day to the Insights Spend over time group-by options by @MelvinBot in https://github.com/Expensify/App/pull/102636
* Load personal details in parallel with OpenApp by @TMisiukiewicz in https://github.com/Expensify/App/pull/102641
* [Payment due @truph01] [NoQA] [Insights] Horizontal bar chart follow-ups: switch narrow layouts and grow height by @adamgrzybowski in https://github.com/Expensify/App/pull/102321
* [Payment due @Pujan92] [No QA] Update shell-quote to 1.9.0 by @MelvinBot in https://github.com/Expensify/App/pull/102419
* [NoQA] Reconcile persisted Concierge drafts by action ID by @inimaga in https://github.com/Expensify/App/pull/100420
* Open a deep link captured before onboarding instead of dropping it by @mukhrr in https://github.com/Expensify/App/pull/101558
* Disable the workspace bank account row offline unless the reimburser is unlocking a locked account by @MelvinBot in https://github.com/Expensify/App/pull/102839
* Enable auto-scroll to the next actionable report preview in production by @MelvinBot in https://github.com/Expensify/App/pull/102851
* Extract ReportDetailsNameSection and ReportDetailsTitleSection by @sosek108 in https://github.com/Expensify/App/pull/102738
* [CP Staging] fix: Expense - Arrow navigation is not automatically displayed when opening expense via growl by @mhawryluk in https://github.com/Expensify/App/pull/102854
* [No QA] Mention loyalty programs in travel nudges by @blimpich in https://github.com/Expensify/App/pull/102804
* Animate the action-badge forward-scroll on native to match web by @MelvinBot in https://github.com/Expensify/App/pull/102116
* Fix duplicate Join Workspace screen after merging a work email by @MelvinBot in https://github.com/Expensify/App/pull/101393
* Queue bulk mark-as-exported for the full matching search under select-all by @ishpaul777 in https://github.com/Expensify/App/pull/102206
* [No QA] Skip AI reviews when they already ran for the PR head commit by @neil-marcellini in https://github.com/Expensify/App/pull/98016
* [No QA] Stop cherry-picked Internal QA PRs reappearing in the next deploy checklist by @Julesssss in https://github.com/Expensify/App/pull/102908
* Revert "Expense - Scan confirm page receipt has 8px gap above first field instead of 16px" by @Julesssss in https://github.com/Expensify/App/pull/102922
* Revert "fix: remove unsafe assertions and correct search filter matching" by @Julesssss in https://github.com/Expensify/App/pull/102919
* [No QA] Restore eslint-seatbelt allowances dropped by the revert of PR 98854 by @Julesssss in https://github.com/Expensify/App/pull/102924
* [cp staging] Revert "Merge pull request #100128 from Krishna2323/krishna2323/issue…" by @JS00001 in https://github.com/Expensify/App/pull/102925
* Skip malformed lines in the pusher-js HTTP stream instead of throwing by @MelvinBot in https://github.com/Expensify/App/pull/102752
* [No QA] Reduce direct PERSONAL_DETAILS_LIST usages by @TMisiukiewicz in https://github.com/Expensify/App/pull/102729
* πŸ’ Cherry pick PR #103057 to staging πŸ’ by @os-botify[bot] in https://github.com/Expensify/App/pull/103069


**Full Changelog**: https://github.com/Expensify/App/compare/9.5.1-9...9.5.2-4

Related Repositories