Skip to content

Conversation

@metamaskbot
Copy link
Collaborator

@metamaskbot metamaskbot commented Jan 7, 2026

🚀 v13.13.2 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

  • Extension 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


Note

Prepares v13.13.2 with a small bug fix and dependency/infra updates.

  • Fixes Tron resources defaults and percentage calculation in useTronResources (keeps max as 0 when absent; uses safe divisor) with updated tests
  • Updates dependencies: @metamask/[email protected], @metamask/[email protected], react-router/react-router-dom-v5-compat/@remix-run/router to 6.30.3/1.23.2, and [email protected]; updates yarn.lock and attribution.txt
  • Adjusts LavaMoat policies (swap browserify>url>qs to mockttp>express>qs, allow console.warn for react-router-dom-v5-compat>react-router)
  • CI: adds environment: pr-comment to PR-commenting jobs in e2e-chrome, identify-codeowners, and publish-prerelease
  • Bumps package version to 13.13.2 and updates CHANGELOG.md/links

Written by Cursor Bugbot for commit 402fc1f. This will update automatically on new commits. Configure here.

@metamaskbot metamaskbot added team-bots Bot team (for MetaMask Bot, Runway Bot, etc.) release-13.13.2 Issue or pull request that will be included in release 13.13.2 labels Jan 7, 2026
…o 1.17.0 (#39067)

- chore: bump @metamask/tron-wallet-snap to 1.17.0 (#38986)

CHANGELOG entry: Bump @metamask/tron-wallet-snap to 1.17.0
---------

Co-authored-by: Ulisses Ferreira <[email protected]>
Co-authored-by: MetaMask Bot <[email protected]>
@socket-security
Copy link

socket-security bot commented Jan 7, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​metamask/​keyring-api@​21.2.0 ⏵ 21.3.0100 +110010091 -450
Updatedreact-router-dom-v5-compat@​6.26.2 ⏵ 6.30.397 -1100100 +194 +9100
Updated@​metamask/​tron-wallet-snap@​1.16.0 ⏵ 1.19.0100 +110096 +1798 +1100

View full report

---------

Co-authored-by: Ulisses Ferreira <[email protected]>
Co-authored-by: MetaMask Bot <[email protected]>
Co-authored-by: Alejandro Garcia Anglada <[email protected]>
@github-actions
Copy link
Contributor

github-actions bot commented Jan 7, 2026

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
Copy link
Contributor

metamaskbotv2 bot commented Jan 7, 2026

✨ Files requiring CODEOWNER review ✨

📜 @MetaMask/policy-reviewers (7 files, +22 -16)
  • 📁 lavamoat/
    • 📁 browserify/
      • 📁 beta/
        • 📄 policy.json +3 -2
      • 📁 experimental/
        • 📄 policy.json +3 -2
      • 📁 flask/
        • 📄 policy.json +3 -2
      • 📁 main/
        • 📄 policy.json +3 -2
    • 📁 build-system/
      • 📄 policy.json +2 -2
    • 📁 webpack/
      • 📁 mv2/
        • 📄 policy.json +4 -3
      • 📁 mv3/
        • 📄 policy.json +4 -3

Tip

Follow the policy review process outlined in the LavaMoat Policy Review Process doc before expecting an approval from Policy Reviewers.

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 7, 2026

Builds ready [9a31195]
UI Startup Metrics (1220 ± 97 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1220101315449712801371
load102087012848210641187
domContentLoaded101486712798010591163
domInteractive251497192182
firstPaint4638711833799471121
backgroundConnect21419624712220241
firstReactRender28207793243
getState38151582539104
initialActions108112
loadScripts807658107878850960
setupStore1172331219
numNetworkReqs261889201884
BrowserifyPower User HomeuiStartup19691652248317220712275
load1033887151512210381332
domContentLoaded1020883149112210241317
domInteractive3418133223494
firstPaint48010215323629351063
backgroundConnect258205711101234514
firstReactRender5542119105968
getState18313666494182238
initialActions105112
loadScripts80668312671208091106
setupStore1594251721
numNetworkReqs1396628352185235
WebpackStandard HomeuiStartup8637371144859091033
load66758885568713798
domContentLoaded66258484867708792
domInteractive2617101172472
firstPaint25291790178235712
backgroundConnect1168291018
firstReactRender28214663341
getState261498123344
initialActions103112
loadScripts65958284566705787
setupStore1172941319
numNetworkReqs261881181878
WebpackPower User HomeuiStartup15051206201620015381952
load678594100083682890
domContentLoaded66858899584674885
domInteractive35181262633108
firstPaint271100738169321686
backgroundConnect51757113116516
firstReactRender56448376168
getState16412864651167193
initialActions104112
loadScripts66658698782672876
setupStore1674871736
numNetworkReqs1606635158205287
FirefoxBrowserifyStandard HomeuiStartup13141069213516714211578
load1081905184012211401271
domContentLoaded1080905183912211351270
domInteractive59312073780123
firstPaint------
backgroundConnect50231733166102
firstReactRender22184852334
getState12680111227
initialActions102112
loadScripts1051889180611511091227
setupStore126178181031
numNetworkReqs281886192279
BrowserifyPower User HomeuiStartup25911903495545626673541
load1186957228119912271636
domContentLoaded1185957228119912271636
domInteractive11732547102116395
firstPaint------
backgroundConnect13625979153136417
firstReactRender6137195216797
getState28965896235454782
initialActions203123
loadScripts1149941184916911911559
setupStore1447861186172611
numNetworkReqs85532224188203
WebpackStandard HomeuiStartup15171321194314415841843
load1260112415048413101441
domContentLoaded1260112415038413101441
domInteractive75312354191135
firstPaint------
backgroundConnect49202073547129
firstReactRender271970103162
getState1277691323
initialActions102022
loadScripts1233108414177612861378
setupStore175143261285
numNetworkReqs281892192680
WebpackPower User HomeuiStartup29632256549571729994646
load15421131333048115632869
domContentLoaded15411130332948115632869
domInteractive125301097139108413
firstPaint------
backgroundConnect2032816012771861005
firstReactRender64402002764106
getState282531546266390852
initialActions213123
loadScripts14451114299136314682481
setupStore1496807195176612
numNetworkReqs86583085172215

chloeYue
chloeYue previously approved these changes Jan 7, 2026
@HowardBraham HowardBraham marked this pull request as ready for review January 7, 2026 20:21
@HowardBraham HowardBraham requested a review from a team as a code owner January 7, 2026 20:21
}
},
"browserify>url>qs": {
"mockttp>express>qs": {
Copy link

Choose a reason for hiding this comment

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

Lavamoat policy references dev dependency path for production module

Medium Severity

The qs module policy entry changed from browserify>url>qs to mockttp>express>qs, but mockttp is a devDependency not included in production builds. The policy now grants browserify>url access to mockttp>express>qs, which may cause a module identity mismatch at runtime. If Lavamoat cannot match the production qs module (accessed via browserify>url) to the policy entry keyed under a dev dependency path, security sandboxing for the qs module may not be correctly applied. This affects all Lavamoat policy files across browserify and webpack builds.

🔬 Verification Test

Why verification test was not possible:
This requires running the actual MetaMask extension build with Lavamoat enabled to verify whether the policy is correctly applied at runtime. The issue depends on Lavamoat's internal module identity resolution mechanism, which cannot be tested without the full build infrastructure. The concern is that the policy generator used mockttp>express>qs as the canonical name during development (when mockttp is present), but in production the module would be identified differently since mockttp isn't bundled.

Additional Locations (2)

Fix in Cursor Fix in Web

…isory (#39117)

- bump: cp-13.13.2 Update react router to resolve advisory (#39115)
@socket-security
Copy link

socket-security bot commented Jan 9, 2026

All alerts resolved. Learn more about Socket for GitHub.

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

Ignoring alerts on:

View full report

@HowardBraham
Copy link
Contributor

@SocketSecurity ignore npm/[email protected]

Mark says "This is a false positive, the fetch global is not used in this package."

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 9, 2026

Builds ready [b5649c0]
UI Startup Metrics (1237 ± 102 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12371046156110213101459
load103085812828910871182
domContentLoaded102585212748910831174
domInteractive2616106202288
firstPaint53180129439910091100
backgroundConnect21719727914223245
firstReactRender29196993250
getState3716146234187
initialActions104112
loadScripts815651105185873965
setupStore1173441319
numNetworkReqs271892201884
BrowserifyPower User HomeuiStartup20251720257719321552431
load1031891140812110641319
domContentLoaded1018884140012210511313
domInteractive3317154233091
firstPaint56210514054219801295
backgroundConnect264204734124232627
firstReactRender5541119116072
getState19513772080197273
initialActions103112
loadScripts80868911841178201084
setupStore1784571837
numNetworkReqs86652172387141
WebpackStandard HomeuiStartup832695115991873997
load64356885269676785
domContentLoaded63856584368670779
domInteractive2615144222285
firstPaint21177783160206676
backgroundConnect1053651116
firstReactRender27204363237
getState271364113447
initialActions103112
loadScripts63556484167668771
setupStore1163751218
numNetworkReqs26992191882
WebpackPower User HomeuiStartup14961229220419315621969
load674576104792682881
domContentLoaded665568104192673873
domInteractive35171672735102
firstPaint31690890208413761
backgroundConnect54870213917559
firstReactRender55418586070
getState16713627422174210
initialActions103112
loadScripts662566103290672866
setupStore1685291642
numNetworkReqs1586431161208292
FirefoxBrowserifyStandard HomeuiStartup12971078225818013921635
load1067914202613411191245
domContentLoaded1066914202613411191245
domInteractive67319719683128
firstPaint------
backgroundConnect43221643140141
firstReactRender23184662335
getState136119181132
initialActions103012
loadScripts1042899196312610961208
setupStore126158161034
numNetworkReqs281887203082
BrowserifyPower User HomeuiStartup27041902608365227274264
load1254943281736612842539
domContentLoaded1253943281636612842538
domInteractive12335502106112427
firstPaint------
backgroundConnect177281506250134856
firstReactRender60372872861107
getState270421076215290821
initialActions2146423
loadScripts1195925265330112101866
setupStore1507746184177579
numNetworkReqs83532374473210
WebpackStandard HomeuiStartup15611311221215716321854
load12901097181111813591498
domContentLoaded12901096181011813581497
domInteractive65272183985143
firstPaint------
backgroundConnect48211853147129
firstReactRender281984122869
getState147125161237
initialActions102122
loadScripts12621082174511113251469
setupStore176257311252
numNetworkReqs281885192084
WebpackPower User HomeuiStartup3157206710258124230145037
load15901173763775015412863
domContentLoaded15901173763775015402862
domInteractive125331112141115425
firstPaint------
backgroundConnect2043016933001751144
firstReactRender64392043164142
getState26468893212329796
initialActions216123
loadScripts14881155743766815051943
setupStore134121041186112604
numNetworkReqs86572254574219

…o version 1.19.0 cp-13.13.2 (#39137)

- chore: bump @metamask/tron-wallet-snap to version 1.19.0 cp-13.13.2 (#39130)
@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 9, 2026

Builds ready [286310b]
UI Startup Metrics (1230 ± 113 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12301040161311313111415
load103086712809210941208
domContentLoaded102486212759110891201
domInteractive2515113182174
firstPaint4348112353859361147
backgroundConnect21419728315219241
firstReactRender29196193249
getState3515116183968
initialActions106113
loadScripts816664102086881966
setupStore1162941220
numNetworkReqs261890201882
BrowserifyPower User HomeuiStartup20661665271420221552508
load1041928141811710451378
domContentLoaded1027916140611710261362
domInteractive3618116223799
firstPaint663111142641410121360
backgroundConnect24921070991233562
firstReactRender56438286174
getState18913770577199229
initialActions104112
loadScripts81471011851158161146
setupStore19116091843
numNetworkReqs1326827657192252
WebpackStandard HomeuiStartup8457191058808861008
load65458485062692800
domContentLoaded64958084362688793
domInteractive2717120212296
firstPaint23690824166219699
backgroundConnect961831015
firstReactRender27206883140
getState2713104143648
initialActions105112
loadScripts64657883360686785
setupStore1062741118
numNetworkReqs261888191879
WebpackPower User HomeuiStartup15111222226122915411981
load643560107891655849
domContentLoaded634554106891644838
domInteractive33151752731101
firstPaint3551191082230591800
backgroundConnect55762014116542
firstReactRender54428386070
getState18414068173180231
initialActions106112
loadScripts631552106190642836
setupStore16854101542
numNetworkReqs1576530761209287
FirefoxBrowserifyStandard HomeuiStartup13261092182617314021790
load1082926142310011441274
domContentLoaded1081926142210011441273
domInteractive60293614680123
firstPaint------
backgroundConnect48212753945133
firstReactRender23174152335
getState177181311087
initialActions103122
loadScripts105591213298811171223
setupStore12684111132
numNetworkReqs281885192679
BrowserifyPower User HomeuiStartup27192030547364027534349
load1259980294732313241609
domContentLoaded1258980294632213231609
domInteractive13134788115122406
firstPaint------
backgroundConnect146261151181132574
firstReactRender64382542963118
getState29680909213371842
initialActions216123
loadScripts1208939271027212701569
setupStore12711743148138457
numNetworkReqs85582373892188
WebpackStandard HomeuiStartup15421298210514016161814
load1271111915299313441461
domContentLoaded1270111915299313431460
domInteractive69291893991148
firstPaint------
backgroundConnect50212213259122
firstReactRender26196972739
getState137175181425
initialActions104122
loadScripts1244109815068713091393
setupStore176275291446
numNetworkReqs281892202283
WebpackPower User HomeuiStartup30162196586183429564909
load15291158302346916142912
domContentLoaded15281158302346916132911
domInteractive12226472102117408
firstPaint------
backgroundConnect163351260211153525
firstReactRender57401311960117
getState28964933246378816
initialActions217123
loadScripts14551137290438314982679
setupStore1508934205155698
numNetworkReqs86612253980205

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 9, 2026

Builds ready [9c06a05]
UI Startup Metrics (1202 ± 121 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1202996150512112831436
load1003839130710010561181
domContentLoaded99783413029910511175
domInteractive2415116192077
firstPaint58314313103979851150
backgroundConnect19717623311203220
firstReactRender27186492946
getState3314127204172
initialActions106112
loadScripts806644111097862972
setupStore1162841220
numNetworkReqs271891211888
BrowserifyPower User HomeuiStartup20421693254820221832447
load1016894142212010241377
domContentLoaded1004886141212110071370
domInteractive3418114223398
firstPaint5009513773679591084
backgroundConnect259203774117233566
firstReactRender554197116082
getState19113971790192240
initialActions1010112
loadScripts79468511861188011154
setupStore1776771735
numNetworkReqs1547236761202258
WebpackStandard HomeuiStartup8717331100869451028
load66459285866688800
domContentLoaded65858885366680795
domInteractive2616103162578
firstPaint25983866187238760
backgroundConnect1063251219
firstReactRender30215273542
getState301475133856
initialActions106112
loadScripts65558685164676786
setupStore1273551422
numNetworkReqs261883171876
WebpackPower User HomeuiStartup15421219205120216191991
load6875831152105692923
domContentLoaded6775751147105686913
domInteractive36171362636111
firstPaint310112970208294858
backgroundConnect41755910517261
firstReactRender57427576272
getState17013670356174201
initialActions104112
loadScripts6745731139103683902
setupStore17961101741
numNetworkReqs1616638869214300
FirefoxBrowserifyStandard HomeuiStartup12741070172513613531521
load105191813148211011192
domContentLoaded105191713148211011192
domInteractive54291792879108
firstPaint------
backgroundConnect46212743742126
firstReactRender22184652234
getState12681101028
initialActions102112
loadScripts102590212377110771164
setupStore116137141024
numNetworkReqs281888192478
BrowserifyPower User HomeuiStartup25231890446350525863897
load1190945252827911571657
domContentLoaded1190945252827911571657
domInteractive1113655393107362
firstPaint------
backgroundConnect166261052212181709
firstReactRender5638127136178
getState23162953195230753
initialActions217123
loadScripts1125930237621111101529
setupStore11614930153116507
numNetworkReqs86602394775228
WebpackStandard HomeuiStartup15831308214616216811876
load12971086155410013631471
domContentLoaded12971086155410013631470
domInteractive69301903585135
firstPaint------
backgroundConnect54192003567139
firstReactRender281986112865
getState187184291491
initialActions103122
loadScripts1268107014789213331420
setupStore155134171439
numNetworkReqs281886192077
WebpackPower User HomeuiStartup30332390590570730434811
load15191218292337515352636
domContentLoaded15191217292237515352635
domInteractive12030522106111417
firstPaint------
backgroundConnect176311028185202575
firstReactRender6040147166378
getState282781254225405722
initialActions217123
loadScripts14591194266430714692318
setupStore1311374918793673
numNetworkReqs85562404190205

…rrectly set to 1 instead of 0 cp-13.13.2 (#39143)

- fix(tron): max energy and bandwidth incorrectly set to 1 instead of 0 cp-13.13.2 (#39136)
@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 9, 2026

Builds ready [402fc1f]
UI Startup Metrics (1202 ± 111 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12021006160311112821372
load100484314099510501155
domContentLoaded99883813929410451147
domInteractive2415106192077
firstPaint63892141840710181162
backgroundConnect20618125614216232
firstReactRender30195993551
getState3415139164064
initialActions107112
loadScripts799644117889838956
setupStore1273151423
numNetworkReqs271895211886
BrowserifyPower User HomeuiStartup20451749287919621262464
load1022916186712810391294
domContentLoaded1008904185612910281278
domInteractive3216146233099
firstPaint66612718724089881221
backgroundConnect262202776113238562
firstReactRender5842112116180
getState19715433929211246
initialActions104112
loadScripts79768616001268151071
setupStore15103651629
numNetworkReqs87642592688142
WebpackStandard HomeuiStartup80469196963844921
load62755980560669764
domContentLoaded62255679959665757
domInteractive241488182180
firstPaint25780763173255679
backgroundConnect1057281125
firstReactRender27205363137
getState261451103445
initialActions103111
loadScripts61955379058664749
setupStore1052531216
numNetworkReqs26989201885
WebpackPower User HomeuiStartup15871268223122216512061
load68359095882696895
domContentLoaded67458294982684890
domInteractive34171422730115
firstPaint28294954193278694
backgroundConnect103760919242572
firstReactRender57437586371
getState17013577363170204
initialActions105112
loadScripts67158094780682881
setupStore17958111744
numNetworkReqs86651742589154
FirefoxBrowserifyStandard HomeuiStartup13141090205316714171615
load107290913299711331246
domContentLoaded107190913289711321246
domInteractive56321982977113
firstPaint------
backgroundConnect48212654043130
firstReactRender23185052335
getState127200201021
initialActions102022
loadScripts104589213049011091203
setupStore146133181136
numNetworkReqs281887192779
BrowserifyPower User HomeuiStartup27832059496967327914537
load1257951291137812762358
domContentLoaded1257939291137812762358
domInteractive1073334969119294
firstPaint------
backgroundConnect181301246239157697
firstReactRender59381241860104
getState299851072214378751
initialActions217123
loadScripts1190926272432711882163
setupStore15871352221135660
numNetworkReqs895826145105212
WebpackStandard HomeuiStartup15081284181513416221784
load1240107915169213001420
domContentLoaded1239107915169213001420
domInteractive57281322984110
firstPaint------
backgroundConnect4518176254694
firstReactRender271976112767
getState14789121431
initialActions102112
loadScripts1213106414928512701352
setupStore166165221372
numNetworkReqs281891202082
WebpackPower User HomeuiStartup3205221611647134829774992
load16351200843292215042938
domContentLoaded16341199843292215042938
domInteractive172335565550116401
firstPaint------
backgroundConnect191391231251148959
firstReactRender6140191176399
getState340701157264530883
initialActions213123
loadScripts15581164730080714792734
setupStore12612112620199624
numNetworkReqs866120335101166

@Gudahtt Gudahtt merged commit e47aeaf into stable Jan 12, 2026
171 of 172 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Jan 12, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants