9.4.62-4
charmbracelet/gum9.4.62-4Aug 27, 2026by github-actions[bot]
AI Summary
This is a maintenance release for the Expensify app focusing on performance optimizations, UI stability fixes (specifically regarding Concierge prompts and workspace interactions), and architectural refactoring of TypeScript configurations and OnyxUtils.
Key Highlights
- Performance improvements including selective data fetching and write-readiness barriers
- UI fixes for Concierge prompt boxes, workspace tag toggles, and Android upload thumbnails
- Typography updates with semantic type tokens
- Refactoring of tsconfig projects and migration of OnyxUtils usage
New Features
- Display of auto-approval limit notices
- Standardization of Expense Report headers and button placement
- Allowing setting and displaying approval workflows with new structure
- Display of short date labels on chart X axis
Full Release Notes
## What's Changed * [No QA] Clean up tsconfig projects to split by runtime rather than directory by @roryabraham in https://github.com/Expensify/App/pull/99354 * [Typography] Add semantic type tokens and block new raw font sizes by @grgia in https://github.com/Expensify/App/pull/96880 * Remove OnyxUtils.get() from useUpdateGpsTripOnReconnect (use useOnyx) by @MelvinBot in https://github.com/Expensify/App/pull/99391 * Hide duplicate Concierge row on Help page when guide/AM/relationship manager is Concierge by @MelvinBot in https://github.com/Expensify/App/pull/97293 * [No QA] fix: pin actionName in useShouldSuppressConciergeIndicators test to stop flaky failures by @Valforte in https://github.com/Expensify/App/pull/99488 * Fix: feed quick filter auto-expands for short lists with two-line rows by @MelvinBot in https://github.com/Expensify/App/pull/99404 * [No QA] Protect ProposalPolice coordinator comments by @roryabraham in https://github.com/Expensify/App/pull/99465 * Fix Workspace Tags toggle freeze on large tag lists (scope violation recompute + pending switch feedback) by @MelvinBot in https://github.com/Expensify/App/pull/97820 * Fix auto-select for uniquely resolved dependent tags by @dukenv0307 in https://github.com/Expensify/App/pull/99340 * [No QA] Update AI Agent help docs by @MelvinBot in https://github.com/Expensify/App/pull/95235 * Update getWorkspaceRules to include flag for review and field requirement by @hungvu193 in https://github.com/Expensify/App/pull/99312 * Return a fixed-size policy summary from the IOURequestStartPage selector by @TMisiukiewicz in https://github.com/Expensify/App/pull/99319 * Perf: select narrow admin policy data instead of the whole policy array by @TMisiukiewicz in https://github.com/Expensify/App/pull/99174 * Migrate money request scan and waypoint steps to dynamic routes by @suneox in https://github.com/Expensify/App/pull/99150 * migrate SPLIT_EXPENSE_EDIT by @huult in https://github.com/Expensify/App/pull/98547 * 83867 travel workspace by @huult in https://github.com/Expensify/App/pull/98631 * [No QA] Fix split expense dynamic route typecheck by @mjasikowski in https://github.com/Expensify/App/pull/99532 * [CP Staging] Fix Concierge prompt box requiring two taps with keyboard open by @mhawryluk in https://github.com/Expensify/App/pull/99529 * Display short date labels on chart X axis by @mhawryluk in https://github.com/Expensify/App/pull/98885 * Standardize Expense Report and Expense header with predictable button placement and carousel counter by @thelullabyy in https://github.com/Expensify/App/pull/98611 * [CP Staging] Fix broken Android upload thumbnail by adding file:// scheme to cached local source by @MelvinBot in https://github.com/Expensify/App/pull/99546 * Fix: keep Submit-to popover at a constant height when the recipient list collapses by @MelvinBot in https://github.com/Expensify/App/pull/99260 * [CP Staging] Fix iOS - Home - Concierge prompt box remains expanded after sending attachment by @GCyganek in https://github.com/Expensify/App/pull/99537 * Show the auto-approval limit notice when the submitter is also the approver by @KioCoan in https://github.com/Expensify/App/pull/99016 * fix: open the sign in RHP for anonymous users in the Home Concierge prompt box by @dariusz-biela in https://github.com/Expensify/App/pull/99552 * fix: use TRACK instead of SUBMIT for Teachers Unite expenses by @huult in https://github.com/Expensify/App/pull/97858 * [Payment due @Krishna2323] Keep personal details when switching to and from copilot account by @cead22 in https://github.com/Expensify/App/pull/99368 * [No QA] [Performance] Add write-readiness barrier primitives and pending-write modules by @JakubKorytko in https://github.com/Expensify/App/pull/98979 * [Payment due @thelullabyy] Allow setting and displaying approval workflows with the new structure by @Gonals in https://github.com/Expensify/App/pull/94825 * Gate close account for copilots by @lakchote in https://github.com/Expensify/App/pull/99400 * Fix: tear down Onfido SDK on unmount so its modal is removed when the RHP closes by @MelvinBot in https://github.com/Expensify/App/pull/99424 * Use a distinct empty state illustration for Spend > Expenses by @MelvinBot in https://github.com/Expensify/App/pull/99387 * Fix required-field error appearing on file upload in Signer info documents step by @MelvinBot in https://github.com/Expensify/App/pull/99590 * Patch react-native-fs to build file URIs with Uri.fromFile by @adhorodyski in https://github.com/Expensify/App/pull/99333 * Prevent self-parented report when preexistingReportID equals parentReportID by @TMisiukiewicz in https://github.com/Expensify/App/pull/99536 * Fix stuck Save loading state when cancelling travel monthly limit reduction by @MelvinBot in https://github.com/Expensify/App/pull/99344 **Full Changelog**: https://github.com/Expensify/App/compare/9.4.61-4...9.4.62-4