Skip to content

release: 7.74.1#29443

Merged
joaoloureirop merged 6 commits into
stablefrom
release/7.74.1
Apr 28, 2026
Merged

release: 7.74.1#29443
joaoloureirop merged 6 commits into
stablefrom
release/7.74.1

Conversation

@metamaskbotv2
Copy link
Copy Markdown
Contributor

@metamaskbotv2 metamaskbotv2 Bot commented Apr 28, 2026

🚀 v7.74.1 Testing & Release Quality Process

Hi Team,
As part of our new MetaMask Release Quality Process, here’s a quick overview of the key processes, testing strategies, and milestones to ensure a smooth and high-quality deployment.


📋 Key Processes

Testing Strategy

  • Developer Teams:
    Conduct regression and exploratory testing for your functional areas, including automated and manual tests for critical workflows.
  • QA Team:
    Focus on exploratory testing across the wallet, prioritize high-impact areas, and triage any Sentry errors found during testing.
  • Customer Success Team:
    Validate new functionalities and provide feedback to support release monitoring.

GitHub Signoff

  • Each team must sign off on the Release Candidate (RC) via GitHub by the end of the validation timeline (Tuesday EOD PT).
  • Ensure all tests outlined in the Testing Plan are executed, and any identified issues are addressed.

Issue Resolution

  • Resolve all Release Blockers (Sev0 and Sev1) by Tuesday EOD PT.
  • For unresolved blockers, PRs may be reverted, or feature flags disabled to maintain release quality and timelines.

Cherry-Picking Criteria

  • Only critical fixes meeting outlined criteria will be cherry-picked.
  • Developers must ensure these fixes are thoroughly reviewed, tested, and merged by Tuesday EOD PT.

🗓️ Timeline and Milestones

  1. Today (Friday): Begin Release Candidate validation.
  2. Tuesday EOD PT: Finalize RC with all fixes and cherry-picks.
  3. Wednesday: Buffer day for final checks.
  4. Thursday: Submit release to app stores and begin rollout to 1% of users.
  5. Monday: Scale deployment to 10%.
  6. Tuesday: Full rollout to 100%.

✅ Signoff Checklist

Each team is responsible for signing off via GitHub. Use the checkbox below to track signoff completion:

Team sign-off checklist

  • Mobile Platform

This process is a major step forward in ensuring release stability and quality. Let’s stay aligned and make this release a success! 🚀

Feel free to reach out if you have questions or need clarification.

Many thanks in advance

Reference

@github-actions
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.

@metamaskbotv2 metamaskbotv2 Bot added the team-bots Bot team (for MetaMask Bot, Runway Bot, etc.) label Apr 28, 2026
@socket-security
Copy link
Copy Markdown

socket-security Bot commented Apr 28, 2026

No dependency changes detected. Learn more about Socket for GitHub.

👍 No dependency changes detected in pull request

@github-actions

This comment has been minimized.

@github-actions github-actions Bot added size-S and removed size-XL labels Apr 28, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🚀 RC Builds Ready for Testing

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

AI Test Plan

Risk Score High Risk Medium Risk Files Changed Teams Signed Off
33/100 2 3 4 0/1
Executive Summary

Release Focus: Patch release 7.74.1 focused exclusively on version bumps across Android, iOS, and package configuration with no functional code changes.

Key Changes:

  • Android build.gradle version code and name updated to 7.74.1
  • iOS project.pbxproj marketing version and build settings updated to 7.74.1
  • package.json version field bumped to 7.74.1
  • Bitrise CI configuration updated to reflect new version references

Critical Areas: App installation and upgrade path from 7.74.0 to 7.74.1 on both platforms, Core wallet functionality integrity after version bump on Android and iOS

Overall Risk: LOW

Recommendation: Go. This is a version-bump-only patch release with no functional code changes. Testing should focus on confirming the build installs correctly on both platforms, reports the correct version number, and that core wallet operations remain unaffected. No regressions are expected, but smoke testing both Android and iOS builds is required before release.

Release Scenarios (5)

High Risk Scenarios (2)

1. App Installation and Version Integrity

Risk Level: HIGH

Why This Matters: The android/app/build.gradle and ios/MetaMask.xcodeproj/project.pbxproj changes directly control the versionCode, versionName, MARKETING_VERSION, and CURRENT_PROJECT_VERSION fields. Incorrect values in these files can cause app store rejection, failed OTA updates, or version mismatch errors. Since these are the only substantive changes in this patch, verifying they are correct and that the upgrade path is clean is the highest priority test.

Preconditions:

  • Device has MetaMask Mobile 7.74.0 installed with an existing wallet
  • Test on both Android (physical device or emulator API 26+) and iOS (physical device or simulator iOS 15+)
  • Device has sufficient storage for app update
  • Existing wallet has at least one account with known seed phrase

Test Steps:

  1. On a device running 7.74.0, note the current version displayed in Settings > About - verify it shows 7.74.0
  2. Install the 7.74.1 build over the existing installation (do NOT uninstall first) - verify installation completes without errors
  3. Launch the app after upgrade - verify the app opens without crash or blank screen
  4. Navigate to Settings > About or General - verify the displayed app version reads exactly '7.74.1'
  5. Unlock the wallet using existing PIN or biometrics - verify the wallet unlocks successfully and existing accounts are present
  6. Navigate to the main wallet screen - verify account balances, network selection, and token list load correctly
  7. Check the Android build version code (via device app info) or iOS CFBundleVersion - verify it matches the expected incremented build number for 7.74.1
  8. Perform a soft restart of the app (background and reopen) - verify session persists and no re-onboarding is triggered

Expected Outcomes:

  • App upgrades cleanly from 7.74.0 to 7.74.1 without data loss
  • Version string '7.74.1' is correctly displayed in the app's About section
  • Existing wallet, accounts, and preferences are fully preserved post-upgrade
  • No crash, blank screen, or unexpected re-onboarding flow is triggered
  • Build number in platform-specific metadata matches the values set in build.gradle and project.pbxproj

2. Core Wallet Operations Post-Upgrade

Risk Level: HIGH

Why This Matters: While the changes in this PR are limited to version metadata in build.gradle, project.pbxproj, and package.json, an incorrect build configuration can introduce subtle runtime issues such as mismatched native module versions, incorrect bundle identifiers, or broken signing configurations that only manifest during actual app execution. Smoke testing core flows confirms the build is functionally sound and not just version-labeled correctly.

Preconditions:

  • Device has completed upgrade to 7.74.1 as per the installation scenario
  • Wallet is unlocked with at least one account on Ethereum Mainnet
  • Account has a small amount of ETH available for transaction testing (testnet acceptable)
  • Test performed on both Android and iOS builds

Test Steps:

  1. Unlock the app on 7.74.1 - verify home screen loads with correct account address and network displayed
  2. Navigate to Send flow, enter a valid recipient address and a small ETH amount - verify gas estimation loads and the transaction review screen appears
  3. Cancel the send transaction - verify navigation returns cleanly to the home screen without errors
  4. Navigate to Settings > Security & Privacy - verify biometric and password settings are accessible and reflect previously saved preferences
  5. Switch network from Ethereum Mainnet to a testnet (e.g., Sepolia) - verify network switches successfully and the network indicator updates
  6. Switch back to Ethereum Mainnet - verify the switch completes and token balances reload
  7. Navigate to the browser tab and load a known dApp URL (e.g., app.uniswap.org) - verify the page loads and wallet connection prompt appears
  8. Return to wallet home and verify account balance display, recent transaction history, and token list are all rendering correctly

Expected Outcomes:

  • All core wallet screens load without crashes or visual regressions
  • Send flow initiates correctly with gas estimation functioning
  • Network switching works bidirectionally without errors
  • Security settings retain previously configured values
  • In-app browser loads dApps and wallet connection is functional
  • No data corruption or missing state from the version bump upgrade

Medium Risk Scenarios (3)

1. Fresh Install and Onboarding

Risk Level: MEDIUM

Why This Matters: The package.json version bump affects how the JavaScript bundle identifies itself, and the iOS project.pbxproj changes affect 12 build configuration entries. A fresh install validates that the new build artifacts are self-consistent and that no stale version references from 7.74.0 remain embedded in the shipped bundle or native layer.

Preconditions:

  • Device has no prior MetaMask installation (clean state)
  • Test on both Android and iOS
  • Device meets minimum OS requirements for MetaMask Mobile

Test Steps:

  1. Install the 7.74.1 build on a clean device with no prior MetaMask data - verify installation succeeds
  2. Launch the app for the first time - verify the onboarding/welcome screen appears and not a crash or blank screen
  3. Select 'Create a new wallet' - verify the wallet creation flow initiates and password setup screen appears
  4. Complete wallet creation with a new password - verify seed phrase backup screen is presented
  5. Record the seed phrase and complete the backup confirmation step - verify the wallet home screen is reached
  6. Navigate to Settings > About - verify the version displayed is exactly '7.74.1'
  7. Restart the app and unlock with the newly created password - verify the wallet persists and home screen loads correctly

Expected Outcomes:

  • Fresh install completes without errors on both platforms
  • Onboarding flow is fully functional end-to-end
  • Version number '7.74.1' is correctly reported on a fresh install
  • Newly created wallet persists across app restarts
  • No references to previous version numbers appear anywhere in the UI

2. Android-Specific Build Integrity

Risk Level: MEDIUM

Why This Matters: The android/app/build.gradle changes modify both versionCode (integer used by Android for upgrade logic) and versionName (display string). If versionCode was not incremented correctly relative to 7.74.0, the Play Store and device package manager may reject the update or allow unintended downgrades. This is a platform-specific risk unique to the Android build.gradle changes in this PR.

Preconditions:

  • Android device or emulator running API level 26 or higher
  • APK or AAB built from the 7.74.1 branch
  • ADB access available for build metadata inspection if needed

Test Steps:

  1. Install the 7.74.1 APK on the Android device - verify installation succeeds without 'version downgrade' or signature errors
  2. Open device Settings > Apps > MetaMask - verify the version name shown by Android OS matches '7.74.1'
  3. Launch MetaMask and navigate to Settings > About - verify in-app version also shows '7.74.1'
  4. Attempt to install the 7.74.0 APK over the 7.74.1 installation - verify Android correctly rejects the downgrade due to higher versionCode
  5. Re-install 7.74.1 and unlock the wallet - verify all previously stored wallet data is intact
  6. Trigger a background-to-foreground transition 3 times - verify no crashes or ANR dialogs appear
  7. Check that deep link handling works by opening a metamask:// URI - verify the app opens to the correct screen

Expected Outcomes:

  • Android OS correctly identifies the app as version 7.74.1
  • versionCode is higher than 7.74.0 preventing unintended downgrades
  • No installation errors related to signing or version conflicts
  • App is stable across background/foreground transitions
  • Deep link routing functions correctly on the new build

3. iOS-Specific Build Integrity

Risk Level: MEDIUM

Why This Matters: The ios/MetaMask.xcodeproj/project.pbxproj changes touch 12 lines across multiple build configurations (Debug, Release, and potentially scheme-specific configs). Inconsistent MARKETING_VERSION or CURRENT_PROJECT_VERSION values across configurations can cause App Store submission failures, incorrect version display depending on build type, or broken entitlements. Verifying all configurations are aligned is critical for this iOS-heavy change.

Preconditions:

  • iOS device or simulator running iOS 15 or higher
  • IPA built and signed from the 7.74.1 branch
  • TestFlight or direct install available for testing

Test Steps:

  1. Install the 7.74.1 IPA via TestFlight or direct install - verify installation completes without provisioning or signing errors
  2. Open iOS Settings > General > VPN & Device Management (or App Store) and locate MetaMask - verify the displayed version is '7.74.1'
  3. Launch MetaMask and navigate to Settings > About - verify in-app version string shows '7.74.1'
  4. Verify CFBundleShortVersionString and CFBundleVersion are consistent by checking the app's Info.plist via device or build artifact inspection
  5. Test Face ID / Touch ID unlock - verify biometric authentication works correctly on the new build
  6. Send the app to background, wait 60 seconds, and reopen - verify the lock screen appears and biometric unlock succeeds
  7. Open a metamask:// deep link from Safari or Messages - verify the app handles the deep link correctly and navigates to the appropriate screen

Expected Outcomes:

  • iOS correctly identifies the app version as 7.74.1 in system settings
  • MARKETING_VERSION and CURRENT_PROJECT_VERSION in project.pbxproj are consistent across all 12 modified build configuration entries
  • Biometric authentication functions correctly post-upgrade
  • App lock and unlock cycle works as expected
  • Deep links from external apps route correctly within MetaMask

Teams Sign-off Status (0/1)

Awaiting sign-off (1): Mobile Platform

Excluded Features - Feature Flags Disabled (55)

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

  • addBitcoinAccountDummyFlag
  • aiSocialLeaderboardEnabled
  • aiSocialWhatsHappeningEnabled
  • assetsNftGridEnabled
  • bitcoinTestnetsEnabled
  • brazeBannerHome
  • brazeSegmentForwarding
  • configRegistryApiEnabled
  • confirmations_pay_hardware
  • coreMCU589AbtestHubPageDiscoveryTabs
  • earnFeatureFlagTemplate
  • earnMusdConversionRewardsUiEnabled
  • earnMusdQuickConvertEnabled
  • earnPooledStakingServiceInterruptionBannerEnabled
  • earnStablecoinLendingServiceInterruptionBannerEnabled
  • forceRampsStagingEnvironment
  • fullPageAccountList
  • googleLoginIosUnsupportedBlockingEnabled
  • hapticsKillSwitch
  • homeTMCU470AbtestTrendingSections
  • legacyIosGoogleConfigEnabled
  • moneyActivityMockDataEnabled
  • moneyEnableMoneyAccount
  • moneyHomeScreenEnabled
  • pepsSamplePhasedRolloutFlag
  • perpsDefaultPayTokenWhenNoBalanceEnabled
  • perpsMyxProviderEnabled
  • perpsPerpGtmOnboardingModalEnabled
  • perpsPerpTradingServiceInterruptionBannerEnabled
  • platformNewLinkHandlerSystem
  • predictBottomSheet
  • predictClobV2UseLegacyClobHost
  • predictExtendedSportsMarkets
  • predictHotTab
  • predictMarketHighlights
  • predictTabFeaturedCarousel
  • predictUpDown
  • predictWithAnyToken
  • rewardsAnnouncementModalEnabled
  • rewardsBitcoinEnabled
  • rewardsDropsEnabled
  • rewardsEnableMusdDeposit
  • rewardsEnableMusdHolding
  • rewardsMissingEnrolledAccounts
  • rewardsReferralCodeEnabled
  • rewardsReferralEnabled
  • rewardsTronEnabled
  • solanaOnboardingModal
  • solanaTestnetsEnabled
  • tempoConfig
  • tokenDetailsV2ButtonLayout
  • tokenDiscoveryBrowserEnabled
  • transactionsTxHashInAnalytics
  • tronStaking
  • walletHomeOnboardingSteps

Generated by AI Test Plan Analyzer (claude-sonnet-4-6) at 2026-04-28T19:54:24.008Z

AI generated test plan (JSON): test-plan-7.74.1.json

Copy link
Copy Markdown

@lannathompson65-arch lannathompson65-arch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@joaoloureirop joaoloureirop marked this pull request as ready for review April 28, 2026 22:21
@joaoloureirop joaoloureirop requested a review from a team as a code owner April 28, 2026 22:21
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

⏭️ Smart E2E selection skipped - base branch is not main or a release branch (base: stable)

All E2E tests pre-selected.

View GitHub Actions results

@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown
Contributor

E2E Fixture Validation — Schema is up to date
12 value mismatches detected (expected — fixture represents an existing user).
View details

@joaoloureirop joaoloureirop merged commit aaad3c8 into stable Apr 28, 2026
217 of 230 checks passed
@joaoloureirop joaoloureirop deleted the release/7.74.1 branch April 28, 2026 23:49
@github-actions github-actions Bot locked and limited conversation to collaborators Apr 28, 2026
@metamaskbot metamaskbot added the release-7.74.1 Issue or pull request that will be included in release 7.74.1 label Apr 30, 2026
@chloeYue chloeYue restored the release/7.74.1 branch May 4, 2026 08:52
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-7.74.1 Issue or pull request that will be included in release 7.74.1 size-S team-bots Bot team (for MetaMask Bot, Runway Bot, etc.)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants