Skip to content

Commit f6545d1

Browse files
release: 7.60.3 (#23602)
# 🚀 v7.60.3 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 - Testing plan sheet - https://docs.google.com/spreadsheets/d/1tsoodlAlyvEUpkkcNcbZ4PM9HuC9cEM80RZeoVv5OCQ/edit?gid=404070372#gid=404070372
2 parents 8886580 + cfafe9c commit f6545d1

14 files changed

Lines changed: 475 additions & 28 deletions

File tree

.yarn/patches/@metamask-network-enablement-controller-npm-3.1.0-1c0cfefdc3.patch

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,43 @@ index d4a40bea9e4ed3c28e347d96e309efe1ff889e81..fab280760de6bd5cdfdbecf01495c2d5
1414
},
1515
[utils_1.KnownCaipNamespace.Solana]: {
1616
[keyring_api_1.SolScope.Mainnet]: true,
17+
diff --git a/dist/NetworkEnablementController.mjs b/dist/NetworkEnablementController.mjs
18+
index f0354af26e0aa599a2d580b3e49c6a85eb768a58..e2b2edd19e0dcf81b5048b903f8caf6a4c4a0e8f 100644
19+
--- a/dist/NetworkEnablementController.mjs
20+
+++ b/dist/NetworkEnablementController.mjs
21+
@@ -22,6 +22,11 @@ const getDefaultNetworkEnablementControllerState = () => ({
22+
[ChainId[BuiltInNetworkName.Mainnet]]: true,
23+
[ChainId[BuiltInNetworkName.LineaMainnet]]: true,
24+
[ChainId[BuiltInNetworkName.BaseMainnet]]: true,
25+
+ [ChainId[BuiltInNetworkName.ArbitrumOne]]: true,
26+
+ [ChainId[BuiltInNetworkName.BscMainnet]]: true,
27+
+ [ChainId[BuiltInNetworkName.OptimismMainnet]]: true,
28+
+ [ChainId[BuiltInNetworkName.PolygonMainnet]]: true,
29+
+ [ChainId[BuiltInNetworkName.SeiMainnet]]: true,
30+
},
31+
[KnownCaipNamespace.Solana]: {
32+
[SolScope.Mainnet]: true,
33+
diff --git a/dist/constants.cjs b/dist/constants.cjs
34+
index d45d861dd20777a9c767ef6a4272d0b4fd53f895..145d00f5deec1d79b145bdab8a940e4a6c71230e 100644
35+
--- a/dist/constants.cjs
36+
+++ b/dist/constants.cjs
37+
@@ -15,5 +15,6 @@ exports.POPULAR_NETWORKS = [
38+
'0x2a15c308d',
39+
'0x3e7',
40+
'0x8f', // Monad (143)
41+
+ '0x10e6', // MegaETH (4326)
42+
];
43+
//# sourceMappingURL=constants.cjs.map
44+
\ No newline at end of file
45+
diff --git a/dist/constants.mjs b/dist/constants.mjs
46+
index 2631e864148964ade93979ab4b17e936865288c7..f231e8a5c20e30a918c1fdba6fe2b1289c1ded0f 100644
47+
--- a/dist/constants.mjs
48+
+++ b/dist/constants.mjs
49+
@@ -12,5 +12,6 @@ export const POPULAR_NETWORKS = [
50+
'0x2a15c308d',
51+
'0x3e7',
52+
'0x8f', // Monad (143)
53+
+ '0x10e6', // MegaETH (4326)
54+
];
55+
//# sourceMappingURL=constants.mjs.map
56+
\ No newline at end of file

CHANGELOG.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [7.60.3]
11+
12+
### Fixed
13+
14+
- chore(runway): cherry-pick feat: add megaeth to additional networks ([#23599](https://github.com/MetaMask/metamask-mobile/pull/23599))
15+
- chore(runway): cherry-pick fix: select megaeth when all popular network selected cp-7.60.3 ([#23609](https://github.com/MetaMask/metamask-mobile/pull/23609))
16+
- chore(runway): cherry-pick fix: Prevent interstitial from appearing on barebones deeplinks ([#23651](https://github.com/MetaMask/metamask-mobile/pull/23651))
17+
- chore(runway): cherry-pick chore: Bypass interstitial modal for URLs that originate from within app ([#23631](https://github.com/MetaMask/metamask-mobile/pull/23631))
18+
- chore(runway): cherry-pick chore: Fix to only bypass 'Redirect' modal for in-app signed links ([#23702](https://github.com/MetaMask/metamask-mobile/pull/23702))
19+
1020
## [7.60.2]
1121

1222
### Fixed
@@ -9131,7 +9141,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
91319141
- [#957](https://github.com/MetaMask/metamask-mobile/pull/957): fix timeouts (#957)
91329142
- [#954](https://github.com/MetaMask/metamask-mobile/pull/954): Bugfix: onboarding navigation (#954)
91339143

9134-
[Unreleased]: https://github.com/MetaMask/metamask-mobile/compare/v7.60.2...HEAD
9144+
[Unreleased]: https://github.com/MetaMask/metamask-mobile/compare/v7.60.3...HEAD
9145+
[7.60.3]: https://github.com/MetaMask/metamask-mobile/compare/v7.60.2...v7.60.3
91359146
[7.60.2]: https://github.com/MetaMask/metamask-mobile/compare/v7.60.1...v7.60.2
91369147
[7.60.1]: https://github.com/MetaMask/metamask-mobile/compare/v7.60.0...v7.60.1
91379148
[7.60.0]: https://github.com/MetaMask/metamask-mobile/compare/v7.59.0...v7.60.0

android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,8 @@ android {
187187
applicationId "io.metamask"
188188
minSdkVersion rootProject.ext.minSdkVersion
189189
targetSdkVersion rootProject.ext.targetSdkVersion
190-
versionName "7.60.2"
191-
versionCode 3213
190+
versionName "7.60.3"
191+
versionCode 3241
192192
testBuildType System.getProperty('testBuildType', 'debug')
193193
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
194194
manifestPlaceholders.MM_BRANCH_KEY_TEST = "$System.env.MM_BRANCH_KEY_TEST"

app/components/Views/NetworkSelector/__snapshots__/NetworkSelector.test.tsx.snap

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4711,6 +4711,125 @@ exports[`Network Selector renders correctly when network UI redesign is enabled
47114711
</Text>
47124712
</View>
47134713
</TouchableOpacity>
4714+
<TouchableOpacity
4715+
onPress={[Function]}
4716+
style={
4717+
{
4718+
"alignItems": "center",
4719+
"flexDirection": "row",
4720+
"justifyContent": "space-between",
4721+
"marginVertical": 12,
4722+
}
4723+
}
4724+
>
4725+
<View
4726+
style={
4727+
{
4728+
"alignItems": "center",
4729+
"flexDirection": "row",
4730+
}
4731+
}
4732+
>
4733+
<View
4734+
style={
4735+
{
4736+
"borderRadius": 10,
4737+
"height": 20,
4738+
"marginRight": 20,
4739+
"width": 20,
4740+
}
4741+
}
4742+
>
4743+
<View
4744+
style={
4745+
{
4746+
"alignItems": "center",
4747+
"backgroundColor": "#ffffff",
4748+
"borderRadius": 8,
4749+
"height": 24,
4750+
"justifyContent": "center",
4751+
"overflow": "hidden",
4752+
"width": 24,
4753+
}
4754+
}
4755+
>
4756+
<Image
4757+
onError={[Function]}
4758+
resizeMode="contain"
4759+
source={1}
4760+
style={
4761+
{
4762+
"height": 24,
4763+
"width": 24,
4764+
}
4765+
}
4766+
testID="network-avatar-image"
4767+
/>
4768+
</View>
4769+
</View>
4770+
<Text
4771+
style={
4772+
[
4773+
{
4774+
"color": "#121314",
4775+
"fontFamily": "Geist Regular",
4776+
"fontSize": 30,
4777+
"marginVertical": 2,
4778+
},
4779+
undefined,
4780+
undefined,
4781+
false,
4782+
undefined,
4783+
undefined,
4784+
undefined,
4785+
undefined,
4786+
undefined,
4787+
undefined,
4788+
undefined,
4789+
undefined,
4790+
undefined,
4791+
undefined,
4792+
undefined,
4793+
undefined,
4794+
undefined,
4795+
undefined,
4796+
undefined,
4797+
undefined,
4798+
undefined,
4799+
undefined,
4800+
undefined,
4801+
undefined,
4802+
undefined,
4803+
]
4804+
}
4805+
>
4806+
MegaEth
4807+
</Text>
4808+
</View>
4809+
<View
4810+
style={
4811+
{
4812+
"alignItems": "center",
4813+
"flexDirection": "row",
4814+
}
4815+
}
4816+
>
4817+
<Text
4818+
accessibilityRole="text"
4819+
style={
4820+
{
4821+
"color": "#121314",
4822+
"fontFamily": "Geist Regular",
4823+
"fontSize": 16,
4824+
"letterSpacing": 0,
4825+
"lineHeight": 24,
4826+
}
4827+
}
4828+
>
4829+
Add
4830+
</Text>
4831+
</View>
4832+
</TouchableOpacity>
47144833
</View>
47154834
<View
47164835
style={

0 commit comments

Comments
 (0)