What's Changed
- fix: disable report preview Submit button when strict workflow rules block submission by @kamronbek04 in #97946
- Finish typography token migration: alias remaining text styles, drop fontSizeH1, close the lint escape hatch by @MelvinBot in #100444
- [CP Staging] [No QA] Stop downloading react-native dSYMs in the deploy iOS build by @mountiny in #100507
- fix: make agent-device replays fail safely by @BartekObudzinski in #97555
- Fix landscape mode layout on Agents pages by @GCyganek in #97782
- [CP Staging] Revert "Fix: prevent dynamic route crash when "action" query param exists in both base path and suffix" by @mountiny in #100514
- Keep copilot receipts loading and stop 2-hour expiry check from endin… by @emkhalid in #98893
- [CP Staging] Hide Merge Reports functionality behind beta by @Gonals in #100523
- Floor lineHeightXSmall at 11 so small device font scales don't clip descenders and link underlines by @MelvinBot in #100448
- Refactor: migrate convertToDisplayString to useCurrencyListActions hook (part 20) by @shubham1206agra in #100201
- Remove the HTTP PusherPing heartbeat by @adhorodyski in #100296
- Fix duplicate distance rates after copying workspace settings by @neil-marcellini in #99678
- Duplicate GPS distance expenses as manual distance by @x-dev90 in #98189
- Fix cropped map after editing odometer in Distance flow by @x-dev90 in #96560
- [Payment due @getusha] Add bank statement and ssn requirements by @madmax330 in #98500
- [Home Page] Clean up Home's For you and Time sensitive sections by combining them by @adamgrzybowski in #100323
- [No QA] Update ProposalPolice handling of proposal updates by @roryabraham in #99467
- refactor: remove unsafe TextInputWithSymbol assertions by @KJ21-ENG in #98837
- refactor: remove unsafe AgreementsFullStep assertions by @KJ21-ENG in #98842
- [No QA] Add
CONSISTENCY-19- prop comment must add information rule by @JakubKorytko in #99906 - fix: remove unsafe assertions from receipt and settings flows by @KJ21-ENG in #98847
- Vertically center the condensed badge count in the LHN tab pill by @MelvinBot in #100443
- [No QA] Fix import/no-cycle - part 3 by @LukasMod in #99910
- [No QA] Expand integrationIcons render-array into explicit JSX in ExportedIconCell by @MelvinBot in #100262
- [No QA] Fix import/no-cycle - part 4 by @LukasMod in #100028
- [No QA] ci: ignore test calls in Onyx review workflow by @tgolen in #100525
- [No QA] Rebuild lint seatbelt pipeline outside ESLint by @roryabraham in #99259
- Navigate to the clicked expense in a multi-expense report preview (v2) by @wildan-m in #97308
- [No QA] Update help docs for Release 1: Violations by submitter by @MelvinBot in #99296
- [Merge ATS] Build the Recruiting page, provider card, and navigation by @bernhardoj in #100136
- perf: remove Promise.all gate before scan-to-confirmation navigation by @OlimpiaZurek in #99430
- [No QA] Docs updates for E/A#99201 Unique ID mapping for company card CSV import by @MelvinBot in #99797
- Resolve reports snapshot-first in Search bulk Delete and Reject by @VickyStash in #99047
- Split the confirmation footer by variants pt2 by @VickyStash in #100041
- fix: Tax - No autofocus in the name editing menu taxes by @TaduJR in #99757
- Treat an in-flight reconnect as covering the gap it is already fetching by @adhorodyski in #100320
- Show the auto-approval limit notice on the expense preview by @KioCoan in #99796
- fix (batch 5): isNewManualExpenseFlowEnabled beta flag regressions by @thelullabyy in #99947
- Claim
/oauth/native-callbackas an iOS universal link by @JakubKorytko in #100393 - fix: Restore all matching items selected label by @emkhalid in #99579
- Remove getPersonalDetailByEmail from buildPolicyData and getDisplayNameForWorkspace by @bernhardoj in #99652
- Part 3 - Audit usage of Str.removeSMSDomain by @FitseTLT in #100056
- Add "Reconciliation - All Expenses" export option for NewDot by @dukenv0307 in #99309
- Replace getPersonalDetailByEmail with usePersonalDetailByLogin for join request and modified expense actions by @bernhardoj in #98894
- Fix receipt full-res image not loading when preview displaces it in flow by @neerajbachani in #100423
- [No QA] Consolidate TypeScript projects under a root project with subproject references by @roryabraham in #100553
- [No QA][Onyx bump] Bump react-native-onyx from 3.0.109 to 3.0.110 by @sosek108 in #100385
- [No QA] Add Travel Groups and Roles documentation by @strepanier03 in #99005
- fix: Navigation bar translucency on Android by @chrispader in #87810
- refactor: remove isDraftReport and require isDraftChatReport in the track-expense flow by @daledah in #98960
- [No QA] Create Manage-Vendor-Matching-for-Xero.md by @stephanieelliott in #100458
- Clarify Approval Options When Held Expenses Exist And Fix Regressions by @mkzie2 in #83667
- Show a specific error when adding a domain-controlled work email during onboarding by @MelvinBot in #99108
New Contributors
- @kamronbek04 made their first contribution in #97946
Full Changelog: 9.4.73-3...9.4.74-2