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 release with dependency and CI updates.

  • Bumps version to 13.13.2 and updates CHANGELOG.md links/entries
  • Upgrades @metamask/tron-wallet-snap to ^1.17.0 and @metamask/keyring-api to ^21.3.0; pins qs to ^6.14.1 and refreshes yarn.lock/attribution.txt
  • Updates Lavamoat policies to reference mockttp>express>qs instead of browserify>url>qs
  • Adds environment: pr-comment to CI jobs (E2E failure alerts, identify-codeowners, publish-prerelease) for PR commenting

Written by Cursor Bugbot for commit 2205f3c. 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/​tron-wallet-snap@​1.16.0 ⏵ 1.17.0100 +110080 +198 +1100
Updated@​metamask/​keyring-api@​21.2.0 ⏵ 21.3.0100 +110010091 -450

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, +14 -14)
  • 📁 lavamoat/
    • 📁 browserify/
      • 📁 beta/
        • 📄 policy.json +2 -2
      • 📁 experimental/
        • 📄 policy.json +2 -2
      • 📁 flask/
        • 📄 policy.json +2 -2
      • 📁 main/
        • 📄 policy.json +2 -2
    • 📁 build-system/
      • 📄 policy.json +2 -2
    • 📁 webpack/
      • 📁 mv2/
        • 📄 policy.json +2 -2
      • 📁 mv3/
        • 📄 policy.json +2 -2

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

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

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.

7 participants