Commit 0193bbd
authored
release: 7.77.0 (#29883)
# 🚀 v7.77.0 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
- [x] Accounts
- [x] Assets
- [x] BE Trade
- [x] Bots Team
- [x] Card
- [x] Confirmations
- [x] Core Extension UX
- [x] Delegation
- [x] Design System
- [x] Earn
- [x] Mobile Platform
- [x] Mobile UX
- [x] Money Movement
- [x] Networks
- [x] Onboarding
- [x] Perps
- [x] Predict
- [x] Rewards
- [x] Social & AI
- [x] Swaps and Bridge
- [x] Transactions
- [x] Wallet Integrations
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
- Testing plan sheet -
https://docs.google.com/spreadsheets/d/1tsoodlAlyvEUpkkcNcbZ4PM9HuC9cEM80RZeoVv5OCQ/edit?gid=404070372#gid=4040703721,453 files changed
Lines changed: 81227 additions & 35289 deletions
File tree
- .github
- actions
- ci-status-gate
- setup-e2e-env
- guidelines
- rules
- scripts
- workflows
- .yarn/patches
- android/app
- app
- actions/money
- component-library
- components-temp
- Contracts
- ContractBoxBase
- ContractBox
- SheetActions
- Tabs
- TabsBar
- TabsIconBar
- TabsIconList
- TabsIconTab
- hooks
- components
- Avatars/Avatar/variants/AvatarNetwork
- Badges/BadgeWrapper
- __snapshots__
- Icons/Icon
- assets
- Toast
- components
- UI
- AccountFromToInfoCard
- __snapshots__
- AddToAddressBookWrapper
- AssetElement
- __snapshots__
- AssetOverview
- AssetActionButton
- Balance
- Assets/components/AssetLogo
- Bridge
- Views/BridgeView
- components
- MissingPriceModal
- PriceImpactModal
- QuoteDetailsCard
- SwapsConfirmButton
- TokenWarningModal
- hooks
- useBridgeConfirm
- useBridgeQuoteData
- useBridgeQuoteEvents
- useBridgeQuoteRequest
- useInsufficientNativeReserveError
- useLatestBalance
- useShouldRenderGasSponsoredBanner
- useShouldRenderMaxOption
- utils
- Card
- Views
- CardAuthentication
- CardHome
- Cashback
- components
- ManageCardListItem
- SpendingLimitProgressBar
- hooks
- Charts/AdvancedChart/webview
- DeFiPositions
- DefiEmptyState
- Earn
- LendingLearnMoreModal
- Views
- EarnInputView
- EarnMusdConversionEducationView
- MusdQuickConvertView
- components/MusdBalanceCard
- components
- AssetOverviewClaimBonus
- EarnLendingBalance
- EarnTokenList
- Musd
- MusdConversionAssetListCta
- MusdConversionAssetOverviewCta
- MusdConversionAssetRow
- constants
- events
- hooks
- routes
- selectors/featureFlags
- types
- EthereumAddress
- HardwareWallet/AccountSelector
- Identity
- BackupAndSyncFeaturesToggles
- BackupAndSyncToggle
- ConfirmTurnOnBackupAndSyncModal
- MarketInsights
- Views/MarketInsightsView
- components
- Money
- Views
- MoneyHomeView
- MoneyHowItWorksView
- MoneyPotentialEarningsView
- components
- MoneyAddMoneySheet
- MoneyApyInfoSheet
- MoneyBalanceCard
- MoneyBalanceInfoSheet
- MoneyBalanceSummary
- MoneyCondensedInfoCards
- MoneyConvertStablecoins
- MoneyEarningsInfoSheet
- MoneyEarnings
- MoneyHeader
- MoneyMetaMaskCard
- MoneyMoreSheet
- MoneyMusdEmptyBalanceRow
- MoneyOnboardingCard
- MoneyPotentialEarnings
- MoneySectionHeader
- MoneyTransferSheet
- MoneyWhatYouGet
- constants
- hooks
- routes
- utils
- MultichainBridgeTransactionListItem
- MultichainTransactionListItem
- NetworkInfo
- Notification/Modal
- Perps
- Debug
- Views
- PerpsAdjustMarginView
- PerpsHomeView
- PerpsMarketDetailsView
- PerpsMarketListView
- PerpsOrderView
- PerpsPositionsView
- PerpsTabView
- PerpsTransactionsView
- PerpsWithdrawView
- __mocks__
- components
- PerpsBottomSheetTooltip
- PerpsCompactOrderRow
- PerpsMarketBalanceActions
- PerpsMarketListHeader
- PerpsTabControlBar
- hooks
- stream
- providers
- routes
- selectors/perpsController
- types
- utils
- PhishingModal
- Predict
- components
- PredictActivityDetail
- PredictActivity
- PredictDetailsChart
- components
- PredictGameDetailsContent
- PredictHome
- PredictMarketMultiple
- PredictMarketOutcome
- PredictMarketRowItem
- PredictMarketSingle
- PredictMarketSportCard
- PredictMarket
- PredictPicks
- PredictPositionDetail
- PredictPositionsHeader
- constants
- contexts
- hooks
- providers/polymarket
- types
- utils
- views
- PredictBuyWithAnyToken
- components
- PredictPayWithAnyTokenInfo
- PredictPayWithRow
- hooks
- PredictFeed
- PredictMarketDetails
- components
- PredictMarketDetailsActions
- PredictMarketDetailsHeader
- PredictMarketDetailsOutcomes
- PredictMarketDetailsStatus
- QRHardware
- Ramp
- Views
- BuildQuote
- Checkout
- HeadlessHost
- headless
- hooks
- Rewards
- Views
- components
- Campaigns
- EndOfSeasonClaimBottomSheet
- Onboarding
- __tests__
- ReferralDetails
- Settings
- hooks
- utils
- SecurityOptionToggle
- SecurityTrust/components/SecurityTrustEntryCard
- SettingsDrawer
- SettingsNotification
- __snapshots__
- Sites
- components
- SiteRowItemWrapper
- SiteRowItem
- SitesList
- hooks
- useBrowserFavoritesSites
- useBrowserRecentsSites
- useSiteData
- SkipAccountSecurityModal
- StyledButton
- __snapshots__
- Tabs/TabCountIcon
- __snapshots__
- TokenDetails
- components
- constants
- hooks
- TokenImage
- __snapshots__
- Tokens
- TokenList
- TokenListItem
- TransactionElement
- TransactionDetails
- Trending
- components
- FilterBar
- TokenListPageLayout
- TrendingListHeader
- TrendingTokenRowItem
- TrendingTokensBottomSheet
- hooks
- useTokenListFilters
- useTrendingTokenPress
- UrlAutocomplete
- WebviewError
- Views
- AccountSelector
- AccountsMenu
- ActivityView
- BrowserTab/components/Options
- CashTokensFullView
- ChoosePassword
- ConnectQRHardware
- Instruction
- Homepage
- Sections
- Cash
- Perpetuals
- Predictions
- components
- hooks
- TopTraders
- hooks
- WhatsHappening
- components
- util
- components/HomepageDiscoveryTabs
- hooks
- LedgerSelectAccount
- Login
- ManualBackupStep1
- MultichainAccounts/sheets
- EditMultichainAccountName
- RevealSRP
- NftDetails
- Notifications
- OAuthRehydration
- ResetPassword
- RevealPrivateCredential/components
- Root
- __snapshots__
- Settings
- BatchAccountBalanceSettings
- NotificationsSettings
- SecuritySettings
- SimpleWebview
- SitesFullView
- SocialLeaderboard
- NotificationPreferencesView/hooks
- TopTradersView
- TraderPositionView
- hooks
- TraderProfileView/hooks
- TermsAndConditions
- TrendingView
- Views
- ExploreSearchScreen
- ExploreSectionResultsFullView
- components
- ExploreSearchBar
- ExploreSearchResults
- QuickActions
- SectionHeader
- Sections
- SectionTypes
- feeds
- dapps
- perps
- predictions
- sites
- stocks
- tokens
- hooks
- search
- tabs
- utils
- UnifiedTransactionsView
- helpers
- Wallet
- WhatsHappeningDetailView
- components
- hooks
- utils
- confirmations
- __mocks__/controllers
- components
- AccountSelector
- PayAccountSelector
- UI/token
- activity
- transaction-details-account-row
- transaction-details-bridge-fee-row
- transaction-details-hero
- transaction-details-network-fee-row
- transaction-details-summary
- transaction-details-total-row
- alert-banner
- info-root
- info
- custom-amount-info
- money-account-deposit-info
- money-account-withdraw-info
- modals/pay-with-modal
- pay-token-amount
- perps-confirmations/perps-withdraw-balance
- projected-five-year-balance
- recipient-input
- rows
- origin-row
- pay-with-row
- send
- recipient
- send-alert-modal
- status-icon
- context/qr-hardware-context
- hooks
- alerts
- gas
- pay
- send
- alerts
- transactions
- types
- utils
- hooks
- constants
- controllers/perps
- aggregation
- constants
- providers
- services
- types
- utils
- core
- Analytics
- events/transactions
- BackgroundBridge
- BackupVault
- DeeplinkManager
- handlers/legacy
- __tests__
- types
- util/deeplinks
- Engine
- controllers
- assets-controller
- keyring-controller
- rewards-controller
- services
- transaction-controller/metrics_properties
- messengers
- accounts-controller-messenger
- rewards-controller-messenger
- HardwareWallet
- adapters
- analytics
- components/HardwareWalletBottomSheet
- contents
- contexts
- errors
- hooks
- Ledger
- Multichain/test
- OAuthService/OAuthLoginHandlers
- QrKeyring
- SDKConnectV2/services
- SnapKeyring
- redux/slices/bridge
- images
- rewards
- multichain-accounts/AccountTreeInitService
- reducers/rewards
- selectors
- assets
- bridgeController
- featureFlagController
- assetsUnifyState
- chompApi
- explorePageV2
- exploreSectionsOrder
- multichainAccounts
- multichain
- networkEnablementController
- rewards
- store/migrations
- util
- activity
- address
- bridge/hooks
- useBridgeTxHistoryData
- networks
- number
- sentry/tags
- social
- string
- tempo
- test
- transaction-controller
- docs
- perps
- ios/MetaMask.xcodeproj
- locales/languages
- scripts
- lib
- perps/agentic/teams/perps
- flows
- recipes
- tests
- api-mocking
- mock-responses
- defaults
- musd
- polymarket
- component-view
- api-mocking
- fixtures
- helpers
- presets
- renderers
- controller-mocking
- mock-config
- mock-responses/perps
- feature-flags
- flows
- framework
- fixtures
- json
- fixture
- utils
- helpers
- analytics/expectations
- swap
- tenderly
- locators/Trending
- page-objects
- MMConnect
- Predict
- Settings/SecurityAndPrivacy
- Trending
- swaps
- wallet
- performance
- login
- launch-times
- predict
- mm-connect
- onboarding
- launch-times
- regression
- multichain/permissions/accounts
- wallet
- resources
- scripts
- smoke
- assets
- defi
- market-insights
- confirmations
- send
- signatures
- transactions
- 7702
- fixtures
- networks
- notifications
- predict
- snaps
- stake
- swap
- trending
- wallet
- helpers
- utils
- websocket
- wdio
- helpers
- screen-objects
- BrowserObject
- Modals
- Native
- Onboarding
- testIDs
- BrowserScreen
- Components
- Screens
- utils
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
2 | 134 | | |
3 | 135 | | |
4 | 136 | | |
| |||
42 | 174 | | |
43 | 175 | | |
44 | 176 | | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
45 | 182 | | |
46 | 183 | | |
47 | 184 | | |
| |||
248 | 385 | | |
249 | 386 | | |
250 | 387 | | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
251 | 415 | | |
252 | 416 | | |
253 | 417 | | |
| |||
466 | 630 | | |
467 | 631 | | |
468 | 632 | | |
469 | | - | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
470 | 638 | | |
471 | | - | |
472 | | - | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
473 | 647 | | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
474 | 705 | | |
475 | 706 | | |
476 | 707 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
46 | 50 | | |
47 | 51 | | |
48 | 52 | | |
| |||
154 | 158 | | |
155 | 159 | | |
156 | 160 | | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
157 | 165 | | |
| 166 | + | |
158 | 167 | | |
159 | 168 | | |
160 | 169 | | |
| |||
334 | 343 | | |
335 | 344 | | |
336 | 345 | | |
| 346 | + | |
337 | 347 | | |
338 | 348 | | |
339 | 349 | | |
| |||
353 | 363 | | |
354 | 364 | | |
355 | 365 | | |
| 366 | + | |
356 | 367 | | |
357 | 368 | | |
358 | 369 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
18 | 23 | | |
19 | 24 | | |
20 | 25 | | |
| |||
0 commit comments