Skip to content

Deploy Checklist: New Expensify 2026-07-03 #95291

Description

@OSBotify

Release Version: 9.4.27-2
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:

Mobile-Expensify PRs:

Deploy Blockers:

Chronologically ordered merged PRs (oldest first)
  1. [Payment due @truph01] [No QA] Docs updates for E/A#92275 bulk Download as PDF for reports #94228
  2. Docs updates for E/A#93451 Add Recently added slot to Home Overview #94230
  3. [No QA] Docs updates for E/A#93937 saved searches sorted alphabetically #94231
  4. [Rules Revamp] Release 2: Move category-based creation into Rules; add Require fields and Flag for review #94696
  5. [No QA] Docs updates for E/A#94131 surface RuleBot in Agent rules section #94636
  6. fix: Created expense at submitted report then create expense at ws chat add to the submitted report #93783
  7. Guard P2P participant selection against negative-amount expenses from self DM #94661
  8. Add Rillet integration #93897
  9. [No QA] Block eslint-disable bypasses of the Onyx.connect() ban #94829
  10. Mobile-Expensify submodule update to 92cbb14Adhoc Build
    https://github.com/Expensify/Mobile-Expensify/pull/13963
  11. [Payment due @daledah] Add certificate pinning for NewDot #92503
  12. migrate workspace company cards #94280
  13. 83833 migrate tags part 2 #94935
  14. Make Attendees and Per attendee columns sortable in expense report view #94511
  15. [No QA] Add support for dynamic routes that host an onyx tab navigator #94172
  16. refactor navigateToAndCreateGroupChat to use useOnyx data #94431
  17. Mobile-Expensify submodule update to 9.4.26-1Adhoc Build
  18. Mobile-Expensify submodule update to e52cc0eAdhoc Build
    https://github.com/Expensify/Mobile-Expensify/pull/13992
  19. [No QA] Fix flaky SessionTest timeout on CI job 8 #95153
  20. [NoQA] feat: add ME PR support to Publish React Native Android Artifacts workflow #95142
  21. [Performance] Reduce DEFAULT handler fallthrough for unrecognized-tab submissions #94454
  22. [Payment due @ZhenjaHorbach] Fix domain force-2FA disable routing by avoiding dynamic suffix collision #95040
  23. [No QA] Docs updates for E/A#92289 legal name and physical address VBBA copy #94501
  24. Mobile-Expensify submodule update to 9.4.26-2Adhoc Build
  25. [No QA] Fix remote iOS build #95167
  26. refactor: add dedicated ChatSearchView #94816
  27. Show workspace owner as Editor in Members tab on Submit workspaces #95064
  28. Mobile-Expensify submodule update to 9.4.26-3Adhoc Build
  29. [Submit] Show "Needs approval" for Submit approvers in Search/Spend #94610
  30. refactor: add dedicated ExpenseGroupedSearchView #95028
  31. Removed useOptionsList hook from the codebase #94883
  32. Mobile-Expensify submodule update to 9.4.26-4Adhoc Build
  33. Use freshly computed report totals from backend instead of potentially stale stored total #91798
  34. [NoQA] Fix duplicate searchListContent declaration breaking main typecheck/lint #95189
  35. fix: Home - Action button disappears the second time an expense is opened from "Recently Added" #94466
  36. refactor: add dedicated ExpenseReportSearchView #94822
  37. [No QA] feat: add telemetry span for Share Extension submit flow #94948
  38. Revert "[CP Staging] Fix bulk delete in Search dropping deletions during confirm modal dismiss" #95198
  39. refactor: add dedicated TaskSearchView #94820
  40. Mobile-Expensify submodule update to 9.4.26-5Adhoc Build
  41. [No QA] Remove stale throttled translation key #95020
  42. Remove Onyx.connect() usage for ONYXKEYS.COLLECTION.POLICY_TAGS in updateSplitTransactions function from src/libs/actions/IOU/SplitTransactionUpdate.ts #89759
  43. [Payment due @ikevin127] Optimistically show thinking indicator in custom agent dms #94982
  44. Skip Skia web charts when WebGL shader precision is unavailable #92874
  45. Move pre-selected vacation delegates and workspace members to top #92765
  46. [No QA] Revert "Restore ios/CertificatePinning.swift to match main" #95215
  47. Show card name on narrow Expensify Card table rows #95009
  48. Refactor: migrate getRate to use usePersonalPolicy hook (part 3) #95067
  49. Preserve Search context when leaving a thread #94114
  50. [NoQA] [HR Import] Error states + reconnect prompt on the HR card #91975
  51. Fix - Chat - Unread marker is not displayed when receiving messages on a new conversation. #94460
  52. Truncate long RuleBot name in Agent rules Enforced by pill #94837
  53. [No QA] Replace Copy AgentZero request ID with View AgentZero trace #95074
  54. [No QA] docs: set threshold for ShareExtensionOpenSubmitFlow #95205
  55. Mobile-Expensify submodule update to 9.4.26-6Adhoc Build
  56. Refactor: migrate getRate to use usePersonalPolicy hook (part 2) #95052
  57. [No QA] Docs updates for E/A#86932 disabled category and tag expense alerts #93865
  58. [No QA] Docs updates for E/A#93941 Workspace member role filter availability and reset #94067
  59. Add policy copy change log messages #94189
  60. [No QA] Docs updates for E/A#93884 future-dated card transaction start dates #94065
  61. Fix flickering lock icon on Consolidated Travel Billing toggle #95047
  62. feat(card): prompt for personal details before virtual card reveal #91634
  63. [No QA] Support Dual-Initial Avatars in App #94567
  64. Fix: include member workspace chats in search router for admins #92226
  65. [No QA] Upgrade eslint-config-expensify to 4.0.6 #93333
  66. Fix Share button being unresponsive when sharing an image to a new email #94905
  67. [No QA] Improve Copilot feature documentation and discoverability #91786
  68. Enhance odometer reading handling by introducing a baseline compariso… #95039
  69. fix: back button issue when opening concierge #94660
  70. Fix iOS freeze on locked-account pay in selection mode (#95026) #95063
  71. Fix Blank space is shown below the empty state content #94151
  72. [No QA] Fix broken OptionsListUtils test and repo-wide ESLint resolution error #95244
  73. [No QA] Switch from Prettier to Oxfmt #93994
  74. [No QA] Extend Oxfmt formatting to YAML files #95254
  75. [No QA] Add lefthook pre-commit hook for oxfmt #95255
  76. [No QA] Use oxfmt instead of prettier in Claude auto-format hook #95263
  77. [No QA] Add YAML to lefthook oxfmt glob #95264
  78. Mobile-Expensify submodule update to 9.4.26-7Adhoc Build
  79. Update Original to Purchase in expense thread for Expensify Cards #88002
  80. [No QA] Clarify card request process in documentation #94141
  81. added first approver and first approved columns #93169
  82. Recalculate split shares to 0 when clearing the amount field #95236
  83. Mobile-Expensify submodule update to f2a2458Adhoc Build
  84. Mobile-Expensify submodule update to 9.4.26-8Adhoc Build
  85. Mobile-Expensify submodule update to 9.4.26-9Adhoc Build
  86. Getting started: show Issue Expensify cards step when Expensify Card is selected during onboarding #94423
  87. perf(search): replace useTransition with TransitionTracker for autocomplete list render #94875
  88. [No QA] Growl: add action button and loading variant #94865
  89. Replace getDisplayNameOrDefault with temporaryGetDisplayNameOrDefault - batch 2 #94990
  90. Mobile-Expensify submodule update to 9.4.27-0Adhoc Build
  91. Mobile-Expensify submodule update to 9.4.27-1Adhoc Build
  92. [CP Staging] update old routes #95368
  93. Mobile-Expensify submodule update to 9.4.27-27c041e3

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

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions