From 3fe86ea00966899035e91790208e5715e765f28c Mon Sep 17 00:00:00 2001 From: Frederik Bolding Date: Thu, 16 Jul 2026 19:05:21 +0200 Subject: [PATCH 1/3] chore!: Drop Node 18 and 20 (#9168) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Node 18 and 20 are EOL, we should not support them anymore. This PR makes a breaking change to every single package in the monorepo. This also reduces the number of jobs we need to run in CI. - [x] I've updated the test suite for new or updated code as appropriate - [x] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate - [x] I've communicated my changes to consumers by [updating changelogs for packages I've changed](https://github.com/MetaMask/core/tree/main/docs/processes/updating-changelogs.md) - [ ] I've introduced [breaking changes](https://github.com/MetaMask/core/tree/main/docs/processes/breaking-changes.md) in this PR and have prepared draft pull requests for clients and consumer packages to resolve them --- > [!NOTE] > **High Risk** > Semver-breaking platform change across all packages: consumers on Node 18/20 must upgrade before adopting new releases. CI no longer catches regressions on those versions. > > **Overview** > **BREAKING:** The monorepo now requires **Node.js `^22.14.0 || ^24`** everywhere. Root and every workspace `package.json` `engines.node` moves off `^18.18 || >=20`, and `yarn.config.cjs` enforces the same range (including `@metamask/wallet-cli`, which previously allowed `>=20`). > > CI in `lint-build-test.yml` stops testing on **18.x** and **20.x**: the prepare matrix and per-package test jobs run only **22.x** and **24.x**, with `test-18` / `test-20` removed and `test-24` added. Each package’s **Unreleased** changelog records the Node bump. > > Because Node 22 exposes **Web Crypto** globally, custom Jest setups that assigned `crypto.webcrypto` are removed (`keyring-controller`, `passkey-controller`, `seedless-onboarding-controller`, `money-account-upgrade-controller`, and partial cleanup in `notification-services-controller` / `profile-sync-controller`). Related `jest-environment-node` devDependencies and `Wallet` / encryptor test `beforeAll` polyfills go away. `platform-api-docs` drops the comment justifying `fs.cp` on older Node versions. > > Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 50b2f4c763e407a565592ad734666d08c4b753e2. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot). --------- Co-authored-by: Maarten Zuidhoorn --- .github/workflows/lint-build-test.yml | 47 ++++--------------- package.json | 2 +- packages/account-tree-controller/CHANGELOG.md | 1 + packages/account-tree-controller/package.json | 2 +- packages/accounts-controller/CHANGELOG.md | 4 ++ packages/accounts-controller/package.json | 2 +- packages/address-book-controller/CHANGELOG.md | 1 + packages/address-book-controller/package.json | 2 +- packages/ai-controllers/CHANGELOG.md | 1 + packages/ai-controllers/package.json | 2 +- packages/analytics-controller/CHANGELOG.md | 4 ++ packages/analytics-controller/package.json | 2 +- .../CHANGELOG.md | 1 + .../package.json | 2 +- packages/announcement-controller/CHANGELOG.md | 1 + packages/announcement-controller/package.json | 2 +- packages/app-metadata-controller/CHANGELOG.md | 1 + packages/app-metadata-controller/package.json | 2 +- packages/approval-controller/CHANGELOG.md | 1 + packages/approval-controller/package.json | 2 +- packages/assets-controller/CHANGELOG.md | 1 + packages/assets-controller/package.json | 2 +- packages/assets-controllers/CHANGELOG.md | 1 + packages/assets-controllers/package.json | 2 +- .../authenticated-user-storage/CHANGELOG.md | 1 + .../authenticated-user-storage/package.json | 2 +- packages/base-controller/CHANGELOG.md | 1 + packages/base-controller/package.json | 2 +- packages/base-data-service/CHANGELOG.md | 1 + packages/base-data-service/package.json | 2 +- packages/bitcoin-regtest-up/CHANGELOG.md | 4 ++ packages/bitcoin-regtest-up/package.json | 2 +- packages/bridge-controller/CHANGELOG.md | 1 + packages/bridge-controller/package.json | 2 +- .../bridge-status-controller/CHANGELOG.md | 1 + .../bridge-status-controller/package.json | 2 +- packages/build-utils/CHANGELOG.md | 1 + packages/build-utils/package.json | 2 +- .../chain-agnostic-permission/CHANGELOG.md | 4 ++ .../chain-agnostic-permission/package.json | 2 +- packages/chomp-api-service/CHANGELOG.md | 1 + packages/chomp-api-service/package.json | 2 +- packages/claims-controller/CHANGELOG.md | 1 + packages/claims-controller/package.json | 2 +- packages/client-controller/CHANGELOG.md | 1 + packages/client-controller/package.json | 2 +- packages/client-utils/CHANGELOG.md | 1 + packages/client-utils/package.json | 2 +- packages/compliance-controller/CHANGELOG.md | 1 + packages/compliance-controller/package.json | 2 +- packages/composable-controller/CHANGELOG.md | 1 + packages/composable-controller/package.json | 2 +- .../config-registry-controller/CHANGELOG.md | 1 + .../config-registry-controller/package.json | 2 +- packages/connectivity-controller/CHANGELOG.md | 4 ++ packages/connectivity-controller/package.json | 2 +- packages/controller-utils/CHANGELOG.md | 4 ++ packages/controller-utils/package.json | 2 +- packages/core-backend/CHANGELOG.md | 1 + packages/core-backend/package.json | 2 +- packages/delegation-controller/CHANGELOG.md | 1 + packages/delegation-controller/package.json | 2 +- packages/earn-controller/CHANGELOG.md | 4 ++ packages/earn-controller/package.json | 2 +- packages/eip-5792-middleware/CHANGELOG.md | 1 + packages/eip-5792-middleware/package.json | 2 +- .../CHANGELOG.md | 1 + .../package.json | 2 +- .../CHANGELOG.md | 1 + .../package.json | 2 +- packages/eth-block-tracker/CHANGELOG.md | 1 + packages/eth-block-tracker/package.json | 2 +- packages/eth-json-rpc-middleware/CHANGELOG.md | 1 + packages/eth-json-rpc-middleware/package.json | 2 +- packages/eth-json-rpc-provider/CHANGELOG.md | 1 + packages/eth-json-rpc-provider/package.json | 2 +- packages/foundryup/CHANGELOG.md | 4 ++ packages/foundryup/package.json | 2 +- packages/gas-fee-controller/CHANGELOG.md | 4 ++ packages/gas-fee-controller/package.json | 2 +- .../gator-permissions-controller/CHANGELOG.md | 4 ++ .../gator-permissions-controller/package.json | 2 +- packages/geolocation-controller/CHANGELOG.md | 4 ++ packages/geolocation-controller/package.json | 2 +- packages/java-tron-up/CHANGELOG.md | 4 ++ packages/java-tron-up/package.json | 2 +- packages/json-rpc-engine/CHANGELOG.md | 1 + packages/json-rpc-engine/package.json | 2 +- .../json-rpc-middleware-stream/CHANGELOG.md | 1 + .../json-rpc-middleware-stream/package.json | 2 +- packages/keyring-controller/CHANGELOG.md | 4 ++ packages/keyring-controller/jest.config.js | 3 -- .../keyring-controller/jest.environment.js | 18 ------- packages/keyring-controller/package.json | 3 +- packages/kyc-controller/package.json | 2 +- packages/local-node-utils/CHANGELOG.md | 4 ++ packages/local-node-utils/package.json | 2 +- packages/logging-controller/CHANGELOG.md | 1 + packages/logging-controller/package.json | 2 +- packages/message-manager/CHANGELOG.md | 1 + packages/message-manager/package.json | 2 +- packages/messenger-cli/CHANGELOG.md | 1 + packages/messenger-cli/package.json | 2 +- packages/messenger/CHANGELOG.md | 4 ++ packages/messenger/package.json | 2 +- .../CHANGELOG.md | 1 + .../package.json | 2 +- .../CHANGELOG.md | 1 + .../package.json | 2 +- .../money-account-controller/CHANGELOG.md | 1 + .../money-account-controller/package.json | 2 +- .../CHANGELOG.md | 1 + .../jest.config.js | 1 - .../jest.environment.js | 18 ------- .../package.json | 3 +- packages/money-account-utils/CHANGELOG.md | 1 + packages/money-account-utils/package.json | 2 +- .../multichain-account-service/CHANGELOG.md | 1 + .../multichain-account-service/package.json | 2 +- .../multichain-api-middleware/CHANGELOG.md | 4 ++ .../multichain-api-middleware/package.json | 2 +- .../CHANGELOG.md | 4 ++ .../package.json | 2 +- .../CHANGELOG.md | 1 + .../package.json | 2 +- packages/name-controller/CHANGELOG.md | 1 + packages/name-controller/package.json | 2 +- .../CHANGELOG.md | 4 ++ .../package.json | 2 +- packages/network-controller/CHANGELOG.md | 1 + packages/network-controller/package.json | 2 +- .../CHANGELOG.md | 1 + .../package.json | 2 +- .../CHANGELOG.md | 1 + .../jest.environment.js | 6 --- .../package.json | 2 +- packages/passkey-controller/CHANGELOG.md | 1 + packages/passkey-controller/jest.config.js | 1 - .../passkey-controller/jest.environment.js | 17 ------- packages/passkey-controller/package.json | 3 +- packages/permission-controller/CHANGELOG.md | 1 + packages/permission-controller/package.json | 2 +- .../permission-log-controller/CHANGELOG.md | 1 + .../permission-log-controller/package.json | 2 +- packages/perps-controller/CHANGELOG.md | 1 + packages/perps-controller/package.json | 2 +- packages/phishing-controller/CHANGELOG.md | 2 +- packages/phishing-controller/package.json | 2 +- packages/platform-api-docs/package.json | 2 +- packages/platform-api-docs/src/cli.ts | 4 -- packages/polling-controller/CHANGELOG.md | 1 + packages/polling-controller/package.json | 2 +- packages/preferences-controller/CHANGELOG.md | 1 + packages/preferences-controller/package.json | 2 +- .../profile-metrics-controller/CHANGELOG.md | 1 + .../profile-metrics-controller/package.json | 2 +- packages/profile-sync-controller/CHANGELOG.md | 1 + .../jest.environment.js | 5 -- packages/profile-sync-controller/package.json | 2 +- packages/ramps-controller/CHANGELOG.md | 1 + packages/ramps-controller/package.json | 2 +- packages/rate-limit-controller/CHANGELOG.md | 1 + packages/rate-limit-controller/package.json | 2 +- packages/react-data-query/CHANGELOG.md | 4 ++ packages/react-data-query/package.json | 2 +- .../CHANGELOG.md | 1 + .../package.json | 2 +- packages/sample-controllers/CHANGELOG.md | 1 + packages/sample-controllers/package.json | 2 +- .../CHANGELOG.md | 1 + .../jest.config.js | 3 -- .../jest.environment.js | 17 ------- .../package.json | 3 +- .../selected-network-controller/CHANGELOG.md | 4 ++ .../selected-network-controller/package.json | 2 +- packages/sentinel-api-service/CHANGELOG.md | 1 + packages/sentinel-api-service/package.json | 2 +- packages/shield-controller/CHANGELOG.md | 4 ++ packages/shield-controller/package.json | 2 +- packages/signature-controller/CHANGELOG.md | 4 ++ packages/signature-controller/package.json | 2 +- .../CHANGELOG.md | 1 + .../package.json | 2 +- packages/snap-account-service/CHANGELOG.md | 1 + packages/snap-account-service/package.json | 2 +- packages/social-controllers/CHANGELOG.md | 1 + packages/social-controllers/package.json | 2 +- .../solana-test-validator-up/CHANGELOG.md | 4 ++ .../solana-test-validator-up/package.json | 2 +- packages/stellar-quickstart-up/package.json | 2 +- packages/storage-service/CHANGELOG.md | 1 + packages/storage-service/package.json | 2 +- packages/subscription-controller/CHANGELOG.md | 1 + packages/subscription-controller/package.json | 2 +- packages/transaction-controller/CHANGELOG.md | 1 + packages/transaction-controller/package.json | 2 +- .../transaction-pay-controller/CHANGELOG.md | 1 + .../transaction-pay-controller/package.json | 2 +- .../user-operation-controller/CHANGELOG.md | 4 ++ .../user-operation-controller/package.json | 2 +- packages/wallet-cli/CHANGELOG.md | 1 + packages/wallet-cli/package.json | 2 +- packages/wallet-framework-docs/package.json | 2 +- packages/wallet/CHANGELOG.md | 1 + packages/wallet/package.json | 2 +- packages/wallet/src/Wallet.test.ts | 14 ------ .../keyring-controller/encryptor.test.ts | 15 ------ yarn.config.cjs | 11 +---- yarn.lock | 4 -- 209 files changed, 276 insertions(+), 277 deletions(-) delete mode 100644 packages/keyring-controller/jest.environment.js delete mode 100644 packages/money-account-upgrade-controller/jest.environment.js delete mode 100644 packages/passkey-controller/jest.environment.js delete mode 100644 packages/seedless-onboarding-controller/jest.environment.js diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index 3bd49469380..fb81466e622 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [18.x, 20.x, 22.x, 24.x] + node-version: [22.x, 24.x] outputs: child-workspace-package-names: ${{ steps.workspace-package-names.outputs.child-workspace-package-names }} merge-base: ${{ steps.fetch-merge-base.outputs.merge-base }} @@ -269,35 +269,8 @@ jobs: # The following `test-*` jobs are duplicated because a single job may only # create a maximum of 256 matrix combinations, and we have more than 256 total # test combinations across all Node.js versions. - test-18: - name: Test (18.x) - runs-on: ubuntu-latest - if: needs.prepare.outputs.package-names != '[]' - needs: prepare - strategy: - fail-fast: false - matrix: - package-name: ${{ fromJson(needs.prepare.outputs.package-names) }} - steps: - - name: Checkout and setup environment - uses: MetaMask/action-checkout-and-setup@v3 - with: - is-high-risk-environment: false - persist-credentials: false - node-version: 18.x - - run: yarn workspace "$PACKAGE_NAME" run test - env: - PACKAGE_NAME: ${{ matrix.package-name }} - - name: Require clean working directory - shell: bash - run: | - if ! git diff --exit-code; then - echo "Working tree dirty at end of job" - exit 1 - fi - - test-20: - name: Test (20.x) + test-22: + name: Test (22.x) runs-on: ubuntu-latest if: needs.prepare.outputs.package-names != '[]' needs: prepare @@ -311,7 +284,7 @@ jobs: with: is-high-risk-environment: false persist-credentials: false - node-version: 20.x + node-version: 22.x - run: yarn workspace "$PACKAGE_NAME" run test env: PACKAGE_NAME: ${{ matrix.package-name }} @@ -323,8 +296,8 @@ jobs: exit 1 fi - test-22: - name: Test (22.x) + test-24: + name: Test (24.x) runs-on: ubuntu-latest if: needs.prepare.outputs.package-names != '[]' needs: prepare @@ -338,10 +311,8 @@ jobs: with: is-high-risk-environment: false persist-credentials: false - node-version: 22.x - - run: yarn workspace "$PACKAGE_NAME" run test - env: - PACKAGE_NAME: ${{ matrix.package-name }} + node-version: 24.x + - run: yarn workspace ${{ matrix.package-name }} run test - name: Require clean working directory shell: bash run: | @@ -378,7 +349,7 @@ jobs: strategy: fail-fast: false matrix: - node-version: [20.x, 22.x, 24.x] + node-version: [22.x, 24.x] steps: - name: Checkout and setup environment uses: MetaMask/action-checkout-and-setup@v3 diff --git a/package.json b/package.json index f7cbd960bf7..6d285725eb4 100644 --- a/package.json +++ b/package.json @@ -125,7 +125,7 @@ "pre-push": "yarn lint" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" }, "packageManager": "yarn@4.16.0+sha256.ba05224324578801b9cc98170d64aa50b9a36733b440fb0942306da3fbbdc7d1", "lavamoat": { diff --git a/packages/account-tree-controller/CHANGELOG.md b/packages/account-tree-controller/CHANGELOG.md index 551bafe40e9..14b169fef84 100644 --- a/packages/account-tree-controller/CHANGELOG.md +++ b/packages/account-tree-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/accounts-controller` from `^39.1.0` to `^39.1.1` ([#9969](https://github.com/MetaMask/core/pull/9969)) ## [8.0.0] diff --git a/packages/account-tree-controller/package.json b/packages/account-tree-controller/package.json index abadbef1fdc..a2c96eee63f 100644 --- a/packages/account-tree-controller/package.json +++ b/packages/account-tree-controller/package.json @@ -91,6 +91,6 @@ "webextension-polyfill": "^0.10.0 || ^0.11.0 || ^0.12.0" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/accounts-controller/CHANGELOG.md b/packages/accounts-controller/CHANGELOG.md index d1a2153bf1c..4cbb4bbd1ea 100644 --- a/packages/accounts-controller/CHANGELOG.md +++ b/packages/accounts-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [39.1.1] ### Changed diff --git a/packages/accounts-controller/package.json b/packages/accounts-controller/package.json index 04a9ce5c971..ad168c3ccb6 100644 --- a/packages/accounts-controller/package.json +++ b/packages/accounts-controller/package.json @@ -93,6 +93,6 @@ "webextension-polyfill": "^0.10.0 || ^0.11.0 || ^0.12.0" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/address-book-controller/CHANGELOG.md b/packages/address-book-controller/CHANGELOG.md index de99fcc274d..3cdfa566a7c 100644 --- a/packages/address-book-controller/CHANGELOG.md +++ b/packages/address-book-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/controller-utils` from `^12.0.0` to `^12.3.0` ([#8774](https://github.com/MetaMask/core/pull/8774), [#9058](https://github.com/MetaMask/core/pull/9058), [#9083](https://github.com/MetaMask/core/pull/9083), [#9218](https://github.com/MetaMask/core/pull/9218)) - Bump `@metamask/messenger` from `^1.2.0` to `^2.0.0` ([#9392](https://github.com/MetaMask/core/pull/9392)) diff --git a/packages/address-book-controller/package.json b/packages/address-book-controller/package.json index 47befdfcc72..5db5207ecb7 100644 --- a/packages/address-book-controller/package.json +++ b/packages/address-book-controller/package.json @@ -73,6 +73,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/ai-controllers/CHANGELOG.md b/packages/ai-controllers/CHANGELOG.md index 222cf78eb5e..b20ed67a286 100644 --- a/packages/ai-controllers/CHANGELOG.md +++ b/packages/ai-controllers/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/superstruct` from `^3.1.0` to `^3.4.1` ([#9754](https://github.com/MetaMask/core/pull/9754)) ## [0.8.0] diff --git a/packages/ai-controllers/package.json b/packages/ai-controllers/package.json index b2203c75d28..2a6526fb30f 100644 --- a/packages/ai-controllers/package.json +++ b/packages/ai-controllers/package.json @@ -73,6 +73,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/analytics-controller/CHANGELOG.md b/packages/analytics-controller/CHANGELOG.md index 90ce54d0c1c..b8ebdd23f22 100644 --- a/packages/analytics-controller/CHANGELOG.md +++ b/packages/analytics-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [2.0.0] ### Changed diff --git a/packages/analytics-controller/package.json b/packages/analytics-controller/package.json index 8f88b8325ef..4b885de8219 100644 --- a/packages/analytics-controller/package.json +++ b/packages/analytics-controller/package.json @@ -76,6 +76,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/analytics-data-regulation-controller/CHANGELOG.md b/packages/analytics-data-regulation-controller/CHANGELOG.md index f57f33d4fb4..8b76740b9d1 100644 --- a/packages/analytics-data-regulation-controller/CHANGELOG.md +++ b/packages/analytics-data-regulation-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/controller-utils` from `^11.19.0` to `^12.3.0` ([#8344](https://github.com/MetaMask/core/pull/8344), [#8755](https://github.com/MetaMask/core/pull/8755), [#8774](https://github.com/MetaMask/core/pull/8774), [#9058](https://github.com/MetaMask/core/pull/9058), [#9083](https://github.com/MetaMask/core/pull/9083), [#9218](https://github.com/MetaMask/core/pull/9218)) - Bump `@metamask/messenger` from `^1.1.0` to `^2.0.0` ([#8373](https://github.com/MetaMask/core/pull/8373), [#8632](https://github.com/MetaMask/core/pull/8632), [#9392](https://github.com/MetaMask/core/pull/9392)) diff --git a/packages/analytics-data-regulation-controller/package.json b/packages/analytics-data-regulation-controller/package.json index 71facec5a66..fcc0951d69d 100644 --- a/packages/analytics-data-regulation-controller/package.json +++ b/packages/analytics-data-regulation-controller/package.json @@ -74,6 +74,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/announcement-controller/CHANGELOG.md b/packages/announcement-controller/CHANGELOG.md index f81878d8ce7..51b40150ce3 100644 --- a/packages/announcement-controller/CHANGELOG.md +++ b/packages/announcement-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/messenger` from `^1.0.0` to `^2.0.0` ([#8364](https://github.com/MetaMask/core/pull/8364), [#8373](https://github.com/MetaMask/core/pull/8373), [#8632](https://github.com/MetaMask/core/pull/8632), [#9392](https://github.com/MetaMask/core/pull/9392)) - Bump `@metamask/base-controller` from `^9.0.1` to `^9.1.0` ([#8457](https://github.com/MetaMask/core/pull/8457)) diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index a525df3583e..1d23381c2f2 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -71,6 +71,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/app-metadata-controller/CHANGELOG.md b/packages/app-metadata-controller/CHANGELOG.md index f5790c9ced5..d9ccc89362d 100644 --- a/packages/app-metadata-controller/CHANGELOG.md +++ b/packages/app-metadata-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/messenger` from `^1.0.0` to `^2.0.0` ([#8364](https://github.com/MetaMask/core/pull/8364), [#8373](https://github.com/MetaMask/core/pull/8373), [#8632](https://github.com/MetaMask/core/pull/8632), [#9392](https://github.com/MetaMask/core/pull/9392)) - Bump `@metamask/base-controller` from `^9.0.1` to `^9.1.0` ([#8457](https://github.com/MetaMask/core/pull/8457)) diff --git a/packages/app-metadata-controller/package.json b/packages/app-metadata-controller/package.json index 0e9cd734451..d0e875757ee 100644 --- a/packages/app-metadata-controller/package.json +++ b/packages/app-metadata-controller/package.json @@ -69,6 +69,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/approval-controller/CHANGELOG.md b/packages/approval-controller/CHANGELOG.md index ad2c5f99726..e7d3eb3b0ea 100644 --- a/packages/approval-controller/CHANGELOG.md +++ b/packages/approval-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/messenger` from `^1.2.0` to `^2.0.0` ([#9392](https://github.com/MetaMask/core/pull/9392)) diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index 22bead46135..1d800dfc6e3 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -74,6 +74,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/assets-controller/CHANGELOG.md b/packages/assets-controller/CHANGELOG.md index ff09b5958cd..d5742adcf90 100644 --- a/packages/assets-controller/CHANGELOG.md +++ b/packages/assets-controller/CHANGELOG.md @@ -41,6 +41,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - **BREAKING:** Subscribe to `AccountTreeController:initialized` / `:uninitialized` (typed as `AccountTreeControllerInitializedEvent` / `AccountTreeControllerUninitializedEvent`) so asset tracking starts only after the account tree is fully built, instead of on intermediate `AccountTreeController:stateChange` events during `init()` or on unlock before the tree is ready ([#9892](https://github.com/MetaMask/core/pull/9892)) - Hosts that restrict which events flow through the `AssetsController` messenger must now also delegate `AccountTreeController:initialized` and `AccountTreeController:uninitialized` - Reduce Accounts API calls on startup and refresh: diff --git a/packages/assets-controller/package.json b/packages/assets-controller/package.json index c73091d344e..d88057d8703 100644 --- a/packages/assets-controller/package.json +++ b/packages/assets-controller/package.json @@ -101,6 +101,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/assets-controllers/CHANGELOG.md b/packages/assets-controllers/CHANGELOG.md index 670b4207823..a7b73326e24 100644 --- a/packages/assets-controllers/CHANGELOG.md +++ b/packages/assets-controllers/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/remote-feature-flag-controller` from `^6.0.0` to `^6.1.0` ([#9980](https://github.com/MetaMask/core/pull/9980)) ## [111.1.3] diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 49b0996a38d..7bdda457da4 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -131,6 +131,6 @@ "webextension-polyfill": "^0.10.0 || ^0.11.0 || ^0.12.0" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/authenticated-user-storage/CHANGELOG.md b/packages/authenticated-user-storage/CHANGELOG.md index c26cf910ffd..f6cecd6d81f 100644 --- a/packages/authenticated-user-storage/CHANGELOG.md +++ b/packages/authenticated-user-storage/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/superstruct` from `^3.1.0` to `^3.4.1` ([#9754](https://github.com/MetaMask/core/pull/9754)) - Bump `@metamask/base-data-service` from `^0.1.3` to `^1.0.0` ([#9972](https://github.com/MetaMask/core/pull/9972)) diff --git a/packages/authenticated-user-storage/package.json b/packages/authenticated-user-storage/package.json index 80c0084d13e..3026c22fa49 100644 --- a/packages/authenticated-user-storage/package.json +++ b/packages/authenticated-user-storage/package.json @@ -75,6 +75,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/base-controller/CHANGELOG.md b/packages/base-controller/CHANGELOG.md index b837af716bf..bb4e719074a 100644 --- a/packages/base-controller/CHANGELOG.md +++ b/packages/base-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/messenger` from `^1.1.1` to `^2.0.0` ([#8632](https://github.com/MetaMask/core/pull/8632), [#9392](https://github.com/MetaMask/core/pull/9392)) diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index 2d08ff61bd3..cc884eadb5f 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -69,6 +69,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/base-data-service/CHANGELOG.md b/packages/base-data-service/CHANGELOG.md index f638110f985..6292840cd09 100644 --- a/packages/base-data-service/CHANGELOG.md +++ b/packages/base-data-service/CHANGELOG.md @@ -40,6 +40,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - **BREAKING:** Remove `TPageData` type parameter from `invalidateQueries` method ([#9526](https://github.com/MetaMask/core/pull/9526)) - This is technically a breaking change, but this was not used in any of our codebases - **BREAKING:** Bump `@tanstack/query-core` from `^4.43.0` to `^5.62.16` ([#9712](https://github.com/MetaMask/core/pull/9712)) diff --git a/packages/base-data-service/package.json b/packages/base-data-service/package.json index 117f94bcd45..5874d9bf3bc 100644 --- a/packages/base-data-service/package.json +++ b/packages/base-data-service/package.json @@ -80,6 +80,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/bitcoin-regtest-up/CHANGELOG.md b/packages/bitcoin-regtest-up/CHANGELOG.md index 29eb0135d41..7bcd83a6c17 100644 --- a/packages/bitcoin-regtest-up/CHANGELOG.md +++ b/packages/bitcoin-regtest-up/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [1.0.0] ### Added diff --git a/packages/bitcoin-regtest-up/package.json b/packages/bitcoin-regtest-up/package.json index dfc8d44e055..eb587cef1df 100644 --- a/packages/bitcoin-regtest-up/package.json +++ b/packages/bitcoin-regtest-up/package.json @@ -71,6 +71,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/bridge-controller/CHANGELOG.md b/packages/bridge-controller/CHANGELOG.md index fc3584c8803..5310e03c6e7 100644 --- a/packages/bridge-controller/CHANGELOG.md +++ b/packages/bridge-controller/CHANGELOG.md @@ -26,6 +26,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - **BREAKING:** Require `migrationPhase` on `selectBridgeQuotes` / `selectBatchSellQuotes` client params ([#9744](https://github.com/MetaMask/core/pull/9744)) - `V1Data` (`'1'`): omit API V2 currency metadata; serve legacy `calcQuoteMetadata` - `V2WithV1Fallback` (`'1.5'`): prefer API V2 metadata (plus fiat from `usd`); fall back to legacy diff --git a/packages/bridge-controller/package.json b/packages/bridge-controller/package.json index 33d2d591c5e..7758ff77a9f 100644 --- a/packages/bridge-controller/package.json +++ b/packages/bridge-controller/package.json @@ -98,6 +98,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/bridge-status-controller/CHANGELOG.md b/packages/bridge-status-controller/CHANGELOG.md index a10ba1f3155..7497c0268f4 100644 --- a/packages/bridge-status-controller/CHANGELOG.md +++ b/packages/bridge-status-controller/CHANGELOG.md @@ -21,6 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Add optional `migrationPhase` to `submitTx`, `submitIntent`, and `submitBatchSell`, used by `toQuoteMetadataV1` to convert V2 quotes. Defaults to `V1Data` (`'1'`) if omitted ([#9744](https://github.com/MetaMask/core/pull/9744)) - Bump `@metamask/bridge-controller` from `^79.3.1` to `^80.0.0` ([#9978](https://github.com/MetaMask/core/pull/9978)) diff --git a/packages/bridge-status-controller/package.json b/packages/bridge-status-controller/package.json index 87556402052..afc59cefc9f 100644 --- a/packages/bridge-status-controller/package.json +++ b/packages/bridge-status-controller/package.json @@ -87,6 +87,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/build-utils/CHANGELOG.md b/packages/build-utils/CHANGELOG.md index 2713ab8934e..9f6352b7e4d 100644 --- a/packages/build-utils/CHANGELOG.md +++ b/packages/build-utils/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.8.1` to `^11.11.0` ([#7511](https://github.com/MetaMask/core/pull/7511), [#9074](https://github.com/MetaMask/core/pull/9074)) ## [3.0.4] diff --git a/packages/build-utils/package.json b/packages/build-utils/package.json index d0ecfb261b0..e0c387162b8 100644 --- a/packages/build-utils/package.json +++ b/packages/build-utils/package.json @@ -69,6 +69,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/chain-agnostic-permission/CHANGELOG.md b/packages/chain-agnostic-permission/CHANGELOG.md index 4633de82679..1e2ecced22c 100644 --- a/packages/chain-agnostic-permission/CHANGELOG.md +++ b/packages/chain-agnostic-permission/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [1.7.0] ### Added diff --git a/packages/chain-agnostic-permission/package.json b/packages/chain-agnostic-permission/package.json index 7d3daad684a..05e0c3cfa7d 100644 --- a/packages/chain-agnostic-permission/package.json +++ b/packages/chain-agnostic-permission/package.json @@ -74,6 +74,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/chomp-api-service/CHANGELOG.md b/packages/chomp-api-service/CHANGELOG.md index f2137cda3b4..b9ae3701989 100644 --- a/packages/chomp-api-service/CHANGELOG.md +++ b/packages/chomp-api-service/CHANGELOG.md @@ -26,6 +26,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - **BREAKING:** `associateAddress` now throws an `HttpError` on a 409 response instead of returning the parsed body ([#9387](https://github.com/MetaMask/core/pull/9387)) - A 409 from `POST /v1/auth/address` indicates the address is associated with a _different_ profile; the previous handling attempted to parse the error body as an association result and failed with a confusing validation error. An address already associated with the authenticated profile is reported via a 201 response with `status: 'active'`, which is unchanged. - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) diff --git a/packages/chomp-api-service/package.json b/packages/chomp-api-service/package.json index 003af46a053..2b19311dbbb 100644 --- a/packages/chomp-api-service/package.json +++ b/packages/chomp-api-service/package.json @@ -74,6 +74,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/claims-controller/CHANGELOG.md b/packages/claims-controller/CHANGELOG.md index 8588ed60bd3..70f0a8ea9b9 100644 --- a/packages/claims-controller/CHANGELOG.md +++ b/packages/claims-controller/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@tanstack/query-core` from `^4.43.0` to `^5.62.16` ([#9712](https://github.com/MetaMask/core/pull/9712)) - Bump `@metamask/base-data-service` from `^0.1.3` to `^1.0.0` ([#9972](https://github.com/MetaMask/core/pull/9972)) diff --git a/packages/claims-controller/package.json b/packages/claims-controller/package.json index e800b72505d..679884fed13 100644 --- a/packages/claims-controller/package.json +++ b/packages/claims-controller/package.json @@ -78,6 +78,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/client-controller/CHANGELOG.md b/packages/client-controller/CHANGELOG.md index 45b53576c1f..cedec734f73 100644 --- a/packages/client-controller/CHANGELOG.md +++ b/packages/client-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/messenger` from `^1.0.0` to `^2.0.0` ([#8364](https://github.com/MetaMask/core/pull/8364), [#8373](https://github.com/MetaMask/core/pull/8373), [#8632](https://github.com/MetaMask/core/pull/8632), [#9392](https://github.com/MetaMask/core/pull/9392)) - Bump `@metamask/base-controller` from `^9.0.1` to `^9.1.0` ([#8457](https://github.com/MetaMask/core/pull/8457)) diff --git a/packages/client-controller/package.json b/packages/client-controller/package.json index 6dc63fee15b..f176f128595 100644 --- a/packages/client-controller/package.json +++ b/packages/client-controller/package.json @@ -72,6 +72,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/client-utils/CHANGELOG.md b/packages/client-utils/CHANGELOG.md index fa74999e3a4..f97db39b231 100644 --- a/packages/client-utils/CHANGELOG.md +++ b/packages/client-utils/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/transaction-controller` from `^69.6.0` to `^69.6.1` ([#9969](https://github.com/MetaMask/core/pull/9969)) ## [2.1.1] diff --git a/packages/client-utils/package.json b/packages/client-utils/package.json index df9d046fc23..c6949bdb92e 100644 --- a/packages/client-utils/package.json +++ b/packages/client-utils/package.json @@ -78,6 +78,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/compliance-controller/CHANGELOG.md b/packages/compliance-controller/CHANGELOG.md index dcac21a245e..7267b3ca2f2 100644 --- a/packages/compliance-controller/CHANGELOG.md +++ b/packages/compliance-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/controller-utils` from `^12.1.0` to `^12.3.0` ([#9058](https://github.com/MetaMask/core/pull/9058), [#9083](https://github.com/MetaMask/core/pull/9083), [#9218](https://github.com/MetaMask/core/pull/9218)) - Bump `@metamask/messenger` from `^1.2.0` to `^2.0.0` ([#9392](https://github.com/MetaMask/core/pull/9392)) diff --git a/packages/compliance-controller/package.json b/packages/compliance-controller/package.json index e9dfa2e978e..5b1f69a2eb1 100644 --- a/packages/compliance-controller/package.json +++ b/packages/compliance-controller/package.json @@ -76,6 +76,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/composable-controller/CHANGELOG.md b/packages/composable-controller/CHANGELOG.md index bc5c4a8e41f..5cd224c28d8 100644 --- a/packages/composable-controller/CHANGELOG.md +++ b/packages/composable-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/json-rpc-engine` from `^10.2.4` to `^10.3.0` ([#8661](https://github.com/MetaMask/core/pull/8661)) - Bump `@metamask/messenger` from `^1.0.0` to `^2.0.0` ([#8364](https://github.com/MetaMask/core/pull/8364), [#8373](https://github.com/MetaMask/core/pull/8373), [#8632](https://github.com/MetaMask/core/pull/8632), [#9392](https://github.com/MetaMask/core/pull/9392)) - Bump `@metamask/base-controller` from `^9.0.1` to `^9.1.0` ([#8457](https://github.com/MetaMask/core/pull/8457)) diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index 95e8c1cce5c..3ebeef552e1 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -71,6 +71,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/config-registry-controller/CHANGELOG.md b/packages/config-registry-controller/CHANGELOG.md index 9cef9e04ed0..3b17266594b 100644 --- a/packages/config-registry-controller/CHANGELOG.md +++ b/packages/config-registry-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/remote-feature-flag-controller` from `^6.0.0` to `^6.1.0` ([#9980](https://github.com/MetaMask/core/pull/9980)) ## [3.1.0] diff --git a/packages/config-registry-controller/package.json b/packages/config-registry-controller/package.json index a3e840dd86a..3f6fd64127d 100644 --- a/packages/config-registry-controller/package.json +++ b/packages/config-registry-controller/package.json @@ -81,6 +81,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/connectivity-controller/CHANGELOG.md b/packages/connectivity-controller/CHANGELOG.md index b35813866c8..ac0744e62f9 100644 --- a/packages/connectivity-controller/CHANGELOG.md +++ b/packages/connectivity-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [0.3.0] ### Added diff --git a/packages/connectivity-controller/package.json b/packages/connectivity-controller/package.json index eff0dab23f5..392d5ff49b1 100644 --- a/packages/connectivity-controller/package.json +++ b/packages/connectivity-controller/package.json @@ -72,6 +72,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/controller-utils/CHANGELOG.md b/packages/controller-utils/CHANGELOG.md index 487e484d820..f8ab9cb4854 100644 --- a/packages/controller-utils/CHANGELOG.md +++ b/packages/controller-utils/CHANGELOG.md @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add optional `startTime` to `TraceRequest` to allow backdating a span's start time ([#9315](https://github.com/MetaMask/core/pull/9315)) +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ### Deprecated - Deprecate `createServicePolicy` and related symbols ([#9418](https://github.com/MetaMask/core/pull/9418)) diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index bd5cd75ee2d..acb60f5c930 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -86,6 +86,6 @@ "@babel/runtime": "^7.0.0" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/core-backend/CHANGELOG.md b/packages/core-backend/CHANGELOG.md index 639ebb9299d..c8863870f9a 100644 --- a/packages/core-backend/CHANGELOG.md +++ b/packages/core-backend/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/remote-feature-flag-controller` from `^6.0.0` to `^6.1.0` ([#9980](https://github.com/MetaMask/core/pull/9980)) ## [9.0.0] diff --git a/packages/core-backend/package.json b/packages/core-backend/package.json index 707d1ba5310..5dd2733df43 100644 --- a/packages/core-backend/package.json +++ b/packages/core-backend/package.json @@ -81,6 +81,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/delegation-controller/CHANGELOG.md b/packages/delegation-controller/CHANGELOG.md index ec91ee644db..74d0ad1b381 100644 --- a/packages/delegation-controller/CHANGELOG.md +++ b/packages/delegation-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/keyring-controller` from `^27.0.0` to `^27.1.1` ([#9129](https://github.com/MetaMask/core/pull/9129), [#9791](https://github.com/MetaMask/core/pull/9791)) - Bump `@metamask/messenger` from `^1.2.0` to `^2.0.0` ([#9392](https://github.com/MetaMask/core/pull/9392)) diff --git a/packages/delegation-controller/package.json b/packages/delegation-controller/package.json index 2aba87d6072..da9ce375607 100644 --- a/packages/delegation-controller/package.json +++ b/packages/delegation-controller/package.json @@ -73,6 +73,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/earn-controller/CHANGELOG.md b/packages/earn-controller/CHANGELOG.md index 032428af6fd..ff2ac602fce 100644 --- a/packages/earn-controller/CHANGELOG.md +++ b/packages/earn-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [12.2.6] ### Changed diff --git a/packages/earn-controller/package.json b/packages/earn-controller/package.json index 516ce0d067f..ca7042f6c0c 100644 --- a/packages/earn-controller/package.json +++ b/packages/earn-controller/package.json @@ -80,6 +80,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/eip-5792-middleware/CHANGELOG.md b/packages/eip-5792-middleware/CHANGELOG.md index 18e497e5a41..7cde35390b9 100644 --- a/packages/eip-5792-middleware/CHANGELOG.md +++ b/packages/eip-5792-middleware/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/transaction-controller` from `^69.0.0` to `^69.6.1` ([#9568](https://github.com/MetaMask/core/pull/9568), [#9589](https://github.com/MetaMask/core/pull/9589), [#9593](https://github.com/MetaMask/core/pull/9593), [#9693](https://github.com/MetaMask/core/pull/9693), [#9735](https://github.com/MetaMask/core/pull/9735), [#9780](https://github.com/MetaMask/core/pull/9780), [#9798](https://github.com/MetaMask/core/pull/9798), [#9823](https://github.com/MetaMask/core/pull/9823), [#9960](https://github.com/MetaMask/core/pull/9960), [#9969](https://github.com/MetaMask/core/pull/9969)) - Bump `@metamask/superstruct` from `^3.1.0` to `^3.4.1` ([#9754](https://github.com/MetaMask/core/pull/9754)) diff --git a/packages/eip-5792-middleware/package.json b/packages/eip-5792-middleware/package.json index 0db02dfa9e7..b8beeac56df 100644 --- a/packages/eip-5792-middleware/package.json +++ b/packages/eip-5792-middleware/package.json @@ -77,6 +77,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/eip-7702-internal-rpc-middleware/CHANGELOG.md b/packages/eip-7702-internal-rpc-middleware/CHANGELOG.md index 3c1591420d2..114e7a662c9 100644 --- a/packages/eip-7702-internal-rpc-middleware/CHANGELOG.md +++ b/packages/eip-7702-internal-rpc-middleware/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/controller-utils` from `^12.0.0` to `^12.3.0` ([#8774](https://github.com/MetaMask/core/pull/8774), [#9058](https://github.com/MetaMask/core/pull/9058), [#9083](https://github.com/MetaMask/core/pull/9083), [#9218](https://github.com/MetaMask/core/pull/9218)) - Bump `@metamask/superstruct` from `^3.1.0` to `^3.4.1` ([#9754](https://github.com/MetaMask/core/pull/9754)) diff --git a/packages/eip-7702-internal-rpc-middleware/package.json b/packages/eip-7702-internal-rpc-middleware/package.json index 00178ffe9d4..82eb9d33744 100644 --- a/packages/eip-7702-internal-rpc-middleware/package.json +++ b/packages/eip-7702-internal-rpc-middleware/package.json @@ -71,6 +71,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/eip1193-permission-middleware/CHANGELOG.md b/packages/eip1193-permission-middleware/CHANGELOG.md index af919cdd3e6..c96ac774799 100644 --- a/packages/eip1193-permission-middleware/CHANGELOG.md +++ b/packages/eip1193-permission-middleware/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/controller-utils` from `^12.0.0` to `^12.3.0` ([#8774](https://github.com/MetaMask/core/pull/8774), [#9058](https://github.com/MetaMask/core/pull/9058), [#9083](https://github.com/MetaMask/core/pull/9083), [#9218](https://github.com/MetaMask/core/pull/9218)) - Bump `@metamask/chain-agnostic-permission` from `^1.6.1` to `^1.6.2` ([#9103](https://github.com/MetaMask/core/pull/9103)) diff --git a/packages/eip1193-permission-middleware/package.json b/packages/eip1193-permission-middleware/package.json index d83f2d94e98..8c7f881b624 100644 --- a/packages/eip1193-permission-middleware/package.json +++ b/packages/eip1193-permission-middleware/package.json @@ -74,6 +74,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/eth-block-tracker/CHANGELOG.md b/packages/eth-block-tracker/CHANGELOG.md index a3a78df6537..777875b946b 100644 --- a/packages/eth-block-tracker/CHANGELOG.md +++ b/packages/eth-block-tracker/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/json-rpc-engine` from `^10.2.4` to `^10.3.0` ([#8661](https://github.com/MetaMask/core/pull/8661)) - Bump `@metamask/eth-json-rpc-provider` from `^6.0.0` to `^6.0.1` ([#8317](https://github.com/MetaMask/core/pull/8317)) diff --git a/packages/eth-block-tracker/package.json b/packages/eth-block-tracker/package.json index bf2d8c49b59..c2609b07c8b 100644 --- a/packages/eth-block-tracker/package.json +++ b/packages/eth-block-tracker/package.json @@ -75,6 +75,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/eth-json-rpc-middleware/CHANGELOG.md b/packages/eth-json-rpc-middleware/CHANGELOG.md index 182394b88cf..b419ec133f5 100644 --- a/packages/eth-json-rpc-middleware/CHANGELOG.md +++ b/packages/eth-json-rpc-middleware/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/superstruct` from `^3.1.0` to `^3.4.1` ([#9754](https://github.com/MetaMask/core/pull/9754)) ### Fixed diff --git a/packages/eth-json-rpc-middleware/package.json b/packages/eth-json-rpc-middleware/package.json index 5fc6550553b..31e29bacc8d 100644 --- a/packages/eth-json-rpc-middleware/package.json +++ b/packages/eth-json-rpc-middleware/package.json @@ -78,7 +78,7 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" }, "lavamoat": { "allowScripts": { diff --git a/packages/eth-json-rpc-provider/CHANGELOG.md b/packages/eth-json-rpc-provider/CHANGELOG.md index 1bd1117d55a..b6be30eebb9 100644 --- a/packages/eth-json-rpc-provider/CHANGELOG.md +++ b/packages/eth-json-rpc-provider/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/json-rpc-engine` from `^10.2.4` to `^10.5.0` ([#8661](https://github.com/MetaMask/core/pull/8661), [#8746](https://github.com/MetaMask/core/pull/8746), [#8753](https://github.com/MetaMask/core/pull/8753)) diff --git a/packages/eth-json-rpc-provider/package.json b/packages/eth-json-rpc-provider/package.json index 10937f23d58..4ffbc7e5c98 100644 --- a/packages/eth-json-rpc-provider/package.json +++ b/packages/eth-json-rpc-provider/package.json @@ -74,7 +74,7 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" }, "lavamoat": { "allowScripts": { diff --git a/packages/foundryup/CHANGELOG.md b/packages/foundryup/CHANGELOG.md index f6ce1417dc3..ccd551b6796 100644 --- a/packages/foundryup/CHANGELOG.md +++ b/packages/foundryup/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [1.0.1] ### Fixed diff --git a/packages/foundryup/package.json b/packages/foundryup/package.json index 4ab1f0c17f3..a465a17ad2f 100644 --- a/packages/foundryup/package.json +++ b/packages/foundryup/package.json @@ -71,6 +71,6 @@ "yaml": "^2.3.4" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/gas-fee-controller/CHANGELOG.md b/packages/gas-fee-controller/CHANGELOG.md index d1bfd791dc0..8ac701362b2 100644 --- a/packages/gas-fee-controller/CHANGELOG.md +++ b/packages/gas-fee-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [26.3.2] ### Changed diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index 50d0d31eeb1..368fd5e95c4 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -88,6 +88,6 @@ "@babel/runtime": "^7.0.0" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/gator-permissions-controller/CHANGELOG.md b/packages/gator-permissions-controller/CHANGELOG.md index 5b100822367..0e1fb6c0625 100644 --- a/packages/gator-permissions-controller/CHANGELOG.md +++ b/packages/gator-permissions-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [5.0.2] ### Changed diff --git a/packages/gator-permissions-controller/package.json b/packages/gator-permissions-controller/package.json index 9a29f5542a4..d17235c3108 100644 --- a/packages/gator-permissions-controller/package.json +++ b/packages/gator-permissions-controller/package.json @@ -83,7 +83,7 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" }, "lavamoat": { "allowScripts": { diff --git a/packages/geolocation-controller/CHANGELOG.md b/packages/geolocation-controller/CHANGELOG.md index 847aa091d48..1fd23691596 100644 --- a/packages/geolocation-controller/CHANGELOG.md +++ b/packages/geolocation-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [1.0.0] ### Changed diff --git a/packages/geolocation-controller/package.json b/packages/geolocation-controller/package.json index f20e31aa972..e5e5b13b11a 100644 --- a/packages/geolocation-controller/package.json +++ b/packages/geolocation-controller/package.json @@ -72,6 +72,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/java-tron-up/CHANGELOG.md b/packages/java-tron-up/CHANGELOG.md index b983a9bfc34..dff44d024c1 100644 --- a/packages/java-tron-up/CHANGELOG.md +++ b/packages/java-tron-up/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [1.0.0] ### Added diff --git a/packages/java-tron-up/package.json b/packages/java-tron-up/package.json index 6d66d1451ef..f0346a45e65 100644 --- a/packages/java-tron-up/package.json +++ b/packages/java-tron-up/package.json @@ -71,6 +71,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/json-rpc-engine/CHANGELOG.md b/packages/json-rpc-engine/CHANGELOG.md index 17d285184b9..8d1d7111066 100644 --- a/packages/json-rpc-engine/CHANGELOG.md +++ b/packages/json-rpc-engine/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/messenger` from `^1.2.0` to `^2.0.0` ([#9392](https://github.com/MetaMask/core/pull/9392)) diff --git a/packages/json-rpc-engine/package.json b/packages/json-rpc-engine/package.json index 591502a5689..d05209a8fbc 100644 --- a/packages/json-rpc-engine/package.json +++ b/packages/json-rpc-engine/package.json @@ -89,7 +89,7 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" }, "lavamoat": { "allowScripts": { diff --git a/packages/json-rpc-middleware-stream/CHANGELOG.md b/packages/json-rpc-middleware-stream/CHANGELOG.md index de2ac1cda02..9b93fd10689 100644 --- a/packages/json-rpc-middleware-stream/CHANGELOG.md +++ b/packages/json-rpc-middleware-stream/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.8.1` to `^11.11.0` ([#7511](https://github.com/MetaMask/core/pull/7511), [#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/json-rpc-engine` from `^10.1.1` to `^10.5.0` ([#7202](https://github.com/MetaMask/core/pull/7202), [#7642](https://github.com/MetaMask/core/pull/7642), [#7856](https://github.com/MetaMask/core/pull/7856), [#8078](https://github.com/MetaMask/core/pull/8078), [#8317](https://github.com/MetaMask/core/pull/8317), [#8661](https://github.com/MetaMask/core/pull/8661), [#8746](https://github.com/MetaMask/core/pull/8746), [#8753](https://github.com/MetaMask/core/pull/8753)) diff --git a/packages/json-rpc-middleware-stream/package.json b/packages/json-rpc-middleware-stream/package.json index 97eeee728fe..b5cde3461ac 100644 --- a/packages/json-rpc-middleware-stream/package.json +++ b/packages/json-rpc-middleware-stream/package.json @@ -74,6 +74,6 @@ "webextension-polyfill-ts": "^0.26.0" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/keyring-controller/CHANGELOG.md b/packages/keyring-controller/CHANGELOG.md index eb870cebdef..7cd065b15ed 100644 --- a/packages/keyring-controller/CHANGELOG.md +++ b/packages/keyring-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [27.1.1] ### Changed diff --git a/packages/keyring-controller/jest.config.js b/packages/keyring-controller/jest.config.js index 01ada25d53f..02289944e6f 100644 --- a/packages/keyring-controller/jest.config.js +++ b/packages/keyring-controller/jest.config.js @@ -23,7 +23,4 @@ module.exports = merge(baseConfig, { statements: 99.18, }, }, - - // These tests rely on the Crypto API - testEnvironment: '/jest.environment.js', }); diff --git a/packages/keyring-controller/jest.environment.js b/packages/keyring-controller/jest.environment.js deleted file mode 100644 index abe104a6a81..00000000000 --- a/packages/keyring-controller/jest.environment.js +++ /dev/null @@ -1,18 +0,0 @@ -const { TestEnvironment } = require('jest-environment-node'); - -/** - * KeyringController depends on @noble/hashes, which as of 1.3.2 relies on the - * Web Crypto API in Node and browsers. - */ -class CustomTestEnvironment extends TestEnvironment { - async setup() { - await super.setup(); - if (typeof this.global.crypto === 'undefined') { - // Only used for testing. - // eslint-disable-next-line n/no-unsupported-features/node-builtins - this.global.crypto = require('crypto').webcrypto; - } - } -} - -module.exports = CustomTestEnvironment; diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 6b610f26a29..fff5659bdac 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -84,7 +84,6 @@ "@types/jest": "^30.0.0", "deepmerge": "^4.2.2", "jest": "^30.4.2", - "jest-environment-node": "^30.4.1", "ts-jest": "^29.4.11", "tsx": "^4.20.5", "typedoc": "^0.25.13", @@ -93,7 +92,7 @@ "uuid": "^8.3.2" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" }, "lavamoat": { "allowScripts": { diff --git a/packages/kyc-controller/package.json b/packages/kyc-controller/package.json index 2a7fd97a842..1a278f32bc6 100644 --- a/packages/kyc-controller/package.json +++ b/packages/kyc-controller/package.json @@ -88,6 +88,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/local-node-utils/CHANGELOG.md b/packages/local-node-utils/CHANGELOG.md index a6197a256d6..3f273e8b9f4 100644 --- a/packages/local-node-utils/CHANGELOG.md +++ b/packages/local-node-utils/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [1.0.0] ### Added diff --git a/packages/local-node-utils/package.json b/packages/local-node-utils/package.json index 575f2286b30..32d7d0c8375 100644 --- a/packages/local-node-utils/package.json +++ b/packages/local-node-utils/package.json @@ -71,6 +71,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/logging-controller/CHANGELOG.md b/packages/logging-controller/CHANGELOG.md index 931a2d01026..42f367032ea 100644 --- a/packages/logging-controller/CHANGELOG.md +++ b/packages/logging-controller/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/controller-utils` from `^12.0.0` to `^12.3.0` ([#8774](https://github.com/MetaMask/core/pull/8774), [#9058](https://github.com/MetaMask/core/pull/9058), [#9083](https://github.com/MetaMask/core/pull/9083), [#9218](https://github.com/MetaMask/core/pull/9218)) - Bump `@metamask/messenger` from `^1.2.0` to `^2.0.0` ([#9392](https://github.com/MetaMask/core/pull/9392)) diff --git a/packages/logging-controller/package.json b/packages/logging-controller/package.json index 08cd7e5f5ef..c54972da06d 100644 --- a/packages/logging-controller/package.json +++ b/packages/logging-controller/package.json @@ -73,6 +73,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/message-manager/CHANGELOG.md b/packages/message-manager/CHANGELOG.md index 1b91968d786..be50b7aa903 100644 --- a/packages/message-manager/CHANGELOG.md +++ b/packages/message-manager/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/controller-utils` from `^12.0.0` to `^12.3.0` ([#8774](https://github.com/MetaMask/core/pull/8774), [#9058](https://github.com/MetaMask/core/pull/9058), [#9083](https://github.com/MetaMask/core/pull/9083), [#9218](https://github.com/MetaMask/core/pull/9218)) - Bump `@metamask/messenger` from `^1.2.0` to `^2.0.0` ([#9392](https://github.com/MetaMask/core/pull/9392)) diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index 2a49919373f..ff91fd2cd15 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -75,6 +75,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/messenger-cli/CHANGELOG.md b/packages/messenger-cli/CHANGELOG.md index 052cbdaa022..ca89ff63cde 100644 --- a/packages/messenger-cli/CHANGELOG.md +++ b/packages/messenger-cli/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) ## [0.2.0] diff --git a/packages/messenger-cli/package.json b/packages/messenger-cli/package.json index ac25ea88a86..4f9903d9363 100644 --- a/packages/messenger-cli/package.json +++ b/packages/messenger-cli/package.json @@ -71,6 +71,6 @@ } }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/messenger/CHANGELOG.md b/packages/messenger/CHANGELOG.md index e41e6cbeefd..1546f93debd 100644 --- a/packages/messenger/CHANGELOG.md +++ b/packages/messenger/CHANGELOG.md @@ -13,6 +13,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Unlike `delegate`, this method requires all external actions and events to be listed, producing a TypeScript error showing exactly which items are missing. - Add `MessengerNamespace` utility type to extract the namespace from a Messenger type ([#8338](https://github.com/MetaMask/core/pull/8338)) +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ### Fixed - Defer re-entrant publishes of the same event so subscribers no longer receive a stale payload ([#9840](https://github.com/MetaMask/core/pull/9840)) diff --git a/packages/messenger/package.json b/packages/messenger/package.json index 034e0b46bd6..3d2fbdfc37e 100644 --- a/packages/messenger/package.json +++ b/packages/messenger/package.json @@ -77,6 +77,6 @@ "typescript": ">=5.0.0" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/money-account-api-data-service/CHANGELOG.md b/packages/money-account-api-data-service/CHANGELOG.md index 2dff9f1efc0..ec16eb6fa89 100644 --- a/packages/money-account-api-data-service/CHANGELOG.md +++ b/packages/money-account-api-data-service/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/superstruct` from `^3.1.0` to `^3.4.1` ([#9754](https://github.com/MetaMask/core/pull/9754)) - Bump `@tanstack/query-core` from `^4.43.0` to `^5.62.16` ([#9712](https://github.com/MetaMask/core/pull/9712)) - Bump `@metamask/base-data-service` from `^0.1.3` to `^1.0.0` ([#9972](https://github.com/MetaMask/core/pull/9972)) diff --git a/packages/money-account-api-data-service/package.json b/packages/money-account-api-data-service/package.json index d08248443cf..8f4ff289a9e 100644 --- a/packages/money-account-api-data-service/package.json +++ b/packages/money-account-api-data-service/package.json @@ -76,6 +76,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/money-account-balance-service/CHANGELOG.md b/packages/money-account-balance-service/CHANGELOG.md index 5e5eb634e9e..234e4fa0d97 100644 --- a/packages/money-account-balance-service/CHANGELOG.md +++ b/packages/money-account-balance-service/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/remote-feature-flag-controller` from `^6.0.0` to `^6.1.0` ([#9980](https://github.com/MetaMask/core/pull/9980)) ## [2.4.3] diff --git a/packages/money-account-balance-service/package.json b/packages/money-account-balance-service/package.json index c9693c77830..19451843a53 100644 --- a/packages/money-account-balance-service/package.json +++ b/packages/money-account-balance-service/package.json @@ -81,6 +81,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/money-account-controller/CHANGELOG.md b/packages/money-account-controller/CHANGELOG.md index 8249b7783e9..791e82f997a 100644 --- a/packages/money-account-controller/CHANGELOG.md +++ b/packages/money-account-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/accounts-controller` from `^39.0.7` to `^39.1.1` ([#9807](https://github.com/MetaMask/core/pull/9807), [#9969](https://github.com/MetaMask/core/pull/9969)) ## [1.0.0] diff --git a/packages/money-account-controller/package.json b/packages/money-account-controller/package.json index c8973d6ebf2..80d6df651ae 100644 --- a/packages/money-account-controller/package.json +++ b/packages/money-account-controller/package.json @@ -78,6 +78,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/money-account-upgrade-controller/CHANGELOG.md b/packages/money-account-upgrade-controller/CHANGELOG.md index 41f29bc6c5a..b11eafbbf59 100644 --- a/packages/money-account-upgrade-controller/CHANGELOG.md +++ b/packages/money-account-upgrade-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/authenticated-user-storage` from `^3.0.1` to `^3.0.2` ([#9972](https://github.com/MetaMask/core/pull/9972)) - Bump `@metamask/chomp-api-service` from `^4.0.0` to `^4.0.1` ([#9972](https://github.com/MetaMask/core/pull/9972)) diff --git a/packages/money-account-upgrade-controller/jest.config.js b/packages/money-account-upgrade-controller/jest.config.js index f5ba61687a0..1c5314007e1 100644 --- a/packages/money-account-upgrade-controller/jest.config.js +++ b/packages/money-account-upgrade-controller/jest.config.js @@ -20,5 +20,4 @@ module.exports = merge(baseConfig, { statements: 100, }, }, - testEnvironment: '/jest.environment.js', }); diff --git a/packages/money-account-upgrade-controller/jest.environment.js b/packages/money-account-upgrade-controller/jest.environment.js deleted file mode 100644 index a2ab37baeba..00000000000 --- a/packages/money-account-upgrade-controller/jest.environment.js +++ /dev/null @@ -1,18 +0,0 @@ -const { TestEnvironment } = require('jest-environment-node'); - -/** - * Some transitive dependencies rely on the Web Crypto API, which is not - * exposed as a global by jest-environment-node. - */ -class CustomTestEnvironment extends TestEnvironment { - async setup() { - await super.setup(); - if (typeof this.global.crypto === 'undefined') { - // Only used for testing. - // eslint-disable-next-line n/no-unsupported-features/node-builtins - this.global.crypto = require('crypto').webcrypto; - } - } -} - -module.exports = CustomTestEnvironment; diff --git a/packages/money-account-upgrade-controller/package.json b/packages/money-account-upgrade-controller/package.json index cbd02224142..b26d808c7b6 100644 --- a/packages/money-account-upgrade-controller/package.json +++ b/packages/money-account-upgrade-controller/package.json @@ -72,7 +72,6 @@ "@types/jest": "^30.0.0", "deepmerge": "^4.2.2", "jest": "^30.4.2", - "jest-environment-node": "^30.4.1", "ts-jest": "^29.4.11", "tsx": "^4.20.5", "typedoc": "^0.25.13", @@ -80,6 +79,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/money-account-utils/CHANGELOG.md b/packages/money-account-utils/CHANGELOG.md index 23da8d9400a..586a4f8e80a 100644 --- a/packages/money-account-utils/CHANGELOG.md +++ b/packages/money-account-utils/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/transaction-controller` from `^69.4.0` to `^69.6.1` ([#9780](https://github.com/MetaMask/core/pull/9780), [#9798](https://github.com/MetaMask/core/pull/9798), [#9823](https://github.com/MetaMask/core/pull/9823), [#9960](https://github.com/MetaMask/core/pull/9960), [#9969](https://github.com/MetaMask/core/pull/9969)) ## [1.1.0] diff --git a/packages/money-account-utils/package.json b/packages/money-account-utils/package.json index f56a8c04273..768ea7bd960 100644 --- a/packages/money-account-utils/package.json +++ b/packages/money-account-utils/package.json @@ -74,6 +74,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/multichain-account-service/CHANGELOG.md b/packages/multichain-account-service/CHANGELOG.md index fe40d5794da..89c58f6d2aa 100644 --- a/packages/multichain-account-service/CHANGELOG.md +++ b/packages/multichain-account-service/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/accounts-controller` from `^39.1.0` to `^39.1.1` ([#9969](https://github.com/MetaMask/core/pull/9969)) ## [13.0.2] diff --git a/packages/multichain-account-service/package.json b/packages/multichain-account-service/package.json index 9ff41906e67..7da2a6cada2 100644 --- a/packages/multichain-account-service/package.json +++ b/packages/multichain-account-service/package.json @@ -99,6 +99,6 @@ "webextension-polyfill": "^0.10.0 || ^0.11.0 || ^0.12.0" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/multichain-api-middleware/CHANGELOG.md b/packages/multichain-api-middleware/CHANGELOG.md index 067c4e81d72..e3907025279 100644 --- a/packages/multichain-api-middleware/CHANGELOG.md +++ b/packages/multichain-api-middleware/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [4.0.3] ### Changed diff --git a/packages/multichain-api-middleware/package.json b/packages/multichain-api-middleware/package.json index d1d2a92001b..a40007a7b0e 100644 --- a/packages/multichain-api-middleware/package.json +++ b/packages/multichain-api-middleware/package.json @@ -83,6 +83,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/multichain-network-controller/CHANGELOG.md b/packages/multichain-network-controller/CHANGELOG.md index c728dcfcce8..e7228665935 100644 --- a/packages/multichain-network-controller/CHANGELOG.md +++ b/packages/multichain-network-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [3.2.4] ### Changed diff --git a/packages/multichain-network-controller/package.json b/packages/multichain-network-controller/package.json index 241b8f47380..ba096228c44 100644 --- a/packages/multichain-network-controller/package.json +++ b/packages/multichain-network-controller/package.json @@ -85,6 +85,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/multichain-transactions-controller/CHANGELOG.md b/packages/multichain-transactions-controller/CHANGELOG.md index a16cff3a124..8e772417933 100644 --- a/packages/multichain-transactions-controller/CHANGELOG.md +++ b/packages/multichain-transactions-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/accounts-controller` from `^39.0.7` to `^39.1.1` ([#9807](https://github.com/MetaMask/core/pull/9807), [#9969](https://github.com/MetaMask/core/pull/9969)) ## [7.1.2] diff --git a/packages/multichain-transactions-controller/package.json b/packages/multichain-transactions-controller/package.json index 8b22b36c793..1ecdd9a0a8a 100644 --- a/packages/multichain-transactions-controller/package.json +++ b/packages/multichain-transactions-controller/package.json @@ -84,6 +84,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/name-controller/CHANGELOG.md b/packages/name-controller/CHANGELOG.md index d2aaa9110ea..421d835c420 100644 --- a/packages/name-controller/CHANGELOG.md +++ b/packages/name-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/controller-utils` from `^12.0.0` to `^12.3.0` ([#8774](https://github.com/MetaMask/core/pull/8774), [#9058](https://github.com/MetaMask/core/pull/9058), [#9083](https://github.com/MetaMask/core/pull/9083), [#9218](https://github.com/MetaMask/core/pull/9218)) - Bump `@metamask/messenger` from `^1.2.0` to `^2.0.0` ([#9392](https://github.com/MetaMask/core/pull/9392)) diff --git a/packages/name-controller/package.json b/packages/name-controller/package.json index 6e21b5bbc27..ef317c5e75d 100644 --- a/packages/name-controller/package.json +++ b/packages/name-controller/package.json @@ -75,6 +75,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/network-connection-banner-controller/CHANGELOG.md b/packages/network-connection-banner-controller/CHANGELOG.md index c761e273ac8..d55097ab50e 100644 --- a/packages/network-connection-banner-controller/CHANGELOG.md +++ b/packages/network-connection-banner-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [0.2.1] ### Changed diff --git a/packages/network-connection-banner-controller/package.json b/packages/network-connection-banner-controller/package.json index 5d329ab4f76..7572da5634f 100644 --- a/packages/network-connection-banner-controller/package.json +++ b/packages/network-connection-banner-controller/package.json @@ -78,6 +78,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/network-controller/CHANGELOG.md b/packages/network-controller/CHANGELOG.md index ef1bedd9bd5..9328e45e05c 100644 --- a/packages/network-controller/CHANGELOG.md +++ b/packages/network-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/remote-feature-flag-controller` from `^6.0.0` to `^6.1.0` ([#9980](https://github.com/MetaMask/core/pull/9980)) ## [36.0.0] diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index 80dc5f4af16..96894afbced 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -103,6 +103,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/network-enablement-controller/CHANGELOG.md b/packages/network-enablement-controller/CHANGELOG.md index 678bbbfea0a..93943cf60f9 100644 --- a/packages/network-enablement-controller/CHANGELOG.md +++ b/packages/network-enablement-controller/CHANGELOG.md @@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/transaction-controller` from `^69.5.0` to `^69.5.2` ([#9798](https://github.com/MetaMask/core/pull/9798), [#9823](https://github.com/MetaMask/core/pull/9823)) - Bump `@metamask/config-registry-controller` from `^2.0.1` to `^3.0.0` ([#9923](https://github.com/MetaMask/core/pull/9923)) diff --git a/packages/network-enablement-controller/package.json b/packages/network-enablement-controller/package.json index 02246997bcd..3fa2d4ec8ce 100644 --- a/packages/network-enablement-controller/package.json +++ b/packages/network-enablement-controller/package.json @@ -80,6 +80,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/notification-services-controller/CHANGELOG.md b/packages/notification-services-controller/CHANGELOG.md index 80a6fc263ff..ad134250c40 100644 --- a/packages/notification-services-controller/CHANGELOG.md +++ b/packages/notification-services-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/keyring-controller` from `^27.1.0` to `^27.1.1` ([#9791](https://github.com/MetaMask/core/pull/9791)) - Bump `@metamask/authenticated-user-storage` from `^3.0.1` to `^3.0.2` ([#9972](https://github.com/MetaMask/core/pull/9972)) diff --git a/packages/notification-services-controller/jest.environment.js b/packages/notification-services-controller/jest.environment.js index f67bb89df5d..6912db1b177 100644 --- a/packages/notification-services-controller/jest.environment.js +++ b/packages/notification-services-controller/jest.environment.js @@ -17,12 +17,6 @@ class CustomTestEnvironment extends TestEnvironment { this.global.TextDecoder = TextDecoder; this.global.ArrayBuffer = ArrayBuffer; this.global.Uint8Array = Uint8Array; - - if (typeof this.global.crypto === 'undefined') { - // jest runs in a node environment, so need to polyfil webAPIs - // eslint-disable-next-line n/no-unsupported-features/node-builtins - this.global.crypto = require('crypto').webcrypto; - } } } diff --git a/packages/notification-services-controller/package.json b/packages/notification-services-controller/package.json index 7063a96b1d4..82466bd7211 100644 --- a/packages/notification-services-controller/package.json +++ b/packages/notification-services-controller/package.json @@ -143,6 +143,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/passkey-controller/CHANGELOG.md b/packages/passkey-controller/CHANGELOG.md index 08beb833c39..920ca1b1cac 100644 --- a/packages/passkey-controller/CHANGELOG.md +++ b/packages/passkey-controller/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/keyring-controller` from `^27.1.0` to `^27.1.1` ([#9791](https://github.com/MetaMask/core/pull/9791)) ## [3.0.0] diff --git a/packages/passkey-controller/jest.config.js b/packages/passkey-controller/jest.config.js index b402d0883c2..0f5e11a7b84 100644 --- a/packages/passkey-controller/jest.config.js +++ b/packages/passkey-controller/jest.config.js @@ -7,7 +7,6 @@ const displayName = path.basename(__dirname); module.exports = merge(baseConfig, { displayName, - testEnvironment: '/jest.environment.js', coverageThreshold: { global: { branches: 99.27, diff --git a/packages/passkey-controller/jest.environment.js b/packages/passkey-controller/jest.environment.js deleted file mode 100644 index c3b47d5c246..00000000000 --- a/packages/passkey-controller/jest.environment.js +++ /dev/null @@ -1,17 +0,0 @@ -const { TestEnvironment } = require('jest-environment-node'); - -/** - * Passkey orchestration uses the Web Crypto API (`crypto.getRandomValues`) in Node tests. - */ -class CustomTestEnvironment extends TestEnvironment { - async setup() { - await super.setup(); - if (typeof this.global.crypto === 'undefined') { - // Only used for testing. - // eslint-disable-next-line n/no-unsupported-features/node-builtins - this.global.crypto = require('crypto').webcrypto; - } - } -} - -module.exports = CustomTestEnvironment; diff --git a/packages/passkey-controller/package.json b/packages/passkey-controller/package.json index d63f453d973..a23de9de2c0 100644 --- a/packages/passkey-controller/package.json +++ b/packages/passkey-controller/package.json @@ -72,7 +72,6 @@ "@types/jest": "^30.0.0", "deepmerge": "^4.2.2", "jest": "^30.4.2", - "jest-environment-node": "^30.4.1", "ts-jest": "^29.4.11", "tsx": "^4.20.5", "typedoc": "^0.25.13", @@ -80,6 +79,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/permission-controller/CHANGELOG.md b/packages/permission-controller/CHANGELOG.md index 322c25fb657..695fda63bf1 100644 --- a/packages/permission-controller/CHANGELOG.md +++ b/packages/permission-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/controller-utils` from `^12.0.0` to `^12.3.0` ([#8774](https://github.com/MetaMask/core/pull/8774), [#9058](https://github.com/MetaMask/core/pull/9058), [#9083](https://github.com/MetaMask/core/pull/9083), [#9218](https://github.com/MetaMask/core/pull/9218)) - Bump `@metamask/approval-controller` from `^9.0.1` to `^9.0.2` ([#9058](https://github.com/MetaMask/core/pull/9058)) diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index b384b3b07d0..75b17a65fe6 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -80,6 +80,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/permission-log-controller/CHANGELOG.md b/packages/permission-log-controller/CHANGELOG.md index 8aa2121d980..8c3d78e6907 100644 --- a/packages/permission-log-controller/CHANGELOG.md +++ b/packages/permission-log-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/json-rpc-engine` from `^10.2.4` to `^10.5.0` ([#8661](https://github.com/MetaMask/core/pull/8661), [#8746](https://github.com/MetaMask/core/pull/8746), [#8753](https://github.com/MetaMask/core/pull/8753)) - Bump `@metamask/messenger` from `^1.0.0` to `^2.0.0` ([#8364](https://github.com/MetaMask/core/pull/8364), [#8373](https://github.com/MetaMask/core/pull/8373), [#8632](https://github.com/MetaMask/core/pull/8632), [#9392](https://github.com/MetaMask/core/pull/9392)) diff --git a/packages/permission-log-controller/package.json b/packages/permission-log-controller/package.json index d214acb37cc..f38f9c39c5f 100644 --- a/packages/permission-log-controller/package.json +++ b/packages/permission-log-controller/package.json @@ -76,6 +76,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/perps-controller/CHANGELOG.md b/packages/perps-controller/CHANGELOG.md index 9064a9195ba..671ca0e1a25 100644 --- a/packages/perps-controller/CHANGELOG.md +++ b/packages/perps-controller/CHANGELOG.md @@ -304,6 +304,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/account-tree-controller` from `^7.5.3` to `7.5.4` ([#9429](https://github.com/MetaMask/core/pull/9429)) - Report the effective leverage (`positionUSD / marginUSD`, rounded to 1 decimal place) on `PERPS_POSITION_CLOSE_TRANSACTION` analytics instead of the configured `leverage.value`, and populate it for every close including TP/SL triggers ([#9471](https://github.com/MetaMask/core/pull/9471)) - Emit an additional `partially_filled` `PERPS_TRADE_TRANSACTION` event with `order_size` (the final submitted size), `amount_filled`, and `remaining_amount` when an open trade fills for less than the size actually submitted to the exchange, mirroring the close path so partial fills are visible in analytics; classification uses the provider's post-normalization submitted size (returned as `OrderResult.submittedSize`) rather than the caller's pre-normalization `size`, so a complete fill of the normalized size is not misreported as partial; full fills are unchanged ([#9471](https://github.com/MetaMask/core/pull/9471)) diff --git a/packages/perps-controller/package.json b/packages/perps-controller/package.json index 80e9475209c..d7ed8b4d751 100644 --- a/packages/perps-controller/package.json +++ b/packages/perps-controller/package.json @@ -136,6 +136,6 @@ "@myx-trade/sdk": "^0.1.265" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/phishing-controller/CHANGELOG.md b/packages/phishing-controller/CHANGELOG.md index 0967d9afc04..0ad2112b20c 100644 --- a/packages/phishing-controller/CHANGELOG.md +++ b/packages/phishing-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Optimize C2 domain blocklist lookups by switching internal storage from `Array` to `Set`, reducing per-lookup complexity from O(n) to O(1) ([#6388](https://github.com/MetaMask/core/pull/6388)) - Bump `@metamask/transaction-controller` from `^69.5.2` to `^69.6.1` ([#9960](https://github.com/MetaMask/core/pull/9960), [#9969](https://github.com/MetaMask/core/pull/9969)) @@ -260,7 +261,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/base-controller` from `^8.0.1` to `^8.4.0` ([#6284](https://github.com/MetaMask/core/pull/6284), [#6355](https://github.com/MetaMask/core/pull/6355), [#6465](https://github.com/MetaMask/core/pull/6465), [#6632](https://github.com/MetaMask/core/pull/6632)) - Bump `@metamask/controller-utils` from `^11.11.0` to `^11.14.0` ([#6303](https://github.com/MetaMask/core/pull/6303), [#6620](https://github.com/MetaMask/core/pull/6620), [#6629](https://github.com/MetaMask/core/pull/6629)) - - Bump `@noble/hashes` from `^1.4.0` to `^1.8.0` ([#6101](https://github.com/MetaMask/core/pull/6101)) ## [13.1.0] diff --git a/packages/phishing-controller/package.json b/packages/phishing-controller/package.json index cc124b85ee6..22f7f5f6ae5 100644 --- a/packages/phishing-controller/package.json +++ b/packages/phishing-controller/package.json @@ -80,6 +80,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/platform-api-docs/package.json b/packages/platform-api-docs/package.json index cc4fd9803b8..efebf1c8bf8 100644 --- a/packages/platform-api-docs/package.json +++ b/packages/platform-api-docs/package.json @@ -72,6 +72,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/platform-api-docs/src/cli.ts b/packages/platform-api-docs/src/cli.ts index bd1d62a0ce3..577c9e0d51e 100644 --- a/packages/platform-api-docs/src/cli.ts +++ b/packages/platform-api-docs/src/cli.ts @@ -110,10 +110,6 @@ async function setupSite(outDir: string): Promise { console.log(`\nSetting up Docusaurus site in ${outDir}...`); - // `fs.cp` has been available since Node 16.7 and only got the "stable" - // marker in 22.3 — it's functional throughout our supported Node range - // (`^18.18 || >=20`), even though the linter flags the older versions. - // eslint-disable-next-line n/no-unsupported-features/node-builtins await fs.cp(siteDir, outDir, { recursive: true, filter: (source) => !skip.has(path.basename(source)), diff --git a/packages/polling-controller/CHANGELOG.md b/packages/polling-controller/CHANGELOG.md index 8027cc91bf4..ca1f3c57eda 100644 --- a/packages/polling-controller/CHANGELOG.md +++ b/packages/polling-controller/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/network-controller` from `^35.0.0` to `^35.0.1` ([#9758](https://github.com/MetaMask/core/pull/9758)) ### Removed diff --git a/packages/polling-controller/package.json b/packages/polling-controller/package.json index b010ea97ea0..a95a93b3458 100644 --- a/packages/polling-controller/package.json +++ b/packages/polling-controller/package.json @@ -73,6 +73,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/preferences-controller/CHANGELOG.md b/packages/preferences-controller/CHANGELOG.md index 6a20f6ccbb6..c5037e51102 100644 --- a/packages/preferences-controller/CHANGELOG.md +++ b/packages/preferences-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/messenger` from `^1.0.0` to `^2.0.0` ([#8364](https://github.com/MetaMask/core/pull/8364), [#8373](https://github.com/MetaMask/core/pull/8373), [#8632](https://github.com/MetaMask/core/pull/8632), [#9392](https://github.com/MetaMask/core/pull/9392)) - Bump `@metamask/base-controller` from `^9.0.1` to `^9.1.0` ([#8457](https://github.com/MetaMask/core/pull/8457)) diff --git a/packages/preferences-controller/package.json b/packages/preferences-controller/package.json index 44d33a4df4a..12e52054845 100644 --- a/packages/preferences-controller/package.json +++ b/packages/preferences-controller/package.json @@ -72,6 +72,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/profile-metrics-controller/CHANGELOG.md b/packages/profile-metrics-controller/CHANGELOG.md index 5c01d33d5f4..e64b03316fc 100644 --- a/packages/profile-metrics-controller/CHANGELOG.md +++ b/packages/profile-metrics-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/transaction-controller` from `^69.4.0` to `^69.6.1` ([#9780](https://github.com/MetaMask/core/pull/9780), [#9798](https://github.com/MetaMask/core/pull/9798), [#9823](https://github.com/MetaMask/core/pull/9823), [#9960](https://github.com/MetaMask/core/pull/9960), [#9969](https://github.com/MetaMask/core/pull/9969)) - Bump `@metamask/superstruct` from `^3.1.0` to `^3.4.1` ([#9754](https://github.com/MetaMask/core/pull/9754)) - Bump `@metamask/accounts-controller` from `^39.0.6` to `^39.1.1` ([#9791](https://github.com/MetaMask/core/pull/9791), [#9807](https://github.com/MetaMask/core/pull/9807), [#9969](https://github.com/MetaMask/core/pull/9969)) diff --git a/packages/profile-metrics-controller/package.json b/packages/profile-metrics-controller/package.json index 3194e004d30..543df69d771 100644 --- a/packages/profile-metrics-controller/package.json +++ b/packages/profile-metrics-controller/package.json @@ -86,6 +86,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/profile-sync-controller/CHANGELOG.md b/packages/profile-sync-controller/CHANGELOG.md index 0238aebc637..10c1ea2c52b 100644 --- a/packages/profile-sync-controller/CHANGELOG.md +++ b/packages/profile-sync-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - **BREAKING:** Derive auth and user-storage message-signing keys natively via SIP-6 from HD keyring seeds instead of calling `@metamask/message-signing-snap` through `SnapController`. `AuthenticationController` and `UserStorageController` now require `KeyringController:withKeyringV2Unsafe` and no longer call `SnapController:handleRequest`. The message-signing snap remains for Portfolio / external origins ([#9824](https://github.com/MetaMask/core/pull/9824)) - Derive native SIP-6 keys with `@noble/hashes` HMAC-SHA-512 instead of Web Crypto, so auth works on React Native, whose SubtleCrypto cannot HMAC. - Resolve HD entropy source IDs from `KeyringController` instead of the message-signing snap (`getBearerToken` primary ID, `performSignIn` SRP enumeration) ([#9794](https://github.com/MetaMask/core/pull/9794)) diff --git a/packages/profile-sync-controller/jest.environment.js b/packages/profile-sync-controller/jest.environment.js index 2e6fb2965b7..e4b95026d29 100644 --- a/packages/profile-sync-controller/jest.environment.js +++ b/packages/profile-sync-controller/jest.environment.js @@ -18,11 +18,6 @@ class CustomTestEnvironment extends TestEnvironment { this.global.TextDecoder = TextDecoder; this.global.ArrayBuffer = ArrayBuffer; this.global.Uint8Array = Uint8Array; - - if (typeof this.global.crypto === 'undefined') { - // eslint-disable-next-line n/no-unsupported-features/node-builtins - this.global.crypto = require('crypto').webcrypto; - } } } diff --git a/packages/profile-sync-controller/package.json b/packages/profile-sync-controller/package.json index 0a405f1d9ac..f1c9fb04add 100644 --- a/packages/profile-sync-controller/package.json +++ b/packages/profile-sync-controller/package.json @@ -149,7 +149,7 @@ "webextension-polyfill": "^0.10.0 || ^0.11.0 || ^0.12.0" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" }, "lavamoat": { "allowScripts": {} diff --git a/packages/ramps-controller/CHANGELOG.md b/packages/ramps-controller/CHANGELOG.md index 47d7b974fbb..c755c581af0 100644 --- a/packages/ramps-controller/CHANGELOG.md +++ b/packages/ramps-controller/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Preserve backend provider ranking metadata in `RampsService.getProviders` and `RampsController.getProviders` responses. ([#9955](https://github.com/MetaMask/core/pull/9955)) - Bump `@metamask/remote-feature-flag-controller` from `^5.0.0` to `^6.0.0` ([#9945](https://github.com/MetaMask/core/pull/9945)) - Bump `@metamask/remote-feature-flag-controller` from `^5.0.0` to `^6.1.0` ([#9945](https://github.com/MetaMask/core/pull/9945), [#9980](https://github.com/MetaMask/core/pull/9980)) diff --git a/packages/ramps-controller/package.json b/packages/ramps-controller/package.json index a8ff09de7e9..b83a89309fd 100644 --- a/packages/ramps-controller/package.json +++ b/packages/ramps-controller/package.json @@ -76,6 +76,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/rate-limit-controller/CHANGELOG.md b/packages/rate-limit-controller/CHANGELOG.md index bbd2a854083..535ade9a4b5 100644 --- a/packages/rate-limit-controller/CHANGELOG.md +++ b/packages/rate-limit-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/messenger` from `^1.0.0` to `^2.0.0` ([#8364](https://github.com/MetaMask/core/pull/8364), [#8373](https://github.com/MetaMask/core/pull/8373), [#8632](https://github.com/MetaMask/core/pull/8632), [#9392](https://github.com/MetaMask/core/pull/9392)) - Bump `@metamask/base-controller` from `^9.0.1` to `^9.1.0` ([#8457](https://github.com/MetaMask/core/pull/8457)) diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index 1111813c2ff..4c104d81404 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -71,6 +71,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/react-data-query/CHANGELOG.md b/packages/react-data-query/CHANGELOG.md index 9d8b6d548b1..231b38b9eec 100644 --- a/packages/react-data-query/CHANGELOG.md +++ b/packages/react-data-query/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [1.0.0] ### Changed diff --git a/packages/react-data-query/package.json b/packages/react-data-query/package.json index 61ca8ec73ff..114f1070cc9 100644 --- a/packages/react-data-query/package.json +++ b/packages/react-data-query/package.json @@ -90,6 +90,6 @@ } }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/remote-feature-flag-controller/CHANGELOG.md b/packages/remote-feature-flag-controller/CHANGELOG.md index 622e18b1664..639ba33e6d5 100644 --- a/packages/remote-feature-flag-controller/CHANGELOG.md +++ b/packages/remote-feature-flag-controller/CHANGELOG.md @@ -51,6 +51,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - **BREAKING:** Threshold feature flags now return the selected `value` directly instead of a `{ name, value }` wrapper. The selected threshold group name is stored separately in `featureFlagThresholdGroups` on controller state when the selected threshold entry includes `name` ([#9289](https://github.com/MetaMask/core/pull/9289)) - Merge `localOverrides` into `remoteFeatureFlags` at the controller level so consumers receive effective flag values directly ([#9259](https://github.com/MetaMask/core/pull/9259)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) diff --git a/packages/remote-feature-flag-controller/package.json b/packages/remote-feature-flag-controller/package.json index 0ac2e595f21..fad2b6bc24b 100644 --- a/packages/remote-feature-flag-controller/package.json +++ b/packages/remote-feature-flag-controller/package.json @@ -76,6 +76,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/sample-controllers/CHANGELOG.md b/packages/sample-controllers/CHANGELOG.md index 69b8d1bc0f3..1da628b7d75 100644 --- a/packages/sample-controllers/CHANGELOG.md +++ b/packages/sample-controllers/CHANGELOG.md @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@tanstack/query-core` from `^4.43.0` to `^5.62.16` ([#9712](https://github.com/MetaMask/core/pull/9712)) - Bump `@metamask/network-controller` from `^35.0.0` to `^36.0.0` ([#9758](https://github.com/MetaMask/core/pull/9758), [#9969](https://github.com/MetaMask/core/pull/9969)) - Bump `@metamask/superstruct` from `^3.1.0` to `^3.4.1` ([#9754](https://github.com/MetaMask/core/pull/9754)) diff --git a/packages/sample-controllers/package.json b/packages/sample-controllers/package.json index 5594606f9d4..e1b0b31b0e8 100644 --- a/packages/sample-controllers/package.json +++ b/packages/sample-controllers/package.json @@ -78,6 +78,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/seedless-onboarding-controller/CHANGELOG.md b/packages/seedless-onboarding-controller/CHANGELOG.md index d5bb53ece06..1b6d7ff7a5f 100644 --- a/packages/seedless-onboarding-controller/CHANGELOG.md +++ b/packages/seedless-onboarding-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/keyring-controller` from `^27.1.0` to `^27.1.1` ([#9791](https://github.com/MetaMask/core/pull/9791)) ## [10.1.1] diff --git a/packages/seedless-onboarding-controller/jest.config.js b/packages/seedless-onboarding-controller/jest.config.js index b279b2830f8..ff67b94d816 100644 --- a/packages/seedless-onboarding-controller/jest.config.js +++ b/packages/seedless-onboarding-controller/jest.config.js @@ -23,7 +23,4 @@ module.exports = merge(baseConfig, { statements: 100, }, }, - - // These tests rely on the Crypto API - testEnvironment: '/jest.environment.js', }); diff --git a/packages/seedless-onboarding-controller/jest.environment.js b/packages/seedless-onboarding-controller/jest.environment.js deleted file mode 100644 index 96293a73a3f..00000000000 --- a/packages/seedless-onboarding-controller/jest.environment.js +++ /dev/null @@ -1,17 +0,0 @@ -const { TestEnvironment } = require('jest-environment-node'); - -/** - * SeedlessOnboardingController depends on @noble/hashes, which as of 1.7.1 relies on the - * Web Crypto API in Node and browsers. - */ -class CustomTestEnvironment extends TestEnvironment { - async setup() { - await super.setup(); - if (typeof this.global.crypto === 'undefined') { - // eslint-disable-next-line n/no-unsupported-features/node-builtins -- this is a test environment - this.global.crypto = require('crypto').webcrypto; - } - } -} - -module.exports = CustomTestEnvironment; diff --git a/packages/seedless-onboarding-controller/package.json b/packages/seedless-onboarding-controller/package.json index 39cb62f54d3..eaf4c89d762 100644 --- a/packages/seedless-onboarding-controller/package.json +++ b/packages/seedless-onboarding-controller/package.json @@ -77,7 +77,6 @@ "@types/json-stable-stringify-without-jsonify": "^1.0.2", "deepmerge": "^4.2.2", "jest": "^30.4.2", - "jest-environment-node": "^30.4.1", "nock": "^13.3.1", "ts-jest": "^29.4.11", "tsx": "^4.20.5", @@ -86,7 +85,7 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" }, "lavamoat": { "allowScripts": { diff --git a/packages/selected-network-controller/CHANGELOG.md b/packages/selected-network-controller/CHANGELOG.md index 2c5fa2b0e2f..312fae7858b 100644 --- a/packages/selected-network-controller/CHANGELOG.md +++ b/packages/selected-network-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [26.1.7] ### Changed diff --git a/packages/selected-network-controller/package.json b/packages/selected-network-controller/package.json index 1840eba7b95..4b3eeee0e5b 100644 --- a/packages/selected-network-controller/package.json +++ b/packages/selected-network-controller/package.json @@ -80,6 +80,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/sentinel-api-service/CHANGELOG.md b/packages/sentinel-api-service/CHANGELOG.md index f7ea8b2377b..cbd87c06caf 100644 --- a/packages/sentinel-api-service/CHANGELOG.md +++ b/packages/sentinel-api-service/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/superstruct` from `^3.1.0` to `^3.4.1` ([#9754](https://github.com/MetaMask/core/pull/9754)) - Bump `@tanstack/query-core` from `^4.43.0` to `^5.62.16` ([#9712](https://github.com/MetaMask/core/pull/9712)) - Bump `@metamask/base-data-service` from `^0.1.3` to `^1.0.0` ([#9972](https://github.com/MetaMask/core/pull/9972)) diff --git a/packages/sentinel-api-service/package.json b/packages/sentinel-api-service/package.json index 4bb39939db9..67c8dcaaa63 100644 --- a/packages/sentinel-api-service/package.json +++ b/packages/sentinel-api-service/package.json @@ -76,6 +76,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/shield-controller/CHANGELOG.md b/packages/shield-controller/CHANGELOG.md index ab0f45f4080..37b05959135 100644 --- a/packages/shield-controller/CHANGELOG.md +++ b/packages/shield-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [6.0.1] ### Changed diff --git a/packages/shield-controller/package.json b/packages/shield-controller/package.json index 1f9d4dcecf4..86c00c14ced 100644 --- a/packages/shield-controller/package.json +++ b/packages/shield-controller/package.json @@ -84,7 +84,7 @@ "uuid": "^8.3.2" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" }, "lavamoat": { "allowScripts": { diff --git a/packages/signature-controller/CHANGELOG.md b/packages/signature-controller/CHANGELOG.md index ab5e90e9d47..c50b8f510ed 100644 --- a/packages/signature-controller/CHANGELOG.md +++ b/packages/signature-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [39.2.10] ### Changed diff --git a/packages/signature-controller/package.json b/packages/signature-controller/package.json index 3b3c01131cd..3720c02bc2c 100644 --- a/packages/signature-controller/package.json +++ b/packages/signature-controller/package.json @@ -83,6 +83,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/smart-transactions-controller/CHANGELOG.md b/packages/smart-transactions-controller/CHANGELOG.md index 1503d45a3dd..d57122ef52d 100644 --- a/packages/smart-transactions-controller/CHANGELOG.md +++ b/packages/smart-transactions-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/remote-feature-flag-controller` from `^6.0.0` to `^6.1.0` ([#9980](https://github.com/MetaMask/core/pull/9980)) ## [25.1.1] diff --git a/packages/smart-transactions-controller/package.json b/packages/smart-transactions-controller/package.json index aac3c919574..5e2f78b3d2a 100644 --- a/packages/smart-transactions-controller/package.json +++ b/packages/smart-transactions-controller/package.json @@ -89,6 +89,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/snap-account-service/CHANGELOG.md b/packages/snap-account-service/CHANGELOG.md index 187439dbec0..9d24066e55f 100644 --- a/packages/snap-account-service/CHANGELOG.md +++ b/packages/snap-account-service/CHANGELOG.md @@ -36,6 +36,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/account-tree-controller` from `^7.5.4` to `^7.5.5` ([#9470](https://github.com/MetaMask/core/pull/9470)) - Bump `@metamask/account-api` from `^1.0.4` to `^1.1.1` ([#9676](https://github.com/MetaMask/core/pull/9676)) - Bump `@metamask/keyring-api` from `^23.5.0` to `^23.7.0` ([#9676](https://github.com/MetaMask/core/pull/9676)) diff --git a/packages/snap-account-service/package.json b/packages/snap-account-service/package.json index b911eeb979a..5ab3ebcf2e8 100644 --- a/packages/snap-account-service/package.json +++ b/packages/snap-account-service/package.json @@ -81,6 +81,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/social-controllers/CHANGELOG.md b/packages/social-controllers/CHANGELOG.md index bb03a1c297f..208066bf7da 100644 --- a/packages/social-controllers/CHANGELOG.md +++ b/packages/social-controllers/CHANGELOG.md @@ -19,6 +19,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/superstruct` from `^3.1.0` to `^3.4.1` ([#9754](https://github.com/MetaMask/core/pull/9754)) - Bump `@metamask/base-data-service` from `^0.1.3` to `^1.0.0` ([#9972](https://github.com/MetaMask/core/pull/9972)) diff --git a/packages/social-controllers/package.json b/packages/social-controllers/package.json index a9f344aa06e..4c0e0dff245 100644 --- a/packages/social-controllers/package.json +++ b/packages/social-controllers/package.json @@ -75,6 +75,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/solana-test-validator-up/CHANGELOG.md b/packages/solana-test-validator-up/CHANGELOG.md index e57892ba85d..70596f69012 100644 --- a/packages/solana-test-validator-up/CHANGELOG.md +++ b/packages/solana-test-validator-up/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [1.0.0] ### Added diff --git a/packages/solana-test-validator-up/package.json b/packages/solana-test-validator-up/package.json index a485ba0c6d0..3e0cee63644 100644 --- a/packages/solana-test-validator-up/package.json +++ b/packages/solana-test-validator-up/package.json @@ -71,6 +71,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/stellar-quickstart-up/package.json b/packages/stellar-quickstart-up/package.json index 951440b417e..33a3c170510 100644 --- a/packages/stellar-quickstart-up/package.json +++ b/packages/stellar-quickstart-up/package.json @@ -67,6 +67,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/storage-service/CHANGELOG.md b/packages/storage-service/CHANGELOG.md index 0e64d9cd17e..6919874410c 100644 --- a/packages/storage-service/CHANGELOG.md +++ b/packages/storage-service/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074)) - Bump `@metamask/messenger` from `^1.2.0` to `^2.0.0` ([#9392](https://github.com/MetaMask/core/pull/9392)) diff --git a/packages/storage-service/package.json b/packages/storage-service/package.json index c858a8116f5..1823b6a641d 100644 --- a/packages/storage-service/package.json +++ b/packages/storage-service/package.json @@ -71,6 +71,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/subscription-controller/CHANGELOG.md b/packages/subscription-controller/CHANGELOG.md index 6a55b63ae00..4e3a9953d20 100644 --- a/packages/subscription-controller/CHANGELOG.md +++ b/packages/subscription-controller/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@tanstack/query-core` from `^4.43.0` to `^5.62.16` ([#9712](https://github.com/MetaMask/core/pull/9712)) - Bump `@metamask/transaction-controller` from `^69.5.2` to `^69.6.1` ([#9960](https://github.com/MetaMask/core/pull/9960), [#9969](https://github.com/MetaMask/core/pull/9969)) - Bump `@metamask/base-data-service` from `^0.1.3` to `^1.0.0` ([#9972](https://github.com/MetaMask/core/pull/9972)) diff --git a/packages/subscription-controller/package.json b/packages/subscription-controller/package.json index 9093f5f59b2..37c5127cdda 100644 --- a/packages/subscription-controller/package.json +++ b/packages/subscription-controller/package.json @@ -80,6 +80,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/transaction-controller/CHANGELOG.md b/packages/transaction-controller/CHANGELOG.md index 29d1afc6755..e1f3f622239 100644 --- a/packages/transaction-controller/CHANGELOG.md +++ b/packages/transaction-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/remote-feature-flag-controller` from `^6.0.0` to `^6.1.0` ([#9980](https://github.com/MetaMask/core/pull/9980)) ## [69.6.1] diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index aa6c30acae8..778460788eb 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -111,6 +111,6 @@ "@metamask/eth-block-tracker": ">=9" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/transaction-pay-controller/CHANGELOG.md b/packages/transaction-pay-controller/CHANGELOG.md index 441c1862bc9..e73fba35a82 100644 --- a/packages/transaction-pay-controller/CHANGELOG.md +++ b/packages/transaction-pay-controller/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/sentinel-api-service` from `^1.0.0` to `^1.0.1` ([#9972](https://github.com/MetaMask/core/pull/9972)) - Bump `@metamask/remote-feature-flag-controller` from `^6.0.0` to `^6.1.0` ([#9980](https://github.com/MetaMask/core/pull/9980)) diff --git a/packages/transaction-pay-controller/package.json b/packages/transaction-pay-controller/package.json index fb1a1306d77..2be0144dd98 100644 --- a/packages/transaction-pay-controller/package.json +++ b/packages/transaction-pay-controller/package.json @@ -91,6 +91,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/user-operation-controller/CHANGELOG.md b/packages/user-operation-controller/CHANGELOG.md index 3115f045791..cd0b00c2a4c 100644 --- a/packages/user-operation-controller/CHANGELOG.md +++ b/packages/user-operation-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) + ## [41.2.9] ### Changed diff --git a/packages/user-operation-controller/package.json b/packages/user-operation-controller/package.json index 450d880f935..e784852f8ba 100644 --- a/packages/user-operation-controller/package.json +++ b/packages/user-operation-controller/package.json @@ -91,6 +91,6 @@ "@metamask/eth-block-tracker": ">=9" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/wallet-cli/CHANGELOG.md b/packages/wallet-cli/CHANGELOG.md index c8b57104aad..ae5e474a989 100644 --- a/packages/wallet-cli/CHANGELOG.md +++ b/packages/wallet-cli/CHANGELOG.md @@ -27,6 +27,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - The daemon client (`sendCommand`) now retries only on `ECONNREFUSED`, not `ECONNRESET`, since a reset can drop after the daemon has already acted on a request — re-sending could execute a non-idempotent action (e.g. a transaction broadcast) twice ([#9608](https://github.com/MetaMask/core/pull/9608)) - `--password` / `MM_WALLET_PASSWORD` is now optional on `mm daemon start`; on subsequent runs, omitting it starts the daemon with a locked keyring, and the persisted vault is auto-unlocked when a password is supplied ([#8821](https://github.com/MetaMask/core/pull/8821)) - The daemon RPC server now validates `params` against each handler's superstruct before dispatch, returning a `-32602 invalidParams` error on mismatch instead of passing raw params to the handler ([#8846](https://github.com/MetaMask/core/pull/8846)) diff --git a/packages/wallet-cli/package.json b/packages/wallet-cli/package.json index 8071eebf490..9e82a5ec052 100644 --- a/packages/wallet-cli/package.json +++ b/packages/wallet-cli/package.json @@ -85,6 +85,6 @@ "topicSeparator": " " }, "engines": { - "node": ">=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/wallet-framework-docs/package.json b/packages/wallet-framework-docs/package.json index 481524889fd..a727bc56c09 100644 --- a/packages/wallet-framework-docs/package.json +++ b/packages/wallet-framework-docs/package.json @@ -67,6 +67,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/wallet/CHANGELOG.md b/packages/wallet/CHANGELOG.md index 4f835dc9f43..4d461371a0b 100644 --- a/packages/wallet/CHANGELOG.md +++ b/packages/wallet/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168)) - Bump `@metamask/claims-controller` from `^0.6.0` to `^0.6.1` ([#9972](https://github.com/MetaMask/core/pull/9972)) - Bump `@metamask/shield-controller` from `^6.0.0` to `^6.0.1` ([#9972](https://github.com/MetaMask/core/pull/9972)) - Bump `@metamask/subscription-controller` from `^8.0.0` to `^8.0.1` ([#9972](https://github.com/MetaMask/core/pull/9972)) diff --git a/packages/wallet/package.json b/packages/wallet/package.json index 7a19bd5eca6..3702554a6fe 100644 --- a/packages/wallet/package.json +++ b/packages/wallet/package.json @@ -91,6 +91,6 @@ "typescript": "~5.3.3" }, "engines": { - "node": "^18.18 || >=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/wallet/src/Wallet.test.ts b/packages/wallet/src/Wallet.test.ts index d8b24b7c2b4..2ffc6db1922 100644 --- a/packages/wallet/src/Wallet.test.ts +++ b/packages/wallet/src/Wallet.test.ts @@ -8,7 +8,6 @@ import { } from '@metamask/shield-controller'; import { InMemoryStorageAdapter } from '@metamask/storage-service'; import { Json } from '@metamask/utils'; -import { webcrypto } from 'crypto'; import MockEncryptor from '../../keyring-controller/tests/mocks/mockEncryptor.js'; import * as initializationModule from './initialization/initialization.js'; @@ -58,19 +57,6 @@ async function setupWallet(): Promise { } describe('Wallet', () => { - beforeAll(() => { - // We can remove this once we drop Node 18 - // eslint-disable-next-line n/no-unsupported-features/node-builtins - globalThis.crypto ??= webcrypto as typeof globalThis.crypto; - - // eslint-disable-next-line no-restricted-syntax - if (!('CryptoKey' in globalThis)) { - Object.defineProperty(globalThis, 'CryptoKey', { - value: webcrypto.CryptoKey, - }); - } - }); - it('exposes state', async () => { const wallet = await setupWallet(); const { state } = wallet; diff --git a/packages/wallet/src/initialization/instances/keyring-controller/encryptor.test.ts b/packages/wallet/src/initialization/instances/keyring-controller/encryptor.test.ts index 29e75a0b2d4..011736efc7c 100644 --- a/packages/wallet/src/initialization/instances/keyring-controller/encryptor.test.ts +++ b/packages/wallet/src/initialization/instances/keyring-controller/encryptor.test.ts @@ -1,21 +1,6 @@ -import { webcrypto } from 'crypto'; - import { encryptorFactory } from './encryptor.js'; describe('encryptorFactory', () => { - beforeAll(() => { - // We can remove this once we drop Node 18 - // eslint-disable-next-line n/no-unsupported-features/node-builtins - globalThis.crypto ??= webcrypto as typeof globalThis.crypto; - - // eslint-disable-next-line no-restricted-syntax - if (!('CryptoKey' in globalThis)) { - Object.defineProperty(globalThis, 'CryptoKey', { - value: webcrypto.CryptoKey, - }); - } - }); - const encryptor = encryptorFactory(600_000); it('encrypts/decrypts using a password', async () => { diff --git a/yarn.config.cjs b/yarn.config.cjs index 2b55c2fd360..fd44537397a 100644 --- a/yarn.config.cjs +++ b/yarn.config.cjs @@ -262,15 +262,8 @@ module.exports = defineConfig({ expectYarnPackageManager(workspace); } - // All packages must specify a minimum Node.js version of 18.18. - // @metamask/wallet-cli depends on `better-sqlite3`, which only ships - // prebuilt binaries for Node 20+; bumping its declared minimum keeps the - // engines field honest. - if (workspace.ident === '@metamask/wallet-cli') { - expectWorkspaceField(workspace, 'engines.node', '>=20'); - } else { - expectWorkspaceField(workspace, 'engines.node', '^18.18 || >=20'); - } + // All packages must specify a minimum Node.js version of 22. + expectWorkspaceField(workspace, 'engines.node', '^22.14.0 || ^24'); // All non-root public packages should be published to the NPM registry; // all non-root private packages should not. diff --git a/yarn.lock b/yarn.lock index 9fcb34e8458..d3b9150089a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7557,7 +7557,6 @@ __metadata: ethereumjs-wallet: "npm:^1.0.1" immer: "npm:^9.0.6" jest: "npm:^30.4.2" - jest-environment-node: "npm:^30.4.1" lodash: "npm:^4.17.21" ts-jest: "npm:^29.4.11" tsx: "npm:^4.20.5" @@ -7928,7 +7927,6 @@ __metadata: "@types/jest": "npm:^30.0.0" deepmerge: "npm:^4.2.2" jest: "npm:^30.4.2" - jest-environment-node: "npm:^30.4.1" ts-jest: "npm:^29.4.11" tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" @@ -8319,7 +8317,6 @@ __metadata: async-mutex: "npm:^0.5.0" deepmerge: "npm:^4.2.2" jest: "npm:^30.4.2" - jest-environment-node: "npm:^30.4.1" ts-jest: "npm:^29.4.11" tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" @@ -8834,7 +8831,6 @@ __metadata: async-mutex: "npm:^0.5.0" deepmerge: "npm:^4.2.2" jest: "npm:^30.4.2" - jest-environment-node: "npm:^30.4.1" nock: "npm:^13.3.1" ts-jest: "npm:^29.4.11" tsx: "npm:^4.20.5" From 2a2714160694cce20d821bbb81acd60a78733477 Mon Sep 17 00:00:00 2001 From: Maarten Zuidhoorn Date: Wed, 26 Aug 2026 20:42:12 +0200 Subject: [PATCH 2/3] Bump `@types/node` to `^22.13.14` --- package.json | 2 +- packages/assets-controllers/package.json | 2 +- packages/platform-api-docs/package.json | 2 +- packages/transaction-controller/package.json | 2 +- yarn.lock | 33 +++++++++++++------- 5 files changed, 25 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index 6d285725eb4..cb902bfdf1d 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "@ts-bridge/cli": "^0.6.4", "@types/jest": "^30.0.0", "@types/lodash": "^4.14.191", - "@types/node": "^16.18.54", + "@types/node": "^22.13.14", "@types/semver": "^7", "@typescript-eslint/eslint-plugin": "^8.48.0", "@typescript-eslint/parser": "^8.48.0", diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 7bdda457da4..d30f3bf5d73 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -114,7 +114,7 @@ "@ts-bridge/cli": "^0.6.4", "@types/jest": "^30.0.0", "@types/lodash": "^4.14.191", - "@types/node": "^16.18.54", + "@types/node": "^22.13.14", "deepmerge": "^4.2.2", "jest": "^30.4.2", "jest-environment-jsdom": "^30.4.1", diff --git a/packages/platform-api-docs/package.json b/packages/platform-api-docs/package.json index efebf1c8bf8..83e96544f62 100644 --- a/packages/platform-api-docs/package.json +++ b/packages/platform-api-docs/package.json @@ -61,7 +61,7 @@ "@metamask/auto-changelog": "^6.1.0", "@ts-bridge/cli": "^0.6.4", "@types/jest": "^30.0.0", - "@types/node": "^16.18.54", + "@types/node": "^22.13.14", "@types/npm-which": "^3", "@types/react": "^19.0.0", "@types/yargs": "^17.0.32", diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 778460788eb..83723b9aacc 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -94,7 +94,7 @@ "@ts-bridge/cli": "^0.6.4", "@types/bn.js": "^5.1.5", "@types/jest": "^30.0.0", - "@types/node": "^16.18.54", + "@types/node": "^22.13.14", "deepmerge": "^4.2.2", "immer": "^9.0.6", "jest": "^30.4.2", diff --git a/yarn.lock b/yarn.lock index d3b9150089a..8a0ff0eaa11 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6079,7 +6079,7 @@ __metadata: "@types/bn.js": "npm:^5.1.5" "@types/jest": "npm:^30.0.0" "@types/lodash": "npm:^4.14.191" - "@types/node": "npm:^16.18.54" + "@types/node": "npm:^22.13.14" "@types/uuid": "npm:^8.3.0" async-mutex: "npm:^0.5.0" bitcoin-address-validation: "npm:^2.2.3" @@ -6691,7 +6691,7 @@ __metadata: "@ts-bridge/cli": "npm:^0.6.4" "@types/jest": "npm:^30.0.0" "@types/lodash": "npm:^4.14.191" - "@types/node": "npm:^16.18.54" + "@types/node": "npm:^22.13.14" "@types/semver": "npm:^7" "@typescript-eslint/eslint-plugin": "npm:^8.48.0" "@typescript-eslint/parser": "npm:^8.48.0" @@ -8481,7 +8481,7 @@ __metadata: "@metamask/utils": "npm:^11.11.0" "@ts-bridge/cli": "npm:^0.6.4" "@types/jest": "npm:^30.0.0" - "@types/node": "npm:^16.18.54" + "@types/node": "npm:^22.13.14" "@types/npm-which": "npm:^3" "@types/react": "npm:^19.0.0" "@types/yargs": "npm:^17.0.32" @@ -9333,7 +9333,7 @@ __metadata: "@ts-bridge/cli": "npm:^0.6.4" "@types/bn.js": "npm:^5.1.5" "@types/jest": "npm:^30.0.0" - "@types/node": "npm:^16.18.54" + "@types/node": "npm:^22.13.14" async-mutex: "npm:^0.5.0" bignumber.js: "npm:^9.1.2" bn.js: "npm:^5.2.1" @@ -12067,7 +12067,16 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:22.7.5, @types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0": +"@types/node@npm:*, @types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0, @types/node@npm:^22.13.14": + version: 22.20.1 + resolution: "@types/node@npm:22.20.1" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10/0949e49d0383569ebd1222a2f65a9adb9328a6a6dbed459a02cdb37c61147755386c004c4ffbe436de59f5859df1774b1dd6bf168f7aeee46884bb190e0c384f + languageName: node + linkType: hard + +"@types/node@npm:22.7.5": version: 22.7.5 resolution: "@types/node@npm:22.7.5" dependencies: @@ -12076,13 +12085,6 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^16.18.54": - version: 16.18.106 - resolution: "@types/node@npm:16.18.106" - checksum: 10/1970719a048bfc56554f8e132e8e5292c197d6e023d334190b0d3817a05a12bfb6537eaa24778ddb695d2073195f0545e5a4b6bcaf81b656994bbca39f349c3b - languageName: node - linkType: hard - "@types/node@npm:^17.0.5": version: 17.0.45 resolution: "@types/node@npm:17.0.45" @@ -27166,6 +27168,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10/ec8f41aa4359d50f9b59fa61fe3efce3477cc681908c8f84354d8567bb3701fafdddf36ef6bff307024d3feb42c837cf6f670314ba37fc8145e219560e473d14 + languageName: node + linkType: hard + "undici@npm:^6.23.0": version: 6.28.0 resolution: "undici@npm:6.28.0" From 12ce9cf74b105b5c9a5cb7bd5bff013cf36eb7c1 Mon Sep 17 00:00:00 2001 From: Maarten Zuidhoorn Date: Thu, 27 Aug 2026 23:34:49 +0200 Subject: [PATCH 3/3] Fix template expansion --- .github/workflows/lint-build-test.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index fb81466e622..2f5f9ba0722 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -312,7 +312,9 @@ jobs: is-high-risk-environment: false persist-credentials: false node-version: 24.x - - run: yarn workspace ${{ matrix.package-name }} run test + - run: yarn workspace "$PACKAGE_NAME" run test + env: + PACKAGE_NAME: ${{ matrix.package-name }} - name: Require clean working directory shell: bash run: |