Skip to content

throwaway PR: test build number bump in build time only - #34515

Draft
joaoloureirop wants to merge 8 commits into
mainfrom
release/0.0.0-test
Draft

throwaway PR: test build number bump in build time only#34515
joaoloureirop wants to merge 8 commits into
mainfrom
release/0.0.0-test

Conversation

@joaoloureirop

Copy link
Copy Markdown
Contributor

Description

Changelog

CHANGELOG entry:

Related issues

Fixes:

Manual testing steps

Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]

Screenshots/Recordings

Before

After

Pre-merge author checklist

Performance checks (if applicable)

  • I've tested on Android
    • Ideally on a mid-range device; emulator is acceptable
  • I've tested with a power user scenario
    • Use these power-user SRPs to import wallets with many accounts and tokens
  • I've instrumented key operations with Sentry traces for production performance metrics

For performance guidelines and tooling, see the Performance Guide.

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

joaoloureirop and others added 8 commits July 15, 2026 01:18
…them

Stop pushing [skip ci] Bump version number commits to release branches by
removing commit-build-version.yml and passing generated build numbers into
build.yml for RC, production, and auto RC workflows. Release cut no longer
allocates a new build number via create-release-pr; it reads the current
value for github-tools validation only.

Fixes MCWP-527
Keep iOS and Android on the same commit after removing bump commits,
so cherry-picks mid-run cannot diverge platforms under one build number.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamask-ci metamask-ci Bot added the team-mobile-platform Mobile Platform team label Aug 7, 2026
@metamask-ci

metamask-ci Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

PR template — items to address before "Ready for review"

Blocking — these items fail the workflow until fixed:

  • Changelog section has an empty CHANGELOG entry: line. Fill in a description, write CHANGELOG entry: null, or apply the no-changelog label.

Warnings — informational, address before merging:

  • Description section is empty. Describe what changed and why.
  • Related issues section is empty. Add Fixes: #123 / Closes: <URL> / Refs: <Jira key>, or write a short rationale after the colon.
  • Manual testing steps still contain template content (the Gherkin example title or a [...] placeholder). Replace with real steps, or write N/A — <reason>.
  • Screenshots/Recordings section is empty. Add an image/video for user-facing changes, logs/console output for non-user-facing changes, or write N/A if no evidence is applicable.
  • Pre-merge author checklist has unchecked items (e.g. "I've followed MetaMask Contributor Docs and MetaMask Mobile Coding Standards."). Every box must be consciously checked — see docs/readme/ready-for-review.md.

See docs/readme/ready-for-review.md for the full Definition of Ready for Review.

@github-actions github-actions Bot added the size-M label Aug 7, 2026
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: None (no tests recommended)
  • Selected Performance tags: None (no tests recommended)
  • Risk Level: low
  • AI Confidence: 98%
click to see 🤖 AI reasoning details

E2E Test Selection:
All 9 changed files are exclusively CI/CD infrastructure files with no application code changes:

  1. .github/workflows/commit-build-version.yml — Deleted entirely. This was a reusable workflow that committed build version bumps to branches. Its removal is part of a refactoring to apply build numbers locally at build time instead.

  2. .github/workflows/auto-rc-ota-build-core.yml — Added a build_number input parameter and passes it through to build.yml. Pure CI pipeline change.

  3. .github/workflows/build-rc-auto.yml — Removed the update_rc_build_version job (which called commit-build-version.yml), reduced permissions from contents: write to contents: read, and added support for release/x.y.z-test branch naming pattern. Pure CI change.

  4. .github/workflows/build.yml — Minor comment cleanup only (cosmetic).

  5. .github/workflows/runway-production-builds.yml & runway-rc-builds.yml — Removed commit-build-version job, reduced permissions to contents: read, now pass build_number directly to build.yml. Pure CI pipeline changes.

  6. .github/workflows/create-release-pr.yml — Replaced generate-build-version job with resolve-build-version (reads existing build number from version files instead of generating a new one). Pure CI change.

  7. scripts/create-release-pr.sh — Removed NEW_VERSION_NUMBER parameter and set-build-version.sh call; now only bumps semver. Pure release script change.

  8. .github/CODEOWNERS — Removed the deleted commit-build-version.yml entry. Administrative change.

None of these changes affect:

  • Any application source code
  • Any E2E test files, page objects, selectors, flows, or fixtures
  • Any user-facing functionality or UI
  • Any performance-sensitive code paths

The PR is a pure CI/CD refactoring that changes how build numbers are applied (locally at build time vs. committed to the branch). This has zero impact on E2E test scenarios or performance benchmarks. No E2E tags or performance tags should be selected.

Performance Test Selection:
All changes are purely CI/CD infrastructure (GitHub Actions workflows and release scripts). No application code, performance-sensitive paths, or user-facing functionality was modified. No performance tests are warranted.

View GitHub Actions results

@sonarqubecloud

sonarqubecloud Bot commented Aug 7, 2026

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

🚀 RC Builds Ready for Testing

Platform Link Version
iOS TestFlight Go to TestFlight and download build 6406
Android Download from CI RC 0.0.0-test (6406) — download APK artifact from the linked run
More Info
  • Version: 0.0.0-test
  • iOS Build Number: 6406
  • Android Build Number: 6406
  • Build Pipeline: View Pipeline

🛡️ Build Environment

Setting Value
Environment rc
Build Type main
Remote Feature Flag Env rc
Remote Feature Flag Distribution main
Ramps Environment production
API URLs & Details
API URL
Rewards API https://rewards.api.cx.metamask.io
Portfolio API https://portfolio.api.cx.metamask.io
Portfolio API (alt) https://portfolio.api.cx.metamask.io
Security Alerts API https://security-alerts.api.cx.metamask.io

Build Flags:

  • Build Name: main-rc
  • HAS_TEST_OVERRIDES: false
  • RAMP_DEV_BUILD: false
---

🍒 What's in this RC

Cherry-picks (2 commits)
Commit Description
d8b6154059 auto rc build. run on release test branch
08a76be219 Merge branch 'main' into fix/ci-build-number

Changelog (859 commits from main at RC cut)
Commit Description
cbe5e23648 ci: cache cocoapods in check-diff job (#33442)
de3e8cce77 chore(analytics): rename Transaction Detail List Item Clicked to Activity Details Opened (#34431)
12a5ebfd16 fix(network-banner): render inline RPC action link as text so it flows on iOS (#34434)
202b4c2dfe feat: AB test for chain value ordering in swaps network picker (#34418)
36a8f96e48 chore(appium): upgrade Appium smoke tests to Appium 3 (#34404)
4dc968e598 feat: add btc network to crypto search (#34494)
32bd703bcd test: fix PredictMarketDetails Positions tab CV flake (#34495)
515b470e8f fix: Update eth-json-rpc-middleware package to latest (#34392)
bae7d15c88 feat(rewards): add VIP equity multiplier UI and progress pointer (#34365)
e8e72339d0 feat(ci): add Android internal distribution via Runway (MCWP-731) (#33746)
55ced543e8 test(e2e): stabilize and unskip token-approve Appium smokes (#34448)
82ae592e80 fix(perps): fix truncated market names and Pro fees layout cp-8.7.0 (#34476)
3633870945 fix: revert unreleased Arc default-network migration cp-8.6.0 (#34445)
3e1619d912 fix(settings): update notifications settings copy and casing (#32922)
8d1b67bbd2 fix(locales): remove inappropriate exclamation points from user-facing strings (#34429)
d6ae2b10d4 feat: add Pro only reduce only validation cp-8.7.0 (#34381)
f8c1322ea3 feat(swaps): add Sentry performance traces (#34423)
af048060d0 test: assert registration confirm and step visit analytics (#34291)
c36685ee22 fix(perps): commit cleaned USD amount on blur with trailing decimal cp-8.7.0 (#34421)
a4c9501e2d feat(predict-next): add canonical read contracts (#34462)
5449688ff3 fix(social-leaderboard): keep QuickBuy Sell enabled when position price ticks cp-8.7.0 (#34422)
670445812c fix: round down money account deposit amounts past source balance cp-8.6.0 (#34456)
ad52814342 feat: track notification opt out (#33799)
bdef5b71fa fix: bump @metamask/transaction-controller to 69.5.1 (#34412)
3a56af74cd test(performance): improve Android test reliability (#34447)
08f07687c8 fix(appium): harden Perps details check and re-enable trending feed smoke (#34454)
b2a36adfda fix(money): increase Money card tilt range of motion (MUSD-1249) (#34403)
0aa7c4cfb7 release: Bump main version to 8.8.0 (#34453)
4bf71395a0 fix(ci): re-check for a reusable iOS build before starting the compile (#34334)
75ed6ce2fe fix: hide foreground wallet_activity notifications (#34411)
b3bcc5d652 docs(predict): scaffold Kalshi-first PredictNext (#34427)
7eaee38ffb test: skip trending feed View All navigation smoke (#34449)
a1db7820b9 chore: bump assets controller 13 (#34346)
84de6cd13e feat: thin seedless Appium lock/reset and QR asserts (#34173)
02ce4fe102 fix: return MM Pay results back to amount page (#34396)
dd198c142b fix: remove isMaxDeposit context now that isMaxAmount covers money account deposits (#34444)
c179e48559 feat(perps): add Lite/Pro mode selection bottom sheet cp-8.7.0 (#34395)
f6f1daab36 fix(perps): polish Pro market UI and order form interactions cp-8.7.0 (#34398)
e3517ccd56 feat: move seedless Appium coverage to CV/unit (#34172)
cc8432d437 fix(activity): correct the Network row on MetaMask Pay funding activity (#34313)
c977ad516a fix(ci): re-check for a reusable Android build before starting the compile (#34401)
6c2388b128 fix(ci): stop E2E gating logic from invalidating the native fingerprint (#34309)
15be657dd8 fix(ci): stop .gitignore edits from invalidating every cached native build (#34345)
85d96b793a chore: upgrade design system packages (v58.0.0) (#34430)
a8829c8bbc chore: remove unmountOnBlur option (#34363)
c10041bc77 feat: MUSD-1256 Update money deposit footer CTA button padding on token details page (#34380)
85d5c92136 fix(activity): replace "Swap again" with "Lend again" on lending activity details (#34310)
4a7825c97c fix(activity): restore the block-explorer sheet for cross-chain bridges cp-8.7.0 (#34373)
4fdb11e657 fix(ci): make artifact availability, not run completion, decide reusable-build donors (#34270)
0b21fe83bd fix(social): remove useElevatedSurface shim from Social & AI BottomSheets (TMCU-1050) (#33164)
4328148860 test(e2e): migrate confirmations transactions smokes to Appium (MMQA-2046) (#34338)
70d360faaa refactor(confirmations): migrate alert-modal buttons to MMDS Button (#34372)
e31f16ba70 fix(predict): keep PWAT auto-select on betslip reopen (#34371)
d530f7a239 fix: wallet activity notif settings first account toggle (#34247)
9c38522da9 fix(NetworkListBottomSheet): wrap FlashList in Box for better bottom sheet rendering (#34407)
acd6d5f05a refactor(confirmations): migrate BottomSheet components to MMDS (#34308)
f3ae029682 feat: Swaps CTA button AB test (#34306)
388e5edbec fix: update selectedSelectedInternalAccount to not capture exceptions where the selectedAccount is emtpy (#34301)
e95d2e86db chore: deprecate non-EVM pre-Unified Send Flow code (#34397)
d8911c8117 fix(appium): restore phase timing capture across Playwright use() (#34382)
128ed3637b feat(perps): add market filter toggle to Orders tab (#34351)
96ae46f447 fix: keep QuickBuy quick-amount K/M suffixes visible at large font sizes cp-8.6.0 (#34393)
f6a29a0c76 fix(perps): make Pro order book numbers readable at any price scale (#34330)
2d1c72a8fe refactor(ramps): move provider-compatibility switch to RampsController (#34195)
be84d92a84 feat(perps): update mobile to latest perps controller version (#34385)
a2a221bce9 fix: cp-8.6.0 Fix unintentional no_pay_token_quotes alert triggers (#34388)
5626d708c5 test: fix appium stale webview cdp cache (#34400)
c53f81139c fix(card): add cross-device guardrail that prevents a single money account from linking to two different metamask cards (#34294)
3909cf8339 fix(money): realign Money account header spacing with Home (MUSD-1245) (#34344)
158d891acf fix(perps): repair Pro order form keyboard and input issues (#34227)
09a8115c66 feat(ramps): instrument Buy E2E CUF with Sentry performance tracing (TRAM-3779) (#33873)
6ab2ede7b0 fix(money): adjust earnings tooltip sheet spacing, close button and body colour (MUSD-1244) (#34336)
9488fc9cea feat(agentic-cli): use push onboarding bottom sheet for CLI login nudge (#33699)
dedf813435 test: Migrate network abstraction E2E tests to appium (#34353)
4e9274152f fix(perps): correct mode-aware navigation and market switching (#34326)
756e897063 test(e2e): Android WebView CDP paths for tap, fill, read, select, blur (#34355)
c85973a40e test: skip Appium token approve smoke suites (#34387)
d42ec5997d feat: add somnia support (#34146)
1b9305d802 fix(perps): remove local env fallback for Pro mode feature flag (#34390)
756511f216 refactor(confirmations): migrate banners to MMDS BannerAlert (#34374)
cb85dc03cc fix: keep SRP backspace focus at end of previous word (#34383)
dd2f1d8e84 fix: show informative error for Ledger V3 typed data signing (#31677)
bd03cfad89 fix: cp-8.6.0 Fix re-selecting selected token in pay-with-modal (#34337)
a8e4256f72 test(appium): harden session reuse against soft-reload device failures (#34347)
8869f6824e test: skip Appium MMConnect multichain browser connect suite (#34354)
2046e6a4aa fix(activity): align perps filter labels and pluralize the Orders bucket (#34311)
b568871ba0 ci: gate expo dev builds on native fingerprint changes (#34249)
308df1f580 fix(ci): use cherry-pick version from PR title for release labels (#34160)
1e84a54121 fix(predict): accept valid no-op payment routes (#34350)
ef054717eb perf: remove whole-state passthrough inputs from account token selectors (#34339)
bc3233b00e fix(perps): remove useElevatedSurface shim from Perps BottomSheets (TMCU-1040) (#34312)
92d334a836 fix: clear Transak token on wallet setup (#31522)
035e30b57e feat(card): show Immersve region legal docs on SignUp and Card Home (#34220)
852346eee0 feat(appium): per-phase timing telemetry for smoke tests (#34335)
cfec3ee402 feat: gate scam questionnaire behind LaunchDarkly remote flag (#34297)
3828f7a024 fix(walletconnect): restore per-session channel id as the Snap request origin (#34284)
a64aa86357 fix: skip money account total insufficient alert on Max deposits cp-8.6.0 (#34360)
a692f4f65a feat: add Homepage search entrypoint, swap Explore tab icon, instrument search opens (#34296)
0dbe2334fa fix: stop MM Pay Max from stranding Loading on dust or unchanged amount (#34117)
5ba24a9495 feat(predict): add Trade Completed analytics event (#34218)
b0be128c71 fix: MMQA-remove-system-tags-from-performance (#34341)
7374ec2d31 feat: mirror token watchlist add/remove to Price Alerts (#34343)
b4d369a357 feat: bump defi v2 controller (#34265)
4dbe117dc8 fix: skip gas sponsorship reserve warning for MM Pay transactions cp-8.6.0 (#34352)
84dbf63c0d test: Migrate network expansion E2E tests to Appium (#34199)
c65cefad45 feat(perps): Pro open-order price and size edit (#34342)
7e5c07e9aa test(appium): stabilize multi-SRP account list and Snap OK alert dismissal (#34317)
e70fe740c5 fix(walletconnect): match WC metadata to permission origin on connect screen (#33308)
e8fa218ce9 refactor(perps): unify market headers and slide-up market list (#34282)
29ede59ec7 fix: merge foreign EIP-7702 auths in Gas Station publish hook cp-8.6.0 (#34210)
e004618524 feat: add QuickNode failover URLs for zkSync Era and MegaETH (#34215)
4a61f759ab feat(perps): add order edit trading and stream foundations (#34323)
e98bb9775f fix: apply Max path for money account deposit prefills cp-8.6.0 (#34327)
0d123d05ae chore: track asset_id on token watchlisted (#34262)
80e0c1e602 fix: TSA-971 filter sheet last option hidden by the Android nav bar cp-8.6.0 (#34285)
0d3113d7fb fix(login): end Login User Interaction on biometric unlock (#33960)
1cc15e4e49 fix(assets): remove useElevatedSurface shim from Assets MMDS BottomSheets (#33167)
ce6aa5e242 chore(assets): memoize PriceChartContext provider value (#34318)
a5df6a25b2 test(e2e): migrate token-approve confirmations to Appium (MMQA-2189) (#34293)
b3c38c0469 fix(snaps): Ensure fontWeight is properly inherited (#34319)
df8b73def3 fix: TSA-969 header layout shift on What's Happening detail view (#34260)
229f2d912c test: fixing seedless performance tests (#34200)
6aa19e4fbd fix: update Agent CLI QR login copy (#34174)
61d6e3afbd fix(confirmations): remove redundant useElevatedSurface from MMDS BottomSheets (TMCU-1044) (#33166)
df8985da39 fix(TMCU-1046): remove useElevatedSurface shim from onboarding BottomSheets (#33161)
727a2cdb1a feat(predict): add Trade Considered analytics event (#34217)
05fd4b7e64 fix(perps): prevent invalid asset errors after device lock (#34256)
a6472517ba chore(stellar): stellar preparation PR - 2 (#34233)
3f41326762 chore: New Crowdin Translations by GitHub Action cp-8.6.0 (#34020)
056ac5aaed chore(navigation): declare modal presentation for RootModalFlow and Confirm (#34161)
fa9363f332 feat: add SRP tagging at login time (#34300)
817b1a88ef fix(TMCU-1045): Remove useElevatedSurface shim from Core UX bottom sheets (#33162)
83ca9f12c4 chore(navigation): de-brittle native-stack test mocks for v7 prep (#34159)
33392eff34 fix(activity): show swap and bridge activity correctly on token detail pages (#34224)
643bcb2542 chore: performance tests refactor (#34163)
de179f5a94 feat: consolidate scam questionnaire analytics events (#34219)
0aa5ae3424 refactor(perps): migrate leverage bottom sheet to MMDS slider layout (#34094)
6bdff52dde fix: patch smart-transactions-controller to add the tx-sentinel robinhood URL cp-8.6.0 (#34295)
f7bc233810 fix(perps): correct Pro copy for size label, order pills, and side filter (#34267)
39bec91ed1 feat: add defi controller v2 flag to homepage (#34288)
77785f8bc3 chore: remove unused failing workflow (#34275)
aef49db783 ci: add extra shard for cv test (#34239)
9c4db58e3e chore(navigation): land v6-safe prep for React Navigation 7 (phase 1) (#34156)
af5853762f chore(ramp): adopt core-owned Headless Buy default redirect URL (#34207)
2c3f5da107 fix: swap ARC prevent native pre-select (#32212)
68f4d4c316 fix: deep links foreground notifications (#33662)
175b2cb880 fix: Refine right transition animation to improve perceived performance (#34234)
5d35d85b40 refactor(perps): migrate Adjust Margin to MMDS Slider and HelpText (#34093)
5929b3529a perf(add-asset): virtualize the AddAsset network list bottom sheet (#34266)
d157a0d2f0 fix: TSA-970 header layout shift on Follow Trading screens cp-8.6.0 (#34278)
beba8bf820 fix(locales): replace ampersands with "and" in user-facing strings (#34157)
76d81ba710 fix(money): tilt the Money card on both axes with card_tilt_v1.4 (MUSD-1201) (#34259)
060d0b38f8 test: assert Whats New Link Clicked feature and action props (#34214)
001906cbe6 refactor(confirmations): migrate staking and TemplateRenderer Text to MMDS (#34230)
a9ee088570 feat(perps): move market About section below Stats cp-8.6.0 (#34252)
f931cf3931 chore(core-platform): remove unreachable dead code (#34034)
3a5a4b3d49 fix: pressing on swaps search result not selecting token (#34212)
d9475c6bea chore(e2e): remove TestHelpers debt + split WalletView (MMQA-2173) (#34251)
20bbba06f3 fix: unblock Money Account rows while quotes load (#34244)
6a4593f15a feat: defi positions v2 controller (#33488)
f525a7e452 fix: support Perps withdrawals for externally delegated accounts (#34250)
a050a94127 feat(confirmations): block MM Pay CTAs until pay amount lands (#33983)
2e2a74713a chore(earn): remove unreachable dead code (#34030)
9aaa20521b fix(money): open support from the Money kebab menu without dismissing the sheet first (MUSD-1242) (#34248)
f0b7e0858c fix(perps): fill limit price on Pro order book row tap (#34202)
0eeac7e45e chore(assets): stable FlashList keys in ConfirmAddAsset (#34238)
52bf22dca3 fix: Monad send native reduced amount ux glitch (#34150)
1d20f11be9 test: reduce Predict unit/CV overlap (MMQA-2104) (#34197)
5e77eb467a test: fix predict flaky cv test (#34241)
0d5d4439fe release: Bump main version to 8.7.0 (#34242)
67486d2b32 chore(e2e): Appium docs SSOT + ban new UnifiedGestures imports (#34237)
45de2295df test: multichain tests Appium migration (#34151)
53a3ca51ef test(e2e): Android WebView CDP scroll for Appium snaps (#34235)
1bb13fe988 feat: enable max-amount withdraw to Money Account vault via post-Relay deposit (#33489)
269c72608f test(e2e): migrate remaining Perps Detox smokes to Appium (#34201)
8dead5a3cf feat(perps): switch market when tapping a Pro positions/orders row (#34181)
a39af59a79 refactor(react-compiler issue): migrate ImportFromSecretRecoveryPhrase to TypeScript (#33812)
9d5ca905b8 fix(sentry): use a single clock domain for span start and end times (#33694)
a7847f8bf7 fix: apply top safe-area inset to Add Device back button on iOS (#34185)
4f6fb349e4 chore(confirmations): remove unreachable dead code and unused barrels (#34033)
bbd9ec940a fix: fail fast in set-secrets-from-config.js when ALL_SECRETS is missing (#34222)
7e62a68b31 perf(useTokenLogo): stabilize default Set params and memoize handlers (#34105)
c767daf45a refactor(card): remove Immersve program-ID selector and temporary override (#34141)
a05fe09921 chore: bump @metamask/phishing-controller to 17.3.1 (#34158)
4b8732a3d9 ci: exclude Android native build intermediates from E2E yarn cache (#34051)
46d1eff412 chore(predict): remove world cup related files and components (#33625)
3aa4425e4d fix(bridge): restore hardware wallet post-trade modal after swap (#33865)
53b3b1ed0c test(e2e): migrate JSX + Multichain Provider Snap smokes to Appium (#34126)
fe4deaf73d fix(perps): route funding Track to redesigned activity details and show Pay fees (#34085)
beb4ebac1b fix(perf): prefer fresh BrowserStack APK URLs (#34211)
6f1fab5aff fix: round down money account Max/withdraw amounts past balance cp-8.6.0 (#34196)
72da947d9b feat(perf): track RC performance results in Sentry and Slack (observe-only) (#34009)
7521a285bb fix(predict): block duplicate order submission during in-flight placement (#33079)
61245b12ae fix(ci): pass test-source-prefix for Appium Playwright health report (MMQA-2013) (#34188)
5a5bb05156 fix(card): defer home data fetch and fix Money loading flash (#34021)
ccb432a5b9 feat(onboarding): skip checklist Notifications step after the OS push request (#34086)
330651e8a1 feat(analytics): fire App Opened on cold start with type and source props (#33669)
6c348c9e87 feat: add visual test agent (#33858)
d8a74539c8 fix(card): hide change asset on card dashboard when money account is linked (#34187)
9e6a9dd2c3 test(e2e): remove unused Detox smoke performance suite (#34183)
7555702509 test: migrate api-specs from Detox to Appium (MMQA-1988) (#34119)
fcd4b890fb feat: prefetch Money Account deposit quotes while typing (#33512)
fdb1979d59 test(e2e): migrate Interactive UI Snap smoke to Appium (#34169)
8b44ec0be1 test(e2e): migrate BIP-44 Snap smoke to Appium (#34103)
98587ce082 test(e2e): migrate Snap Management smoke to Appium (#34128)
5884d18be0 ci(e2e): run Appium iOS on PRs that change smoke-appium (#34164)
78e40265be test(e2e): migrate BIP-32 Snap smoke to Appium (#34102)
b42b349a03 chore: revert add @metamaskbot create-testflight-build PR command (#34177)
597f88ac9e test(e2e): migrate Preinstalled Snap smoke to Appium (#34132)
4dac5cf7c0 test(e2e): migrate Name Lookup Snap smoke to Appium (#34130)
7cd818f2f3 test(e2e): migrate Manage State Snap smoke to Appium (#34127)
e9c5bd32e2 test(e2e): migrate Get Entropy Snap smoke to Appium (#34122)
2d40b62fa8 test(e2e): migrate Ethereum Provider Snap smoke to Appium (#34121)
920629a885 feat(ci): add @metamaskbot create-testflight-build-{exp,rc} PR command (#34136)
07a78abfd8 test(appium): session reuse + soft reload and smoke shard rebalance (#34166)
06d0978a3b fix(stellar): XLM spendable balance with mask when privacy mode is on (#34171)
5b0ba413c5 fix(agentic-cli): abort CLI wait when Mobile cancels QR login (#33964)
ee7fac8435 fix: MUSD-1240 [Bug] Money Home "7% APY" text cut off on Google Pixel devices cp-8.6.0 (#34167)
9ddf0a3434 fix(browser): keep dapps in-app via WebView source.uri (#33879)
d6f718710e test(e2e): stop forcing native context in Appium Assertions (#34165)
76e46de928 test(e2e): migrate Dialog Snap smoke to Appium (#34120)
d16b6f6b45 test(e2e): migrate Network Access Snap smoke to Appium (#34131)
df8adc8f25 feat(money): add device-tilt parallax to Money card thumbnails (MUSD-1201) (#33808)
2b8c99538c chore: bump snap-account-service (report migration error) cp-8.6.0 (#34074)
b6c1f975b6 feat(metamask-pay): track quote errors in transaction events (#33332)
7c0d60c5b4 fix: report the real network name in Blockaid false-positive reports (#34078)
9b2ba6bf71 test(e2e): migrate Get File Snap smoke to Appium (#34123)
2b98e961f4 test(e2e): migrate Image Snap smoke to Appium (#34124)
6509733353 feat(predict): make sports feed filters follow active tab cp-8.6.0 (#33714)
a92a78a790 test: MMQA - 2026 - [Mobile] Remove anti-patterns from performance/mm-connect/utils.ts (#33969)
d4875f93b8 chore(navbar): remove un-used navbar functions (#34087)
dbad661bb8 feat: add homepage balance breakdown experiment (#33981)
a16ab5d315 test: migrate confirmation send tests to appium (#34069)
7b83cbf0ea fix: browser back from Market Insights news returns to Market Insights (#34134)
faaf120aca feat(perps): wire Pro positions panel actions and filters (#34112)
7e6129a305 feat(ci): reuse fingerprint + JS repack for performance BS builds (MMQA-2147) (#34049)
3c3df929b3 feat: show CDN fallback for gas fee token icons (CONF-1739) (#34040)
55373dce90 test(e2e): restore serial session reuse for collapsed Snap Appium suites (#34104)
cde69d0689 fix: TSA-962 skip top traders fetch while wallet is locked cp-8.6.0 (#34107)
6bf386be71 refactor(pay): extract custom-amount inline components (#34092)
d21fe1b55d test(e2e): migrate Background Events Snap smoke to Appium (#34101)
949640ab4f fix(perps): polish Pro trading layout and available balance (#34115)
8b1c03afc0 feat(money): add moneyAccountBalanceSource to the feature-flag registry with production default rpc (#34068)
030600b5e4 refactor: cp-8.6.0 split getMetaMaskPayProperties into focused property helpers (#34111)
7c1237aa5d feat(confirmations): show metamask pay quote errors in alert (#32932)
ea168fbb1b feat: integrate money account utils (#33849)
37b7180910 feat(perps): add About section on Lite market details (#33999)
0ad007437b chore: removes quickbuy keyboard abtest and feature flag cp-8.6.0 (#34073)
2f7c0a42d2 chore: wire stellar asset component with stellar asset selector (#34048)
18737cb1df fix(assets): memoize selectTokensByAddress for referential stability (#34037)
48a7fbf6a0 feat(perps): wire Pro order form to state and submission (#33950)
1aa13f3f2c fix(assets): stable FlashList keys in SearchTokenResults (#33814)
c0e74dacbb test(e2e): migrate wallet/ smoke specs to Appium (MMQA-2006) (#34077)
d4b2aedd3b feat(tooling): integrate daily anonymizer for usage metrics collection (#32387)
055385907d feat: initialise new defi controller (#34000)
7d31fad3e1 feat: MUSD-1229 Update money-acount-balance-service cp-8.6.0 (#34084)
9f2c44efe4 feat(perps): add account bottom sheet and polish Pro market view (#34081)
e14b6b5d82 perf: memoize PriceChart priceList map out of render body (#33895)
79d4f44d15 fix(predict): route funding Track to redesigned activity details and show Pay fees cp-8.6.0 (#34026)
0b058b1dbe feat(wallet): hide the Money card while the onboarding checklist shows cp-8.6.0 (#34029)
7d8ae2205b feat(predict): expand extended sports leagues cp-8.6.0 (#33943)
ec5177a2bd chore: skip expo-dev artifact download when Actions digest matches (#34079)
e5bdac8d8d feat: MUSD-1212 implement new cta on token details page for stablecoins money account deposits (#34022)
9726b43576 feat(TSA-945): new feed (#34047)
ff9bd4561c feat(predict): add feed carousel remote configuration (#33875)
0f986d705e refactor: migrate what's happening cards to MMDS (#33958)
8982e5ed63 chore(predict): Add esports markets and dynamic game tabs to Predict (#34006)
9c50bb5af4 refactor(perps): migrate Close Position to MMDS Slider and HelpText (#33952)
20ff41d21d feat: add persisted collapse/expand to the Pro chart (#33888)
693a23ad3f feat: adopt optimized Money Account deposit quote pipeline (#33433)
ced32debe9 feat: use snap keyring v2/v1 split (#33580)
07c037a055 fix: remove Android duplicated push notification icon GE-392 (#34065)
4c6b75bd9c refactor(ci): rename changed_files to changed_spec_files (#33922)
5f03a92009 fix(perps): never land on Perps Home while Pro mode is active (#34052)
957031cf2d test(e2e): strengthen Appium Snap helpers ahead of remaining migrations (#34054)
02ef2a4e9c feat: quickbuy bottom sheet redesign (#34015)
ce3d5bb5e1 feat: filter out wallet_activity foreground push notifications (#34043)
f85530e4df test(perf): harden cloud Appium waits and performance selectors (#34008)
99313f9ba3 fix: use unified import path and return to tokens full view (#34039)
0d79030a00 fix(perps): memoize homepage sparkline hook result (#34059)
936f3f4dd8 feat: MUSD-1220 (Copy Changes Only) Improve Stablecoin & Token Detail Page CTA Flow to Route Users into Money Onboarding / Add Funds (#34023)
adc9c97c2c feat(perps): implement Pro mode market detail header (#33899)
9bb0b8a3bd fix(mm-pay): persist mm_pay_strategy for transactions failed on startup (#34038)
e57db03ff5 feat: add favorite when an alert is created (#33965)
93dbb69963 ci: limit Playwright health report Slack output to top 10 tests (#34050)
a0565aa2ec feat(onboarding): add onboarding.machine.ms and account_type to spans (#34017)
f20263c498 fix(perps): eliminate trade screen slider lag and flicker (#33590)
e715486cd5 fix(e2e): harden Appium Perps scroll and order readiness (MMQA-2141) (#34042)
13ca9de0ff perf(money): virtualize the potential earnings token list (MUSD-1231) (#33982)
52584b3d4f chore: update assets controllers for defi fix (#34010)
31ad013abe test: harden Appium SmokePredictions position scroll/tap (MMQA-2140) (#34001)
b23269d8fa feat(analytics): add Trader Feed Screen Viewed event (TSA-959) (#34036)
e512f8cf4a refactor(perps): use one-line sort options and tighten sort control padding (#33954)
8a930cf528 fix(perps): use one-line ListItemSelect for price grouping options (#33953)
82b686bf1c fix: show card transactions in the correct filter group (#33862)
95f3e1a597 refactor(confirmations): import hasTransactionType from @metamask/transaction-controller (#33830)
785a8504b7 test: migrate signature confirmations test to appium (#33528)
704772bf8d chore(navigation): point React Navigation's global RootParamList at the app's real RootStackParamList (Phase 5) (#33745)
a643200f94 ci(appium): unify seedless smoke tag and raise seedless/wallet shards (#34028)
ca5e81501f refactor(ramp): shared headless order-failed analytics builder + root overlay dismissal (#33711)
549aeead14 feat(perps): add live price and scrollable stats bar to Pro market view (#33846)
0db32f959f refactor(perps): migrate market detail banners to MMDS BannerAlert (#33883)
6302454793 test: MMQA - 2021 - [Mobile] Remove getTestElement functions from page objects SolanaTestDapp and BitcoinTestdapp (#33970)
a8df9d4f02 feat: add funding_amount_range to Wallet Setup Completed on SRP import (#33731)
ab708e1510 feat(rewards): surface VIP maintain-tier threshold on tier ladder (#33959)
c26d1147f6 chore(deps): bump rive-react-native to 9.8.5 (#33834)
2da1f8067b fix(ci): restore exec bit on hermesc and shell scripts in node_modules (#34004)
d16cf88f20 fix(social-leaderboard): skip QuickBuy quote fetch when a preset amount exceeds balance (#33994)
a2d145b23a fix: bump bridge controllers to prevent stale dest exchange rates cp-8.5.0 (#33955)
b9e0f853df chore: add physical iOS device install option to install:ios:dev (#32718)
e4dc380622 chore: New Crowdin Translations by GitHub Action cp-8.5.0 (#33682)
48789f74a3 fix: show Coinbase ramp orders in Activity when network is a name string cp-8.5.0 (#33976)
adcb0ead75 feat(swaps): add Robinhood Chain promo banner on swaps screen (#33985)
7ae496b877 fix(social-leaderboard): apply pressed state to entire Weekly Top Traders card (#33988)
f70430eefa fix: Polish Social AI toast for 8.6.0 release (#33773)
578fc4e86a chore: udpate the appium emulator api version (#33820)
5e07b97437 feat(money): add jwt based rate limiting support to money account api (#33978)
b5c05e743e refactor(selectors): replace direct state access with selector functions (#33789)
5c37a214c5 chore: update swap consumers to use and display partial QuoteMetadata (#33559)
288c803e87 feat: integrate unified balances and trace gating on mobile (#33967)
cafcab98ab fix: narrow EAS fingerprint CI sources to native-relevant workflows/scripts (#32941)
e729a23f10 test: add integration test for perps trade metric partially filled (#33998)
2cc4981ce2 refactor(predictions): update PredictionsSection to use new market slots structure (#33911)
72d0382f3c chore(STX): add Robinhood Chain to smart transactions supported networks (#33876)
a134943038 fix(ci): pass only changed spec files to avoid ARG_MAX crash (#33921)
e02b4ce1e9 feat(money): gate money home earning section behind feature flag (#33989)
d7c26c9f24 fix: harden Appium wallet-home readiness for SmokeAccounts (MMQA-2139) (#33968)
2c0d9a69dc feat(money): remove section arrows and footer CTA, simplify card section (MUSD-1219) (#33912)
89b59ff31c feat: add editable quick buy amount pills (#33779)
9363d18760 feat(ramp): consume JSON moneyHeadlessAllProviders payload + thread rampSurface into headless getQuotes (#33362)
b103a68645 feat(money): add smoothed tilt parallax to the First Deposit screen (MUSD-1204) (#33863)
7cefb5a432 feat(perf): auto-enable inline app profiling on failed PR performance tests (#33902)
0802d8d0e6 chore(e2e): remove unused Detox regression test suite and CI (#33893)
56259c373d chore: replace deprecated StyleSheet.absoluteFillObject with absoluteFill (component-library) (#33837)
316c1c05b5 feat(notifications): refresh Social API preferences cache after AUS write (#33856)
05b0c9ef12 fix: MM Pay Max button should not submit when there is no balance (#33957)
ddb183287f chore: memoize selectAllNftsFlat for referential stability (#33961)
3c669e4655 feat(onboarding): add screen and Rive Sentry performance telemetry (#33889)
3f77a811e9 test: ActivityScreen Predictions row component-view coverage (MMQA-2117) (#33934)
9d63b38782 feat: add UAT domain in bridge (#33829)
7eec3db4f1 ci: exclude Sonar binaries and raise JS heap to fix OOM (#33963)
96deb2a620 fix: Polish Money Movement toast for 8.6.0 release (#33769)
c1faefc4f1 chore: only fetch NFTs when section is focused and add skeletons (#33645)
b510d3a155 refactor: Updated Perps Limit Price BS to use MMDS (#33683)
6b016f47a5 feat: source GasFeeController and SeedlessOnboardingController from @metamask/wallet (#33430)
76c803a444 test: migrate SmokeBrowser specs to Appium 2/2 (MMQA-2092) (#33926)
2e849ad0f7 fix: Polish Card toast for 8.6.0 release (#33766)
0ae1981e3d refactor(perps): migrate Auto close TPSL view to MMDS (#33884)
d233a22015 chore: Bump skills repo to 0.2.0 (#33944)
a9e14a8960 fix: remove duplicated bottom inset on the Activity screen cp-8.5.0 (#33929)
4ed40bc16e revert: "feat: temporary 10-year anniversary app icon cp-8.5.0 (#33930)
caf4b9d01e perf(account-selector): cut list render churn and per-cell selector cost (#33877)
2591f031ca fix: Polish Mobile Core UX toast for 8.6.0 release (#33771)
32bf23f2d1 chore(money): opt in useNavigation to AppNavigationProp (Phase 4) (#33622)
2b15c42f9c fix: Polish Predict toast for 8.6.0 release (#33767)
80fcbb9e5a fix: route WalletConnect relay through built-in WebSocket (#33871)
08eb84a9cb fix: Polish Engagement toast for 8.6.0 release (#33772)
217619ef86 fix: Polish Web3Auth toast for 8.6.0 release (#33774)
3c4df5aa28 chore(navigation): opt remaining small teams into AppNavigationProp (phase 4) (#33678)
0de4ba0a7c fix: reduce Hyperliquid API calls on Token Details page from 6 to 2 (#33851)
bba77bcd23 fix(locales): use sentence case for Weekly top traders label (#33917)
a0519e49f5 test: reduce WalletActions and CancelAll unit/CV overlap (MMQA-2100) (#33793)
23d3a17247 fix(Engagement): handle stale Braze banners (#32412)
282d53b48e feat(migrations): add migration 148 to replace Infura IPFS gateway with default (#33908)
c2eb8c7eb5 test: ActivityScreen Transactions row component-view coverage (MMQA-2080) (#33894)
f9fe9248bd fix(ci): re-run PR size check on base retarget (#33868)
68f1f52dfa fix: Polish Earn toast for 8.6.0 release (#33775)
0b676a8425 fix: Polish Metamask Assets toast for 8.6.0 release (#33770)
82066407d9 refactor: remove A/B test HubPageDiscoveryTabs (#33652)
98cb4a82c9 test: stabilize SmokeStake lending seed and stake Confirm flow (#33910)
56408f89b8 chore(ci): standardize Detox and Appium test timeouts to 25m (#33891)
4ff57c8dff test(e2e): share Android WebView helpers via multi-platform WebView API (#33874)
21a20f887c feat(money): bind the live APY to the onboarding animation (MUSD-1206) (#33903)
e0cf57ef99 fix: remove default placeholder on price alerts cp-8.5.0 (#33904)
dd96bb416e fix: reject extraneous typed sign keys for V3/v4 messages (#33198)
5b08c05fbc fix: wire fallback history pagination into fullscreen chart (#33881)
21ae598f4c feat(ci): reuse main BrowserStack builds on manual performance dispatch (#33907)
4d8465970d fix(money): read vault config just-in-time and re-init on change (MUSD-951) (#33782)
a2e66a2408 refactor(confirmations): stage-based custom amount info (#33809)
20d74b3c7b refactor: flatten Import SRP step 0 spacing without gap/margin stacking (#33810)
0990e940d9 fix(sentry): discard timed-out onboarding traces instead of sending fake ~5-min durations (#33318)
ae7ad8b57f feat(money): wire up money account api interests endpoint requests + update UI (#33845)
d4e685e51f fix(perps): polyfill DecompressionStream for Hyperliquid fastAssetCtxs on Hermes (#33870)
e9142b4b78 feat: refactor non-zero native custom networks (#32796)
05fc1a602a feat: add createWidgetUrl functionality and proxy flag support for Transak service (#33777)
eecaed90da fix: remove duplicate staking API call on Ethereum Token Details page (#33854)
5324d4d9d9 fix: remove gap between symbol and price change on default token card watchlist cp-8.5.0 (#33859)
290d69f221 feat: make watchlist row draggable cp-8.5.0 (#33803)
2e7dbfb084 fix(agentic-cli): open settings on any Android deny after Turn on (#33744)
3070e21b1f test: migrate MMConnect e2e suite from performance BrowserStack to Appium smoke CI (#33380)
b3afe11012 fix(tests): harden ERC20 USDC selection in redesigned send E2E (#33890)
e483725c4e chore(testing): remove repository-owned integration skill (#33864)
554e947d39 refactor: use Arrow2UpRight for Send action buttons (#33878)
a3ca1a6492 fix: Add swipe to dismiss for DS Legacy toast (#33598)
9006438169 fix: Add swipe to dismiss for BaseNotification toast (#33600)
d3e2b96916 chore(multichain accounts): opt in useNavigation to AppNavigationProp (Phase 4) (#33627)
1eef0b193b feat: improve import-cancelled sheet UX for account sync failures (#33885)
ab10a0e7d4 test(onboarding): add Telegram seedless performance coverage (#33685)
4f60c2ef46 chore(web3auth): opt in useNavigation to AppNavigationProp (Phase 4) (#33676)
61888fa373 chore(confirmation): opt in useNavigation to AppNavigationProp (Phase 4) (#33558)
66a400defe test: add unit tests for usePerpsTrendingCarouselData hook (#33764)
85ab78e10f feat(swaps): add A/B-gated haptic feedback for swap interactions (#33732)
36b9b014f5 feat(perps): add pro positions and orders panel (#33755)
8b528c94a4 fix(tests): unskip lock alerts and harden en.json E2E selection (#33857)
dee32d386a test(e2e): migrate initial Detox snap smoke tests to Appium (#32877)
f211b52724 test: ActivityScreen empty-state component view coverage (MMQA-2079) (#33866)
b26d1cdbe4 feat: add Perps Pro chart panel (#33750)
84c1b200f2 feat: bump phishing controller 17.3.0 (#33756)
e81779780d feat(perps): block place order until the pay amount reaches the controller cp-8.5.0 (#33822)
ce22ad81fe fix(money): NBA module parallax reliability and inverted Y axis (MUSD-1203, MUSD-1202) (#33848)
8e365c1e7a test: add integration tests for Perps Trade Transaction Event executed (#33671)
957cfabac8 fix(pay): always emit mm_pay_payment_token_list_size on confirmation events (#33253)
8171bddb52 test(perf): Store app profiling result per scenario (MMQA-2081) (#33656)
973c6fc7fd feat(support): adopt support consent flow in RewardsVipRefereeView and LinkedOffDeviceAccountsSheet (#33520)
54e4635141 test: MMQA-2092 migrate wallet browser smoke to Appium 1/2 (#33816)
3e6183ad68 feat: detect OneKey accounts as hardware wallets (#33637)
75bc184ef2 feat(performance): add performance tests for Homepage, PopularTokensList, MultichainTransactionsView, and UnifiedTransactionsView (#33786)
db95e1d20a fix: perf(accessibility): fix iOS accessibility in Rewards components (#29127)
bb0fb36e4a fix(activity): cp-8.5.0 fix bottomsheet positioning when activity is a tab (#33794)
117ecd15a1 feat(rewards): wire First Predict On Us into onboarding (RWDS-1435 4/4) (#32860)
e1c0d590ff feat(Rewards): Update text of money card in Rewards banner carousel (#33804)
bed38cd2fa chore: delete multichain accounts feature flag (#33802)
498ac45419 feat: add prefill skeleton loader for money account deposits (#33707)
d3a7d5c257 refactor(predict): import hasTransactionType from @metamask/transaction-controller (#33833)
172699dd93 refactor(accounts): import hasTransactionType from @metamask/transaction-controller (#33831)
4df866555c test: MMQA-2091 migrate wallet analytics smoke to Appium (#33725)
e8c08ba007 fix(money): skip insufficient-funds alert on Max money account deposit (#33836)
22d49b924d refactor(perps): import hasTransactionType from @metamask/transaction-controller (#33832)
2fde612eb8 feat(support): adopt support consent flow in SRPErrorScreen and SocialLoginErrorSheet (#33523)
6b58a38f7a feat(support): adopt support consent flow in PerpsHomeView and service interruption banner (#33533)
923a9934f6 chore(assets-controller): bump to 11.2.1 (#33761)
3f9d0f227a refactor: refactor NetworkSelector component and enhance tests (#33768)
6b89300127 feat: wire QR metadata sync for existing-user accounts flow (#33696)
3b9ab7a143 fix: reorder TDP header icons cp-8.5.0 (#33819)
ab3b08b6ac feat(Stellar): add Stellar send flow support (#33563)
2ea6f465b2 feat(onboarding): enhance onboarding trace management and error handling (#32828)
ba0f19d022 fix(perps): correct CUF trace lifecycle and tags (#33562)
b36f96c6aa chore: bump notifee (#33415)
74e315622d refactor: simplify DOM in backup and social login screens (#33749)
a3e710999d fix(card): fix Immersve KYC spendableAmount and restore back header (#33790)
892058fa52 fix: dismiss SelectSRP sheet before reveal navigation (MMQA-2107) (#33806)
45c01abfa8 chore: upgrade MMDS to v56.0.0 (#33788)
5b554e662d chore(navigation): opt unowned surfaces into AppNavigationProp (Phase 4) (#33740)
7e06fbd5e3 chore(core): opt in useNavigation to AppNavigationProp (Phase 4) (#33666)
02ffa0dcee chore(assets): opt in useNavigation to AppNavigationProp (Phase 4) (#33628)
3e25578964 feat(component-library): remove bottom border from legacy BottomSheet by default (#33739)
eb376b7ac3 perf(predict): use stable sports market keys (#33476)
ca38156076 refactor: migrate formatters to @metamask/client-utils (#33733)
411c7924a9 feat: upgrade bridge controller packages (#33665)
e5c5ffe29e fix: restored old behavior to show Paid by MetaMask label in sponsored transactions from activity page cp-8.4.0 (#33778)
3b82b065fd feat: show slippage button on swaps screen before quote (#33797)
2f4dfef0aa feat(rewards): add First Predict On Us splash and order sheet UI (RWDS-1435 3/4) (#32859)
563d6bfb2e feat(support): adopt support consent flow in AccountsMenu and AppInformation (#33522)
c2be695868 fix: delegate RemoteFeatureFlagController for Accounts API balance v6 cp-8.5.0 (#33781)
6874ad173d fix(walletconnect): attach eip155 accounts when proposal mixes eip155 with adapter namespaces (#33672)
a2334a0410 fix: keep amount entry visible before quote loading (#33762)
6e9860fe61 refactor: present account screens as right-sliding cards (#33670)
b641a823a3 feat(predict): add remote feed banner (#33478)
b08bff8212 fix(assets): memoize selectAllTokensFlat for referential stability (#33753)
4258b72caf fix: broken pipeline price alerts (#33785)
028f1a11ff fix(money): show keyboard and resolve amount for fiat deposit flows cp-8.5.0 (#33780)
1d134429bb feat(support): adopt support consent flow in scam warning questionnaire (#33521)
36599014af chore: bump react-native-share to 12.3.1 and regenerate patch (#33602)
093b66b704 feat(card): resolve Immersve spendable balance from on-chain allowance (#33743)
83846dacb5 perf(predict): cut crypto up/down cpu in ws parsing and re-renders (#33757)
003f54f7c0 feat(support): adopt support consent flow in EligibilityFailedModal (#33519)
58ecae152f fix(money): guard parallax tilt dispatch against detached rive view (#33718)
9d9023599f feat(confirmations): add timing metrics to Transaction events (#33618)
4c8c49df4c chore: bump react-native-permissions to 5.6.0 (#33597)
fa5c998600 feat(support): adopt support consent flow in MoneyMoreSheet (#33518)
06c0d3ff9a ci: remove flaky FixtureValidation jobs from Appium smoke suites (#33776)
dd8a27f2b6 feat(money): play card flip animation on link card sheet (MUSD-1199) (#33704)
10e1671c9d chore: allow deprecating tokens controller through FF (#33570)
5c8642aba4 chore: remove price alerts FF (#33599)
f4eb563ea6 ci: pass AI analyzer gate for medium Runway cherry-picks into release branches (#33715)
4b9592af6f feat: add TransactionPayController sentinel messenger test (#33754)
2219d769d5 feat: improve Txn Detail Page (#33499)
28fef6bc1d feat(perps): add live order book to pro market view (#33664)
5897663c9e feat: split seedless Appium smoke into core and extended suites (#33751)
8a480513f1 chore(bridge): remove Batch Sell promo banner from source picker (#33742)
dd23cf82ee feat(ramps): point MM dev builds to ramps dev environment (#33686)
1fdf87e83c chore(navigation): opt unowned hooks into AppNavigationProp (Phase 4) (#33728)
db5f37e63d feat(card): polish Immersve onboarding and funding UX (#33655)
3adb1ca1fc feat(rewards): add VIP transactions list view (#33680)
11929342a7 feat: publish EIP-5792 capabilities in CAIP-25 session properties (WAPI-1560) (#32660)
7b338d02b1 fix(ramps): persist terminal analytics dedupe (TRAM-3769) (#33357)
83f9c39239 release: Bump main version to 8.6.0 (#33736)
534f6b4140 chore: adds Quick Buy numeric keypad vs slider A/B test (#33605)
5dc2cf650d test: MMQA-1992: Migrate smoke/fixtures Detox tests to Appium (#33507)
aa3cab8d60 test: MMQA-1991: Migrate smoke/deeplinks Detox tests to Appium (#33709)
76a29fa7df feat(support): add support consent flow core mechanism (#33424)
6ba5b090f0 feat: improve money account upgrade process cp-8.4.0 (#33427)
8d512234a7 chore(perps): opt in useNavigation to AppNavigationProp (Phase 4) (#33385)
531f925616 feat: bump transaction-pay-controller to 26.0.0 (#33719)
2fec7d955c feat(perps): add Pro order form UI (#33630)
3fb766b440 feat(agentic-cli): nudge push permission after CLI QR login (#33688)
72390ea48c fix: patch bridge controller to remove Stellar and Arc cp-8.4.0 (#33684)
934cc5d9cc chore: bump react-native-view-shot to 5.1.1 (#33603)
1b34461a29 feat: add watchlist drag and drop functionality (#33677)
e632dc202d refactor(Transactions): convert class component to functional component with hooks (#33578)
98a8cc9b35 refactor(homepage): remove trending sections A/B test and update related components (#33496)
c4cd940943 fix: show preparation state for Money Account deposits cp-8.4.0 (#33325)
32f25072ff feat: add item type extraction for list components (#33691)
c7db92788e fix(predict): route withdrawals by wallet type (#33551)
231f1a3739 chore: adds MarketCap to position cards in social Feed (#33706)
f54537a31e fix(money): show skeleton while money account resolves on home card (MUSD-1196) (#33698)
30133c23a5 fix: use text locator for Appium QR sync import-from-extension link (#33703)
fcfdbf94d8 chore: migrate assets-list selector to BigInt (ASSETS-3719) (#33700)
ba460487af chore: prefix token watchlist analytics event names (#33705)
4a135889ed feat(money): add instrumentation for money account api data service (#33701)
decd744d7a feat: support new notification services controller + segment schema (#31204)
b7e90803a3 chore: update watchlist instrumentation (#33675)
50d79e6070 chore: bump @metamask/tron-wallet-snap to ^1.33.1 (#33660)
c380719388 fix: skip calldata encoding for initial deposit batch creation (#33582)
9c7915495e fix: gate amount+fees balance check to money-account withdrawals only cp-8.4.0 (#33654)
4537ff26fa chore: bumps for assets-controllers and core-backend (#33651)
ac9b692bab chore(component-library): remove unused TextWithPrefixIcon component (#33511)
ddc5aba88c chore(component-library): remove unused SelectOption component (#33510)
dd593f4785 chore: migrate marketDetails and CollectibleOverview to BigInt (#33692)
2e66cef203 fix: label trader position CTA as Trade (#33697)
4c93620bc9 chore(component-library): remove unused SheetActions temp component (#33509)
c88ab64c7c feat(money): centralize money account balance fetching (#33516)
0a8b272a87 fix: monad assets not appearing in explore cp-8.4.0 (#33614)
14fc85f518 test: MMQA - 2025 - [Mobile] Remove antipatterns from helpers/multichain-accounts/common.ts file (#33571)
f8340eaf9b feat(perps): add reusable Lite/Pro mode toggle across entry points (#33572)
e269bfc937 refactor(perps): migrate Text and SensitiveText to MMDS (#33663)
5e87676cf1 feat: polish add-device / QR account sync UX. (#33564)
a2e70b85cf fix: skip failing tests (#33687)
d68e729c0b fix: transak native fallback for different env (#33553)
6ca0b48242 fix(bridge): tighten fiat/crypto toggle hit target (#33674)
5fdb70c757 test: Add MMC IAB tests (#31946)
647bf3b32f chore(swaps): graduate post-trade modal A/B test (#33626)
d73dde174e feat: add watchlist star to swap flow (#33566)
90dc66f6f1 chore: New Crowdin Translations by GitHub Action cp-8.4.0 (#33342)
f4af7a3a5c fix: remove approval text in swaps (#33668)
2c00f3e16c fix(ramps): resolve POL buy failure from token details page (TRAM-3713) (#33542)
49fc527619 test(onboarding): add fresh SRP wallet performance coverage (#33324)
e5cb9fb56f test(watchlist): add component view tests and framework support (#33609)
74dbb8d4aa chore(predict): opt in useNavigation to AppNavigationProp (Phase 4) (#33458)
cd436a6f5e chore(rewards): opt in useNavigation to AppNavigationProp (Phase 4) (#33453)
f47a66c98e perf(predict): memoize merged chart data (#33477)
cde83155f4 fix: Vertically center pressable Toast content (#33640)
20270b3f6a feat(perps): scaffold pro mode market layout (PerpsProMarketView) (#33560)
1d76e28d33 fix: Polish token contract copy toast icon styling (#33629)
34134361b3 chore: upgrade design system packages (v55.0.0) (#33653)
da9f3723ac refactor(perps): align PerpsPositionCard and PerpsCard with MMDS ListItem (#33552)
9c52b7e1f8 test: add component view and integration tests for tracking perps close poisition metric (#33647)
760a8028b8 fix(wallet): gate balance empty state on real refresh settlement (MUSD-1195) (#33589)
1d44eab738 chore: migrate deriveBalanceFromAssetMarketDetails to BigInt (ASSETS-3717) (#33644)
74385ec5e2 refactor: remove Cash section and update token filtering logic (#33638)
88493da3b2 perf(money): reduce Money Home and activity re-renders (MUSD-1205) (#33646)
6c4315643e style(locales): convert all-caps UI strings to sentence case (#26285)
809a08dbe0 refactor(perps): remove orphaned dead code modules (#33470)
4365f65136 feat(activity): add first-class RampsOrder support in Activity (#33624)
448e6915e7 chore: bump @metamask/tron-wallet-snap to ^1.33.0 (#33636)
3f4e3286c6 chore: remove AssetOverview Price files from util/number burndown (#33633)
e483210962 fix(perf): reflect quality gate failures in Slack category status (#33631)
0d7f7fa74f test: MMQA - 2024 - [Mobile] Remove unused methods in WalletView.ts (#33568)
de03ffcfd5 refactor: make ImportFromSecretRecoveryPhrase React Compiler compatible (#33503)
67089afe5f fix(agentic-cli): remove double top-inset on iOS AgenticCliDashboardWebview header (#33635)
4df245a3ab feat(Stellar): add Stellar related chain utils (#33480)
0313028d12 test: MMQA-2003: Migrate smoke/stake Detox tests to Appium (#33632)
7184677c4f fix: misalignment on copy button (#33591)
9d8f40a922 refactor: resolve React Compiler issues on Onboarding screen (#33482)
626583d902 refactor: make ImportNewSecretRecoveryPhrase React Compiler compatible (#33485)
fd2ec53cd5 fix: Polish perps toast for new animation (#32943)
801a438f35 refactor: merge new and recently added lists, add new pill to products (#33302)
745d8f806f chore: remove AB test for verified badge, permanently show verified b… (#33539)
8beb8007c5 refactor: Improve recently viewed ux (#33543)
30f61049cf Chore/use expo babel transformer (#33619)
04f6ce33a7 docs(Engagement): Update deeplinking doc callout (#33610)
d3b3fd4b75 feat(card): add Immersve UK SIWE auth re-entry (#33608)
4ad3bd0c21 chore: bump assets controller to v11.1.0 cp-8.3.1 (#33612)
084957e321 chore(bridge): opt in useNavigation to AppNavigationProp (Phase 4) (#33547)
c93c2a780e release: sync stable to main for version 8.3.0 (#33613)
f4950d896b feat: integrate STX failTransaction fix (bridge stuck-pending) (#33175)
d2ba1d5a69 feat(activity): clearer Activity swap & bridge row content (#33538)
df181160a5 feat(bridge): redesign bridge transaction details behind transactions-redesign flag cp-8.4.0 (#33471)
aff843fef5 perf(predict): memoize market feed items (#33475)
cc54d60ba4 chore(card): opt in useNavigation to AppNavigationProp(Phase 4) (#33441)
21e79b0964 test(perf): stabilize Appium performance metrics and flaky readiness probes (#33216)
86f07ca13f feat(activity): show account name and avatar for owned accounts in activity list (#33390)
f4a568e4fe feat: consume backend-suggested slippage in unified swap/bridge (#33431)
0c83bf18ae feat(confirmations): block hardware wallets for money account deposits (#32952)
c45035b316 refactor(perps): migrate Activity list and FillTag to MMDS (#33555)
f5b411671d refactor(perps): migrate market row to MMDS ListItem (#33554)
1b052812db refactor(perps): migrate HIP-3 debug view to MMDS components (#33452)
aa9ed4bbad fix: prevent deposit page auto-navigating to result page during editing (#33505)
2e628849ca fix(predict): stabilize parameterized selectors with weakMapMemoize (#33215)
ede6ab74fa fix: move watchlist section after predictions (#33601)
d01fed2e4d fix: Polish money toast for new animation (#32946)
78027390ce chore: remove world cup from explore (#33594)
14e36113cb fix: display 'Debit' instead of 'Debit or Credit' in MM Pay UI (#33513)
6024250fd6 feat(card): add Immersve CardHome read and sensitive details (#33557)
c583c2ebdd fix(predict): show net sell proceeds after fees cp-8.4.0 (#33449)
5af1095ded fix(money): rename "Money account benefits" heading to "Benefits" (MUSD-1197) (#33592)
c2fbf2d9c8 chore: remove backgrounds from money earn banner images cp-8.4.0 (#33584)
edf8031c3d fix(money): keep activity filter tabs stationary on selection (MUSD-1194) (#33586)
29dbcc511c feat: kick off money upgrade process in modal stack (#33587)
f3af5635aa feat(predict): add any-token withdraw Appium coverage (CONF-918) (#33490)
c8460abb03 chore: bump @react-native-community/slider to 5.2.0 (#33474)
9710d930e0 chore: bump react-native-safe-area-context to 5.8.0 (#33472)
e2826d16cb fix: Polish earn, quick-buy, rewards and gas toast for new animation (#32947)
68641eacfa fix(pay): auto-navigate to results page on Max press (#33532)
695dd604e3 chore: bump lottie-react-native to 7.3.8 (#33473)
232f642b07 fix: canonicalize typed-sign data to prevent display/signing divergence (#33187)
39f02f2058 feat(perps): show caret icon in market header clickable area cp-8.4.0 (#33495)
22d68a9327 chore: update black resources for Insights animation cp-8.4.0 (#33581)
64dfb41b19 revert: remove watchlist star filter from Trending Tokens (#33579)
aac38c85fc fix(money): prevent large balances overlapping Add button on Money card (MUSD-1183) (#33504)
9b131a8080 fix: always skip initial gas estimate for Money Account transactions (#33577)
cf1156b16e fix: Polish predict toast for new animation (#32945)
11b4152275 fix: Update DS legacy toast with iOS animation and UI polish (#32933)
a0b1a5199a feat: wire watchlist search functionality (#33530)
10c8db85fe refactor(perps): migrate market details Stats to MMDS KeyValueColumn (#33550)
2b410f8ee2 refactor(perps): migrate Cancel All Orders sheet to MMDS (#33358)
e01ff7de6c feat: add branded share token info sheet on token details (#33319)
d696ba1a1e chore: AB test Buy action (QuickBuy vs Swaps) on Top Traders token screen + feed cp-8.4.0 (#33508)
bca9a43889 fix: invalid JSON RPC errors and reduce Linea calls on wallet unlock (6 -> 2) (#33514)
c34c72b96f feat: add watchlist full empty view (#33492)
bb65abc092 refactor(onboarding): remove A/B test configurations and related components for onboarding checklist stepper (#33483)
55bcd39e7a test: MMQA - 2022 - [Mobile] Fix anti-patterns in flows/accounts.flow.ts (#33487)
a5ac016f86 feat: add QR sync SRP e2e inject path (#33238)
a12e01c403 fix: Update Base Notification toast with iOS animation and UI polish (#32938)
88142bd335 fix: react compiler issues on ChoosePassword and ManualBackupStep1 (#33481)
57018ba3c9 feat(card): add Immersve KYC webview and funding approval (#33548)
da95959b2e chore(ramp): opt in useNavigation to AppNavigationProp (Phase 4) (#33439)
e04b029f2f fix: wire tempMigrateAssetsInfoMetadataAssets3346 into AssetsController init (#33015)
65ed619300 refactor: Aligned more section across wallet and perps (#33391)
ddd741a666 fix: show token letter fallback in activity details avatar (#33467)
eb82e05240 feat(card): add Immersve funding and spending prerequisites (#33540)
6a24a7d580 fix(activity): stop rescaling human-readable ramp buy/sell amounts (#33537)
ed232b8197 chore: bump axios to ^1.18.0 to resolve moderate security advisories (#33541)
dc7702adde feat(card): add Immersve provider foundation (SIWE) (#33515)
864a026bcc chore: patch @metamask/assets-controller for suggested occurrence floors (#33411)
a6f4d69366 fix: remove whole redux state pass through for bridge selectors (#33529)
b0c757a90f fix(ramps): restore RAMPS_TRANSACTION_CONFIRMED for UB2 flows (TRAM-3738) (#33012)
0e85a6d473 chore(component-library): remove unused ListItemMultiSelectWithMenuButton temp component (#33506)
6353d274a8 chore: remove unused HeaderStandardAnimated from components-temp (#33502)
d2a18a46e0 fix: cp-8.4.0 prevent FullWindowOverlay from hiding iOS accessibility tree for Toaster (#33454)
1364bea143 feat: price alert percentage feature (#33339)
e9da46e649 refactor: Migrate transactions/withdraw/deposit progress bar to MMDS and move them above Perps title (#33361)
ce57501c7c fix: android foreground notifications (#33468)
7881e981d0 fix(money): reduce per-keystroke overhead in deposit amount screen (MUSD-1180) (#33465)
5a2edb3188 fix: update push notification content (#33103)
2f63a49452 chore: QuickBuy update direction property as trade_type (#33486)
119acda1c8 fix(money): remove "Steps" heading for single-step mUSD transfers (MUSD-1160) (#33195)
c4085d8dee chore: improve performance of the network selector (#33500)
a0732d2904 fix(money): reduce Add/Transfer bottom sheet open latency (MUSD-1161) (#33210)
2389459356 perf(predict): replace per-card 1s connection-status polling with shared subscription (#33259)
ed7f2f638d fix(money): suppress amount-update error toast on dismissed confirmation (MUSD-1188) (#33491)
bc734cd89a test: remove card detox test (#33484)
cabbe0cd5c feat: add watchlist fullscreen view (#33287)
fed77e9b6a test: MMQA-1996: Migrate smoke/notifications Detox tests to Appium (#33409)
c7b3054f7f feat(stellar): add trustline support in transaction history (#33479)
f09ae8e87c fix(ramps): dynamic per-provider BottomSheet background for checkout WebView (TMCU-1087) (#33429)
99dadfe1c1 chore: migrate Jest preset to @react-native/jest-preset (#33201)
9bc1b132cf chore: replace removed ContextContainer::Shared alias in JNI registry (#33214)
937890b6d4 chore: bump react-native-get-random-values to 2.0.0 (RN 0.85 New Arch) (#33323)
49a35ec205 chore: bump react-native-screens to 4.25.2 (#33121)
23aef41730 chore: bump react-native-svg to 15.15.5 and retarget patch (#33118)
4e58e96efc fix: cp-8.3.0 Fix return undefined token fiat amount instead of locking 1 (#33461)
6df2cbef88 chore(nav): type wallet, asset, and settings shell navigators (Phase 3) (#33306)
d27d2ec148 release: Bump main version to 8.5.0 (#33460)
48fe005243 chore: upgrade MMDS to v54.0.0 (#33455)
8cf01447e6 fix: incorrect non-evm url in useActivityBlockExplorer (#33396)
653aa5fe43 chore(nav): type Money and Ramp nested navigators with NavigatorScreenParams (phase 3) (#33227)
a13e871841 feat: add star icon on trending tokens (#33421)
cccf5bf1d6 chore: remove BUILDS_ENABLED_WITH_GH_ACTIONS_TEMPORARY flag (#32825)
cb3cd9385b chore: Revert "chore: Use expo babel transformer (#33082)" (#33440)
c14a7ba0ee feat(money): add Earn with Money account banner on supported token detail pages (MUSD-1177) cp-8.4.0 (#33412)
ad0f2ea959 feat(home): add homepage 8-button action grid AB test (#33388)
2a7bf19b47 refactor(confirmations): migrate GasFeeTokenModal to MMDS BottomSheet (#33229)
a149195b67 fix: use getPerpsDisplaySymbol on recently viewed rail cp-8.4.0 (#33436)
38781cabd8 refactor(perps): migrate Close All Positions sheet to MMDS (#33365)
9c89318d61 refactor(perps): use MMDS BannerAlert for service interruption banner (#33364)
83b08999eb perf: fix redundant RPC calls on wallet unlock (cache network health metadata + deprecate legacy balance polling) (#33379)
d5d87bf1a9 fix: pure black splash background in dark mode (iOS/Android) (#33360)
ceed3d49f9 refactor(perps): migrate provider selector UI to MMDS (#33363)
f7f64e21f8 ci: request workflows:write for crowdin translation token exchange (#33403)
f736d82ad0 chore(earn): type Earn navigators with feature param lists (Phase 3) (#33291)
ff2a6dfeec fix: raw token amounts shown in asset details activity list (#33211)
4290439de8 perf: unnecessary API calls and NFT performance issues on homepage focus (#33122)
257f20f946 chore: update follow count (#33418)
d4301edd7d fix(activity-redesign): render non-EVM swap/bridge rows with the redesigned row style (#33376)
58ae96f8ff chore: adds label for open feed rows with "Holding" / "Open" (#33404)
7a1497bc80 fix: MUSD deposit from money home page cp-8.3.0 (#33423)
90ce3cffc0 feat: integrate Sentry into QR account sync receive flow (#33316)
59950aa31e chore: emit chain name on follow-trading token events (#33349)
8e5f3a3f81 perf(earn): use memoized selectPendingApprovalIds instead of isEqual … (#33181)
fc817265a2 test: migrate card tests to appium (#33407)
d675c5e831 fix(predict): hide empty related-tag sub-tabs via activeEventsCount cp-8.3.0 (#33399)
92562db632 feat(perps): consume perps controller analytics contract in MetaMask Mobile (#33095)
c904468821 chore: memoize Swaps QuoteRow rendering (#33392)
ce85d95c49 fix(money): skip first-deposit celebration for funded restored accounts (MUSD-903) (#33335)
43eb516ad3 feat(perps): make market detail header identity a tight tap target (#33414)
a9de3d7f27 fix(perps): make market detail price/change row scroll instead of sticky (#33408)
25e0e9b9b3 fix(predict): route Popular Today to Trending cp-8.3.0 (#33373)
19a5383b64 perf(predict): stop REST price polling while live market feed is connected (#33261)
fef858cec8 feat: add support for batch sell on swaps reconciler (#33400)
5a9cc973ca fix: Windows (Git Bash) local development environment compatibility (#33138)
3dccec5762 feat: MUSD-1147 add money account apy to stablecoin earn cta (#33226)
2cb9a53156 fix: Bump react-data-query (#33402)
56721d1849 fix(activity): show one row for gasless sends with token gas fee (#33284)
c261334604 fix(predict): Design QA feedback to the redesigned Predict home and feed cp-8.3.0 (#33382)
24bacc603b perf(login): fix React Compiler blockers in Login screen (#33271)
0230e2cf66 fix(predict): Fix sports card outcome ordering (#33275)
f6dc2d58a6 perf: use createSelector in selectSelectedInternalAccount (#32792)
ff37bcbec7 feat: TDP new theming AB test (#33249)
285cd2e4e3 fix: allow isAuthenticating updates on frozen SecureKeychain (#33406)
db5c0d05d5 fix: guard Nitro Fetch headers check when Headers is unavailable (#33224)
3caf94cb55 fix(e2e): seed SOL into AssetsController for homepage network filter smoke (#33410)
daeee3b39f fix(money): fund Add mUSD via MM Pay fiat deposit instead of standalone Ramps (MUSD-1164) (#33338)
ca991e6a75 ci: run Linux CI on Namespace shadow behind NAMESPACE_SHADOW_LINUX_AUTO_DISPATCH (#33387)
52f3842c68 fix(money): update transaction data when pay token changes on deposit (#33395)
e9c295ede6 chore: support deprecating controller by controller (#33368)
eb29aa1281 fix(predict): remove redundant Live filter chip (#33383)
dd7bf15e81 feat: read stablecoins from stable-tokens LD flag in useTokenFiatRates cp-8.3.0 (#33251)
955fd0a6ff fix: show realized PnL on closed perp feed rows (#33356)
38e16cd043 chore: Use expo babel transformer (#33082)
d7606c0aa3 chore: Upgrade @metamask/delegation-controller from ^2.0.2 to ^3.0.0 (#29834)
e7c210488d chore: open trader position view from feed card tap (#33344)
322dd16d64 chore(send): type Send navigator with feature param list (Phase 3) (#33303)
cef38729cf Revert "feat(perps): enable RoE sign toggle on Auto Close TP/SL (#324… (#33375)
273908b6aa fix(money): show projected 1-year balance in USD (MUSD-1173) cp-8.3.0 (#33333)
5f2cab7c51 chore: migrate to DS slider and use haptics (#33290)
e2b7b1d0e6 chore(bridge): type Bridge navigators with feature param lists (Phase 3) (#33292)
81d497cfe3 chore(card): type Card navigators with feature param lists (Phase 3) (#33283)
c16d9c7580 fix(perps): show long orders in Activity and dedupe perps deposits + clean up (#33235)
5baa9a24cc fix(perps): use live price subscription for header display in trade/close screens (#33099)
8fe6ed511b revert: remove eslint/tsc CI caching (unsafe for cross-file lint rules) (#33370)
96abde95e9 feat: social leaderboard opt out (#32982)
e2db41a167 chore(nav): type Rewards nested navigator with NavigatorScreenParams (#33231)
42e2c2b121 chore(nav): type Predict nested navigators with NavigatorScreenParams (#33219)
8623e6f2a9 fix: ui 'no networks fee' label align center in additional networks (#32898)
35524572cc ci: request workflows:write for release changelog token exchange cp-8.3.0 (#33352)
ed92a6d57d fix(confirmations): use elevated surface on Advanced EIP-1559 modal (#33301)
0017c399e2 test: Wait for top toast before account picker in multi-srp Appium smoke (#33348)
20c7af54f8 refactor: remove unused styles and simplify PhoneCountrySelectorModal… (#33350)
db494587d1 feat(perps): redesign market detail header (TAT-3348) (#33024)
d95691f4c8 fix: MUSD-1175 MetaMask Card "Avail. balance" incorrectly changes based on preferred fiat currency cp-8.3.0 (#33293)
c59a71b642 refactor(engine): wire TransactionController into @metamask/wallet init (#32937)
60905c52f8 chore: update navigation for final step (#33326)
2ef73f3664 fix: cp-8.3.0 convert pay-flow token amounts to USD instead of relabeling (#33321)
dc305bfe56 chore: update trader feed events to match segment-schema (#33320)
234a6829b8 feat: block MetaMask Pay submissions without quotes and handle no-op quotes cp-8.3.0 (#33194)
2df685ca7e feat: migrate mobile-core-ux files from BN.js to native BigInt (#32824)
91b0f055ab test: MMQA-2000: Migrate smoke/ramps Detox tests to Appium (#33334)
ccce7d74d6 fix(predict): Trending too few markets & unstable count cp-8.3.0 (#33336)
d836d925d7 chore: deprecate ActionModal and confirmations BottomModal (#33309)
f40f575903 fix(confirmations): use elevated surface color for TextWithTooltip modal in Pure Black mode (#33300)
94bcd0bab1 fix(confirmations): use elevated surface for edit spending cap modal (#33299)
8a4a01f28c fix(confirmations): use elevated surface color in AdvancedGasPriceModal (#33297)
cdbc2efbb5 fix(confirmations): use elevated surface for AlertModal in Pure Black mode (#33298)
fcab1e8c6b fix(confirmations): use elevated surface color in ConfirmAlertModal for Pure Black (#33296)
fa65c36a22 fix(confirmations): use elevated surface color for value detail modal in Pure Black (#33242)
ea4ea5cc65 fix(confirmations): align Edit network fee sheet with elevated surfaces (#33294)
fb1708de36 fix(confirmations): use elevated surface for CustomNonceModal in Pure Black (#33239)
5d9466a042 fix(money): show USD amounts in Money toasts (MUSD-1174) (#33330)
c3a56fb1fe fix(money): keep Add mUSD tappable and route to Ramps when user has no mUSD (MUSD-1164) (#33250)
a27c73b875 feat(perps): add limit-order support to close position flow cp-8.3.0 (#33197)
9f499fb006 fix(ci): use content-based eslint cache strategy for reliable CI hits (#33327)
887370fcaf fix(predict): use correct payload for dynamic market subscriptions cp-8.3.0 (#33289)
f088cd1d34 chore: relax-price-api-condition-legacy-chart and update to time based index (#33204)
53996cdef5 fix(ci): resilient BrowserStack main reuse + fallback upload (#33277)
da9a364eed chore: New Crowdin Translations by GitHub Action cp-8.3.0 (#33009)
25ef31a7c3 docs: Add deprecation message to BaseNotification (#33123)
def77468b2 feat: show already-synced sheet on duplicate SRP re-sync (#33245)
9bcbf43731 ci: cache eslint and tsc results between ci runs (#33304)
285a54b663 test(perps): remove redundant MMDS BottomSheet mocks (#33288)
d29e494729 fix: oversubscription perps top movers (#33150)
158c8a3361 fix(design-system): remove useElevatedSurface shim from ActionListItem (#33163)
e6d3842193 fix: inject Sentry Debug IDs during Metro bundling (#33220)
f6da752451 chore: bump bridge and bridge status controller for transaction_internal_id in Unified SwapBridge Completed (#33286)
4d571e301b feat: temporary 10-year anniversary app icon cp-8.3.0 (#33280)
c4cb337879 ci: add changelog lint to catch malformed CHANGELOG.md (#33117)
d0795b6291 perf(bridge): migrate token selector to FlashList (#33230)
687f8075cb fix(swaps): backfill sparse post-trade suggestions (#33273)
c4ef40c5da fix(android): share state logs as file attachment instead of path string (#33281)
6411d21cd0 fix: show correct pending status in post strade modal cp-8.3.0 (#33279)
7f340f9e14 fix(money): open all Money account external links in the in-app browser (MUSD-1168) (#33256)
148d14ec5e test: add first integration test - Perps (#29749)
e2928774f2 refactor(perps): migrate Set slippage BottomSheet to MMDS (#33243)
b25f5ac7a2 test: MMQA-2004: Migrate smoke/swap Detox tests to Appium (#33247)
2e564e36ac chore: adds trader feed analytics events (#33252)
0ee3ace5fe fix(perps): horizontally center candle period filter buttons (#33237)
343ba5aaba feat(ramp): Headless Buy all-providers Phase 1 - in-app providers (dev-gated) (#32682)
6e619fd68e fix(activity): stuck confirmation on back after tx + missing lending deposit token icon cp-8.3.0 (#33157)
28a226411b perf(predict): replace RN Image with expo-image across Predict components (#33207)
a23ce45194 feat(money): update Money onboarding Rive animation to v24 (#33260)
d05336bf2e fix(activity): resolve speed-up/cancel dead-end and correct cancelled/failed rows cp-8.3.0 (#33071)
0b264c4c98 fix: include hyperliquid chain in trader feed fetch (#33254)
7317565b53 feat: scam questionnaire on malicious internal send flows (#30717)
65eb9a30e0 fix(money): Activity list amount does not match transaction detail page for mUSD send on Monad (MUSD-1169) (#33258)
d2026ac943 fix(money): correct mUSD casing and list it first on Monad in FAQs (MUSD-1158) (#33190)
a19809e2d4 perf: fix useMemo rest-param dependency in useSDKMethod so stringifiedParams actually memoizes (#32728)
4d61ccc302 feat: add home section watchlist (#33213)
dfef18cd12 test: Add 14 Sell flow CVT tests (#32620)
4fde051106 ci(MMQA-1667): skip native builds when PR only changes E2E/performance tests (#33180)
ac5b30b41b perf(predict): Cache homepage position-row icons with expo-image (#33208)
2684ed12c4 feat: save custom gas settings (#31649)
d5f686adda test: Update Predict E2E to wait for top toast dismiss before back tap (#33244)
cffcbe655e fix(confirmations): use elevated surface for confirmation tooltip modal (#33241)
025842a685 fix(pure-black): align Advanced details Expandable sheet with other elevated sheets (#33152)
2a5ef46f95 fix(confirmations): elevate GasFeeTokenModal surface for pure black claim bonus (#33173)
4a8ff95b4a fix(money): show mUSD withdrawal sends as mUSD instead of mUSD → USDC (MUSD-1159) (#33200)
db43869aa1 fix(money): prevent skeleton jitter and account row flash in card deposit flow (MUSD-1130) (#33039)
ed792c154e fix(snaps): Add missing UI components (#33246)
47b160716d feat(perps): show ticker next to market name in market list rows (#33191)
bb247708df ci(INFRA-3680): rename bot references from mm-token-exchange-service to metamask-ci (#33189)
27e90628f1 refactor: simplify layout nesting for OAuthrehydration, SRP error, and QR scanner (#33179)
fd7785dd44 feat: adds follow trading feed (#33115)
dd2d6f09e0 chore: bump @metamask/tron-wallet-snap to ^1.31.0 cp-8.3.0 (#33225)
2f6b4ea6d8 test(e2e): MMQA-2005 migrate trending smoke tests from Detox to Appium (#32940)
8571c4a5b6 feat: ResetPassword component to improve reauthentication flow and error handling to be react-compiler compatible (#31965)
5c106385ef feat: add new ledger device selection (#30671)
5f89af5ad9 feat(perps): enable RoE sign toggle on Auto Close TP/SL (#32404)
a957368fed fix(ramp): keep amount input visible when opening provider picker (#33132)
11ad8b794f fix(TMCU-1054): remove bg-default from NetworkVerificationInfo root (#33174)
fafc95101b chore: integrate fast-mode stream channel for focus screen views (#32556)
ffd1406246 fix(swaps): clear stale quote before opening batch sell cp-8.3.0 (#33221)
17af786de5 perf(qr): fix React Compiler blockers in QR and network cluster (#32778)
f551ffc05b fix(predict): show retryable error instead of $0 when balance fails to load (#32907)
27cb37022a fix(TMCU-1048): Remove redundant useElevatedSurface from MMDS BottomSheet callsites (#33159)
7719fa3f59 feat: introduce advanced chart analytics (#32365)
9aad058871 feat: recently viewed market list (#32999)
f010f9d598 ci: remove unused error handling during setup (#33218)
ab8d680a5c ci: verbose setup during CI (#33151)
b06f0f6188 fix(pure-black): Network pill and enabled-network list styling (#33143)
2b6e1bddac test: MMQA-1987: Migrate smoke/account-activity Detox tests to Appium (#33196)
64e149d0c0 refactor(market-insights): migrate entry card and disclaimer sheet to use MMDS components (#32861)
088d336c02 chore: update flag default value (#33209)
597b8037cb fix: better check for tron native asset cp-8.3.0 (#33206)
a1e8b199ff refactor(perps): migrate PerpsOrderTypeBottomSheet to MMDS (#33081)
921b70e4d9 feat: implement non prefix ids backwards compatiblity on ramps (#32819)
2eeab87bde fix(settings): translate getAuthLabel authentication labels (#33203)
9400c7f2c3 feat: QrSync syncing metadata (#32502)
f55b27285e feat(social-leaderboard): add TopTraders onboarding flow (#32820)
f388912d0c feat: Bump Snaps packages (#33202)
70977adff1 perf(predict): only fetch market data for the active feed tab (#32935)
801e05c110 feat(transaction-pay-controller): support metamask pay alternate caveats (#32738)
f39f661677 feat: Add minimal analytics for redesigned Predict Home V2 (#32697)
3505b358d7 perf(predict): memoize PredictPositionRow on homepage (#33185)
78a2d326f6 test: MMQA-1995: Migrate smoke/networks Detox tests to Appium (#32804)
c21e66e9cc perf: derive accounts/evmAccounts with useMemo instead of state+effect (#32721)
056a3fdc47 fix(predict): stop reporting transient network errors to Sentry (#33184)
6f0e4fd19b refactor: simplify layout nesting for backup, import, and password screens (#33177)
bb00f4705a feat: prefill token amount to be deposited in MM Pay amount page (#32889)
24080df13e feat: add watchlist star in token details (#32962)
e5e6ae04a7 feat: add more interval support for token details (#33054)
758f4d258e chore: add Quick Buy original_entry_point for trade-screen attribution (#33034)
135e7935de fix: spam warning modal not showing up cp-8.3.0 (#33154)
12f8b0e679 feat: update legend indicator subpane v2 (#33108)
6d8bd7f6f1 refactor(AgenticCliApproval): update approval page path and clean up tests- cp-8.3.0 (#33036)
d8ec071815 fix: import srp password keyboard done (#33171)
458ad3ace4 fix: MUSD-1165 Inconsistency with asset names (#33140)
30a9546f74 feat: MUSD-1140 add sentry tracing for money account balance service network requests (#32995)
1ffca01a97 fix(money): sync activity list row status with transaction toasts (MUSD-1129) (#33125)
c65d38a89a fix(money): pin activity list date headers to design format (MUSD-1125) (#33119)
---

AI Test Plan

Risk Score High Risk Medium Risk Files Changed Teams Signed Off
37/100 3 2 9 0/0
Executive Summary

Release Focus: CI/CD pipeline restructuring to move build number bumping from a dedicated workflow into build-time execution, consolidating release automation scripts.

Key Changes:

  • Removed commit-build-version.yml workflow entirely (64 lines deleted), shifting build version commit logic elsewhere
  • Updated create-release-pr.yml with significant additions (+26 lines) to absorb version management responsibilities
  • Refactored build-rc-auto.yml, runway-production-builds.yml, and runway-rc-builds.yml to streamline build triggers and reduce redundancy
  • Modified create-release-pr.sh script to simplify release PR creation logic
  • Removed a CODEOWNERS entry, potentially changing review requirements for certain files

Critical Areas: Release PR creation and version number accuracy in app builds, Build artifact integrity and correct version stamping on iOS and Android, OTA (over-the-air) update build pipeline correctness, Core wallet operations to confirm no regressions from build pipeline changes

Overall Risk: MEDIUM

Recommendation: Conditional go — the app's functional code is unchanged, but the restructured build pipeline introduces risk that shipped binaries may carry incorrect version numbers or build metadata. QA should verify that the installed build reports the correct version string, build number, and that release artifacts are properly stamped before approving for production release.

Release Scenarios (5)

High Risk Scenarios (3)

1. Build Version & App Metadata

Risk Level: HIGH

Why This Matters: The commit-build-version.yml workflow (64 lines) was entirely deleted and its responsibilities absorbed into create-release-pr.yml and build-time logic. If the migration is incomplete or the new workflow fires at the wrong stage, the build number may not be committed, may be duplicated, or may be stamped with an incorrect value. This is the core risk of this PR and directly affects what version users see and what stores accept.

Preconditions:

  • Test build has been installed fresh on both iOS and Android devices
  • Device has no prior MetaMask installation (clean install scenario)
  • Tester has access to the expected version string and build number from the release PR

Test Steps:

  1. Install the release candidate build on a clean iOS device — verify installation completes without errors
  2. Open MetaMask and navigate to Settings > About — verify the displayed app version matches the expected release version string exactly (e.g., '7.x.x')
  3. Verify the build number displayed in Settings > About matches the build number defined at build time, not a stale or incremented value from a previous run
  4. Repeat steps 1-3 on a clean Android device — verify version string and build number are identical to iOS values where applicable
  5. Check the App Store / Play Store metadata (internal track) to confirm the uploaded binary version code and version name match the release PR values
  6. Perform an app update from the previous release version to this build on both platforms — verify the version increments correctly and no downgrade is detected
  7. After update, navigate to Settings > About and confirm the new version is displayed, not the old one
  8. Force-close and relaunch the app — verify version string persists correctly and the app does not re-trigger any version bump logic at runtime

Expected Outcomes:

  • App version string in Settings > About exactly matches the intended release version
  • Build number is correctly stamped at build time and not duplicated or skipped due to removed commit-build-version workflow
  • Both iOS and Android binaries report consistent, correct version metadata
  • Update path from previous version increments version correctly without conflicts

2. OTA Update Delivery

Risk Level: HIGH

Why This Matters: auto-rc-ota-build-core.yml received new additions (+6 lines) as part of this restructuring. OTA builds have a separate pipeline from native builds, and any misconfiguration in how the build number or bundle version is passed to the OTA pipeline could result in users receiving an update that the app rejects, loops on, or that carries wrong metadata. OTA failures are particularly severe as they can break existing installs.

Preconditions:

  • Device has a previously installed MetaMask version that supports OTA updates
  • OTA build pipeline (auto-rc-ota-build-core.yml) has been triggered for this release
  • Tester has access to OTA update channel configuration

Test Steps:

  1. Install the previous stable release on an iOS device — confirm version in Settings > About
  2. Trigger or wait for the OTA update to become available via the configured update channel
  3. Launch MetaMask — verify the app detects the OTA update and prompts appropriately (or silently updates per configuration)
  4. Allow the OTA update to complete — verify the app restarts or reloads successfully
  5. Navigate to Settings > About — verify the version string reflects the OTA-updated version, not the previous version
  6. Perform a basic wallet operation (view balance, navigate between tabs) — verify no crashes or blank screens occur post-OTA update
  7. Repeat steps 1-6 on Android if OTA is supported on that platform for this build
  8. Force-kill and relaunch after OTA — verify the updated version persists and the app does not attempt to re-apply the OTA bundle

Expected Outcomes:

  • OTA update is delivered successfully from the new auto-rc-ota-build-core.yml pipeline
  • Post-OTA app version matches the expected release version
  • No crashes, white screens, or bundle loading errors occur after OTA application
  • App state (accounts, networks, preferences) is preserved after OTA update

3. Release PR Automation & Version Consistency

Risk Level: HIGH

Why This Matters: create-release-pr.yml had 26 lines added and 6 removed, absorbing logic from the deleted commit-build-version.yml. The script create-release-pr.sh was also simplified. If the version commit logic was not fully migrated or fires at the wrong workflow step, the release PR could be created with wrong version numbers, which would propagate to all shipped binaries. The CODEOWNERS removal also reduces oversight on critical release files.

Preconditions:

  • Access to GitHub Actions run logs for the create-release-pr.yml workflow
  • Ability to inspect the generated release PR branch and its committed files
  • Knowledge of the expected version bump (patch, minor, or major) for this release

Test Steps:

  1. Locate the GitHub Actions run for create-release-pr.yml triggered by this release — verify the workflow completed without errors
  2. Open the generated release PR and inspect the version fields in package.json (or equivalent version file) — verify the version matches the intended release version
  3. Verify that the build number in the release PR branch is correctly incremented from the previous release and was not skipped or doubled due to removal of commit-build-version.yml
  4. Check that the release PR branch contains all expected version-related file changes and no extraneous commits from the old commit-build-version workflow
  5. Inspect create-release-pr.sh changes — verify the simplified script (2 lines removed) still correctly sets all required version fields
  6. Trigger a manual re-run of the workflow (if possible in staging) and verify idempotency — running twice should not double-increment the build number
  7. Verify the CODEOWNERS removal does not bypass required reviews for the release PR — confirm appropriate reviewers are still auto-assigned
  8. Install the build produced from this release PR branch and cross-reference the in-app version with the PR's committed version values

Expected Outcomes:

  • create-release-pr.yml workflow completes successfully with correct version values committed
  • No duplicate or missing build number increments in the release branch
  • Release PR contains clean, minimal version bump commits without artifacts from the removed workflow
  • CODEOWNERS removal does not create a gap in required review coverage for release files

Medium Risk Scenarios (2)

1. Wallet Operations - Core Regression

Risk Level: MEDIUM

Why This Matters: While this PR only modifies CI/CD workflows and scripts, a misconfigured build pipeline can inadvertently include wrong JavaScript bundles, incorrect environment variables, or mismatched native/JS versions. Core wallet regression testing on the actual shipped binary confirms the build artifacts are internally consistent and functional, not just correctly versioned.

Preconditions:

  • Fresh install of the release candidate build on iOS and Android
  • Test wallet with at least one account containing ETH on Ethereum mainnet
  • Secondary test wallet available for receiving transactions

Test Steps:

  1. Launch the app and complete onboarding (create new wallet) — verify seed phrase screen displays correctly and wallet is created successfully
  2. Navigate to the wallet home screen — verify account balance loads and displays correctly without errors
  3. Initiate a send transaction: tap Send, enter a valid recipient address, enter a small ETH amount — verify gas estimation populates correctly
  4. Confirm the transaction — verify it is submitted and appears in the activity feed with 'Pending' status
  5. Switch networks from Ethereum mainnet to Polygon — verify the network switch completes and balance updates for the new network
  6. Navigate to the browser tab and load a simple dApp (e.g., app.uniswap.org) — verify the dApp connects and recognizes the wallet
  7. Import an existing wallet using a seed phrase — verify import completes and the correct accounts and balances are restored
  8. Lock the app and unlock using biometrics or PIN — verify the unlock flow works and the wallet state is preserved

Expected Outcomes:

  • All core wallet operations complete without crashes or unexpected errors
  • Transaction submission and status tracking work correctly
  • Network switching updates balances and RPC connections properly
  • Wallet import restores correct account state
  • Authentication (biometrics/PIN) functions correctly after the new build is installed

2. RC Build Pipeline - iOS and Android Artifact Integrity

Risk Level: MEDIUM

Why This Matters: build-rc-auto.yml had 13 lines added and 20 removed, and runway-rc-builds.yml had 9 added and 16 removed. These are significant structural changes to the pipelines that produce the actual RC binaries. Reduced line counts suggest consolidation, but if any required build steps were accidentally removed along with the refactoring, the resulting artifacts could be misconfigured, unsigned, or built against wrong environments.

Preconditions:

  • Access to the build artifacts produced by build-rc-auto.yml and runway-rc-builds.yml
  • Both iOS (.ipa) and Android (.apk/.aab) artifacts are available from the same pipeline run
  • Device running iOS 15+ and Android 10+ available for testing

Test Steps:

  1. Download the iOS RC artifact produced by the refactored build-rc-auto.yml — verify the artifact is not corrupted and installs successfully via TestFlight or direct install
  2. Download the Android RC artifact from runway-rc-builds.yml — verify the APK/AAB installs successfully on an Android device
  3. On iOS, open the installed build and verify the app launches without a crash on the first open
  4. On Android, open the installed build and verify the app launches without a crash on the first open
  5. On both platforms, navigate to Settings > About and record the version string and build number — verify they match each other and the expected release values
  6. Verify that the iOS build is signed correctly and does not show any provisioning profile errors during install
  7. Verify the Android build passes integrity checks and is not flagged as a debug build when it should be a release build
  8. Check that no development/staging environment variables are baked into the release build (e.g., verify API endpoints point to production)

Expected Outcomes:

  • Both iOS and Android RC artifacts install cleanly without errors
  • App launches successfully on first open on both platforms
  • Version metadata is consistent across platforms and matches release PR values
  • Build signing and environment configuration are correct for a release candidate

Excluded Features - Feature Flags Disabled (99)

The following features are disabled via feature flags and should NOT be tested:

  • ASSETS3831TestFeatureFlagPermissions
  • addDeviceSyncEnabled
  • agentic_cli_notifications_enabled
  • aiSocialAusCacheRefreshEnabled
  • aiSocialLeaderboardOnboardingEnabled
  • aiSocialLeaderboardOptFlowEnabled
  • assetsGlobalWatchlistV1
  • assetsMemeCoinView
  • bitcoinTestnetsEnabled
  • brazeBannerHome
  • brazeBannerHomeMinVersion
  • brazeSegmentForwarding
  • cardIntercomSupport
  • cardTransactionHistory
  • configRegistryApiEnabled
  • confirmations_pay_hardware
  • coreMCU589AbtestHubPageDiscoveryTabs
  • coreMCU747AbtestPredictPositionsEmptyState
  • crossmintApplePayCheckout
  • earnFeatureFlagTemplate
  • earnMoneyAssetOverviewBalanceCtaEnabled
  • earnMoneyAssetOverviewFooterCtaEnabled
  • earnMoneyCardFlipAnimationEnabled
  • earnMoneyCardTiltAnimationEnabled
  • earnMoneyEarningSectionEnabled
  • earnMoneyHubEnabled
  • earnMoneyParallaxAnimationEnabled
  • earnMusdConversionAssetOverviewCtaEnabled
  • earnMusdConversionFlowEnabled
  • earnMusdConversionRewardsUiEnabled
  • earnMusdConversionTokenListItemCtaEnabled
  • earnMusdCtaEnabled
  • earnPooledStakingServiceInterruptionBannerEnabled
  • earnStablecoinLendingServiceInterruptionBannerEnabled
  • earnMoneyBalanceAnimationEnabled
  • forceRampsStagingEnvironment
  • fullPageAccountList
  • googleLoginIosUnsupportedBlockingEnabled
  • hapticsKillSwitch
  • homeTMCU1209AbtestHomepageBalanceBreakdown
  • homeTMCU470AbtestTrendingSections
  • homeTMCU725AbtestHomepagePerpsPillsEmptyState
  • homeTMCU828AbtestOnboardingChecklistStepper
  • homeTMCU926AbtestDiscoveryPills
  • immersveOnboardingEnabled
  • ledgerDmk
  • legacyIosGoogleConfigEnabled
  • metalCardCheckoutEnabled
  • moneyActivityMockDataEnabled
  • moneyEnableCardActivityEnrichment
  • moneyHomeScreenEnabled
  • moneyShowMoneyAccountAddress
  • pepsSamplePhasedRolloutFlag
  • perpsAdvancedChartEnabled
  • perpsDefaultPayTokenWhenNoBalanceEnabled
  • perpsMyxProviderEnabled
  • perpsPerpGtmOnboardingModalEnabled
  • perpsPerpTradingServiceInterruptionBannerEnabled
  • perpsRecentlyAddedEnabled
  • perpsRecentlyViewedEnabled
  • perpsSlippageConfig
  • perpsCompetitionBannerEnabled
  • perpsMarketAboutEnabled
  • perpsProModeEnabled
  • platformNewLinkHandlerSystem
  • platformTestStructure
  • predictClobV2UseLegacyClobHost
  • predictFeedBanner
  • predictFeedCarousel
  • predictGtmOnboardingModalEnabled
  • predictHomeRedesign
  • predictHotTab
  • predictSportsFeed
  • predictTabFeaturedCarousel
  • predictWimbledon
  • predictWorldCup
  • predictHomepageDiscoveryNbaChampionEnabled
  • rampsServiceDisruptionModal
  • rampsTransakWidgetUrlProxy
  • rewardsAnnouncementModalEnabled
  • rewardsBitcoinEnabled
  • rewardsDropsEnabled
  • rewardsEnableMusdDeposit
  • rewardsEnableMusdHolding
  • rewardsFirstPredictOnUsEnabled
  • rewardsMissingEnrolledAccounts
  • rewardsReferralCodeEnabled
  • rewardsReferralEnabled
  • rewardsTronEnabled
  • socialAiAssetDetailsQuickBuy
  • socialAiTSA495AbtestCardRotationInterval
  • solanaOnboardingModal
  • solanaTestnetsEnabled
  • stellarAccounts
  • tempoConfig
  • tokenDetailsV2ButtonLayout
  • tokenDiscoveryBrowserEnabled
  • tronStaking
  • walletHomeOnboardingSteps

Generated by AI Test Plan Analyzer (claude-sonnet-4-6) at 2026-08-07T23:57:50.797Z

AI generated test plan (JSON): Available as artifact test-plan-0.0.0-test in the build workflow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size-M team-mobile-platform Mobile Platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant