Skip to content

Conversation

@wenfix
Copy link
Contributor

@wenfix wenfix commented Oct 8, 2025

Explanation

Currently there's no automated way to trigger the existing Github Actions responsible for releasing the packages in the repo to NPM.

This PR:

  • Updates @metamask/create-release-branch to 4.3.1 across all packages.
  • Updates commitlint.config.js to ignore commits created by @metamask/create-release-branch.
  • Updates changelog:* scripts across all repos to match @metamask/core for consistency.
  • Add changelog:format.
  • Deduplicate@metamask/auto-changelog by moving it to the root and update it to 3.4.3
  • Pins workspace package versions across the repo as its required by @metamask/create-release-branch

With these changes we're able to do yarn create-release-branch -i to create a Release branch locally. Pushing and merging that branch should trigger publish-release action.

See Test Release branch here

References

Closes WAPI-739

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've highlighted breaking changes using the "BREAKING" category above as appropriate

Note

Automates releases via create-release-branch, standardizes changelog scripts, adds Yarn constraints plugin, pins workspace versions, and updates CI/commitlint to validate and ignore appropriate commits.

  • CI/CD:
    • Validate changelogs in matrix jobs (changelog:validate) and broaden release commit detection patterns.
    • Minor workflow cleanups (secrets formatting, no-op whitespace fix).
  • Changelog Tooling:
    • Add changelog:update, changelog:validate, and changelog:format scripts repo-wide; remove old lint:changelog usages.
    • Centralize @metamask/auto-changelog at the root and invoke via new scripts.
  • Release Tooling:
    • Bump @metamask/create-release-branch to ^4.1.3 and adjust config; commitlint now ignores "Initialize/Update Release X.Y.Z" commits.
  • Yarn/Repo Config:
    • Add @yarnpkg/plugin-constraints and enable in .yarnrc.yml; fix .gitignore patterns for Yarn directories.
  • Version Pinning:
    • Pin internal workspace dependency versions across packages (e.g., @metamask/sdk, @metamask/sdk-analytics).
  • Docs:
    • Update contributing docs to reference changelog:validate and new script names.
  • Scripts:
    • Add scripts/update-changelog.sh and scripts/format-changelog.sh; enhance validate-changelog.sh to use root binary with --prettier.

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

@wenfix wenfix requested a review from a team as a code owner October 8, 2025 15:05
@socket-security
Copy link

socket-security bot commented Oct 8, 2025

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

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​body-parser@​1.20.39910010083100
Updatednpm/​@​metamask/​create-release-branch@​1.1.0 ⏵ 4.1.383 +31009487 +3100
Addednpm/​express@​4.21.29710010084100
Updatednpm/​viem@​1.3.1 ⏵ 2.38.0100 +1100100 +197 +1100

View full report

@socket-security
Copy link

socket-security bot commented Oct 8, 2025

Caution

MetaMask internal reviewing guidelines:

  • Do not ignore-all
  • Each alert has instructions on how to review if you don't know what it means. If lost, ask your Security Liaison or the supply-chain group
  • Copy-paste ignore lines for specific packages or a group of one kind with a note on what research you did to deem it safe.
    @SocketSecurity ignore npm/PACKAGE@VERSION
Action Severity Alert  (click "▶" to expand/collapse)
Block Medium
npm/@metamask/[email protected] has Network access.

Module: globalThis["fetch"]

Location: Package overview

From: package.jsonnpm/@metamask/[email protected]

ℹ Read more on: This package | This alert | What is network access?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: Packages should remove all network access that is functionally unnecessary. Consumers should audit network access to ensure legitimate use.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@metamask/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Medium
npm/[email protected] has Network access.

Module: globalThis["fetch"]

Location: Package overview

From: ?npm/[email protected]npm/[email protected]

ℹ Read more on: This package | This alert | What is network access?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: Packages should remove all network access that is functionally unnecessary. Consumers should audit network access to ensure legitimate use.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Medium
npm/[email protected] has Network access.

Module: http-errors

Location: Package overview

From: ?npm/[email protected]npm/[email protected]

ℹ Read more on: This package | This alert | What is network access?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: Packages should remove all network access that is functionally unnecessary. Consumers should audit network access to ensure legitimate use.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Low
npm/[email protected] has a New author.

New Author: ulisesgascon

Previous Author: dougwilson

From: packages/devsocket/package.jsonnpm/[email protected]

ℹ Read more on: This package | This alert | What is new author?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: Scrutinize new collaborator additions to packages because they now have the ability to publish code into your dependency tree. Packages should avoid frequent or unnecessary additions or changes to publishing rights.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Low
npm/[email protected] has a New author.

New Author: jonchurch

Previous Author: ulisesgascon

From: packages/devsocket/package.jsonnpm/[email protected]

ℹ Read more on: This package | This alert | What is new author?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: Scrutinize new collaborator additions to packages because they now have the ability to publish code into your dependency tree. Packages should avoid frequent or unnecessary additions or changes to publishing rights.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Low
npm/[email protected] has a New author.

New Author: ehmicky

Previous Author: sindresorhus

From: ?npm/[email protected]npm/[email protected]

ℹ Read more on: This package | This alert | What is new author?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: Scrutinize new collaborator additions to packages because they now have the ability to publish code into your dependency tree. Packages should avoid frequent or unnecessary additions or changes to publishing rights.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Low
npm/[email protected] has a New author.

New Author: ulisesgascon

Previous Author: wesleytodd

From: ?npm/[email protected]npm/[email protected]npm/[email protected]npm/[email protected]

ℹ Read more on: This package | This alert | What is new author?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: Scrutinize new collaborator additions to packages because they now have the ability to publish code into your dependency tree. Packages should avoid frequent or unnecessary additions or changes to publishing rights.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Low
npm/[email protected] is a AI-detected potential code anomaly.

Notes: The code appears to be a standard, non-malicious Content-Disposition header parser with strict input validation and proper encoding/decoding utilities. No evident data exfiltration or remote execution within this fragment. The primary precaution is to ensure the external decodefield function is safe and that PARAM_REGEXP robustly handles edge-case inputs to prevent DoS or parsing failures.

Confidence: 1.00

Severity: 0.60

From: ?npm/[email protected]npm/[email protected]npm/[email protected]

ℹ Read more on: This package | This alert | What is an AI-detected potential code anomaly?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: An AI system found a low-risk anomaly in this package. It may still be fine to use, but you should check that it is safe before proceeding.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Low
npm/[email protected] is a AI-detected potential code anomaly.

Notes: The code represents a legitimate signal-exit instrumentation module intended to provide robust exit handling and lifecycle hooks. It does not introduce executable malware or data exfiltration in this fragment. However, it significantly alters process termination behavior and could cause compatibility issues or subtle bugs if used alongside other exit-handling code in extensions. Overall, this is a non-malicious yet potentially risky integration point that should be reviewed for compatibility with other modules in the extension.

Confidence: 1.00

Severity: 0.60

From: ?npm/[email protected]npm/[email protected]npm/@lavamoat/[email protected]npm/[email protected]npm/@jest/[email protected]npm/[email protected]npm/[email protected]npm/[email protected]npm/[email protected]npm/[email protected]npm/@storybook/[email protected]npm/[email protected]npm/@storybook/[email protected]npm/[email protected]npm/[email protected]

ℹ Read more on: This package | This alert | What is an AI-detected potential code anomaly?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: An AI system found a low-risk anomaly in this package. It may still be fine to use, but you should check that it is safe before proceeding.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Low
npm/[email protected] is a AI-detected potential code anomaly.

Notes: The code represents a legitimate and well-structured signing module for a multi-owner wallet with WebAuthn support. It implements standard flows for signing typed data and user operations, and encodes signatures for on-chain verification. No evidence of covert data leakage, backdoors, or malicious behavior is detected within this fragment. Potential risks stem from UI trust boundaries and signer implementation integrity, not from the fragment itself.

Confidence: 1.00

Severity: 0.60

From: packages/devnext/package.jsonnpm/[email protected]

ℹ Read more on: This package | This alert | What is an AI-detected potential code anomaly?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: An AI system found a low-risk anomaly in this package. It may still be fine to use, but you should check that it is safe before proceeding.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Low
npm/[email protected] is a AI-detected potential code anomaly.

Notes: The provided ABI fragment represents a standard account abstraction/smart account interface, exposing high-privilege operations (execute, executeBatch) and user operation validation. There is no explicit malicious behavior visible in the ABI itself, but the architectural pattern inherently carries security risk if access control and operation authorization are lax in the implementation. The fragment should be audited alongside the concrete contract to verify proper authorization, nonce management, and safe external calls.

Confidence: 1.00

Severity: 0.60

From: packages/devnext/package.jsonnpm/[email protected]

ℹ Read more on: This package | This alert | What is an AI-detected potential code anomaly?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: An AI system found a low-risk anomaly in this package. It may still be fine to use, but you should check that it is safe before proceeding.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Low
npm/[email protected] is a AI-detected potential code anomaly.

Notes: The code implements a cross-chain deposit flow with proper validations, artifact reads, and on-chain interactions. There is no evidence of hidden backdoors, data exfiltration, or malware. The main security considerations relate to token approval logic and correct configuration of flags to avoid granting excessive allowances. Overall, the module appears legitimate for a bridge deposit flow, with moderate risk primarily around configuration of approvals and correct handling of gas/fees.

Confidence: 1.00

Severity: 0.60

From: packages/devnext/package.jsonnpm/[email protected]

ℹ Read more on: This package | This alert | What is an AI-detected potential code anomaly?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: An AI system found a low-risk anomaly in this package. It may still be fine to use, but you should check that it is safe before proceeding.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@wenfix wenfix added dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code team-wallet-integrations labels Oct 8, 2025
@codecov
Copy link

codecov bot commented Oct 8, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74.99%. Comparing base (aa521c8) to head (0333c58).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1362   +/-   ##
=======================================
  Coverage   74.99%   74.99%           
=======================================
  Files         184      184           
  Lines        4519     4519           
  Branches     1108     1108           
=======================================
  Hits         3389     3389           
  Misses       1130     1130           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@wenfix wenfix mentioned this pull request Oct 9, 2025
3 tasks
@adonesky1 adonesky1 requested a review from a team as a code owner October 30, 2025 16:39
ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)"

# Format/fix the changelog using prettier
if [[ "${GITHUB_REF:-}" =~ '^release/' ]]; then
Copy link

Choose a reason for hiding this comment

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

Bug: Regex Mismatch Blocks Release Logic

The regex pattern '^release/' in the GITHUB_REF check is incorrect. GITHUB_REF contains full ref paths (e.g., refs/heads/release/1.0.0), so the condition always evaluates to false. This prevents the scripts from applying release-specific logic, like passing the --rc flag, when on a release branch.

Additional Locations (1)

Fix in Cursor Fix in Web


if [[ "${GITHUB_REF:-}" =~ '^release/' ]]; then
yarn auto-changelog validate --tag-prefix "${package_name}@" --rc
"${ROOT_DIR}/node_modules/.bin/auto-changelog" validate --prettier --tag-prefix "${package_name}@" --rc "$@"
Copy link

Choose a reason for hiding this comment

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

Bug: Regex Pattern Error in Bash Conditional

The bash conditional for detecting release branches uses single quotes around the ^release/ regex pattern. This causes the caret to be interpreted literally, preventing it from correctly matching branches that start with 'release/'.

Additional Locations (1)

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

dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code team-wallet-integrations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants