9.4.81-1

Expensify/App9.4.81-1Sep 17, 2026by github-actions[bot]

Upgrading?

AI Summary

This release focuses on enhancing chart rendering capabilities across web and mobile, improving user interface elements like headers and vendor pickers, and addressing various bug fixes and refactoring efforts to improve code quality and stability.

Key Highlights

  • Enhanced chart rendering with native resolution support and pinch-to-zoom functionality on mobile.
  • UI improvements including shortened page header bars on mobile and alphabetically sorted vendor pickers.
  • Removal of the expensifyCardEuUk beta feature.
  • Refactoring of user list items and dynamic routes to improve code maintainability.
  • New feature: Overdue invoice awareness is now surfaced on the Home page in New Expensify.

New Features

  • Render expanded charts at native resolution with pinch-zoom support via MultiGestureCanvas.
  • Surface overdue invoice awareness on the Home page in New Expensify.
  • Rename 'Download as PDF' to 'Download report' with singular/plural support.
  • Sort vendor pickers alphabetically.

Full Release Notes

## What's Changed
* [No QA] Fix import/no-cycle - part 5 by @LukasMod in https://github.com/Expensify/App/pull/100029
* fix(charts): keep the skia canvas usable when React re-runs Canvas effects on web by @dariusz-biela in https://github.com/Expensify/App/pull/100714
* User list item decomposition by @jmusial in https://github.com/Expensify/App/pull/100306
* Bind category and tag dynamic routes to the screen that builds them by @mukhrr in https://github.com/Expensify/App/pull/100501
* [No QA] Docs updates for E/A#98662 Tabbed Rules and Workflows help site updates by @MelvinBot in https://github.com/Expensify/App/pull/101010
* [No QA] Suggest switching to New Expensify when feature is unavailable for Classic.  by @stephanieelliott in https://github.com/Expensify/App/pull/101274
* [No QA] Add NS0995 help article for deactivated NetSuite employees by @dukenv0307 in https://github.com/Expensify/App/pull/101060
* [No QA] Wrap personal details list access behind hooks, store and update builder by @TMisiukiewicz in https://github.com/Expensify/App/pull/101075
* Extract Expensify card lookup into pure function by @sosek108 in https://github.com/Expensify/App/pull/100945
* [NoQA] [Insights] Move the Account button to the top bar by @mhawryluk in https://github.com/Expensify/App/pull/100705
* [No QA] Docs updates for E/A#99681 Correct delete-workspace steps and confirmation window by @MelvinBot in https://github.com/Expensify/App/pull/100098
* [No QA] Docs updates for E/A#86864 Merchant Rule behavior when applied tag is deleted by @MelvinBot in https://github.com/Expensify/App/pull/100743
* [No QA] Docs updates for E/A#97671 Add Download receipts to search pages by @MelvinBot in https://github.com/Expensify/App/pull/98819
* Shorten the page header bar to 64px on mobile by @MelvinBot in https://github.com/Expensify/App/pull/100805
* [NoQA] chore(ci): measure main's Reassure baseline once per push by @WojtekBoman in https://github.com/Expensify/App/pull/100802
* Rename "Download as PDF" to "Download report" with singular/plural support by @ahmdshrif in https://github.com/Expensify/App/pull/101181
* Sort vendor pickers alphabetically by @ShridharGoel in https://github.com/Expensify/App/pull/101206
* [No QA] Docs updates for E/A#94694 Import workflows on Workflows page by @MelvinBot in https://github.com/Expensify/App/pull/97383
* Widen domain-group card preferred workspace to company card feeds by @dilshodmackbook-sketch in https://github.com/Expensify/App/pull/100127
* feat: render expanded chart at native resolution and add pinch-zoom via MultiGestureCanvas by @abbasifaizan70 in https://github.com/Expensify/App/pull/97698
* Remove REPORT_ACTIONS Onyx reference from hasReportBeenForwardedSinceLastSubmit - 3 by @cretadn22 in https://github.com/Expensify/App/pull/99817
* [Payment due @DylanDylann] [No QA] Remove expensifyCardEuUk beta by @KioCoan in https://github.com/Expensify/App/pull/101011
* [NoQA] fix(telemetry): configure Sentry build as dist by @chrispader in https://github.com/Expensify/App/pull/97700
* ReportActionAvatars - report-type wrappers - ExpenseReportAvatar by @jmusial in https://github.com/Expensify/App/pull/99661
* Pass the client lastReadTime to MarkAllAsRead API by @hungvu193 in https://github.com/Expensify/App/pull/100002
* [No QA] perf(ci): restore main's Reassure baseline from the cache instead of measuring it by @WojtekBoman in https://github.com/Expensify/App/pull/101329
* fix: handle trip travelers without user details by @rlinoz in https://github.com/Expensify/App/pull/101197
* Reuse the submitter's outstanding report when the workspace chat has no iouReportID by @MelvinBot in https://github.com/Expensify/App/pull/100672
* Refactor search key to a query param by @bernhardoj in https://github.com/Expensify/App/pull/101186
* [Payment due @gijoe0295] Add error handling for cases where the expense may have moved before rejection by @akinwale in https://github.com/Expensify/App/pull/92860
* Fix inconstent pin #admin logic for track intent workspace creation by @hungvu193 in https://github.com/Expensify/App/pull/101078
* [Merge ATS] Generalize merge connection for ATS by @bernhardoj in https://github.com/Expensify/App/pull/100581
* [Home Page] Surface overdue invoice awareness on Home in New Expensify by @adamgrzybowski in https://github.com/Expensify/App/pull/100604
* Flag the group's own snapshot entry when a whole-group delete removes it by @nkdengineer in https://github.com/Expensify/App/pull/100675
* Read the picked file name from the URI when the native picker returns no metadata by @MelvinBot in https://github.com/Expensify/App/pull/101356


**Full Changelog**: https://github.com/Expensify/App/compare/9.4.80-0...9.4.81-1

Related Repositories