From 43300ffb9d88b5e752a8a5ef46a536aee6419171 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 25 Jan 2024 14:44:17 -0700 Subject: [PATCH 1/2] Use Prettier to format changelogs The newest version of `create-release-branch` formats changelogs with Prettier after it updates them. This assumes that the project using `create-release-branch` (this one) already formats changelogs via Prettier. This isn't enabled yet, so this commit does that. --- package.json | 2 +- packages/accounts-controller/CHANGELOG.md | 34 +++- packages/address-book-controller/CHANGELOG.md | 29 ++++ packages/announcement-controller/CHANGELOG.md | 29 +++- packages/approval-controller/CHANGELOG.md | 47 ++++++ packages/assets-controllers/CHANGELOG.md | 154 +++++++++++++++--- packages/base-controller/CHANGELOG.md | 40 ++++- packages/build-utils/CHANGELOG.md | 7 + packages/composable-controller/CHANGELOG.md | 28 +++- packages/controller-utils/CHANGELOG.md | 60 +++++++ packages/ens-controller/CHANGELOG.md | 40 ++++- packages/eth-json-rpc-provider/CHANGELOG.md | 18 ++ packages/gas-fee-controller/CHANGELOG.md | 49 ++++++ packages/json-rpc-engine/CHANGELOG.md | 31 ++++ .../json-rpc-middleware-stream/CHANGELOG.md | 28 ++++ packages/keyring-controller/CHANGELOG.md | 79 ++++++++- packages/logging-controller/CHANGELOG.md | 17 ++ packages/message-manager/CHANGELOG.md | 59 ++++++- packages/name-controller/CHANGELOG.md | 19 +++ packages/network-controller/CHANGELOG.md | 82 +++++++++- packages/notification-controller/CHANGELOG.md | 29 +++- packages/permission-controller/CHANGELOG.md | 44 +++++ .../permission-log-controller/CHANGELOG.md | 1 + packages/phishing-controller/CHANGELOG.md | 36 ++++ packages/polling-controller/CHANGELOG.md | 22 +++ packages/preferences-controller/CHANGELOG.md | 44 ++++- .../queued-request-controller/CHANGELOG.md | 22 ++- packages/rate-limit-controller/CHANGELOG.md | 27 +++ .../selected-network-controller/CHANGELOG.md | 26 +++ packages/signature-controller/CHANGELOG.md | 49 +++++- packages/transaction-controller/CHANGELOG.md | 95 ++++++++++- .../user-operation-controller/CHANGELOG.md | 6 + .../package-template/CHANGELOG.md | 1 + scripts/validate-changelog.sh | 4 +- 34 files changed, 1207 insertions(+), 51 deletions(-) diff --git a/package.json b/package.json index 85cf812cd91..df5a16d6915 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "lint:dependencies:fix": "depcheck && yarn dedupe", "lint:eslint": "eslint . --cache --ext js,ts", "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write && yarn constraints --fix && yarn lint:dependencies:fix", - "lint:misc": "prettier '**/*.json' '**/*.md' '!**/CHANGELOG.md' '!**/CHANGELOG.old.md' '**/*.yml' '!.yarnrc.yml' '!merged-packages/**' --ignore-path .gitignore", + "lint:misc": "prettier '**/*.json' '**/*.md' '!**/CHANGELOG.old.md' '**/*.yml' '!.yarnrc.yml' '!merged-packages/**' --ignore-path .gitignore", "prepack": "./scripts/prepack.sh", "prepare-preview-builds": "./scripts/prepare-preview-builds.sh", "publish-previews": "yarn workspaces foreach --parallel --verbose run publish:preview", diff --git a/packages/accounts-controller/CHANGELOG.md b/packages/accounts-controller/CHANGELOG.md index 31e205eab21..32d412cf74b 100644 --- a/packages/accounts-controller/CHANGELOG.md +++ b/packages/accounts-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,82 +8,111 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [10.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/keyring-controller` peer dependency to `^12.2.0` ([#3821](https://github.com/MetaMask/core/pull/3821)) - Bump `@metamask/base-controller` to `^4.1.1` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [9.0.0] + ### Added + - Add methods to support ERC-4337 accounts ([#3602](https://github.com/MetaMask/core/pull/3602)) - Add getAccount action to AccountsController ([#1892](https://github.com/MetaMask/core/pull/1892)) ### Changed -- **BREAKING:** Bump `@metamask/keyring-controller` peer dependency to ^12.1.0 ([#3747](https://github.com/MetaMask/core/pull/3747), [#3810](https://github.com/MetaMask/core/pull/3810)) -- **BREAKING:** Bump `@metamask/snaps-controllers` peer dependency to ^4.0.0 ([#3747](https://github.com/MetaMask/core/pull/3747)) + +- **BREAKING:** Bump `@metamask/keyring-controller` peer dependency to ^12.1.0 ([#3747](https://github.com/MetaMask/core/pull/3747), [#3810](https://github.com/MetaMask/core/pull/3810)) +- **BREAKING:** Bump `@metamask/snaps-controllers` peer dependency to ^4.0.0 ([#3747](https://github.com/MetaMask/core/pull/3747)) - Bump `@metamask/keyring-api` to ^3.0.0 ([#3747](https://github.com/MetaMask/core/pull/3747)) - Bump `@metamask/utils` to `^8.3.0`([#3769](https://github.com/MetaMask/core/pull/3769)) ### Fixed + - Fix quick succession of submit password causing Accounts Controller state to be cleared ([#3802](https://github.com/MetaMask/core/pull/3802)) ## [8.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/keyring-controller` to ^12.0.0 ## [7.0.1] + ### Changed + - Bump snaps dependencies ([#3734](https://github.com/MetaMask/core/pull/3734)) ## [7.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/keyring-controller` peer dependency from `^10.0.0` to `^11.0.0` ([#3695](https://github.com/MetaMask/core/pull/3695)) - **BREAKING:** Add `@metamask/snaps-controllers` as a peer dependency ([#3607](https://github.com/MetaMask/core/pull/3607)) - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) ## [6.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - Bump `@metamask/keyring-controller` to ^10.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [5.0.0] + ### Changed + - **BREAKING:** Bump dependency and peer dependency on `@metamask/keyring-controller` to ^9.0.0 - Bump `@metamask/snaps-utils` and `@metamask/snaps-controller` to 3.2.0 ([#1917](https://github.com/MetaMask/core/pull/1917), [#1944](https://github.com/MetaMask/core/pull/1944), [#1977](https://github.com/MetaMask/core/pull/1977)) - Bump @metamask/utils from 8.1.0 to 8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) - Bump @metamask/keyring-api from 1.0.0 to 1.1.0 ([#1951](https://github.com/MetaMask/core/pull/1951)) ## [4.0.0] + ### Changed + - **BREAKING** Update the `onKeyringStateChange` and `onSnapStateChange` methods, and remove the `keyringApiEnabled` from the AccountsController ([#1839](https://github.com/MetaMask/core/pull/1839)) - Add getSelectedAccount and getAccountByAddress actions to AccountsController ([#1858](https://github.com/MetaMask/core/pull/1858)) ## [3.0.0] + ### Changed + - **BREAKING:** Bump dependency on `@metamask/eth-snap-keyring` to ^1.0.0 ([#1735](https://github.com/MetaMask/core/pull/1735)) - **BREAKING:** Bump dependency on `@metamask/keyring-api` to ^1.0.0 ([#1735](https://github.com/MetaMask/core/pull/1735)) - **BREAKING:** Bump dependency on `@metamask/snaps-utils` to ^3.0.0 ([#1735](https://github.com/MetaMask/core/pull/1735)) - Bump dependency and peer dependency on `@metamask/keyring-controller` to ^8.0.3 ## [2.0.2] + ### Changed + - Bump dependency on `@metamask/utils` to ^8.1.0 ([#1639](https://github.com/MetaMask/core/pull/1639)) - Bump dependency on `@metamask/base-controller` to ^3.2.3 - Bump peer dependency on `@metamask/keyring-controller` to ^8.0.2 ## [2.0.1] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ### Fixed + - Remove unused `selectedAccount` from state metadata ([#1734](https://github.com/MetaMask/core/pull/1734)) ## [2.0.0] + ### Changed + - **BREAKING:** Bump peer dependency on `@metamask/keyring-controller` to ^8.0.0 ## [1.0.0] + ### Added + - Initial release ([#1637](https://github.com/MetaMask/core/pull/1637)) [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/accounts-controller@10.0.0...HEAD diff --git a/packages/address-book-controller/CHANGELOG.md b/packages/address-book-controller/CHANGELOG.md index 91f608c1c19..03f1ad31a1e 100644 --- a/packages/address-book-controller/CHANGELOG.md +++ b/packages/address-book-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,48 +8,66 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [3.1.7] + ### Changed + - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) - Bump `@metamask/base-controller` to `^4.1.1` ([#3760](https://github.com/MetaMask/core/pull/3760), [#3821](https://github.com/MetaMask/core/pull/3821)) - Bump `@metamask/controller-utils` to `^8.0.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [3.1.6] + ### Changed + - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) - Bump `@metamask/controller-utils` to `^8.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695), [#3678](https://github.com/MetaMask/core/pull/3678), [#3667](https://github.com/MetaMask/core/pull/3667), [#3580](https://github.com/MetaMask/core/pull/3580)) ## [3.1.5] + ### Changed + - Bump `@metamask/utils` to ^8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) - Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is not a breaking change because this controller still inherits from BaseController v1. - Bump `@metamask/controller-utils` to ^6.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [3.1.4] + ### Changed + - Bump dependency on `@metamask/utils` to ^8.1.0 ([#1639](https://github.com/MetaMask/core/pull/1639)) - Bump dependency on `@metamask/base-controller` to ^3.2.3 - Bump dependency on `@metamask/controller-utils` to ^5.0.2 ## [3.1.3] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [3.1.2] + ### Changed + - Bump dependency on `@metamask/controller-utils` to ^5.0.0 ## [3.1.1] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.1 - Bump dependency on `@metamask/controller-utils` to ^4.3.2 ## [3.1.0] + ### Changed + - Update `@metamask/utils` to `^6.2.0` ([#1514](https://github.com/MetaMask/core/pull/1514)) ## [3.0.0] + ### Changed + - **BREAKING:**: Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) - **BREAKING:** The `addressBook` state property is now keyed by `Hex` chain ID rather than `string`, and the `chainId` property of each address book entry is also `Hex` rather than `string`. - This requires a state migration ([#1367](https://github.com/MetaMask/core/pull/1367)) @@ -56,24 +75,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add `@metamask/utils` dependency ([#1367](https://github.com/MetaMask/core/pull/1367)) ## [2.0.0] + ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [1.1.0] + ### Changed + - Add optional `addressType` property to address book entries ([#828](https://github.com/MetaMask/controllers/pull/828), [#1068](https://github.com/MetaMask/core/pull/1068)) - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) - Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [1.0.1] + ### Changed + - Relax dependencies on `@metamask/base-controller` and `@metamask/controller-utils` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - `src/user/AddressBookController.ts` - `src/user/AddressBookController.test.ts` diff --git a/packages/announcement-controller/CHANGELOG.md b/packages/announcement-controller/CHANGELOG.md index c155fd29371..01d6f43327b 100644 --- a/packages/announcement-controller/CHANGELOG.md +++ b/packages/announcement-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,46 +8,66 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [5.0.2] + ### Changed + - Bump `@metamask/base-controller` to `^4.1.1` ([#3760](https://github.com/MetaMask/core/pull/3760), [#3821](https://github.com/MetaMask/core/pull/3821)) ## [5.0.1] + ### Changed + - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) ## [5.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. ## [4.0.3] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.3 ([#1747](https://github.com/MetaMask/core/pull/1747)) ## [4.0.2] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [4.0.1] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.1 ## [4.0.0] + ### Changed + - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) ## [3.0.0] + ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [2.0.1] + ### Changed + - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) -- Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) +- Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [2.0.0] + ### Changed + - **BREAKING:** Migrate to BaseControllerV2 ([#959](https://github.com/MetaMask/controllers/pull/959)) - The announcement controller now extends `BaseControllerV2` rather than `BaseController`, which includes the following changes: - The constructor now accepts a single "args" object rather than positional parameters. @@ -67,13 +88,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The `name` property is now readonly. ## [1.0.1] + ### Changed + - Relax dependency on `@metamask/base-controller` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - Everything in `src/announcement` All changes listed after this point were applied to this package following the monorepo conversion. diff --git a/packages/approval-controller/CHANGELOG.md b/packages/approval-controller/CHANGELOG.md index bf3284db93b..064c7412da2 100644 --- a/packages/approval-controller/CHANGELOG.md +++ b/packages/approval-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,105 +8,151 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [5.1.2] + ### Changed + - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) - Bump `@metamask/base-controller` to `^4.1.1` ([#3760](https://github.com/MetaMask/core/pull/3760), [#3821](https://github.com/MetaMask/core/pull/3821)) ## [5.1.1] + ### Changed + - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) ## [5.1.0] + ### Added + - Add `title` and `icon` options to `success` and `error` methods ([#3675](https://github.com/MetaMask/core/pull/3675)) ## [5.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 (TODO: THIS PR) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - Bump `@metamask/utils` to ^8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) ## [4.1.0] + ### Added + - Add `show` option for `startFlow` ([#1886](https://github.com/MetaMask/core/pull/1886)) - This option lets you initiate a new approval flow without triggering the UI immediately. ## [4.0.1] + ### Changed + - Bump dependency on `@metamask/rpc-errors` to ^6.1.0 ([#1653](https://github.com/MetaMask/core/pull/1653)) ## [4.0.0] + ### Changed + - **BREAKING:** Move `eth-rpc-errors@^4.0.2` dependency to `@metamask/rpc-errors@^6.0.2` ([#1743](https://github.com/MetaMask/core/pull/1743)) - Upon upgrading, you may need to also use `@metamask/rpc-errors@^6.0.2`, which restricts valid data that can be used to build messages - Bump dependency on `@metamask/utils` to ^8.1.0 ([#1639](https://github.com/MetaMask/core/pull/1639)) - Bump dependency on `@metamask/base-controller` to ^3.2.3 ## [3.5.2] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [3.5.1] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.1 ## [3.5.0] + ### Changed + - Update `@metamask/utils` to `^6.2.0` ([#1514](https://github.com/MetaMask/core/pull/1514)) ## [3.4.0] + ### Added + - Add `success` and `error` methods to display result pages ([#1442](https://github.com/MetaMask/core/pull/1442)) ## [3.3.0] + ### Added + - Add `setFlowLoadingText` method to ApprovalController ([#1419](https://github.com/MetaMask/core/pull/1419)) ## [3.2.0] + ### Added + - Add `startFlow` and `endFlow` methods to ApprovalController ([#1394](https://github.com/MetaMask/core/pull/1394)) ### Fixed + - Fix ApprovalController constructor so that it accepts a messenger created by calling `getRestricted` without having type parameters explicitly specified ([#1417](https://github.com/MetaMask/core/pull/1417)) ## [3.1.0] + ### Added + - Optional feedback when accepting an approval request ([#1396](https://github.com/MetaMask/core/pull/1396)) ## [3.0.0] + ### Changed + - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) - Replace `@metamask/controller-utils` dependency with `@metamask/utils` ([#1370](https://github.com/MetaMask/core/pull/1370)) ## [2.1.1] + ### Changed + - deps: eth-rpc-errors@4.0.0->4.0.2 ([#1215](https://github.com/MetaMask/core/pull/1215)) ## [2.1.0] + ### Added + - Option to exclude types from rate limiting ([#1185](https://github.com/MetaMask/core/pull/1185)) ## [2.0.0] + ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [1.1.0] + ### Added + - Add `updateRequestState` action to `ApprovalController` ([#1059](https://github.com/MetaMask/controllers/pull/1059)) ### Changed + - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) - Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [1.0.1] + ### Changed + - Relax dependencies on `@metamask/base-controller` and `@metamask/controller-utils` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - Everything in `src/approval` All changes listed after this point were applied to this package following the monorepo conversion. diff --git a/packages/assets-controllers/CHANGELOG.md b/packages/assets-controllers/CHANGELOG.md index d22a6f2fe84..452ee5ba9e2 100644 --- a/packages/assets-controllers/CHANGELOG.md +++ b/packages/assets-controllers/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,13 +8,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [25.0.0] + ### Added + - Add Linea to price api supported chains ([#3797](https://github.com/MetaMask/core/pull/3797)) ### Changed + - **BREAKING:** Convert `TokenBalancesController` to `BaseControllerV2` ([#3750](https://github.com/MetaMask/core/pull/3750)) - - The constructor parameters have changed; rather than accepting a "config" parameter for interval and tokens we now pass both values as controller options, and a "state" parameter, there is now just a single object for all constructor arguments. This object has a mandatory `messenger` and an optional `state`, `tokens`, `interval` properties a disabled property has also been added. - - State now saves tokens balances as strings and not as a BNs. + - The constructor parameters have changed; rather than accepting a "config" parameter for interval and tokens we now pass both values as controller options, and a "state" parameter, there is now just a single object for all constructor arguments. This object has a mandatory `messenger` and an optional `state`, `tokens`, `interval` properties a disabled property has also been added. + - State now saves tokens balances as strings and not as a BNs. - Additional BN export has been removed as it was intended to be removed in the next major release. - **BREAKING:** Bump `@metamask/approval-controller` peer dependency to `^5.1.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) - **BREAKING:** Bump `@metamask/network-controller` peer dependency to `^17.2.0` ([#3821](https://github.com/MetaMask/core/pull/3821)) @@ -24,33 +28,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/polling-controller` to `^5.0.0` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [24.0.0] + ### Added + - Add `getDefaultTokenListState` function to `TokenListController` ([#3744](https://github.com/MetaMask/core/pull/3744)) - Add `getDefaultNftState` function to the `NftController` ([#3742](https://github.com/MetaMask/core/pull/3742)) - Add `getDefaultTokensState` function to the `TokensController` ([#3743](https://github.com/MetaMask/core/pull/3743)) ### Changed + - **BREAKING:** Bump `@metamask/preferences-controller` to ^6.0.0 - Price API perf improvements ([#3753](https://github.com/MetaMask/core/pull/3753), [#3755](https://github.com/MetaMask/core/pull/3755)) - Reduce token batch size from 100 to 30 - Sort token addresses in query params for more cache hits ## [23.1.0] + ### Added + - Add support to `CodefiTokenPricesServiceV2` for tracking degraded service ([#3691](https://github.com/MetaMask/core/pull/3691)) - The constructor has two new options: `onDegraded` and `degradedThreshold`. `onDegraded` is an event handler for instances of degraded service (i.e. failed or slow requests), and `degradedThreshold` determines how slow a request has to be before we consider service to be degraded. ## [23.0.0] + ### Added + - Add `onBreak` handler to `CodefiTokenPricesServiceV2` ([#3677](https://github.com/MetaMask/core/pull/3677)) - This allows listening for "circuit breaks", which can indicate an outage. Useful for metrics. - Add `fetchTokenContractExchangeRates` utility method ([#3657](https://github.com/MetaMask/core/pull/3657)) - `TokenListController` now exports a `TokenListControllerMessenger` type ([#3609](https://github.com/MetaMask/core/pull/3609)). - `TokenDetectionController` exports types `TokenDetectionControllerMessenger`, `TokenDetectionControllerActions`, `TokenDetectionControllerGetStateAction`, `TokenDetectionControllerEvents`, `TokenDetectionControllerStateChangeEvent` ([#3609](https://github.com/MetaMask/core/pull/3609)). -- Add `enable` and `disable` methods to `TokenDetectionController`, which control whether the controller is able to make polling requests or all of its network calls are blocked. ([#3609](https://github.com/MetaMask/core/pull/3609)). +- Add `enable` and `disable` methods to `TokenDetectionController`, which control whether the controller is able to make polling requests or all of its network calls are blocked. ([#3609](https://github.com/MetaMask/core/pull/3609)). - Note that if the controller is initiated without the `disabled` constructor option set to `false`, the `enable` method will need to be called before the controller can make polling requests in response to subscribed events. ### Changed + - **BREAKING:** Bump `@metamask/approval-controller` dependency and peer dependency from `^5.1.0` to `^5.1.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) - **BREAKING:** Bump `@metamask/network-controller` dependency and peer dependency from `^17.0.0` to `^17.1.0` ([#3695](https://github.com/MetaMask/core/pull/3695)) - **BREAKING:** Bump `@metamask/preferences-controller` dependency and peer dependency from `^5.0.0` to `^5.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) @@ -63,19 +75,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/controller-utils` from `8.0.0` to `^8.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) ### Fixed + - Fix error caused by OpenSea API rename of `supply` to `total_supply` ([#3692](https://github.com/MetaMask/core/pull/3692)) - Fix `CodefiTokenPricesServiceV2` support for Shiden ([#3683](https://github.com/MetaMask/core/pull/3683)) - Improve how `CodefiTokenPricesServiceV2` handles token price update failures ([#3687](https://github.com/MetaMask/core/pull/3687)) - Previously a single failed token price update would prevent all other token prices from updating as well. With this update, we log and error and continue when we fail to update a token price, ensuring the others still get updated. ## [22.0.0] + ### Changed + - **BREAKING:** OpenSea V2 API is used instead of V1 ([#3654](https://github.com/MetaMask/core/pull/3654)) - - `NftDetectionController` constructor now requires the `NftController.getNftApi` function. + - `NftDetectionController` constructor now requires the `NftController.getNftApi` function. - NFT controllers will no longer return `last_sale` information for NFTs fetched after the OpenSea V2 update ## [21.0.0] + ### Added + - Add `CodefiTokenPricesServiceV2` ([#3600](https://github.com/MetaMask/core/pull/3600), [#3655](https://github.com/MetaMask/core/pull/3655), [#3655](https://github.com/MetaMask/core/pull/3655)) - This class can be used for the new `tokenPricesService` argument for TokenRatesController. It uses a MetaMask API to fetch prices for tokens instead of CoinGecko. - The `CodefiTokenPricesServiceV2` will retry if the token price update fails @@ -90,6 +107,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Support token detection on Arbitrum and Optimism ([#2035](https://github.com/MetaMask/core/pull/2035)) ### Changed + - **BREAKING:** `TokenRatesController` now takes a required argument `tokenPricesService` ([#3600](https://github.com/MetaMask/core/pull/3600)) - This object is responsible for fetching the prices for tokens held by this controller. - **BREAKING:** Update signature of `TokenRatesController.updateExchangeRatesByChainId` ([#3600](https://github.com/MetaMask/core/pull/3600), [#3653](https://github.com/MetaMask/core/pull/3653)) @@ -123,6 +141,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add dependencies `cockatiel` and `lodash` ([#3586](https://github.com/MetaMask/core/pull/3586), [#3655](https://github.com/MetaMask/core/pull/3655)) ### Removed + - **BREAKING:** Remove `fetchExchangeRate` method from TokenRatesController ([#3600](https://github.com/MetaMask/core/pull/3600)) - This method (not to be confused with `updateExchangeRate`, which is still present) was only ever intended to be used internally and should not be accessed directly. - **BREAKING:** Remove `getChainSlug` method from TokenRatesController ([#3600](https://github.com/MetaMask/core/pull/3600)) @@ -135,6 +154,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **BREAKING**: `TokenRatesController.fetchAndMapExchangeRates` is no longer exposed publicly ([#3621](https://github.com/MetaMask/core/pull/3621)) ### Fixed + - Prevent `TokenRatesController` from making redundant token rate updates when tokens change ([#3647](https://github.com/MetaMask/core/pull/3647), [#3663](https://github.com/MetaMask/core/pull/3663)) - Previously, token rates would be re-fetched for the globally selected network on all TokensController state changes, but now token rates are always performed for a deduplicated and normalized set of addresses, and changes to this set determine whether rates should be re-fetched. - Prevent redundant overlapping token rate updates in `TokenRatesController` ([#3635](https://github.com/MetaMask/core/pull/3635)) @@ -146,7 +166,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - This affects `watchNft` and `addNft` methods ## [20.0.0] + ### Added + - **BREAKING**: `TokenRatesControllerState` now has required `contractExchangeRatesByChainId` property which an object keyed by `chainId` and `nativeCurrency` ([#2015](https://github.com/MetaMask/core/pull/2015)) - **BREAKING**: `TokenRatesController` constructor params now requires `getNetworkClientById` ([#2015](https://github.com/MetaMask/core/pull/2015)) - Add types `CurrencyRateControllerEvents` and `CurrencyRateControllerActions` ([#2029](https://github.com/MetaMask/core/pull/2029)) @@ -163,6 +185,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `TokenRatesController.fetchAndMapExchangeRates()` now accepts an optional `tokenAddresses` as the last parameter ([#2015](https://github.com/MetaMask/core/pull/2015)) ### Changed + - **BREAKING:** Bump dependency on `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - Bump `@metamask/approval-controller` to ^5.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) @@ -172,14 +195,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/preferences-controller` to ^5.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [19.0.0] + ### Changed + - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^16.0.0 - Add optional `networkClientId` and `userAddress` args to remaining `NftController` public methods ([#2006](https://github.com/MetaMask/core/pull/2006)) - `watchNft`, `removeNft`, `removeAndIgnoreNft`, `removeNftContract`, `updateNftFavoriteStatus`, and `checkAndUpdateAllNftsOwnershipStatus` methods on `NftController` all now accept an optional options object argument containing `networkClientId` and `userAddress` to identify where in state to mutate. - **BREAKING**: `addNft` no longer accepts a `chainId` property in its options argument since this value can be retrieved by the `networkClientId` property and is therefore redundant. - **BREAKING**: The third and fourth arguments on NftController's `addNftVerifyOwnership` method, have been replaced with an options object containing optional properties `networkClientId`, `userAddress` and `source`. This method signature is more aligned with the options pattern for passing `networkClientId` and `userAddress` on this controller and elsewhere. - **BREAKING**: `checkAndUpdateSingleNftOwnershipStatus` on NftController no longer accepts a `chainId` in its options argument. This is replaced with an optional `networkClientId` property which can be used to fetch chainId. - ***BREAKING**: The fourth argument of the `isNftOwner` method on `NftController` is now an options object with an optional `networkClientId` property. This method signature is more aligned with the options pattern for passing `networkClientId` on this controller and elsewhere. + **\*BREAKING**: The fourth argument of the `isNftOwner` method on `NftController` is now an options object with an optional `networkClientId` property. This method signature is more aligned with the options pattern for passing `networkClientId` on this controller and elsewhere. - **BREAKING**: `validateWatchNft` method on `NftController` is now private. - **BREAKING**: `detectNfts` on `NftDetectionController` now accepts a single object argument with optional properties `networkClientId` and `userAddress`, rather than taking these as two sequential arguments. - Bump dependency `@metamask/eth-query` from ^3.0.1 to ^4.0.0 ([#2028](https://github.com/MetaMask/core/pull/2028)) @@ -187,10 +212,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/utils` from 8.1.0 to 8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) ### Fixed + - Add name and symbol to the payload returned by the `ERC1155Standard` class `getDetails` method for `ERC1155` contracts ([#1727](https://github.com/MetaMask/core/pull/1727)) ## [18.0.0] + ### Changed + - **BREAKING**: `CurrencyRateController` is now keyed by `nativeCurrency` (i.e. ticker) for `conversionDate`, `conversionRate`, and `usdConversionRate` in the `currencyRates` object. `nativeCurrency`, `pendingNativeCurrency`, and `pendingCurrentCurrency` have been removed. - ``` export type CurrencyRateState = { @@ -205,27 +233,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 >; }; ``` -- **BREAKING**: `CurrencyRateController` now extends `PollingController` ([#1805](https://github.com/MetaMask/core/pull/1805)) +- **BREAKING**: `CurrencyRateController` now extends `PollingController` ([#1805](https://github.com/MetaMask/core/pull/1805)) - `start()` and `stop()` methods replaced with `startPollingByNetworkClientId()`, `stopPollingByPollingToken()`, and `stopAllPolling()` - **BREAKING**: `CurrencyRateController` now sends the `NetworkController:getNetworkClientById` action via messaging controller ([#1805](https://github.com/MetaMask/core/pull/1805)) ### Fixed + - Parallelize network requests in assets controllers for performance enhancement ([#1801](https://github.com/MetaMask/core/pull/1801)) - Fix token detection on accounts when user changes account after token detection request is inflight ([#1848](https://github.com/MetaMask/core/pull/1848)) ## [17.0.0] + ### Changed + - **BREAKING:** Bump dependency on `@metamask/polling-controller` to ^1.0.0 - Bump dependency and peer dependency on `@metamask/network-controller` to ^15.1.0 ## [16.0.0] + ### Added + - Add way to start and stop different polling sessions for the same network client ID by providing extra scoping data ([#1776](https://github.com/MetaMask/core/pull/1776)) - Add optional second argument to `stopPollingByPollingToken` (formerly `stopPollingByNetworkClientId`) - Add optional second argument to `onPollingCompleteByNetworkClientId` - Add support for token detection for Linea mainnet and Linea Goerli ([#1799](https://github.com/MetaMask/core/pull/1799)) ### Changed + - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^15.0.0 - **BREAKING:** Make `executePoll` in TokenListController private ([#1810](https://github.com/MetaMask/core/pull/1810)) - **BREAKING:** Update TokenListController to rename `stopPollingByNetworkClientId` to `stopPollingByPollingToken` ([#1810](https://github.com/MetaMask/core/pull/1810)) @@ -235,7 +269,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fix support for NFT metadata stored outside IPFS ([#1772](https://github.com/MetaMask/core/pull/1772)) ## [15.0.0] + ### Changed + - **BREAKING**: `NftController` now expects `getNetworkClientById` in constructor options ([#1698](https://github.com/MetaMask/core/pull/1698)) - **BREAKING**: `NftController.addNft` function signature has changed ([#1698](https://github.com/MetaMask/core/pull/1698)) - Previously @@ -261,7 +297,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 networkClientId?: NetworkClientId; // new }, ``` -- `NftController.addNftVerifyOwnership`: Now accepts optional 3rd argument `networkClientId` which is used to fetch NFT metadata and determine by which chainId the added NFT should be stored in state. Also accepts optional 4th argument `source` used for metrics to identify the flow in which the NFT was added to the wallet. ([#1698](https://github.com/MetaMask/core/pull/1698)) +- `NftController.addNftVerifyOwnership`: Now accepts optional 3rd argument `networkClientId` which is used to fetch NFT metadata and determine by which chainId the added NFT should be stored in state. Also accepts optional 4th argument `source` used for metrics to identify the flow in which the NFT was added to the wallet. ([#1698](https://github.com/MetaMask/core/pull/1698)) - `NftController.isNftOwner`: Now accepts optional `networkClientId` which is used to instantiate the provider for the correct chain and call the NFT contract to verify ownership ([#1698](https://github.com/MetaMask/core/pull/1698)) - `NftController.addNft` will use the chainId value derived from `networkClientId` if provided ([#1698](https://github.com/MetaMask/core/pull/1698)) - `NftController.watchNft` options now accepts optional `networkClientId` which is used to fetch NFT metadata and determine by which chainId the added NFT should be stored in state ([#1698](https://github.com/MetaMask/core/pull/1698)) @@ -272,19 +308,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump dependency and peer dependency on `@metamask/network-controller` to ^14.0.0 ### Fixed + - Fix bug in TokensController where batched `addToken` overwrote each other because mutex was acquired after reading state ([#1768](https://github.com/MetaMask/core/pull/1768)) ## [14.0.0] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) - Update `@metamask/rpc-errors` to `^6.0.0` ([#1690](https://github.com/MetaMask/core/pull/1690)) ### Removed + - **BREAKING:** Remove AbortController polyfill - This package now assumes that the AbortController global exists ## [13.0.0] + ### Changed + - **BREAKING**: `TokensController` now expects `getNetworkClientById` in constructor options ([#1676](https://github.com/MetaMask/core/pull/1676)) - **BREAKING**: `TokensController.addToken` now accepts a single options object ([#1676](https://github.com/MetaMask/core/pull/1676)) ``` @@ -307,33 +349,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump dependency on `@metamask/preferences-controller` to ^4.4.1 ([#1676](https://github.com/MetaMask/core/pull/1676)) ## [12.0.0] + ### Added + - Add `AssetsContractController` methods `getProvider`, `getChainId`, `getERC721Standard`, and `getERC1155Standard` ([#1638](https://github.com/MetaMask/core/pull/1638)) ### Changed + - **BREAKING**: Add `getNetworkClientById` to `AssetsContractController` constructor options ([#1638](https://github.com/MetaMask/core/pull/1638)) -- Add optional `networkClientId` parameter to various `AssetContractController` methods ([#1638](https://github.com/MetaMask/core/pull/1638)) - - The affected methods are: - - `getERC20BalanceOf` - - `getERC20TokenDecimals` - - `getERC20TokenName` - - `getERC721NftTokenId` - - `getTokenStandardAndDetails` - - `getERC721TokenURI` - - `getERC721AssetName` - - `getERC721AssetSymbol` - - `getERC721OwnerOf` - - `getERC1155TokenURI` - - `getERC1155BalanceOf` - - `transferSingleERC1155` - - `getBalancesInSingleCall` +- Add optional `networkClientId` parameter to various `AssetContractController` methods ([#1638](https://github.com/MetaMask/core/pull/1638)) +- The affected methods are: + - `getERC20BalanceOf` + - `getERC20TokenDecimals` + - `getERC20TokenName` + - `getERC721NftTokenId` + - `getTokenStandardAndDetails` + - `getERC721TokenURI` + - `getERC721AssetName` + - `getERC721AssetSymbol` + - `getERC721OwnerOf` + - `getERC1155TokenURI` + - `getERC1155BalanceOf` + - `transferSingleERC1155` + - `getBalancesInSingleCall` ## [11.1.0] + ### Added + - Add `tokenURI` to `NftMetadata` type ([#1577](https://github.com/MetaMask/core/pull/1577)) - Populate token URL for NFT metadata under `tokenURI` ([#1577](https://github.com/MetaMask/core/pull/1577)) ### Changed + - Bump dependency and peer dependency on `@metamask/approval-controller` to ^3.5.1 - Bump dependency on `@metamask/base-controller` to ^3.2.1 - Bump dependency on `@metamask/controller-utils` to ^4.3.2 @@ -342,14 +390,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Update NftController to add fallback for when IPFS gateway is disabled ([#1577](https://github.com/MetaMask/core/pull/1577)) ## [11.0.1] + ### Changed + - Replace `eth-query` ^2.1.2 with `@metamask/eth-query` ^3.0.1 ([#1546](https://github.com/MetaMask/core/pull/1546)) ## [11.0.0] + ### Added + - Add a `stop` method to stop polling ### Changed + - **BREAKING**: New required constructor parameters for the `TokenRatesController` ([#1497](https://github.com/MetaMask/core/pull/1497), [#1511](https://github.com/MetaMask/core/pull/1511)) - The new required parameters are `ticker`, `onSelectedAddress`, and `onPreferencesStateChange` - **BREAKING**: Remove `onCurrencyRateStateChange` constructor parameter from `TokenRatesController` ([#1496](https://github.com/MetaMask/core/pull/1496)) @@ -364,16 +417,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Remove unnecessary `babel-runtime` dependency ([#1504](https://github.com/MetaMask/core/pull/1504)) ### Fixed + - Fix bug where token rates were incorrect after first update if initialized with a non-Ethereum selected network ([#1497](https://github.com/MetaMask/core/pull/1497)) - Fix bug where token rates would be invalid if event handlers were triggered in the wrong order ([#1496](https://github.com/MetaMask/core/pull/1496), [#1511](https://github.com/MetaMask/core/pull/1511)) - Prevent redundant token rate updates ([#1512](https://github.com/MetaMask/core/pull/1512)) ## [10.0.0] + ### Added + - The method `getERC20TokenName` has been added to `AssetsContractController` ([#1127](https://github.com/MetaMask/core/pull/1127)) - This method gets the token name from the token contract ### Changed + - **BREAKING:** The tokens controller now requires `onTokenListStateChange` and `getERC20TokenName` as constructor parameters ([#1127](https://github.com/MetaMask/core/pull/1127)) - The `getERC20TokenName` method is used to get the token name for tokens added via `wallet_watchAsset` - The `onTokenListStateChange` method is used to trigger a name update when the token list changes. On each change, token names are copied from the token list if they're missing from token controller state. @@ -384,19 +441,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The `Token` type now includes an optional `name` field ([#1127](https://github.com/MetaMask/core/pull/1127)) ## [9.2.0] + ### Added + - Add validation that the nft standard matches the type argument of a `wallet_watchAsset` request when type is 'ERC721' or 'ERC1155' ([#1455](https://github.com/MetaMask/core/pull/1455)) ## [9.1.0] + ### Added + - Add a fifth argument, `source`, to NftController's `addNft` method ([#1417](https://github.com/MetaMask/core/pull/1417)) - This argument can be used to specify whether the NFT was detected, added manually, or suggested by a dapp ### Fixed + - Fix `watchNft` in NftController to ensure that if the network changes before the user accepts the request, the NFT is added to the chain ID and address before the request was initiated ([#1417](https://github.com/MetaMask/core/pull/1417)) ## [9.0.0] + ### Added + - **BREAKING**: Add required options `getSelectedAddress` and `getMultiAccountBalancesEnabled` to AccountTrackerController constructor and make use of them when refreshing account balances ([#1146](https://github.com/MetaMask/core/pull/1146)) - Previously, the controller would refresh all account balances, but these options can be used to only refresh the currently selected account - **BREAKING:** Add logic to support validating and adding ERC721 and ERC1155 tokens to NFTController state via `wallet_watchAsset` API. ([#1173](https://github.com/MetaMask/core/pull/1173), [#1406](https://github.com/MetaMask/core/pull/1406)) @@ -404,15 +468,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The `NFTController` now requires an instance of a ControllerMessenger to be passed to its constructor. This is messenger is used to pass the `watchNFT` message to the `ApprovalController`. ### Changed + - Add dependency on `@ethersproject/address` ([#1173](https://github.com/MetaMask/core/pull/1173)) - Replace `eth-rpc-errors` with `@metamask/rpc-errors` ([#1173](https://github.com/MetaMask/core/pull/1173)) ## [8.0.0] + ### Added + - Support NFT detection on Ethereum Mainnet custom RPC endpoints ([#1360](https://github.com/MetaMask/core/pull/1360)) - Enable token detection for the Aurora network ([#1327](https://github.com/MetaMask/core/pull/1327)) ### Changed + - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) - **BREAKING:** Change format of chain ID in state to 0x-prefixed hex string ([#1367](https://github.com/MetaMask/core/pull/1367)) - The functions `isTokenDetectionSupportedForNetwork` and `formatIconUrlWithProxy` now expect a chain ID as type `Hex` rather than as a decimal `string` @@ -438,11 +506,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The return type for `watchAsset` has changed. It now returns a Promise that settles after the request has been confirmed or rejected. - **BREAKING:** Initialize controllers with the current network ([#1361](https://github.com/MetaMask/core/pull/1361)) - The following controllers now have a new `chainId` required constructor parameter: - * `AssetsContractController` - * `NftController` - * `NftDetectionController` - * `TokenRatesController` - * `TokensController` + - `AssetsContractController` + - `NftController` + - `NftDetectionController` + - `TokenRatesController` + - `TokensController` - **BREAKING:** The token list controller messenger requires the `NetworkController:stateChange` event instead of the `NetworkController:providerConfigChange` event ([#1329](https://github.com/MetaMask/core/pull/1329)) - **BREAKING:** The token list controller `onNetworkStateChange` option now has a more restrictive type ([#1329](https://github.com/MetaMask/core/pull/1329)) - The event handler parameter type has been changed from `NetworkState | ProviderConfig` to `NetworkState` @@ -454,42 +522,58 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump @metamask/utils from 5.0.1 to 5.0.2 ([#1271](https://github.com/MetaMask/core/pull/1271)) ### Removed + - **BREAKING:** Remove the `networkType` configuration option from the NFT detection controller, NFT controller, and tokens controller ([#1360](https://github.com/MetaMask/core/pull/1360), [#1359](https://github.com/MetaMask/core/pull/1359)) - **BREAKING:** Remove the `SuggestedAssetMeta` and `SuggestedAssetMetaBase` types from the token controller ([#1268](https://github.com/MetaMask/core/pull/1268)) - **BREAKING:** Remove the `acceptWatchAsset` and `rejectWatchAsset` methods from the token controller ([#1268](https://github.com/MetaMask/core/pull/1268)) - Suggested assets can be accepted or rejected using the approval controller instead ## [7.0.0] + ### Changed + - **BREAKING**: peerDeps: @metamask/network-controller@6.0.0->8.0.0 ([#1196](https://github.com/MetaMask/core/pull/1196)) ## [6.0.0] + ### Changed + - **BREAKING:** Create approval requests using `@metamask/approval-controller` ([#1166](https://github.com/MetaMask/core/pull/1166)) ## [5.1.0] + ### Added + - Support watching assets on a specific account ([#1124](https://github.com/MetaMask/core/pull/1124)) ## [5.0.1] + ### Changed + - Update `@metamask/contract-metadata` from 2.1.0 to 2.3.1 ([#1141](https://github.com/MetaMask/core/pull/1141)) ## [5.0.0] + ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [4.0.1] + ### Fixed + - Update Nft Controller to add the NFT back to its own group if we are re-importing it ([#1082](https://github.com/MetaMask/core/pull/1082)) ## [4.0.0] + ### Added + - Add Sepolia support to the currency rate controller ([#1041](https://github.com/MetaMask/controllers/pull/1041)) - The currency rate controller will now treat Sepolia as a testnet, and return the Mainnet exchange rate when asked for the Sepolia exchange rate. ### Changed + - **BREAKING:** Update `@metamask/network-controller` peer dependency to v3 ([#1041](https://github.com/MetaMask/controllers/pull/1041)) - **BREAKING:** Migrate from `metaswap` to `metafi` subdomain for OpenSea proxy and token icons API ([#1060](https://github.com/MetaMask/core/pull/1060)) - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) @@ -497,29 +581,38 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## Removed + - **BREAKING**: Drop support for Ropsten, Rinkeby, and Kovan ([#1041](https://github.com/MetaMask/controllers/pull/1041)) - The currency rate controller no longer has special handling of these three networks. It used to return the Mainnet exchange rate for these three networks, but now it includes no special handling for them. - The NFT controller no longer supports the Rinkeby OpenSea test API. ## [3.0.1] + ### Changed + - Export `isTokenDetectionSupportedForNetwork` function ([#1034](https://github.com/MetaMask/controllers/pull/1034)) - Update `@metamask/contract-metadata` from 1.35.0 to 2.1.0 ([#1013](https://github.com/MetaMask/controllers/pull/1013)) ### Fixed + - Fix token controller state updates ([#1015](https://github.com/MetaMask/controllers/pull/1015)) - Attempts to empty the list of "added", "ignored", or "detected" tokens were not saved in state correctly, resulting in that operation being undone after switching account or network. ## [3.0.0] + ### Changed + - **BREAKING:** A new private property, controlled by the `start` and `stop` methods, is added to the CurrencyRateController: `enabled`. When this is false, no network requests will be made from the controller. Previously, setNativeCurrency or setCurrentCurrency would trigger a network request. That is now prevented if `enabled` is false. ([#1002](https://github.com/MetaMask/core/pull/1002)) ### Fixed + - The TokenRatesController no longer overwrites the `disabled` config property passed to the constructor, allowing the controller to be instantiated with `config.disabled` set to either true or false. ([#1002](https://github.com/MetaMask/core/pull/1002)) - This package will now warn if a required package is not present ([#1003](https://github.com/MetaMask/core/pull/1003)) ## [2.0.0] + ### Changed + - **BREAKING:** Update `onNetworkStateChange`, a constructor option for several controllers, to take an object with a `providerConfig` property instead of `provider` ([#995](https://github.com/MetaMask/core/pull/995)) - This affects: - AssetsContractController @@ -533,19 +626,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Relax dependencies on `@metamask/base-controller`, `@metamask/controller-utils`, `@metamask/network-controller`, and `@metamask/preferences-controller` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) ## [1.0.1] + ### Fixed + - Fix race condition where some token detections can get mistakenly added to the wrong account ([#956](https://github.com/MetaMask/core/pull/956)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - Everything in `src/assets` - Asset-related functions from `src/util.ts` and accompanying tests All changes listed after this point were applied to this package following the monorepo conversion. ### Changed + - Use Ethers for AssetsContractController ([#845](https://github.com/MetaMask/core/pull/845)) [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@25.0.0...HEAD diff --git a/packages/base-controller/CHANGELOG.md b/packages/base-controller/CHANGELOG.md index dd18bbdf42c..52ee840f1d7 100644 --- a/packages/base-controller/CHANGELOG.md +++ b/packages/base-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,15 +8,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [4.1.1] + ### Changed + - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) ## [4.1.0] + ### Added + - Add `registerInitialEventPayload` to `ControllerMessenger` and `RestrictedControllerMessenger` ([#3697](https://github.com/MetaMask/core/pull/3697)) - This allows registering an event payload function for an event, which has the benefit of ensuring the "subscription selector" feature works correctly the first time the event is fired after subscribing. ### Fixed + - Fix `subscribe` method selector support on first publish ([#3697](https://github.com/MetaMask/core/pull/3697)) - An event with a registered initial event payload function will work better with selectors, in that it will correctly compare with the initial selected state and return the previous value the first time it's published. Without this, the initial published event will always return `undefined` as the previous value. - Subscribers to the `stateChange` event of any `BaseControllerV2`-based controllers will now correctly handle the initial state change event ([#3702](https://github.com/MetaMask/core/pull/3702)) @@ -23,18 +29,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `BaseControllerV2` has been updated to correctly compare with the previous value even for the first state change. The returned `previousValue` is also now guaranteed to be correct even for the initial state change. ## [4.0.1] + ### Changed + - Deprecate `subscribe` property from `BaseControllerV2` ([#3590](https://github.com/MetaMask/core/pull/3590), [#3698](https://github.com/MetaMask/core/pull/3698)) - This property was used to differentiate between `BaseControllerV1` and `BaseControllerV2` controllers. It is no longer used, so it has been marked as deprecated. ## [4.0.0] + ### Added + - Add `ControllerGetStateAction` and `ControllerStateChangeEvent` types ([#1890](https://github.com/MetaMask/core/pull/1890), [#2029](https://github.com/MetaMask/core/pull/2029)) - Add `NamespacedName` type ([#1890](https://github.com/MetaMask/core/pull/1890)) - This is the narrowest supertype of all names defined within a given namespace. - Add `NotNamespacedBy` type, which matches an action/event name if and only if it is not prefixed by a given namespace ([#2051](https://github.com/MetaMask/core/pull/2051)) ### Changed + - **BREAKING:** Alter controller messenger `ActionHandler` type so `Action` type parameter must satisfy (updated) `ActionConstraint` ([#1890](https://github.com/MetaMask/core/pull/1890)) - **BREAKING:** Alter controller messenger `ExtractActionParameters` utility type so `Action` type parameter must satisfy (updated) `ActionConstraint` ([#1890](https://github.com/MetaMask/core/pull/1890)) - **BREAKING:** Alter controller messenger `ExtractEventHandler` utility type so `Event` type parameter must satisfy `EventConstraint` ([#1890](https://github.com/MetaMask/core/pull/1890)) @@ -53,61 +64,86 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/utils` to ^8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) ## [3.2.3] + ### Changed + - Bump dependency on `@metamask/utils` to ^8.1.0 ([#1639](https://github.com/MetaMask/core/pull/1639)) ## [3.2.2] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [3.2.1] + ### Changed + - There are no consumer-facing changes to this package. This version is a part of a synchronized release across all packages in our monorepo. ## [3.2.0] + ### Changed -- When deriving state, skip properties with invalid metadata ([#1529](https://github.com/MetaMask/core/pull/1529)) + +- When deriving state, skip properties with invalid metadata ([#1529](https://github.com/MetaMask/core/pull/1529)) - The previous behavior was to throw an error - An error is thrown in a timeout handler so that it can still be captured in the console, and by global unhandled error handlers. - Update `@metamask/utils` to `^6.2.0` ([#1514](https://github.com/MetaMask/core/pull/1514)) ## [3.1.0] + ### Changed + - Prevent event publish from throwing error ([#1475](https://github.com/MetaMask/core/pull/1475)) - The controller messenger will no longer throw when an event subscriber throws an error. Calls to `publish` (either within controllers or on a messenger instance directly) will no longer throw errors. - Errors are thrown in a timeout handler so that they can still be logged and captured. ## [3.0.0] + ### Changed + - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) - Replace `@metamask/controller-utils` dependency with `@metamask/utils` ([#1370](https://github.com/MetaMask/core/pull/1370)) ## [2.0.0] + ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [1.1.2] + ### Changed + - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) -- Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) +- Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [1.1.1] + ### Changed + - Relax dependency on `@metamask/controller-utils` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) ## [1.1.0] + ### Added + - Add `applyPatches` function to BaseControllerV2 ([#980](https://github.com/MetaMask/core/pull/980)) ### Changed + - Action and event handler types are now exported ([#987](https://github.com/MetaMask/core/pull/987)) - Update `update` function to expose patches ([#980](https://github.com/MetaMask/core/pull/980)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - `src/BaseController.ts` - `src/BaseController.test.ts` - `src/BaseControllerV2.ts` diff --git a/packages/build-utils/CHANGELOG.md b/packages/build-utils/CHANGELOG.md index 2daf2a09a51..2e2673f010b 100644 --- a/packages/build-utils/CHANGELOG.md +++ b/packages/build-utils/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,15 +8,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [1.0.2] + ### Changed + - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) ## [1.0.1] + ### Fixed + - Fix broken URL in `README.md` ([#3599](https://github.com/MetaMask/core/pull/3599)) ## [1.0.0] + ### Added + - Initial release ([#3577](https://github.com/MetaMask/core/pull/3577) [#3588](https://github.com/MetaMask/core/pull/3588)) [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/build-utils@1.0.2...HEAD diff --git a/packages/composable-controller/CHANGELOG.md b/packages/composable-controller/CHANGELOG.md index bac663149e5..26688cf855f 100644 --- a/packages/composable-controller/CHANGELOG.md +++ b/packages/composable-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,14 +8,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [5.0.1] + ### Changed + - Bump `@metamask/base-controller` to `^4.1.1` ([#3760](https://github.com/MetaMask/core/pull/3760), [#3821](https://github.com/MetaMask/core/pull/3821)) ## [5.0.0] + ### Added + - Add types `ComposableControllerState`, `ComposableControllerStateChangeEvent`, `ComposableControllerEvents`, `ComposableControllerMessenger` ([#3590](https://github.com/MetaMask/core/pull/3590)) ### Changed + - **BREAKING:** `ComposableController` is upgraded to extend `BaseControllerV2` ([#3590](https://github.com/MetaMask/core/pull/3590)) - The constructor now expects an options object with required properties `controllers` and `messenger` as its only argument. - `ComposableController` no longer has a `subscribe` method. Instead, listeners for `ComposableController` events must be registered to the controller messenger that generated the restricted messenger assigned to the instance's `messagingSystem` class field. @@ -22,44 +28,64 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) ## [4.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. ## [3.0.3] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.3 ([#1747](https://github.com/MetaMask/core/pull/1747)) ## [3.0.2] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [3.0.1] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.1 ## [3.0.0] + ### Changed + - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) ## [2.0.0] + ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [1.0.2] + ### Changed + - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) -- Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) +- Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [1.0.1] + ### Changed + - Relax dependency on `@metamask/controller-utils` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - `src/ComposableController.ts` - `src/ComposableController.test.ts` diff --git a/packages/controller-utils/CHANGELOG.md b/packages/controller-utils/CHANGELOG.md index 7e7e6818f06..49b1f7effda 100644 --- a/packages/controller-utils/CHANGELOG.md +++ b/packages/controller-utils/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,33 +8,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [8.0.2] + ### Changed + - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) ## [8.0.1] + ### Changed + - There are no consumer-facing changes to this package. This version is a part of a synchronized release across all packages in our monorepo. ## [8.0.0] + ### Changed + - **BREAKING**: `OPENSEA_PROXY_URL` now points to OpenSea's v2 API. `OPENSEA_API_URL` + `OPENSEA_TEST_API_URL` have been removed ([#3654](https://github.com/MetaMask/core/pull/3654)) ## [7.0.0] + ### Changed + - **BREAKING:** Make `safelyExecute` generic so they preserve types ([#3629](https://github.com/MetaMask/core/pull/3629)) - Update `successfulFetch` so that a URL instance can now be passed to it ([#3600](https://github.com/MetaMask/core/pull/3600)) - Update `handleFetch` so that a URL instance can now be passed to it ([#3600](https://github.com/MetaMask/core/pull/3600)) ## [6.1.0] + ### Added + - Add `isInfuraNetworkType` type guard for `InfuraNetworkType` ([#2055](https://github.com/MetaMask/core/pull/2055)) ### Fixed + - Restore missing dependency `eth-query`([#3578](https://github.com/MetaMask/core/pull/3578)) - This was mistakenly recategorized as a devDependency in v6.0.0 ## [6.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/eth-query` to ^4.0.0 ([#2028](https://github.com/MetaMask/core/pull/2028)) - This affects `query`: the `sendAsync` method on the given EthQuery must now have a narrower type - Bump `@metamask/utils` from ^8.1.0 to ^8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) @@ -41,66 +55,91 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Replace `ethjs-unit` ^0.1.6 with `@metamask/ethjs-unit` ^0.2.1 ([#2064](https://github.com/MetaMask/core/pull/2064)) ### Fixed + - Move `@metamask/eth-query` from a development dependency to a runtime dependency ([#1815](https://github.com/MetaMask/core/pull/1815)) ## [5.0.2] + ### Changed + - Bump dependency on `@metamask/utils` to ^8.1.0 ([#1639](https://github.com/MetaMask/core/pull/1639)) - Move `eth-rpc-errors@^4.0.2` dependency to `@metamask/rpc-errors@^6.0.2` ([#1743](https://github.com/MetaMask/core/pull/1743)) ### Fixed + - Update linea goerli explorer url ([#1666](https://github.com/MetaMask/core/pull/1666)) ## [5.0.1] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [5.0.0] + ### Changed + - **BREAKING**: Rename `NETWORK_ID_TO_ETHERS_NETWORK_NAME_MAP` to `CHAIN_ID_TO_ETHERS_NETWORK_NAME_MAP` ([#1633](https://github.com/MetaMask/core/pull/1633)) - Change it to a map of `Hex` chain ID to `BuiltInNetworkName` ### Removed + - **BREAKING**: Remove `NetworkId` constant and type ([#1633](https://github.com/MetaMask/core/pull/1633)) ## [4.3.2] + ### Changed + - There are no consumer-facing changes to this package. This version is a part of a synchronized release across all packages in our monorepo. ## [4.3.1] + ### Changed + - Replace `eth-query` ^2.1.2 with `@metamask/eth-query` ^3.0.1 ([#1546](https://github.com/MetaMask/core/pull/1546)) ## [4.3.0] + ### Changed + - Update `@metamask/utils` to `^6.2.0` ([#1514](https://github.com/MetaMask/core/pull/1514)) - Remove unnecessary `babel-runtime` dependency ([#1504](https://github.com/MetaMask/core/pull/1504)) ## [4.2.0] + ### Added + - Add support for Linea networks ([#1423](https://github.com/MetaMask/core/pull/1423)) - Add `LINEA_GOERLI` to `TESTNET_TICKER_SYMBOLS` map - Add `linea-goerli` and `linea-mainnet` to `BUILT_IN_NETWORKS` map, as well as `NetworkType`, `InfuraNetworkType`, `ChainId`, and `NetworkId `enums - Add `LineaGoerli` and `LineaMainnet` to `BuiltInNetworkName` enum ## [4.1.0] + ### Added + - Add approval types for result pages ([#1442](https://github.com/MetaMask/core/pull/1442)) ## [4.0.1] + ### Changed + - Add dependencies `eth-query` and `babel-runtime` ([#1447](https://github.com/MetaMask/core/pull/1447)) ### Fixed + - Fix bug where query function failed to call built-in EthQuery methods ([#1447](https://github.com/MetaMask/core/pull/1447)) ## [4.0.0] + ### Added + - Add constants `BuiltInNetwork` and `ChainId` ([#1354](https://github.com/MetaMask/core/pull/1354)) - Add Aurora network to the `ChainId` constant ([#1327](https://github.com/MetaMask/core/pull/1327)) - Add `InfuraNetworkType` enum ([#1264](https://github.com/MetaMask/core/pull/1264)) ### Changed + - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) - **BREAKING:** The `isSafeChainId` chain ID parameter is now type `Hex` rather than `number` ([#1367](https://github.com/MetaMask/core/pull/1367)) - **BREAKING:** The `ChainId` enum and the `GANACHE_CHAIN_ID` constant are now formatted as 0x-prefixed hex strings rather than as decimal strings. ([#1367](https://github.com/MetaMask/core/pull/1367)) @@ -109,6 +148,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump @metamask/utils from 5.0.1 to 5.0.2 ([#1271](https://github.com/MetaMask/core/pull/1271)) ### Removed + - **BREAKING:** Remove `Json` type ([#1370](https://github.com/MetaMask/core/pull/1370)) - **BREAKING:** Remove `NetworksChainId` constant ([#1354](https://github.com/MetaMask/core/pull/1354)) - Use the new `ChainId` constant or the pre-existing `NetworkId` constant instead @@ -121,53 +161,72 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - We didn't discover this until many releases later, which is why this happened in a minor release ## [3.4.0] [DEPRECATED] + ### Added + - add WalletConnect in approval type ([#1240](https://github.com/MetaMask/core/pull/1240)) ## [3.3.0] [DEPRECATED] + ### Added + - Add Sign-in-with-Ethereum origin validation ([#1163](https://github.com/MetaMask/core/pull/1163)) - Add `NetworkId` enum and `NETWORK_ID_TO_ETHERS_NETWORK_NAME_MAP` constant that includes entries for each built-in Infura network ([#1170](https://github.com/MetaMask/core/pull/1170)) ## [3.2.0] [DEPRECATED] + ### Added + - Add `ORIGIN_METAMASK` constant ([#1166](https://github.com/MetaMask/core/pull/1166)) - Add `ApprovalType` enum ([#1174](https://github.com/MetaMask/core/pull/1174)) ### Changed + - Improve return type of `toHex` ([#1195](https://github.com/MetaMask/core/pull/1195)) ## [3.1.0] [DEPRECATED] + ### Added + - Add SIWE detection support for PersonalMessageManager ([#1139](https://github.com/MetaMask/core/pull/1139)) - Add `NetworkType` ([#1132](https://github.com/MetaMask/core/pull/1132)) - Add `isSafeChainId` ([#1064](https://github.com/MetaMask/core/pull/1064)) ### Removed + - **BREAKING:** Remove constants `MAINNET` and `TESTNET_TICKER_SYMBOLS` ([#1132](https://github.com/MetaMask/core/pull/1132)) - We didn't discover this until many releases later, which is why this happened in a minor release ## [3.0.0] + ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [2.0.0] + ### Added + - Add Sepolia-related constants ([#1041](https://github.com/MetaMask/controllers/pull/1041)) - Update `getBuyURL` function to return Sepolia faucet for Sepolia network ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ### Changed + - **BREAKING:**: Migrate from `metaswap` to `metafi` subdomain for OpenSea proxy ([#1060](https://github.com/MetaMask/core/pull/1060)) - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) ### Removed + - **BREAKING:** Remove all constants associated with Ropsten, Rinkeby, and Kovan ([#1041](https://github.com/MetaMask/controllers/pull/1041)) - **BREAKING:** Remove support for Ropsten, Rinkeby, and Kovan from `getBuyUrl` function ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: - `src/constants.ts` (but see below) - `src/util.ts` (but see below) @@ -175,6 +234,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `NetworkType` and `NetworkChainsId` from `src/network/NetworkController.ts` (via `types.ts`) - `ESTIMATE_GAS_ERROR`, which used to be exported by `src/constants.ts`, is now available via the `@metamask/gas-fee-controller` package. - A number of functions and types that were previously exported by `src/util.ts` are now available via other packages. Here's a breakdown of these exports and their new locations: + - `@metamask/assets-controllers`: - `SupportedTokenDetectionNetworks` - `addUrlProtocolPrefix` diff --git a/packages/ens-controller/CHANGELOG.md b/packages/ens-controller/CHANGELOG.md index d63e53d3f4b..f9a75e74bf3 100644 --- a/packages/ens-controller/CHANGELOG.md +++ b/packages/ens-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,68 +8,90 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [9.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/network-controller` peer dependency to `^17.2.0` ([#3821](https://github.com/MetaMask/core/pull/3821)) - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) - Bump `@metamask/base-controller` to `^4.1.1` ([#3760](https://github.com/MetaMask/core/pull/3760), [#3821](https://github.com/MetaMask/core/pull/3821)) - Bump `@metamask/controller-utils` to `^8.0.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) - ## [8.0.0] + ### Changed + - **BREAKING:** Replace constructor parameter `onNetworkStateChange` with `onNetworkDidChange` ([#3610](https://github.com/MetaMask/core/pull/3610)) - **BREAKING:** Bump `@metamask/network-controller` peer dependency from `^17.0.0` to `^17.1.0` ([#3695](https://github.com/MetaMask/core/pull/3695)) - Bump `@metamask/controller-utils` to `^8.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695), [#3678](https://github.com/MetaMask/core/pull/3678), [#3667](https://github.com/MetaMask/core/pull/3667), [#3580](https://github.com/MetaMask/core/pull/3580)) - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) ### Fixed + - Remove `@metamask/network-controller` dependency ([#3607](https://github.com/MetaMask/core/pull/3607)) ## [7.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - Bump `@metamask/controller-utils` to ^6.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - Bump `@metamask/network-controller` to ^17.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [6.0.1] + ### Changed + - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^16.0.0 - Bump @metamask/utils from 8.1.0 to 8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) ## [6.0.0] + ### Changed + - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^15.0.0 ## [5.0.2] + ### Changed + - Bump dependency on `@metamask/utils` to ^8.1.0 ([#1639](https://github.com/MetaMask/core/pull/1639)) - Bump dependency on `@metamask/base-controller` to ^3.2.3 - Bump dependency on `@metamask/controller-utils` to ^5.0.2 - Bump dependency and peer dependency on `@metamask/network-controller` to ^14.0.0 ## [5.0.1] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [5.0.0] + ### Changed + - **BREAKING**: Bump peer dependency on `@metamask/network-controller` to ^13.0.0 ([#1633](https://github.com/MetaMask/core/pull/1633)) - Use `providerConfig.chainId` instead of `providerConfig.networkId` to determine ENS compatability ([#1633](https://github.com/MetaMask/core/pull/1633)) - Bump dependency on `@metamask/controller-utils` to ^5.0.0 ([#1633](https://github.com/MetaMask/core/pull/1633)) ## [4.1.1] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.1 - Bump dependency on `@metamask/controller-utils` to ^4.3.2 - Bump dependency and peer dependency on `@metamask/network-controller` to ^12.1.2 ## [4.1.0] + ### Changed + - Update `@metamask/utils` to `^6.2.0` ([#1514](https://github.com/MetaMask/core/pull/1514)) ## [4.0.0] + ### Changed + - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) - **BREAKING:** Add `@metamask/network-controller` as a dependency and peer dependency ([#1367](https://github.com/MetaMask/core/pull/1367), [#1362](https://github.com/MetaMask/core/pull/1362)) - **BREAKING:** The `ensEntries` state property is now keyed by `Hex` chain ID rather than `string`, and the `chainId` property of each ENS entry is also `Hex` rather than `string`. ([#1367](https://github.com/MetaMask/core/pull/1367)) @@ -77,35 +100,50 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump @metamask/utils from 5.0.1 to 5.0.2 ([#1271](https://github.com/MetaMask/core/pull/1271)) ### Fixed + - Fix ENS controller failure to initialize after switching networks ([#1362](https://github.com/MetaMask/core/pull/1362)) ## [3.1.0] + ### Changed + - Add support for reverse ENS address resolution ([#1170](https://github.com/MetaMask/core/pull/1170)) - This controller can now resolve a network address to an ENS address. This feature was ported from the extension ENS controller. ## [3.0.0] + ### Changed + - **BREAKING:** Convert the ENS controller to the BaseController v2 API ([#1134](https://github.com/MetaMask/core/pull/1134)) ## [2.0.0] + ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [1.0.2] + ### Changed + - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) - Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [1.0.1] + ### Changed + - Relax dependencies on `@metamask/base-controller` and `@metamask/controller-utils` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - `src/third-party/EnsController.ts` - `src/third-party/EnsController.test.ts` diff --git a/packages/eth-json-rpc-provider/CHANGELOG.md b/packages/eth-json-rpc-provider/CHANGELOG.md index c7458d99f0e..a0bd5693d2c 100644 --- a/packages/eth-json-rpc-provider/CHANGELOG.md +++ b/packages/eth-json-rpc-provider/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,35 +8,48 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [2.3.2] + ### Changed + - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) - Bump `@metamask/json-rpc-engine` to `^7.3.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [2.3.1] + ### Changed + - Bump `@metamask/json-rpc-engine` to `^7.3.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) ## [2.3.0] + ### Added + - Migrate `@metamask/eth-json-rpc-provider` into the core monorepo ([#1738](https://github.com/MetaMask/core/pull/1738)) ### Changed + - Export `SafeEventEmitterProvider` as class instead of type ([#1738](https://github.com/MetaMask/core/pull/1738)) - Bump `@metamask/json-rpc-engine` from `^7.1.0` to `^7.2.0` ([#1895](https://github.com/MetaMask/core/pull/1895)) - Bump `@metamask/utils` from `^8.1.0` to `^8.2.0` ([#1895](https://github.com/MetaMask/core/pull/1895)) - Bump `@metamask/auto-changelog` from `^3.2.0` to `^3.4.3` ([#1870](https://github.com/MetaMask/core/pull/1870), [#1905](https://github.com/MetaMask/core/pull/1905), [#1997](https://github.com/MetaMask/core/pull/1997)) ## [2.2.0] + ### Changed + - Add missing ISC license information ([#24](https://github.com/MetaMask/eth-json-rpc-provider/pull/24)) ## [2.1.0] + ### Changed + - Bump `@metamask/json-rpc-engine` from `^7.0.0` to `^7.1.0` ([#25](https://github.com/MetaMask/eth-json-rpc-provider/pull/25)) - Bump `@metamask/utils` from `^5.0.1` to `^8.1.0` ([#25](https://github.com/MetaMask/eth-json-rpc-provider/pull/25)) ## [2.0.0] + ### Fixed + - **BREAKING:** Update minimum Node.js version to 16 ([#20](https://github.com/MetaMask/eth-json-rpc-provider/pull/20)) - Switched json-rpc-engine@^6.1.0 -> @metamask/json-rpc-engine@^7.0.0 ([#16](https://github.com/MetaMask/eth-json-rpc-provider/pull/16)) - **BREAKING**: Typescript type updates @@ -46,7 +60,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Release `v2.0.0` is identical to `v1.0.1` aside from Node.js version requirement imposed by a dependency updates has been made explicit. ## [1.0.1] [RETRACTED] + ### Changed + - **BREAKING:** Update minimum Node.js version to 16 ([#20](https://github.com/MetaMask/eth-json-rpc-provider/pull/20)) - Switched json-rpc-engine@^6.1.0 -> @metamask/json-rpc-engine@^7.0.0 ([#16](https://github.com/MetaMask/eth-json-rpc-provider/pull/16)) - **BREAKING**: Typescript type updates @@ -55,7 +71,9 @@ Release `v2.0.0` is identical to `v1.0.1` aside from Node.js version requirement - Added @metamask/utils@5.0.1 ## [1.0.0] + ### Added + - Initial release, including `providerFromEngine` and `providerFromMiddleware`. [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/eth-json-rpc-provider@2.3.2...HEAD diff --git a/packages/gas-fee-controller/CHANGELOG.md b/packages/gas-fee-controller/CHANGELOG.md index 8951930330e..157ccf70cad 100644 --- a/packages/gas-fee-controller/CHANGELOG.md +++ b/packages/gas-fee-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,7 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [13.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/network-controller` peer dependency to `^17.2.0` ([#3821](https://github.com/MetaMask/core/pull/3821)) - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) - Bump `@metamask/base-controller` to `^4.1.1` ([#3760](https://github.com/MetaMask/core/pull/3760), [#3821](https://github.com/MetaMask/core/pull/3821)) @@ -15,7 +18,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/polling-controller` to `^5.0.0` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [12.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/network-controller` dependency and peer dependency from `^17.0.0` to `^17.1.0` ([#3695](https://github.com/MetaMask/core/pull/3695)) - **BREAKING:** The `GasFeeController` now detects network changes using the `NetworkController:networkDidChange` event instead of `NetworkController:stateChange` ([#3610](https://github.com/MetaMask/core/pull/3610)) - Additionally, the optional constructor parameter `onNetworkStateChange` has been replaced by `onNetworkDidChange` @@ -25,7 +30,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - This update adds two new methods to each polling controller: `_startPollingByNetworkClientId` and `_stopPollingByPollingTokenSetId`. These methods are intended for internal use, and should not be called directly. ## [11.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - Replace `ethjs-unit` ^0.1.6 with `@metamask/ethjs-unit` ^0.2.1 ([#2064](https://github.com/MetaMask/core/pull/2064)) @@ -34,38 +41,49 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/polling-controller` to ^2.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [10.0.1] + ### Changed + - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^16.0.0 - Bump dependency `@metamask/eth-query` from ^3.0.1 to ^4.0.0 ([#2028](https://github.com/MetaMask/core/pull/2028)) - Bump dependency on `@metamask/polling-controller` to ^1.0.2 - Bump @metamask/utils from 8.1.0 to 8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) ## [10.0.0] + ### Added + - Add optional `networkClientId` argument to options object param of `fetchGasFeeEstimates` method which, if passed, fetches the required chainId and networkClient provider to fetch and store gasFee data appropriately. ([#1891](https://github.com/MetaMask/core/pull/1891)) ### Changed + - **BREAKING:** Bump dependency on `@metamask/polling-controller` to ^1.0.0 - Bump dependency and peer dependency on `@metamask/network-controller` to ^15.1.0 ## [9.0.0] + ### Added + - Add way to start and stop different polling sessions for the same network client ID by providing extra scoping data ([#1776](https://github.com/MetaMask/core/pull/1776)) - Add optional second argument to `stopPollingByPollingToken` (formerly `stopPollingByNetworkClientId`) - Add optional second argument to `onPollingCompleteByNetworkClientId` ### Changed + - **BREAKING:** Make `executePoll` private ([#1810](https://github.com/MetaMask/core/pull/1810)) - **BREAKING:** Rename `stopPollingByNetworkClientId` to `stopPollingByPollingToken` ([#1810](https://github.com/MetaMask/core/pull/1810)) - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^15.0.0 - **BREAKING:** Bump dependency on `@metamask/polling-controller` to ^0.2.0 ## [8.0.0] + ### Added + - Add optional `gasFeeEstimatesByChainId` property to GasFeeController state ([#1673](https://github.com/MetaMask/core/pull/1673) - Add dependency on `@metamask/polling-controller` ([#1748])(https://github.com/MetaMask/core/pull/1748)) ### Changed + - **BREAKING:** Messenger must allow controller actions `NetworkController:getNetworkClientById` and `NetworkController:getEIP1559Compatibility` ([#1673](https://github.com/MetaMask/core/pull/1673) - Bump dependency on `@metamask/utils` to ^8.1.0 ([#1639](https://github.com/MetaMask/core/pull/1639)) - Bump dependency on `@metamask/base-controller` to ^3.2.3 @@ -73,36 +91,50 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump dependency and peer dependency on `@metamask/network-controller` to ^14.0.0 ## [7.0.1] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [7.0.0] + ### Changed + - **BREAKING**: Bump peer dependency on `@metamask/network-controller` to ^13.0.0 ([#1633](https://github.com/MetaMask/core/pull/1633)) - Bump dependency on `@metamask/controller-utils` to ^5.0.0 ([#1633](https://github.com/MetaMask/core/pull/1633)) ## [6.1.2] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.1 - Bump dependency on `@metamask/controller-utils` to ^4.3.2 - Bump dependency and peer dependency on `@metamask/network-controller` to ^12.1.2 ## [6.1.1] + ### Changed + - Replace `eth-query` ^2.1.2 with `@metamask/eth-query` ^3.0.1 ([#1546](https://github.com/MetaMask/core/pull/1546)) ## [6.1.0] + ### Changed + - Update `@metamask/utils` to `^6.2.0` ([#1514](https://github.com/MetaMask/core/pull/1514)) - Remove unnecessary `babel-runtime` dependencies ([#1504](https://github.com/MetaMask/core/pull/1504)) ## [6.0.1] + ### Changed + - Bump dependency on `controller-utils` ([#1447](https://github.com/MetaMask/core/pull/1447)) - The new version of `controller-utils` adds `eth-query` to the list of dependencies. This dependency was added to improve internal types for `gas-fee-controller`. This has no impact on users of the package. ## [6.0.0] + ### Changed + - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) - **BREAKING:** The `getChainId` constructor parameter now expects a `Hex` return type rather than a decimal string ([#1367](https://github.com/MetaMask/core/pull/1367)) - Add `@metamask/utils` dependency @@ -113,41 +145,58 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **BREAKING:** Update `@metamask/network-controller` dependency and peer dependency ## [5.0.0] + ### Changed + - **BREAKING**: peerDeps: @metamask/network-controller@6.0.0->8.0.0 ([#1196](https://github.com/MetaMask/core/pull/1196)) ## [4.0.1] + ### Changed + - Adjust types to align with new version of `NetworkController` ([#1091](https://github.com/MetaMask/core/pull/1091)) ## [4.0.0] + ### Changed + - **BREAKING:** Make the EIP-1559 endpoint a required argument ([#1083](https://github.com/MetaMask/core/pull/1083)) ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [3.0.0] + ### Changed + - **BREAKING:** Update `@metamask/network-controller` peer dependency to v3 ([#1041](https://github.com/MetaMask/controllers/pull/1041)) - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) - Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [2.0.1] + ### Fixed + - This package will now warn if a required package is not present ([#1003](https://github.com/MetaMask/core/pull/1003)) ## [2.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/network-controller` to 2.0.0 ([#995](https://github.com/MetaMask/core/pull/995)) - GasFeeController now expects NetworkController to respond to the `NetworkController:providerChangeConfig` event (previously named `NetworkController:providerChange`). If you are depending directly on `@metamask/network-controller`, you should update your version to at least 2.0.0 as well. - Relax dependencies on `@metamask/base-controller`, `@metamask/controller-utils`, and `@metamask/network-controller` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - Everything in `src/gas` All changes listed after this point were applied to this package following the monorepo conversion. diff --git a/packages/json-rpc-engine/CHANGELOG.md b/packages/json-rpc-engine/CHANGELOG.md index d26ba6a9a2d..b5095f973fd 100644 --- a/packages/json-rpc-engine/CHANGELOG.md +++ b/packages/json-rpc-engine/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,45 +8,62 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [7.3.2] + ### Changed + - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) ## [7.3.1] + ### Changed + - There are no consumer-facing changes to this package. This version is a part of a synchronized release across all packages in our monorepo. ## [7.3.0] + ### Added + - Migrate `@metamask/json-rpc-engine` into the core monorepo ([#1895](https://github.com/MetaMask/core/pull/1895)) ### Changed + - Bump `@metamask/utils` from `^8.1.0` to `^8.2.0` ([#1895](https://github.com/MetaMask/core/pull/1895)) - Bump `@metamask/rpc-errors` from `^6.0.0` to `^6.1.0` ([#1882](https://github.com/MetaMask/core/pull/1882)) - Bump `@metamask/auto-changelog` from `3.4.2` to `3.4.3` ([#1997](https://github.com/MetaMask/core/pull/1997)) ## [7.2.0] + ### Added + - Applied eslint rules from core monorepo ([#172](https://github.com/MetaMask/json-rpc-engine/pull/172)) ## [7.1.1] + ### Changed + - Bumped `@metamask/utils` from `^5.0.2` to `^8.1.0` [#158](https://github.com/MetaMask/json-rpc-engine/pull/158) ([#162](https://github.com/MetaMask/json-rpc-engine/pull/162)) - Bumped `@metamask/rpc-errors` from `^5.0.0` to `^6.0.0` ([#162](https://github.com/MetaMask/json-rpc-engine/pull/162)) ## [7.1.0] + ### Changed + - Bumped `@metamask/safe-event-emitter` from `^2.0.0` to `^3.0.0` ([#148](https://github.com/MetaMask/json-rpc-engine/pull/148)) - Bumped `@metamask/utils` from `^5.0.1` to `^5.0.2` ([#151](https://github.com/MetaMask/json-rpc-engine/pull/151)) ### Fixed + - Fixed handling of empty batch array in requests ([#153](https://github.com/MetaMask/json-rpc-engine/pull/153)) ## [7.0.0] + ### Added + - Added JSON-RPC notification handling ([#104](https://github.com/MetaMask/json-rpc-engine/pull/104)) - Added `destroy` method ([#106](https://github.com/MetaMask/json-rpc-engine/pull/106)) ### Changed + - **BREAKING:** Require a minimum Node version of 16 ([#139](https://github.com/MetaMask/json-rpc-engine/pull/139)) - **BREAKING:** Use `@metamask/utils` types ([#105](https://github.com/MetaMask/json-rpc-engine/pull/105)) - The JSON-RPC engine and all middleware now use `@metamask/utils` JSON-RPC types @@ -55,18 +73,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Use `@metamask/rpc-errors` ([#138](https://github.com/MetaMask/json-rpc-engine/pull/138)) ## [6.1.0] - 2020-11-20 + ### Added + - Add `PendingJsonRpcResponse` interface for use in middleware ([#75](https://github.com/MetaMask/json-rpc-engine/pull/75)) ### Changed + - Use `async`/`await` and `try`/`catch` instead of Promise methods everywhere ([#74](https://github.com/MetaMask/json-rpc-engine/pull/74)) - Consumers may notice improved stack traces on certain platforms. ## [6.0.0] - 2020-11-19 + ### Added + - Add docstrings for public `JsonRpcEngine` methods ([#70](https://github.com/MetaMask/json-rpc-engine/pull/70)) ### Changed + - **(BREAKING)** Refactor exports ([#69](https://github.com/MetaMask/json-rpc-engine/pull/69)) - All exports are now named, and available via the package entry point. - All default exports have been removed. @@ -81,19 +105,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Make some internal `JsonRpcEngine` methods `static` ([#71](https://github.com/MetaMask/json-rpc-engine/pull/71)) ## [5.4.0] - 2020-11-07 + ### Changed + - Make the TypeScript types not terrible ([#66](https://github.com/MetaMask/json-rpc-engine/pull/66), [#67](https://github.com/MetaMask/json-rpc-engine/pull/67)) ## [5.3.0] - 2020-07-30 + ### Changed + - Response object errors no longer include a `stack` property ## [5.2.0] - 2020-07-24 + ### Added + - Promise signatures for `engine.handle` ([#55](https://github.com/MetaMask/json-rpc-engine/pull/55)) - So, in addition to `engine.handle(request, callback)`, you can do e.g. `await engine.handle(request)`. ### Changed + - Remove `async` and `promise-to-callback` dependencies - These dependencies were used internally for middleware flow control. They have been replaced with Promises and native `async`/`await`, which means that some operations are _no longer_ eagerly executed. diff --git a/packages/json-rpc-middleware-stream/CHANGELOG.md b/packages/json-rpc-middleware-stream/CHANGELOG.md index a96d10095d8..4493b7a91a9 100644 --- a/packages/json-rpc-middleware-stream/CHANGELOG.md +++ b/packages/json-rpc-middleware-stream/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,68 +8,95 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [6.0.2] + ### Changed + - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) - Bump `@metamask/json-rpc-engine` to `^7.3.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [6.0.1] + ### Changed + - Bump `@metamask/json-rpc-engine` to `^7.3.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) ## [6.0.0] + ### Added + - Migrate `@metamask/json-rpc-engine` into the core monorepo ([#1762](https://github.com/MetaMask/core/pull/1762)) ## Changed + - **BREAKING**: Rename package from `json-rpc-middleware-stream` to `@metamask/json-rpc-middleware-stream` ([#1762](https://github.com/MetaMask/core/pull/1762)) - Bump `@metamask/json-rpc-engine` from `^7.1.0` to `^7.2.0` ([#1762](https://github.com/MetaMask/core/pull/1762)) - Bump `@metamask/utils` from `^8.1.0` to `^8.2.0` ([#1762](https://github.com/MetaMask/core/pull/1762)) ## [5.0.1] + ### Changed + - Upgrade typescript version to 4.8.4 ([#68](https://github.com/MetaMask/json-rpc-middleware-stream/pull/68)) ## [5.0.0] + ### Changed + - **BREAKING**: Increase minimum Node.js version to 16 ([#59](https://github.com/MetaMask/json-rpc-middleware-stream/pull/59)) - **BREAKING**: Update `readable-stream` from `^2.3.3` to `^3.6.2` ([#55](https://github.com/MetaMask/json-rpc-middleware-stream/pull/55)) - **BREAKING**: Switch from legacy `json-rpc-engine`@`^6.1.0` to `@metamask/json-rpc-engine`@`^7.1.1` ([#54](https://github.com/MetaMask/json-rpc-middleware-stream/pull/54)) - Add dependency `@metamask/utils` ([#54](https://github.com/MetaMask/json-rpc-middleware-stream/pull/54)) ## [4.2.3] + ### Fixed + - Moved json-rpc-engine from devDependencies to dependencies ([#56](https://github.com/MetaMask/json-rpc-middleware-stream/pull/56)) ## [4.2.2] + ### Changed + - Bump @metamask/safe-event-emitter from 2.0.0 to 3.0.0 ([#44](https://github.com/MetaMask/json-rpc-middleware-stream/pull/44)) ### Fixed + - Fix race condition in `createStreamMiddleware` ([#47](https://github.com/MetaMask/json-rpc-middleware-stream/pull/47)) - Previously this middleware would fail to process synchronous responses on initialized streams ## [4.2.1] + ### Fixed + - Add early return in createStreamMiddleware.processsResponse method if JSON RPC request is not found ([#35](https://github.com/MetaMask/json-rpc-middleware-stream/pull/35)) ## [4.2.0] + ### Changed + - Change error throw when response is seen for unknown request into warning displayed in console ([#32](https://github.com/MetaMask/json-rpc-middleware-stream/pull/32)) ## [4.1.0] + ### Changed + - Added retry limit of 3 to requests ([#30](https://github.com/MetaMask/json-rpc-middleware-stream/pull/30)) ## [4.0.0] - 2022-10-03 + ### Changed + - BREAKING: Add Node 12 as minimum required version [#15](https://github.com/MetaMask/json-rpc-middleware-stream/pull/15) - Retry pending requests when notification to reconnect is received ([#27](https://github.com/MetaMask/json-rpc-middleware-stream/pull/27)) ### Security + - Add `@lavamoat/allow-scripts` to make dependency install scripts opt-in ([#25](https://github.com/MetaMask/json-rpc-middleware-stream/pull/25)) ## [3.0.0] - 2020-12-08 + ### Added + - TypeScript typings ([#11](https://github.com/MetaMask/json-rpc-middleware-stream/pull/11)) [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/json-rpc-middleware-stream@6.0.2...HEAD diff --git a/packages/keyring-controller/CHANGELOG.md b/packages/keyring-controller/CHANGELOG.md index d9aa59ba78b..36ec3bf3fa8 100644 --- a/packages/keyring-controller/CHANGELOG.md +++ b/packages/keyring-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,35 +8,47 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [12.2.0] + ### Added + - Add `getDefaultKeyringState` function ([#3799](https://github.com/MetaMask/core/pull/3799)) ### Changed + - Bump `@metamask/base-controller` to `^4.1.1` ([#3821](https://github.com/MetaMask/core/pull/3821)) - Bump `@metamask/message-manager` to `^7.3.8` ([#3821](https://github.com/MetaMask/core/pull/3821)) ### Removed + - Remove `peerDependency` and `devDependency` upon `@metamask/preferences-controller` ([#3799](https://github.com/MetaMask/core/pull/3799)) - This dependency was just used to access the types of four methods. Those types are now inlined instead. ## [12.1.0] + ### Added + - Add methods to support ERC-4337 accounts ([#3602](https://github.com/MetaMask/core/pull/3602)) ### Changed + - Bump `@metamask/keyring-api` to ^3.0.0 ([#3747](https://github.com/MetaMask/core/pull/3747)) - Bump @metamask/eth-keyring-controller from 17.0.0 to 17.0.1 ([#3805](https://github.com/MetaMask/core/pull/3805)) - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) ### Fixed + - Fix custody keyring name ([#3803](https://github.com/MetaMask/core/pull/3803)) ## [12.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/preferences-controller` to ^6.0.0 ## [11.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/preferences-controller` peer dependency from `^5.0.0` to `^5.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) - Bump `@metamask/eth-keyring-controller` to `^15.1.0` ([#3617](https://github.com/MetaMask/core/pull/3617)) @@ -44,79 +57,104 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Update `forgetQRDevice` to return an object containing `removedAccounts` and `remainingAccounts` ([#3641](https://github.com/MetaMask/core/pull/3641)) ### Fixed + - Remove `@metamask/preferences-controller` dependency ([#3607](https://github.com/MetaMask/core/pull/3607)) ## [10.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - Bump `@metamask/message-manager` to ^7.3.6 ([#2063](https://github.com/MetaMask/core/pull/2063)) - Bump `@metamask/preferences-controller` to ^4.5.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [9.0.0] + ### Added + - Add `KeyringController:persistAllKeyrings` messenger action ([#1965](https://github.com/MetaMask/core/pull/1965)) ### Changed -- **BREAKING** Change `encryptor` constructor option property type to `GenericEncryptor | ExportableKeyEncryptor | undefined` ([#2041](https://github.com/MetaMask/core/pull/2041)) + +- **BREAKING** Change `encryptor` constructor option property type to `GenericEncryptor | ExportableKeyEncryptor | undefined` ([#2041](https://github.com/MetaMask/core/pull/2041)) - When the controller is instantiated with `cacheEncryptionKey: true`, `encryptor` may no longer be of type `GenericEncryptor`. - Bump dependency on `@metamask/scure-bip39` 2.1.1 ([#1868](https://github.com/MetaMask/core/pull/1868)) - Bump dependency on `@metamask/utils` to 8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) - Bump @metamask/eth-keyring-controller to 14.0.0 ([#1771](https://github.com/MetaMask/core/pull/1771)) ## [8.1.0] + ### Changed + - Adds additional options to KeyringTypes enum ([#1839](https://github.com/MetaMask/core/pull/1839)) ## [8.0.3] + ### Changed + - `signTransaction` now accepts an optional `opts: Record` argument to support `signTransaction` from `Keyring` type ([#1789](https://github.com/MetaMask/core/pull/1789)) - Bump dependency and peer dependency on `@metamask/preferences-controller` to ^4.4.3 ## [8.0.2] + ### Changed + - Bump dependency on `@metamask/utils` to ^8.1.0 ([#1639](https://github.com/MetaMask/core/pull/1639)) - Bump dependency on `@metamask/base-controller` to ^3.2.3 - Bump dependency on `@metamask/message-manager` to ^7.3.5 ### Fixed + - Update `removeAccount` to remove call to `PreferencesController.removeIdentity` as `PreferencesController` already handles account removal side effects through messenger events ([#1759](https://github.com/MetaMask/core/pull/1759)) ## [8.0.1] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ### Fixed + - Removed `keyringTypes` from `memStore` ([#1710](https://github.com/MetaMask/core/pull/1710)) - This property was accidentally getting copied into the memstore from the internal keyring controller. It was causing errors because there is no metadata for this state property. ## [8.0.0] + ### Added + - Add `getQRKeyring(): QRKeyring | undefined` method - Add `KeyringController:qrKeyringStateChange` messenger event - The event emits updates from the internal `QRKeyring` instance, if there's one ### Changed + - **BREAKING:** addNewKeyring(type) return type changed from Promise> to Promise - When calling with QRKeyring type the keyring instance is retrieved or created (no multiple QRKeyring instances possible) - Bump dependency on `@metamask/message-manager` to ^7.3.3 - Bump dependency on `@metamask/preferences-controller` to ^4.4.1 ### Fixed + - Fix `addNewAccountForKeyring` for `CustodyKeyring` ([#1694](https://github.com/MetaMask/core/pull/1694)) ## [7.5.0] + ### Added + - Add `KeyringController` messenger actions ([#1691](https://github.com/MetaMask/core/pull/1691)) - `KeyringController:getAccounts` - `KeyringController:getKeyringsByType` - `KeyringController:getKeyringForAccount` ### Changed + - Bump `@metamask/eth-sig-util` from 6.0.0 to 7.0.0 ([#1669](https://github.com/MetaMask/core/pull/1669)) ## [7.4.0] + ### Added + - Add `KeyringController` messenger actions ([#1654](https://github.com/MetaMask/core/pull/1654)) - `KeyringController:signMessage` - `KeyringController:signPersonalMessage` @@ -125,26 +163,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `KeyringController:getEncryptionPublicKey` ## [7.3.0] + ### Added + - Add `decryptMessage` method ([#1596](https://github.com/MetaMask/core/pull/1596)) ## [7.2.0] + ### Added + - Add `addNewAccountForKeyring` method ([#1591](https://github.com/MetaMask/core/pull/1591)) - Add `addNewKeyring` method ([#1594](https://github.com/MetaMask/core/pull/1594)) - Add `persistAllKeyrings` method ([#1574](https://github.com/MetaMask/core/pull/1574)) ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.1 - Bump dependency on `@metamask/message-manager` to ^7.3.1 - Bump dependency and peer dependency on `@metamask/preferences-controller` to ^4.4.0 ## [7.1.0] + ### Added + - Add `getEncryptionPublicKey` method on KeyringController ([#1569](https://github.com/MetaMask/core/pull/1569)) ## [7.0.0] + ### Changed + - **BREAKING**: Remove `keyringTypes` property from the KeyringController state ([#1441](https://github.com/MetaMask/core/pull/1441)) - **BREAKING**: Constructor `KeyringControllerOptions` type changed ([#1441](https://github.com/MetaMask/core/pull/1441)) - The `KeyringControllerOptions.state` accepted type is now `{ vault?: string }` @@ -164,16 +211,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Update `@keystonehq/metamask-airgapped-keyring` to `^0.13.1` ([#1514](https://github.com/MetaMask/core/pull/1514)) ## [6.1.0] + ### Changed + - Bump @metamask/eth-sig-util to ^6.0.0 ([#1483](https://github.com/MetaMask/core/pull/1483)) ## [6.0.0] + ### Added + - Add messenger events `KeyringController:lock` and `KeyringController:unlock`, emitted when the inner EthKeyringController is locked/unlocked ([#1378](https://github.com/MetaMask/core/pull/1378)) - Also add corresponding types `KeyringControllerLockEvent` and `KeyringControllerUnlockEvent` - Add `KeyringController:accountRemoved` event, fired whenever an account is removed through `removeAccount` ([#1416](https://github.com/MetaMask/core/pull/1416)) ### Changed + - **BREAKING:** Update constructor to take a single argument, an options bag, instead of three arguments ([#1378](https://github.com/MetaMask/core/pull/1378)) - **BREAKING:** Update controller so state is now accessible via `controller.state` instead of `controller.store.getState()` ([#1378](https://github.com/MetaMask/core/pull/1378)) - **BREAKING:** Update KeyringController to take a required `messenger` option ([#1378](https://github.com/MetaMask/core/pull/1378)) @@ -200,6 +252,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add `immer` as a dependency ([#1378](https://github.com/MetaMask/core/pull/1378)) ### Removed + - **BREAKING:** Remove `subscribe` and `unsubscribe` methods ([#1378](https://github.com/MetaMask/core/pull/1378)) - State changes can be directly subscribed to (or unsubscribed from) via the messenger if necessary - **BREAKING:** Remove `lock` and `unlock` methods ([#1378](https://github.com/MetaMask/core/pull/1378)) @@ -209,11 +262,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **BREAKING:** Remove `index` from the `Keyring` type ([#1378](https://github.com/MetaMask/core/pull/1378)) ## [5.1.0] + ### Added + - Add `cancelQRSynchronization` method ([#1387](https://github.com/MetaMask/core.git/pull/1387)) ## [5.0.0] + ### Added + - Add support for encryption keys ([#1342](https://github.com/MetaMask/core/pull/1342)) - The configuration option `cacheEncryptionKey` has been added, along with two new state properties (`encryptionKey` and `encryptionSalt`) and a new method (`submitEncryptionKey`) - All new state and config entries are optional, so this will have no effect if you're not using this feature. @@ -222,9 +279,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add deprecated `getKeyringForAccount` and `getKeyringsByType` methods ([#1376](https://github.com/MetaMask/core/pull/1376), [#1386](https://github.com/MetaMask/core/pull/1386)) ### Changed + - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) - **BREAKING:** Change return type of `createNewVaultAndRestore` from `string | number[]` to `Uint8Array` ([#1349](https://github.com/MetaMask/core/pull/1349)) -- **BREAKING:** Change return type of `verifySeedPhrase` from `string` to `Uint8Array` ([#1338](https://github.com/MetaMask/core/pull/1338)) +- **BREAKING:** Change return type of `verifySeedPhrase` from `string` to `Uint8Array` ([#1338](https://github.com/MetaMask/core/pull/1338)) - **BREAKING:** Replace `validatePassword` with `verifyPassword` ([#1348](https://github.com/MetaMask/core/pull/1348)) - `verifyPassword` is asynchronous, unlike `validatePassword` which was not. - `verifyPassword` does not return a boolean to indicate whether the password is valid. Instead an error is thrown when it's invalid. @@ -242,6 +300,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Update `@metamask/preferences-controller` dependency ### Fixed + - Improve validation of `from` address in `signTypedMessage` ([#1293](https://github.com/MetaMask/core/pull/1293)) - Improve private key validation in `importAccountWithStrategy` ([#1297](https://github.com/MetaMask/core/pull/1297)) - A more helpful error is now thrown when the given private key has the wrong length @@ -250,32 +309,44 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The old behavior was especially confusing because the `subscribe` method is overridden to return state change events from the internal `EthKeyingController` state, resulting in state change events being out of sync with controller state. They should be the same now. ## [4.0.0] + ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [3.0.0] + ### Changed + - **BREAKING:**: Bump eth-keyring-controller version to @metamask/eth-keyring-controller v10 ([#1072](https://github.com/MetaMask/core.git/pull/1072)) - - `exportSeedPhrase` now returns a `Uint8Array` typed SRP (can be converted to a string using [this approach](https://github.com/MetaMask/eth-hd-keyring/blob/53b0570559595ba5b3fd8c80e900d847cd6dee3d/index.js#L40)). It was previously a Buffer. + - `exportSeedPhrase` now returns a `Uint8Array` typed SRP (can be converted to a string using [this approach](https://github.com/MetaMask/eth-hd-keyring/blob/53b0570559595ba5b3fd8c80e900d847cd6dee3d/index.js#L40)). It was previously a Buffer. - The HD keyring included with the keyring controller has been updated from v4 to v6. See [the `eth-hd-keyring` changelog entries for v5 and v6](https://github.com/MetaMask/eth-hd-keyring/blob/main/CHANGELOG.md#600) for further details on breaking changes. ## [2.0.0] + ### Changed + - **BREAKING:**: Require ES2020 support or greater ([#914](https://github.com/MetaMask/controllers/pull/914)) - - This change was introduced by an indirect dependency on `ethereumjs/util` v8 + - This change was introduced by an indirect dependency on `ethereumjs/util` v8 - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) - Update `@metamask/eth-sig-util` to v5 ([#914](https://github.com/MetaMask/controllers/pull/914)) - Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [1.0.1] + ### Changed + - Relax dependencies on `@metamask/base-controller`, `@metamask/controller-utils`, `@metamask/message-manager`, and `@metamask/preferences-controller` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - Everything in `src/keyring` All changes listed after this point were applied to this package following the monorepo conversion. diff --git a/packages/logging-controller/CHANGELOG.md b/packages/logging-controller/CHANGELOG.md index fc5aa1af946..4e4dbb99a19 100644 --- a/packages/logging-controller/CHANGELOG.md +++ b/packages/logging-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,41 +8,57 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [2.0.2] + ### Changed + - Bump `@metamask/base-controller` to `^4.1.1` ([#3760](https://github.com/MetaMask/core/pull/3760), [#3821](https://github.com/MetaMask/core/pull/3821)) - Bump `@metamask/controller-utils` to `^8.0.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [2.0.1] + ### Changed + - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) - Bump `@metamask/controller-utils` to `^8.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695), [#3678](https://github.com/MetaMask/core/pull/3678), [#3667](https://github.com/MetaMask/core/pull/3667), [#3580](https://github.com/MetaMask/core/pull/3580)) ## [2.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - Bump `@metamask/controller-utils` to ^6.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [1.0.4] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.3 ([#1747](https://github.com/MetaMask/core/pull/1747)) - Bump dependency on `@metamask/controller-utils` to ^5.0.2 ([#1747](https://github.com/MetaMask/core/pull/1747)) ## [1.0.3] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [1.0.2] + ### Changed + - Bump dependency on `@metamask/controller-utils` to ^5.0.0 ## [1.0.1] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.1 - Bump dependency on `@metamask/controller-utils` to ^4.3.2 ## [1.0.0] + ### Added + - Initial Release - Add logging controller ([#1089](https://github.com/MetaMask/core.git/pull/1089)) diff --git a/packages/message-manager/CHANGELOG.md b/packages/message-manager/CHANGELOG.md index e5ae6f962d1..46306492760 100644 --- a/packages/message-manager/CHANGELOG.md +++ b/packages/message-manager/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,79 +8,111 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [7.3.8] + ### Changed + - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) - Bump `@metamask/base-controller` to `^4.1.1` ([#3760](https://github.com/MetaMask/core/pull/3760), [#3821](https://github.com/MetaMask/core/pull/3821)) - Bump `@metamask/controller-utils` to `^8.0.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [7.3.7] + ### Changed + - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) - Bump `@metamask/controller-utils` to `^8.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695), [#3678](https://github.com/MetaMask/core/pull/3678), [#3667](https://github.com/MetaMask/core/pull/3667), [#3580](https://github.com/MetaMask/core/pull/3580)) - Bump `@metamask/eth-sig-util` to `^7.0.1` ([#3614](https://github.com/MetaMask/core/pull/3614)) ## [7.3.6] + ### Changed + - Bump `@metamask/utils` to ^8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) - Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is not breaking because the message managers still inherit from BaseController v1. - Bump `@metamask/controller-utils` to ^6.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [7.3.5] + ### Changed + - Bump dependency on `@metamask/utils` to ^8.1.0 ([#1639](https://github.com/MetaMask/core/pull/1639)) - Bump dependency on `@metamask/base-controller` to ^3.2.3 - Bump dependency on `metamask/controller-utils` to ^5.0.2 ### Fixed + - Fix `prepMessageForSigning` in all message managers to handle frozen `messageParams` ([#1733](https://github.com/MetaMask/core/pull/1733)) ## [7.3.4] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [7.3.3] + ### Changed + - Bump dependency on `@metamask/controller-utils` to ^5.0.0 ## [7.3.2] + ### Changed + - Bump @metamask/eth-sig-util from 6.0.0 to 7.0.0 ([#1669](https://github.com/MetaMask/core/pull/1669)) ## [7.3.1] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.1 - Bump dependency on `@metamask/controller-utils` to ^4.3.2 ## [7.3.0] + ### Changed + - Add Blockaid validation response to messages ([#1541](https://github.com/MetaMask/core/pull/1541)) ## [7.2.0] + ### Changed + - Update `@metamask/utils` to `^6.2.0` ([#1514](https://github.com/MetaMask/core/pull/1514)) ## [7.1.0] + ### Changed + - Replace eth-sig-util with @metamask/eth-sig-util ([#1483](https://github.com/MetaMask/core/pull/1483)) ## [7.0.2] + ### Fixed + - Avoid race condition when creating typed messages ([#1467](https://github.com/MetaMask/core/pull/1467)) ## [7.0.1] + ### Fixed + - eth_signTypedData_v4 and v3 should take an object as well as string for data parameter. ([#1438](https://github.com/MetaMask/core/pull/1438)) ## [7.0.0] + ### Added + - Added `waitForFinishStatus` to `AbstractMessageManager` which is waiting for the message to be proccesed and resolve. ([#1377](https://github.com/MetaMask/core/pull/1377)) ### Changed + - **BREAKING:** Removed `addUnapprovedMessageAsync` methods from `PersonalMessageManager`, `TypedMessageManager` and `MessageManager` because it's not consumed by `SignatureController` anymore. ([#1377](https://github.com/MetaMask/core/pull/1377)) ## [6.0.0] + ### Added + - Add `getAllMessages` and `setMetadata` methods to message managers ([#1364](https://github.com/MetaMask/core/pull/1364)) - A new optional `metadata` property has been added to the message type as well - Add support for deferred signing ([#1364](https://github.com/MetaMask/core/pull/1364)) @@ -87,59 +120,83 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add the `setMessageStatusInProgress` method to set a message status to `inProgress` ([#1339](https://github.com/MetaMask/core/pull/1339)) ### Changed + - **BREAKING:** The `getCurrentChainId` constructor parameter for each message manager now expects a `Hex` return type rather than a decimal string ([#1367](https://github.com/MetaMask/core/pull/1367)) - Note that while every message manager class accepts this as a constructor parameter, it's only used by the `TypedMessageManager` at the moment - Add `@metamask/utils` dependency ([#1370](https://github.com/MetaMask/core/pull/1370)) ## [5.0.0] + ### Fixed + - **BREAKING:** Add chain validation to `eth_signTypedData_v4` signature requests ([#1331](https://github.com/MetaMask/core/pull/1331)) ## [4.0.0] + ### Changed + - **BREAKING:** Change type of `securityProviderResponse` to `Record` ([#1214](https://github.com/MetaMask/core/pull/1214)) - **BREAKING:** Update to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) ## [3.1.1] + ### Fixed -- Ensure message updates get saved in state even when they aren't emitted right away ([#1245](https://github.com/MetaMask/core/pull/1245)) + +- Ensure message updates get saved in state even when they aren't emitted right away ([#1245](https://github.com/MetaMask/core/pull/1245)) - The `updateMessage` method included in each message manager accepted an `emitUpdate` boolean argument that would enable to caller to prevent that update from updating the badge (which displays the count of pending confirmations). Unfortunately this option would also prevent the update from being saved in state. - This method has been updated to ensure message updates are saved in state, even when the badge update event is suppressed ## [3.1.0] + ### Added + - Add DecryptMessageManager ([#1149](https://github.com/MetaMask/core/pull/1149)) ## [3.0.0] + ### Added + - Add EncryptionPublicKeyManager ([#1144](https://github.com/MetaMask/core/pull/1144)) - Add security provider request to AbstractMessageManager ([#1145](https://github.com/MetaMask/core/pull/1145)) ### Changed + - **BREAKING:** The methods `addMessage` and `addUnapprovedMessage` on each "message manager" controller are now asynchronous ([#1145](https://github.com/MetaMask/core/pull/1145)) ## [2.1.0] + ### Added + - Add SIWE detection support for PersonalMessageManager ([#1139](https://github.com/MetaMask/core/pull/1139)) ## [2.0.0] + ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [1.0.2] + ### Changed + - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) - Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [1.0.1] + ### Changed + - Relax dependencies on `@metamask/base-controller` and `@metamask/controller-utils` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - Everything in `src/message-manager` - Message manager-related functions in `src/util.ts` and accompanying tests diff --git a/packages/name-controller/CHANGELOG.md b/packages/name-controller/CHANGELOG.md index 2fa0e0d3b15..a22fd93d197 100644 --- a/packages/name-controller/CHANGELOG.md +++ b/packages/name-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,43 +8,59 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [5.0.0] + ### Changed + - **BREAKING:** Add expire limit for proposed names ([#3748](https://github.com/MetaMask/core/pull/3748)) - Expired names now get removed on every call to `updateProposedNames` - Bump `@metamask/base-controller` to `^4.1.1` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [4.2.0] + ### Added + - Add `origin` property to `NameEntry` and `SetNameRequest` ([#3751](https://github.com/MetaMask/core/pull/3751)) ## [4.1.0] + ### Added + - Add fallback variation for petnames ([#3705](https://github.com/MetaMask/core/pull/3705)) ## [4.0.1] + ### Changed + - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) ## [4.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - Bump `@metamask/utils` to ^8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) ## [3.0.1] + ### Changed + - Bump dependency on `@metamask/utils` to ^8.1.0 ([#1639](https://github.com/MetaMask/core/pull/1639)) - Bump dependency on `@metamask/base-controller` to ^3.2.3 ## [3.0.0] + ### Changed + - **BREAKING**: Normalize addresses and chain IDs ([#1732](https://github.com/MetaMask/core/pull/1732)) - Save addresses and chain IDs as lowercase in state - Remove `getChainId` constructor callback - Require a `variation` property when calling `setName` or `updateProposedNames` with the `ethereumAddress` type ## [2.0.0] + ### Changed + - **BREAKING**: Support rate limiting in name providers ([#1715](https://github.com/MetaMask/core/pull/1715)) - Breaking changes: - Change `proposedNames` property in `NameEntry` type from string array to new `ProposedNamesEntry` type @@ -58,7 +75,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [1.0.0] + ### Added + - Initial Release ([#1647](https://github.com/MetaMask/core/pull/1647)) [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/name-controller@5.0.0...HEAD diff --git a/packages/network-controller/CHANGELOG.md b/packages/network-controller/CHANGELOG.md index 4e72f856b2b..9afe5c62d70 100644 --- a/packages/network-controller/CHANGELOG.md +++ b/packages/network-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,7 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [17.2.0] + ### Changed + - The `setActiveNetwork` method and action now supports built-in network types ([#3764](https://github.com/MetaMask/core/pull/3764)) - Previously this would only accept a network configuration ID. Now it will accept the type of a built-in network as well, using it like an ID. This lets you switch to a built-in or custom network with a single method/action. - Deprecate the `setProviderType` method and action ([#3764](https://github.com/MetaMask/core/pull/3764)) @@ -20,11 +23,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/json-rpc-engine` to `^7.3.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [17.1.0] + ### Added + - Add `getNetworkConfigurationByNetworkClientId` method which can be used to retrieve details for both custom and built-in networks (using the network configuration object shape) ([#2055](https://github.com/MetaMask/core/pull/2055)) - Add `NetworkController:getNetworkConfigurationByNetworkClientId` messenger action for the previous method ([#2055](https://github.com/MetaMask/core/pull/2055)) ### Changed + - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) - Bump `@metamask/controller-utils` to `^8.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695), [#3678](https://github.com/MetaMask/core/pull/3678), [#3667](https://github.com/MetaMask/core/pull/3667), [#3580](https://github.com/MetaMask/core/pull/3580)) - Bump `@metamask/eth-json-rpc-provider` to `^2.3.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) @@ -35,24 +41,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Both of these events now include `NetworkState` as the first and only item in the payload ## [17.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - Bump `@metamask/controller-utils` to ^6.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [16.0.0] + ### Changed + - **BREAKING:** Bump dependency `@metamask/eth-query` from ^3.0.1 to ^4.0.0 ([#2028](https://github.com/MetaMask/core/pull/2028)) - This is breaking because it changes the type of the EthQuery instance this controller creates internally and exports under the `getEthQuery` action. Please consult the [changelog for `@metamask/eth-query` 4.0.0](https://github.com/MetaMask/eth-query/blob/main/CHANGELOG.md#400) for more. ## [15.2.0] + ### Changed + - Update @metamask/eth-json-rpc-middleware in network controller ([#1988](https://github.com/MetaMask/core/pull/1988)) - Bump dependency on `@metamask/json-rpc-engine` to ^7.2.0 ([#1895](https://github.com/MetaMask/core/pull/1895)) - Bump @metamask/utils from 8.1.0 to 8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) ## [15.1.0] + ### Added + - Add new action handlers and associated types ([#1806](https://github.com/MetaMask/core/pull/1806)) - `NetworkController:setActiveNetwork` / `NetworkControllerSetActiveNetworkAction` - `NetworkController:setProviderType` / `NetworkControllerSetProviderTypeAction` @@ -60,10 +74,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add `ticker` to `NetworkClientConfiguration` ([#1794](https://github.com/MetaMask/core/pull/1794)) ### Changed + - Bump dependency on `@metamask/eth-json-rpc-provider` to ^2.2.0 ([#1738](https://github.com/MetaMask/core/pull/1738)) ## [15.0.0] + ### Changed + - **BREAKING:** Bump dependency on `@metamask/eth-json-rpc-infura` to ^9.0.0 ([#1653](https://github.com/MetaMask/core/pull/1653)) - **BREAKING:** Bump dependency on `@metamask/eth-json-rpc-middleware` to ^12.0.0 ([#1653](https://github.com/MetaMask/core/pull/1653)) - **BREAKING:** Move from `json-rpc-engine` ^7.1.1 to `@metamask/json-rpc-engine` ^8.0.0 ([#1653](https://github.com/MetaMask/core/pull/1653)) @@ -72,24 +89,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Move from `eth-rpc-errors` ^4.0.2 to `@metamask/rpc-errors` ^6.1.0 ([#1653](https://github.com/MetaMask/core/pull/1653)) ## [14.0.0] + ### Added + - Add `NetworkController:getEIP1559Compatibility` controller action ([#1673](https://github.com/MetaMask/core/pull/1673)) ### Changed + - **BREAKING:** Rename `get1555CompatibilityWithNetworkClientId` to `get1559CompatibilityWithNetworkClientId` ([#1673](https://github.com/MetaMask/core/pull/1673)) - Bump dependency on `@metamask/utils` to ^8.1.0 ([#1639](https://github.com/MetaMask/core/pull/1639)) - Bump dependency on `@metamask/base-controller` to ^3.2.3 - Bump dependency on `@metamask/controller-utils` to ^5.0.2 ### Fixed + - Update linea goerli explorer url ([#1666](https://github.com/MetaMask/core/pull/1666)) ## [13.0.1] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [13.0.0] + ### Changed + - **BREAKING**: Remove `NetworkId` type ([#1633](https://github.com/MetaMask/core/pull/1633)) - **BREAKING**: Remove `networkId` property from `NetworkState` type ([#1633](https://github.com/MetaMask/core/pull/1633)) - Update scaffold RPC middleware for built-in Infura networks to no longer resolve `net_version` locally ([#1633](https://github.com/MetaMask/core/pull/1633)) @@ -97,32 +122,44 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump dependency on `@metamask/controller-utils` to ^5.0.0 ## [12.2.0] + ### Added + - Add `NetworkController:getNetworkClientById` action ([#1638](https://github.com/MetaMask/core/pull/1638)) - Add `lookupNetworkByClientId` and `get1555CompatibilityWithNetworkClientId` methods ([#1557](https://github.com/MetaMask/core/pull/1557)) ### Changed -- Add optional `networkClientId` argument to methods `lookupNetwork` and `getEIP1559Compatibility` ([#1557](https://github.com/MetaMask/core/pull/1557)) + +- Add optional `networkClientId` argument to methods `lookupNetwork` and `getEIP1559Compatibility` ([#1557](https://github.com/MetaMask/core/pull/1557)) ## [12.1.2] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.1 - Bump dependency on `@metamask/controller-utils` to ^4.3.2 ## [12.1.1] + ### Added + - Added an export for NetworkClientId in NetworkController ([#1583](https://github.com/MetaMask/core/pull/1583)) ## [12.1.0] + ### Added + - Add `getNetworkClientById` ([#1562](https://github.com/MetaMask/core/pull/1562)) - Add `findNetworkClientIdByChainId` ([#1571](https://github.com/MetaMask/core/pull/1571)) ## [12.0.0] + ### Added + - Add `NetworksMetadata` type ([#1559](https://github.com/MetaMask/core/pull/1559)) ### Changed + - **BREAKING:** Remove `NetworkDetails` type in favor of `NetworkMetadata` ([#1559](https://github.com/MetaMask/core/pull/1559)) - This new type includes `NetworkDetails` plus a `status` property - **BREAKING:** Add `networksMetadata` to state ([#1559](https://github.com/MetaMask/core/pull/1559)) @@ -133,11 +170,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Replace `eth-query` ^2.1.2 with `@metamask/eth-query` ^3.0.1 ([#1546](https://github.com/MetaMask/core/pull/1546)) ### Removed + - **BREAKING:** Remove `networkDetails` from state ([#1559](https://github.com/MetaMask/core/pull/1559)) - The data in this state property has been merged into the new `networksMetadata` state property; each value in this object contains an `EIPS` property. ## [11.0.0] + ### Changed + - **BREAKING**: Require `ticker` to be included in the `providerConfig` state ([#1495](https://github.com/MetaMask/core/pull/1495)) - This requires a state migration, setting `providerConfig.ticker` to `ETH` if it's missing. - Update `@metamask/utils` to `^6.2.0` ([#1514](https://github.com/MetaMask/core/pull/1514)) @@ -145,16 +185,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Remove unnecessary `babel-runtime` dependency ([#1504](https://github.com/MetaMask/core/pull/1504)) ## [10.3.1] + ### Changed + - Bump `@metamask/eth-json-rpc-infura` dependency from ^8.0.0 to ^8.1.0 - This extends the types that this package recognizes to include Linea networks ## [10.3.0] + ### Added + - Add `getNetworkClientsById` method ([#1439](https://github.com/MetaMask/core/pull/1439)) - This method returns a registry of available built-in and custom networks, allowing consumers to access multiple networks simultaneously if desired ### Changed + - Network clients are retained and will no longer be destroyed or recreated whenever the network is initialized or switched ([#1439](https://github.com/MetaMask/core/pull/1439)) - This means that cached responses for a network will no longer disappear when a different network is selected - Update `upsertNetworkConfiguration` to keep the network client registry up to date with changes to the set of network configurations ([#1439](https://github.com/MetaMask/core/pull/1439)) @@ -162,22 +207,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - If an existing network configuration is updated, its information will be used to recreate the client for the corresponding network ## [10.2.0] + ### Added + - Expose `BlockTracker` type ([#1443](https://github.com/MetaMask/core/pull/1443)) ## [10.1.0] + ### Added + - Add `loadBackup` method to NetworkController ([#1421](https://github.com/MetaMask/core/pull/1421)) ## [10.0.0] + ### Changed + - **BREAKING:** Update `getEIP1559Compatibility` to return `false` instead of `true` if the provider has not been initialized yet ([#1404](https://github.com/MetaMask/core/pull/1404)) - Update `getEIP1559Compatibility` to not hit the current network if it is known that it does not support EIP-1559 ([#1404](https://github.com/MetaMask/core/pull/1404)) - Update `networkDetails` initial state from `{ EIPS: { 1559: false } }` to `{ EIPS: {} }` ([#1404](https://github.com/MetaMask/core/pull/1404)) - Update lookupNetwork to unset `networkDetails.EIPS[1559]` in state instead of setting it `false` if either of its requests for the network ID or network details fails ([#1403](https://github.com/MetaMask/core/pull/1403)) ## [9.0.0] + ### Added + - The events `networkWillChange` and `networkDidChange` are emitted during `setProviderType`, `setActiveNetwork`, `resetConnection`, and `rollbackToPreviousProvider` ([#1336](https://github.com/MetaMask/core/pull/1336)) - The `networkWillChange` event is emitted before the network is switched (before the network status is cleared), - The `networkDidChange` event is emitted after the new provider is setup (but before it has finished initializing). @@ -186,6 +239,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add `NetworkController:getState` action constant ([#1329](https://github.com/MetaMask/core/pull/1329)) ### Changed + - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) - **BREAKING:** The `providerConfig` type and state property have changed. The `chainId` property is now `Hex` rather than a decimal `string` ([#1367](https://github.com/MetaMask/core/pull/1367)) - This requires a state migration @@ -238,20 +292,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add dependency `json-rpc-engine` ^6.1.0 ([#1116](https://github.com/MetaMask/core/pull/1116)) ### Removed + - **BREAKING:** Remove `providerConfigChange` event ([#1329](https://github.com/MetaMask/core/pull/1329)) - Consumers are encouraged to subscribe to `NetworkController:stateChange` with a selector function that returns `providerConfig` if they want to perform an action when `providerConfig` changes. - **BREAKING:** The built-in "localhost" network has been removed ([#1313](https://github.com/MetaMask/core/pull/1313)) ### Fixed + - Update network details in `lookupNetwork` even when network ID is unchanged ([#1379](https://github.com/MetaMask/core/pull/1379)) - Fix error when `rollbackToPreviousProvider` is called when the previous network is a custom network with a missing or invalid `id` ([#1223](https://github.com/MetaMask/core/pull/1223)) - In that situation, `rollbackToPreviousProvider` used to throw an error. Now it correctly rolls back instead. ## [8.0.0] + ### Added + - Implement `resetConnection` method ([#1131](https://github.com/MetaMask/core/pull/1131), [#1235](https://github.com/MetaMask/core/pull/1235), [#1239](https://github.com/MetaMask/core/pull/1239)) ### Changed + - Update EIP-1559 compatibility during network lookup ([#1236](https://github.com/MetaMask/core/pull/1236)) - EIP-1559 compatibility check is still performed on initialization and after switching networks, like before. This change only impacts direct calls to `lookupNetwork`. - `lookupNetwork` is now making two network calls instead of one, ensuring that the `networkDetails` state is up-to-date. @@ -276,20 +335,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - deps: bump @metamask/utils to 5.0.1 ([#1211](https://github.com/MetaMask/core/pull/1211)) ### Removed + - **BREAKING:** Remove `isCustomNetwork` state ([#1199](https://github.com/MetaMask/core/pull/1199)) - The `providerConfig.type` state will be set to `'rpc'` if the current network is a custom network. Replace all references to the `isCustomNetwork` state by checking the provider config state instead. ## [7.0.0] + ### Changed + - **BREAKING:** Replace `providerConfig` setter with a public `initializeProvider` method ([#1133](https://github.com/MetaMask/core/pull/1133)) - The property `providerConfig` should no longer be set to initialize the provider. That property no longer exists. - The method `initializeProvider` must be called instead to initialize the provider after constructing the network controller. ## [6.0.0] + ### Added + - Add rollbackToPreviousProvider method ([#1132](https://github.com/MetaMask/core/pull/1132)) ### Changed + - **BREAKING:** Migrate network configurations from `PreferencesController` to `NetworkController` ([#1064](https://github.com/MetaMask/core/pull/1064)) - Consumers will need to adapt to reading network data from `NetworkConfigurations` state on `NetworkController` rather than `frequentRpcList` on `PreferencesController`. - `setRpcTarget` becomes `setActiveNetwork` on `NetworkController` and accepts a `networkConfigurationId` argument rather than an `rpcUrl`. @@ -300,45 +365,60 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - This change is breaking because it removes the provider property from `NetworkController`. Instead, a new method `getProviderAndBlockTracker` method is available for accessing the current provider object. ## [5.0.0] + ### Changed + - **BREAKING:** Rename `properties` property in state object to `networkDetails` ([#1074](https://github.com/MetaMask/controllers/pull/1074)) ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [4.0.0] + ### Changed + - **BREAKING:** Update type of state object by renaming `properties` property to `networkDetails` ([#1074](https://github.com/MetaMask/core/pull/1074)) - Consumers are recommended to add a state migration for this change. - **BREAKING:** Rename `NetworkProperties` type to `NetworkDetails` ([#1074](https://github.com/MetaMask/core/pull/1074)) - Change `getEIP1559Compatibility` to use async await syntax ([#1084](https://github.com/MetaMask/core/pull/1084)) ## [3.0.0] + ### Added + - Add support for Sepolia as a built-in Infura network ([#1041](https://github.com/MetaMask/controllers/pull/1041)) - Export types for network controller events and actions ([#1039](https://github.com/MetaMask/core/pull/1039)) ### Changed + - **BREAKING:** Make `lookupNetwork` block on completing the lookup ([#1063](https://github.com/MetaMask/controllers/pull/1063)) - This function was always `async`, but it would return before completing any async work. Now it will not return until after the network lookup has been completed. - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) - Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ### Removed + - **BREAKING:**: Drop support for Ropsten, Rinkeby, and Kovan as built-in Infura networks ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [2.0.0] + ### Changed + - **BREAKING:** Update type of state object by renaming `provider` property to `providerConfig` ([#995](https://github.com/MetaMask/core/pull/995)) - Consumers are recommended to add a state migration for this change. - **BREAKING:** Rename `NetworkController:providerChange` messenger event to `NetworkController:providerConfigChange` ([#995](https://github.com/MetaMask/core/pull/995)) - Relax dependencies on `@metamask/base-controller` and `@metamask/controller-utils` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - Everything in `src/network` (minus `NetworkType` and `NetworksChainId`, which were placed in `@metamask/controller-utils`) All changes listed after this point were applied to this package following the monorepo conversion. diff --git a/packages/notification-controller/CHANGELOG.md b/packages/notification-controller/CHANGELOG.md index a771e02500e..06e6512aa35 100644 --- a/packages/notification-controller/CHANGELOG.md +++ b/packages/notification-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,60 +8,86 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [4.0.2] + ### Changed + - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) - Bump `@metamask/base-controller` to `^4.1.1` ([#3760](https://github.com/MetaMask/core/pull/3760), [#3821](https://github.com/MetaMask/core/pull/3821)) ## [4.0.1] + ### Changed + - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) ## [4.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - Bump `@metamask/utils` to ^8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) ## [3.1.3] + ### Changed + - Bump dependency on `@metamask/utils` to ^8.1.0 ([#1639](https://github.com/MetaMask/core/pull/1639)) - Bump dependency on `@metamask/base-controller` to ^3.2.3 ## [3.1.2] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [3.1.1] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.1 ## [3.1.0] + ### Changed + - Update `@metamask/utils` to `^6.2.0` ([#1514](https://github.com/MetaMask/core/pull/1514)) ## [3.0.0] + ### Changed + - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) - Add `@metamask/utils` dependency ([#1275](https://github.com/MetaMask/core/pull/1275)) ## [2.0.0] + ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [1.0.2] + ### Changed + - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) -- Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) +- Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [1.0.1] + ### Changed + - Relax dependencies on `@metamask/base-controller` and `@metamask/controller-utils` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - Everything in `src/notification` All changes listed after this point were applied to this package following the monorepo conversion. diff --git a/packages/permission-controller/CHANGELOG.md b/packages/permission-controller/CHANGELOG.md index 31aae2fb9bb..c1f9a562a15 100644 --- a/packages/permission-controller/CHANGELOG.md +++ b/packages/permission-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,7 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [8.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/approval-controller` peer dependency to `^5.1.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) - Bump `@metamask/base-controller` to `^4.1.1` ([#3760](https://github.com/MetaMask/core/pull/3760), [#3821](https://github.com/MetaMask/core/pull/3821)) @@ -15,24 +18,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/json-rpc-engine` to `^7.3.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [7.1.0] + ### Added + - Add `SubjectMetadataController:addSubjectMetadata` action ([#3733](https://github.com/MetaMask/core/pull/3733)) ## [7.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/approval-controller` peer dependency from `^5.0.0` to `^5.1.1` ([#3680](https://github.com/MetaMask/core/pull/3680), [#3695](https://github.com/MetaMask/core/pull/3695)) - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) - Bump `@metamask/controller-utils` to `^8.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695), [#3678](https://github.com/MetaMask/core/pull/3678), [#3667](https://github.com/MetaMask/core/pull/3667), [#3580](https://github.com/MetaMask/core/pull/3580)) - Bump `@metamask/json-rpc-engine` to `^7.3.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) ### Fixed + - Remove `@metamask/approval-controller` dependency ([#3607](https://github.com/MetaMask/core/pull/3607)) ## [6.0.0] + ### Added + - Add new handler to `permissionRpcMethods.handlers` for `wallet_revokePermissions` RPC method ([#1889](https://github.com/MetaMask/core/pull/1889)) ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - **BREAKING:** Update `PermittedRpcMethodHooks` type so it must support signature for `wallet_revokePermission` hook ([#1889](https://github.com/MetaMask/core/pull/1889)) @@ -40,7 +51,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/controller-utils` to ^6.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [5.0.1] + ### Changed + - Bump `@metamask/json-rpc-engine` from `^7.1.0` to `^7.2.0` ([#1895](https://github.com/MetaMask/core/pull/1895)) - Bump dependency on `@metamask/rpc-errors` to ^6.1.0 ([#1653](https://github.com/MetaMask/core/pull/1653)) - Bump dependency and peer dependency on `@metamask/approval-controller` to ^4.0.1 @@ -48,7 +61,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/auto-changelog` from `^3.2.0` to `^3.4.3` ([#1870](https://github.com/MetaMask/core/pull/1870), [#1905](https://github.com/MetaMask/core/pull/1905), [#1997](https://github.com/MetaMask/core/pull/1997)) ## [5.0.0] + ### Changed + - **BREAKING:** Remove `undefined` from RestrictedMethodParameters type union and from type parameter for RestrictedMethodOptions ([#1749])(https://github.com/MetaMask/core/pull/1749)) - **BREAKING:** Update from `json-rpc-engine@^6.1.0` to `@metamask/json-rpc-engine@^7.1.1` ([#1749])(https://github.com/MetaMask/core/pull/1749)) - Update from `eth-rpc-errors@^4.0.2` to `@metamask/rpc-errors@^6.0.0` ([#1749])(https://github.com/MetaMask/core/pull/1749)) @@ -58,27 +73,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump dependency on `@metamask/controller-utils` to ^5.0.2 ## [4.1.2] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) - Bump dependency on `@metamask/controller-utils` to ^5.0.0 ## [4.1.1] + ### Changed + - Bump dependency and peer dependency on `@metamask/approval-controller` to ^3.5.1 - Bump dependency on `@metamask/base-controller` to ^3.2.1 - Bump dependency on `@metamask/controller-utils` to ^4.3.2 ## [4.1.0] + ### Changed + - Update `@metamask/utils` to `^6.2.0` ([#1514](https://github.com/MetaMask/core/pull/1514)) ## [4.0.1] + ### Fixed + - Fix permissions RPC method types ([#1464](https://github.com/MetaMask/core/pull/1464)) - The RPC method handlers were mistakenly typed as an array rather than a tuple ## [4.0.0] + ### Changed + - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) - **BREAKING:** Update `@metamask/approval-controller` dependency and peer dependency - The export `permissionRpcMethods` has a slightly different type; the second generic type variable of the `getPermissions` handler is now `undefined` rather than `void` ([#1372](https://github.com/MetaMask/core/pull/1372)) @@ -87,6 +112,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Change type of constructor parameter `unrestrictedMethods` to be readonly ([#1395](https://github.com/MetaMask/core/pull/1395)) ### Removed + - **BREAKING**: Remove namespaced permissions ([#1337](https://github.com/MetaMask/core/pull/1337)) - Namespaced permissions are no longer supported. Consumers should replace namespaced permissions with equivalent caveat-based implementations. - **BREAKING**: Remove `targetKey` concept ([#1337](https://github.com/MetaMask/core/pull/1337)) @@ -94,43 +120,61 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The `targetKey` property of permission specifications has been renamed to `targetName`. ## [3.2.0] + ### Added + - Allow restricting permissions by subject type ([#1233](https://github.com/MetaMask/core/pull/1233)) ### Changed + - Move `SubjectMetadataController` to permission-controller package ([#1234](https://github.com/MetaMask/core/pull/1234)) - Update minimum `eth-rpc-errors` version from `4.0.0` to `4.0.2` ([#1215](https://github.com/MetaMask/core/pull/1215)) ## [3.1.0] + ### Added + - Add side-effects to permissions ([#1069](https://github.com/MetaMask/core/pull/1069)) ## [3.0.0] + ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [2.0.0] + ### Added + - Add `updateCaveat` action ([#1071](https://github.com/MetaMask/core/pull/1071)) ### Changed + - **BREAKING:** Update `@metamask/network-controller` peer dependency to v3 ([#1041](https://github.com/MetaMask/controllers/pull/1041)) - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) - Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [1.0.2] + ### Fixed + - This package will now warn if a required package is not present ([#1003](https://github.com/MetaMask/core/pull/1003)) ## [1.0.1] + ### Changed + - Relax dependencies on `@metamask/approval-controller`, `@metamask/base-controller` and `@metamask/controller-utils` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - Everything in `src/permissions` All changes listed after this point were applied to this package following the monorepo conversion. diff --git a/packages/permission-log-controller/CHANGELOG.md b/packages/permission-log-controller/CHANGELOG.md index 27eb830b8c5..b518709c7b8 100644 --- a/packages/permission-log-controller/CHANGELOG.md +++ b/packages/permission-log-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), diff --git a/packages/phishing-controller/CHANGELOG.md b/packages/phishing-controller/CHANGELOG.md index febf426f316..0744c521396 100644 --- a/packages/phishing-controller/CHANGELOG.md +++ b/packages/phishing-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,28 +8,38 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [8.0.2] + ### Changed + - Bump `@metamask/base-controller` to `^4.1.1` ([#3760](https://github.com/MetaMask/core/pull/3760), [#3821](https://github.com/MetaMask/core/pull/3821)) - Bump `@metamask/controller-utils` to `^8.0.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [8.0.1] + ### Changed + - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) - Bump `@metamask/controller-utils` to `^8.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695), [#3678](https://github.com/MetaMask/core/pull/3678), [#3667](https://github.com/MetaMask/core/pull/3667), [#3580](https://github.com/MetaMask/core/pull/3580)) ## [8.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - Bump `@metamask/controller-utils` to ^6.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [7.0.1] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.3 ([#1747](https://github.com/MetaMask/core/pull/1747)) - Bump dependency on `@metamask/controller-utils` to ^5.0.2 ([#1747](https://github.com/MetaMask/core/pull/1747)) ## [7.0.0] + ### Changed + - **BREAKING:** Migrate `PhishingController` to BaseControllerV2 ([#1705](https://github.com/MetaMask/core/pull/1705)) - `PhishingController` now expects a `messenger` option (and corresponding type `PhishingControllerMessenger` is now available) - The constructor takes a single argument, an options bag, instead of three arguments @@ -36,25 +47,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [6.0.2] + ### Changed + - Bump dependency on `@metamask/controller-utils` to ^5.0.0 ## [6.0.1] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.1 - Bump dependency on `@metamask/controller-utils` to ^4.3.2 ## [6.0.0] + ### Changed + - **BREAKING:** Remove fallback phishing configuration ([#1527](https://github.com/MetaMask/core/pull/1527)) - The default configuration is now blank. A custom initial configuration can still be specified via the constructor to preserve the old behavior. ## [5.0.0] + ### Changed + - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) ## [4.0.0] + ### Changed + - **BREAKING:** Switch to new phishing configuration API that returns a diff since the last update ([#1123](https://github.com/MetaMask/core/pull/1123)) - The "hotlist" has been replaced by a service that returns any configuration changes since the last update. This should reduce network traffic even further. - The endpoints used are now `https://phishing-detection.metafi.codefi.network/v1/stalelist` and `https://phishing-detection.metafi.codefi.network/v1/diffsSince/:lastUpdated` @@ -63,12 +84,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The PhishFort config is deduplicated server-side, so it should have zero overlap with the MetaMask configuration (which helps reduce memory/disk usage) ## [3.0.0] + ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [2.0.0] + ### Changed + - **BREAKING:** Refactor to Cost-Optimized Phishing List Data Architecture. ([#1080](https://github.com/MetaMask/core/pull/1080)) - Rather than periodically downloading two separate configurations (MetaMask and Phishfort), we now download a combined "stalelist" and "hotlist". The stalelist is downloaded every 4 days, and the hotlist is downloaded every 30 minutes. The hotlist only includes data from the last 8 days, which should dramatically reduce the required network traffic for phishing config updates. - When a site is blocked, we no longer know which list is responsible due to the combined format. We will need to come up with another way to attribute blocks to a specific list; this controller will no longer be responsible for that. @@ -87,27 +112,38 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The `updatePhishingLists` method has been replaced by `updateStalelist` and `updateHotlist` ## [1.1.2] + ### Fixed + - Improve performance of phishing list update ([#1086](https://github.com/MetaMask/core/pull/1086)) - We now use a `Set` + `has` method instead of the array `includes` method for detecting overlap between phishing lists after an update. ## [1.1.1] + ### Changed + - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) - Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [1.1.0] + ### Added + - Add method to conditionally update the phishing lists ([#986](https://github.com/MetaMask/core/pull/986)) ### Changed + - Relax dependencies on `@metamask/base-controller` and `@metamask/controller-utils` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) - Expose `lastFetched` in PhishingController state ([#986](https://github.com/MetaMask/core/pull/986)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - `src/third-party/PhishingController.ts` - `src/third-party/PhishingController.test.ts` diff --git a/packages/polling-controller/CHANGELOG.md b/packages/polling-controller/CHANGELOG.md index c39db160603..749cd964f4c 100644 --- a/packages/polling-controller/CHANGELOG.md +++ b/packages/polling-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,63 +8,84 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [5.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/network-controller` peer dependency to `^17.2.0` ([#3821](https://github.com/MetaMask/core/pull/3821)) - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) - Bump `@metamask/base-controller` to `^4.1.1` ([#3760](https://github.com/MetaMask/core/pull/3760), [#3821](https://github.com/MetaMask/core/pull/3821)) - Bump `@metamask/controller-utils` to `^8.0.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [4.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/network-controller` dependency and peer dependency from `^17.0.0` to `^17.1.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) - Bump `@metamask/controller-utils` to `^8.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695), [#3678](https://github.com/MetaMask/core/pull/3678)) ## [3.0.0] + ### Added + - `BlockTrackerPollingController`, `BlockTrackerPollingControllerV1` and `BlockTrackerPollingControllerOnly` have been added and can be used by subclasses to poll with a blockTracker using the same API as the `StaticIntervalPollingController` versions - the only exception is the requirement to implement the abstract method `_getNetworkClientById` on subclasses. ### Changed + - **BREAKING:** `PollingController`, `PollingControllerV1` and `PollingControllerOnly` are all removed and replaced by `StaticIntervalPollingController`, `StaticIntervalPollingControllerV1` and `StaticIntervalPollingControllerOnly` ([#3636](https://github.com/MetaMask/core/pull/3636)) ## [2.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - Bump `@metamask/controller-utils` to ^6.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - Bump `@metamask/network-controller` to ^17.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [1.0.2] + ### Changed + - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^16.0.0 - Bump @metamask/utils from 8.1.0 to 8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) ## [1.0.1] + ### Fixed + - Export `PollingControllerOnly` ([#1921](https://github.com/MetaMask/core/pull/1921)) ## [1.0.0] + ### Added + - Add `PollingControllerOnly` to extend from an empty class. This will allow classes that previously are just classes that don't extend from BaseV1 or V2 to extend from this new `PollingControllerOnly`. ([#1873](https://github.com/MetaMask/core/pull/1873)) ### Changed + - **BREAKING:** `_executePoll()` is called immediately on start if no polling interval is already active for the networkClientId + options combination ([#1874](https://github.com/MetaMask/core/pull/1874)) - Bump dependency and peer dependency on `@metamask/network-controller` to ^15.1.0 ## [0.2.0] + ### Added + - Add way to start and stop different polling sessions for the same network client ID by providing extra scoping data ([#1776](https://github.com/MetaMask/core/pull/1776)) - Add optional second argument to `stopPollingByPollingToken` (formerly `stopPollingByNetworkClientId`) - Add optional second argument to `onPollingCompleteByNetworkClientId` ### Changed + - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^15.0.0 - **BREAKING:** Polling controllers are expected to override `_executePoll` instead of `executePoll` ([#1810](https://github.com/MetaMask/core/pull/1810)) - **BREAKING:** Rename `stopPollingByNetworkClientId` to `stopPollingByPollingToken` ([#1810](https://github.com/MetaMask/core/pull/1810)) - Add dependency on `fast-json-stable-stringify` ^2.1.0 ## [0.1.0] + ### Added + - Initial release [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/polling-controller@5.0.0...HEAD diff --git a/packages/preferences-controller/CHANGELOG.md b/packages/preferences-controller/CHANGELOG.md index f87c730a3b8..f06725af8d7 100644 --- a/packages/preferences-controller/CHANGELOG.md +++ b/packages/preferences-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,19 +8,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [7.0.0] + ### Changed + - **BREAKING:** Keep `PreferencesController` state synchronized with `KeyringController` state ([#3799](https://github.com/MetaMask/core/pull/3799)) - The `KeyringController:stateChange` event is now required by the `PreferencesController` messenger, which is a breaking change. - The package `@metamask/keyring-controller` has been added as a `peerDependency` and as a `devDependency`, which is a breaking change. - - Previously the state was synchronized manually by calling `syncIdentities` or `updateIdentities`. Calling these methods is no longer required. + - Previously the state was synchronized manually by calling `syncIdentities` or `updateIdentities`. Calling these methods is no longer required. - Bump `@metamask/base-controller` to `^4.1.1` ([#3760](https://github.com/MetaMask/core/pull/3760), [#3821](https://github.com/MetaMask/core/pull/3821)) - Bump `@metamask/controller-utils` to `^8.0.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [6.0.0] + ### Added + - Added `getDefaultPreferencesState` function ([#3736](https://github.com/MetaMask/core/pull/3736)) ### Changed + - **BREAKING** Clean up types ([#3712](https://github.com/MetaMask/core/pull/3712)) - Replace `ContactEntry` interface with `Identity` type - Convert `PreferencesState` from an interface to a type @@ -28,12 +34,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Additional type exports have been added for the controller messenger and associated types ## [5.0.1] + ### Changed + - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) - Bump `@metamask/controller-utils` to `^8.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695), [#3678](https://github.com/MetaMask/core/pull/3678), [#3667](https://github.com/MetaMask/core/pull/3667), [#3580](https://github.com/MetaMask/core/pull/3580)) ## [5.0.0] + ### Added + - **BREAKING** Add required property `showIncomingTransactions` to `PreferencesState` ([#1659](https://github.com/MetaMask/core/pull/1659)) - Add types `EtherscanSupportedChains`, `EtherscanSupportedHexChainId` ([#1659](https://github.com/MetaMask/core/pull/1659)) - Add constant `ETHERSCAN_SUPPORTED_CHAIN_IDS` ([#1659](https://github.com/MetaMask/core/pull/1659)) @@ -41,75 +51,107 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - This can be used to set the `showIncomingTransactions` preference for the given chain ID. ### Changed + - Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is not breaking because this controller still inherits from BaseController v1. - Bump `@metamask/controller-utils` to ^6.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [4.4.3] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.3 ([#1747](https://github.com/MetaMask/core/pull/1747)) - Bump dependency on `@metamask/controller-utils` to ^5.0.2 ([#1747](https://github.com/MetaMask/core/pull/1747)) ## [4.4.2] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [4.4.1] + ### Changed + - Bump dependency on `@metamask/controller-utils` to ^5.0.0 ## [4.4.0] + ### Added + - Add `isIpfsGatewayEnabled` property to PreferencesController state ([#1577](https://github.com/MetaMask/core/pull/1577)) - Add `setIsIpfsGatewayEnabled` to set `isIpfsGatewayEnabled` ([#1577](https://github.com/MetaMask/core/pull/1577)) ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.1 - Bump dependency on `@metamask/controller-utils` to ^4.3.2 ## [4.3.0] + ### Added + - Add preference for security alerts ([#1589](https://github.com/MetaMask/core/pull/1589)) ## [4.2.0] + ### Added + - Add controller state property `showTestNetworks` along with a setter method, `setShowTestNetworks` ([#1418](https://github.com/MetaMask/core/pull/1418)) ## [4.1.0] + ### Added + - Add `isMultiAccountBalancesEnabled` to state (default: true) along with a `setIsMultiAccountBalancesEnabled` method to set it ## [4.0.0] + ### Changed + - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) ## [3.0.0] + ### Changed + - **BREAKING:** Migrate network configurations from `PreferencesController` to `NetworkController` ([#1064](https://github.com/MetaMask/core/pull/1064)) - Consumers will need to adapt by reading network data from `NetworkConfigurations` state on `NetworkController` rather than `frequentRpcList` on `PreferencesController`. See `NetworkController` v6.0.0 changelog entry for more details. ## [2.1.0] + ### Added + - `disabledRpcMethodPreferences` state to PreferencesController ([#1109](https://github.com/MetaMask/core/pull/1109)). See [this PR on extension](https://github.com/MetaMask/metamask-extension/pull/17308) and [this ticket](https://github.com/MetaMask/metamask-mobile/issues/5676) ## [2.0.0] + ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [1.0.2] + ### Changed + - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) - Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [1.0.1] + ### Changed + - Relax dependencies on `@metamask/base-controller` and `@metamask/controller-utils` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - `src/user/PreferencesController.ts` (plus `ContactEntry` copied from `src/user/AddressBookController.ts`) - `src/user/PreferencesController.test.ts` diff --git a/packages/queued-request-controller/CHANGELOG.md b/packages/queued-request-controller/CHANGELOG.md index 40ef10377c4..6d5158dfbda 100644 --- a/packages/queued-request-controller/CHANGELOG.md +++ b/packages/queued-request-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,7 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [0.4.0] + ### Changed + - **BREAKING:** Bump `@metamask/approval-controller` peer dependency to `^5.1.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) - **BREAKING:** Bump `@metamask/network-controller` peer dependency to `^17.2.0` ([#3821](https://github.com/MetaMask/core/pull/3821)) - **BREAKING:** Bump `@metamask/selected-network-controller` peer dependency to `^7.0.0` ([#3821](https://github.com/MetaMask/core/pull/3821)) @@ -19,10 +22,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/json-rpc-engine` to `^7.3.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [0.3.0] + ### Added + - Add `QueuedRequestMiddlewareJsonRpcRequest` type ([#1970](https://github.com/MetaMask/core/pull/1970)). ### Changed + - **BREAKING:** `QueuedRequestControllerMessenger` can no longer be defined with any allowed actions or events ([#1970](https://github.com/MetaMask/core/pull/1970)). - **BREAKING:** Add `@metamask/approval-controller` as dependency and peer dependency ([#1970](https://github.com/MetaMask/core/pull/1970), [#3695](https://github.com/MetaMask/core/pull/3695), [#3680](https://github.com/MetaMask/core/pull/3680)) - **BREAKING:** Bump `@metamask/network-controller` dependency and peer dependency from `^17.0.0` to `^17.1.0` ([#3695](https://github.com/MetaMask/core/pull/3695)) @@ -32,10 +38,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) ### Fixed + - Remove `@metamask/approval-controller`, `@metamask/network-controller`, and `@metamask/selected-network-controller` dependencies ([#3607](https://github.com/MetaMask/core/pull/3607)) ## [0.2.0] + ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - Bump `@metamask/controller-utils` to ^6.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) @@ -43,29 +52,40 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/selected-network-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [0.1.4] + ### Changed + - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^16.0.0 - Bump dependency and peer dependency on `@metamask/selected-network-controller` to ^3.1.2 ## [0.1.3] + ### Changed + - Bump dependency on @metamask/json-rpc-engine to ^7.2.0 ([#1895](https://github.com/MetaMask/core/pull/1895)) - Bump @metamask/utils from 8.1.0 to 8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) ### Fixed + - Fixes an issue in the extension when 'useRequestQueue' is enabled. The problem occurred when a DApp's selected network differed from the globally selected network, and when the DApp's chosen network was not a built-in network. Under these conditions, the nickname would not be displayed in the 'toNetworkConfiguration' parameter passed to the `addApproval` function ([#2000](https://github.com/MetaMask/core/pull/2000)). - Fixes an issue in the extension when 'useRequestQueue' is activated. Previously, when invoking 'wallet_addEthereumChain', if the DApp's selected network was different from the globally selected network, the user was incorrectly prompted to switch the Ethereum chain prior to the 'addEthereumChain' request. With this update, 'addEthereumChain' will still be queued (due to its confirmation requirement), but the unnecessary chain switch prompt has been eliminated ([#2000](https://github.com/MetaMask/core/pull/2000)). ## [0.1.2] + ### Fixed + - Fix issue where switching chain would ultimately fail due to the wrong `networkClientId` / `type` ([#1962](https://github.com/MetaMask/core/pull/1962)) ## [0.1.1] + ### Fixed -- Add missing methods that require confirmation ([#1955](https://github.com/MetaMask/core/pull/1955)) + +- Add missing methods that require confirmation ([#1955](https://github.com/MetaMask/core/pull/1955)) ## [0.1.0] + ### Added + - Initial release [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/queued-request-controller@0.4.0...HEAD diff --git a/packages/rate-limit-controller/CHANGELOG.md b/packages/rate-limit-controller/CHANGELOG.md index cdcbec9ff27..82b302c7454 100644 --- a/packages/rate-limit-controller/CHANGELOG.md +++ b/packages/rate-limit-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,60 +8,86 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [4.0.2] + ### Changed + - Bump `@metamask/base-controller` to `^4.1.1` ([#3760](https://github.com/MetaMask/core/pull/3760), [#3821](https://github.com/MetaMask/core/pull/3821)) ## [4.0.1] + ### Changed + - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) ## [4.0.0] + ### Changed + - **BREAKING:** Enforce that `RateLimitedApi['method']` matches action handler type instead of using `any` ([#1890](https://github.com/MetaMask/core/pull/1890)) - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. ## [3.0.3] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.3 ([#1747](https://github.com/MetaMask/core/pull/1747)) - Move from `eth-rpc-errors` ^4.0.2 to `@metamask/rpc-errors` ^6.1.0 ([#1653](https://github.com/MetaMask/core/pull/1653)) ## [3.0.2] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [3.0.1] + ### Changed + - Bump dependency on `@metamask/base-controller` to ^3.2.1 ## [3.0.0] + ### Changed + - **BREAKING:** Allow `RateLimitController` to define a rate-limit per method ([#1355](https://github.com/MetaMask/core/pull/1355)) - The constructor `implementations` option now maps API names to objects with a `method` property, rather than mapping to a function. This object may also have `rateLimitCount` and `rateLimitTimeout` properties, allowing custom rate limits for that method. - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) ## [2.0.1] + ### Changed + - deps: eth-rpc-errors@4.0.0->4.0.2 ([#1215](https://github.com/MetaMask/core/pull/1215)) ## [2.0.0] + ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [1.0.2] + ### Changed + - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) - Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [1.0.1] + ### Changed + - Relax dependency on `@metamask/base-controller` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - Everything in `src/ratelimit` All changes listed after this point were applied to this package following the monorepo conversion. diff --git a/packages/selected-network-controller/CHANGELOG.md b/packages/selected-network-controller/CHANGELOG.md index 116f4a14f3c..d148fd7263e 100644 --- a/packages/selected-network-controller/CHANGELOG.md +++ b/packages/selected-network-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,7 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [7.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/network-controller` peer dependency to `^17.2.0` ([#3821](https://github.com/MetaMask/core/pull/3821)) - Bump `@metamask/swappable-obj-proxy` to `^2.2.0` ([#3784](https://github.com/MetaMask/core/pull/3784)) - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) @@ -15,63 +18,86 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/json-rpc-engine` to `^7.3.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [6.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/network-controller` dependency and peer dependency from `^17.0.0` to `^17.1.0` ([#3695](https://github.com/MetaMask/core/pull/3695)) - Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) - Bump `@metamask/json-rpc-engine` to `^7.3.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) ## [5.0.0] + ### Added + - Add `SelectedNetworkMiddlewareJsonRpcRequest` type ([#1970](https://github.com/MetaMask/core/pull/1970)). - Add `setPerDomainNetwork` method to reset proxies when flag toggled ([#3593](https://github.com/MetaMask/core/pull/3593)). - Add `state` as a constructor argument ([#3585](https://github.com/MetaMask/core/pull/3585)). ### Changed + - **BREAKING:** Rename `SelectedNetworkControllerAction` to `SelectedNetworkControllerActions` and `SelectedNetworkControllerEvent` to `SelectedNetworkControllerEvents` for consistency with corresponding type exports from other controllers ([#1970](https://github.com/MetaMask/core/pull/1970)). - **BREAKING:** `createSelectedNetworkMiddleware` return type is constrained to satisfy `JsonRpcMiddleware`, and its `req` parameter is constrained to satisfy `SelectedNetworkMiddlewareJsonRpcRequest` ([#1970](https://github.com/MetaMask/core/pull/1970)). ## [4.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - Bump `@metamask/network-controller` to ^17.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [3.1.2] + ### Changed + - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^16.0.0 ## [3.1.1] + ### Changed + - Bump `@metamask/json-rpc-engine` from `^7.1.0` to `^7.2.0` ([#1895](https://github.com/MetaMask/core/pull/1895)) ## [3.1.0] + ### Added + - Add `getProviderAndBlockTracker` method to get a proxy provider from `NetworkController` for a given origin/domain. ([#1806](https://github.com/MetaMask/core/pull/1806)) ### Changed + - No longer update `selectedNetworkClientId` when the `NetworkController` provider changes. ([#1806](https://github.com/MetaMask/core/pull/1806)) - Bump dependency and peer dependency on `@metamask/network-controller` to ^15.1.0 ## [3.0.0] + ### Changed + - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^14.0.0 ([#1747](https://github.com/MetaMask/core/pull/1747)) - **BREAKING:** Move from `json-rpc-engine` ^7.1.1 to `@metamask/json-rpc-engine` ^8.0.0 ([#1653](https://github.com/MetaMask/core/pull/1653)) - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^15.0.0 - Bump dependency on `@metamask/base-controller` to ^3.2.3 ([#1747](https://github.com/MetaMask/core/pull/1747)) ### Fixed + - `setNetworkClientIdForDomain()` will now ignore the passed in domain value and set the `networkClientId` for the metamask domain instead when the `state.perDomainNetwork` flag is false (default) ([#1757](https://github.com/MetaMask/core/pull/1757)) ## [2.0.1] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [2.0.0] + ### Changed + - **BREAKING**: Bump peer dependency on `@metamask/network-controller` to ^13.0.0 ([#1633](https://github.com/MetaMask/core/pull/1633)) ## [1.0.0] + ### Added + - Initial Release ([#1643](https://github.com/MetaMask/core/pull/1643)) [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/selected-network-controller@7.0.0...HEAD diff --git a/packages/signature-controller/CHANGELOG.md b/packages/signature-controller/CHANGELOG.md index 4c9161b86aa..6bd9da30a6c 100644 --- a/packages/signature-controller/CHANGELOG.md +++ b/packages/signature-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,7 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [12.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/approval-controller` peer dependency to `^5.1.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) - **BREAKING:** Bump `@metamask/keyring-controller` peer dependency to `^12.2.0` ([#3821](https://github.com/MetaMask/core/pull/3821)) - **BREAKING:** Bump `@metamask/logging-controller` peer dependency to `^2.0.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) @@ -16,19 +19,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/message-manager` to `^7.3.8` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [11.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/keyring-controller` to ^12.1.0 - Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769)) ### Fixed + - Fix `stateChange` subscriptions with selectors ([#3702](https://github.com/MetaMask/core/pull/3702)) ## [10.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/keyring-controller` to ^12.0.0 ## [9.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/approval-controller` dependency and peer dependency from `^5.0.0` to `^5.1.1` ([#3695](https://github.com/MetaMask/core/pull/3695), [#3680](https://github.com/MetaMask/core/pull/3680)) - **BREAKING:** Bump `@metamask/keyring-controller` dependency and peer dependency from `^10.0.0` to `^11.0.0` ([#3695](https://github.com/MetaMask/core/pull/3695)) - **BREAKING:** Bump `@metamask/logging-controller` dependency and peer dependency from `^2.0.0` to `^2.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) @@ -37,7 +47,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/message-manager` to `^7.3.7` ([#3695](https://github.com/MetaMask/core/pull/3695)) ## [8.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - Bump `@metamask/approval-controller` to ^5.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) @@ -47,19 +59,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/message-manager` to ^7.3.6 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [7.0.0] + ### Changed + - **BREAKING**: Add `@metamask/keyring-controller` as a dependency and peer dependency - This was relied upon by past versions, but this was not reflected in the package manifest until now - Bump @metamask/utils from 8.1.0 to 8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) ## [6.1.3] + ### Changed + - Move from `eth-rpc-errors` ^4.0.2 to `@metamask/rpc-errors` ^6.1.0 ([#1653](https://github.com/MetaMask/core/pull/1653)) - Bump dependency and peer dependency on `@metamask/approval-controller` to ^4.0.1 - Bump dependency and peer dependency on `@metamask/logging-controller` to ^1.0.4 ## [6.1.2] + ### Changed + - Bump dependency on `@metamask/utils` to ^8.1.0 ([#1639](https://github.com/MetaMask/core/pull/1639)) - Bump dependency and peer dependency on `@metamask/approval-controller` to ^4.0.0 - Bump dependency on `@metamask/base-controller` to ^3.2.3 @@ -67,11 +85,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump dependency on `@metamask/message-manager` to ^7.3.5 ## [6.1.1] + ### Changed + - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [6.1.0] + ### Changed + - Add `LoggingController` logs on signature operation stages ([#1692](https://github.com/MetaMask/core/pull/1692)) - Bump dependency on `@metamask/controller-utils` to ^5.0.0 - Bump dependency on `@metamask/keyring-controller` to ^8.0.0 @@ -79,67 +101,92 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump dependency on `@metamask/message-manager` to ^7.3.3 ## [6.0.0] + ### Changed + - **BREAKING**: Removed `keyringController` property from constructor option ([#1593](https://github.com/MetaMask/core/pull/1593)) ## [5.3.1] + ### Changed + - Bump dependency and peer dependency on `@metamask/approval-controller` to ^3.5.1 - Bump dependency on `@metamask/base-controller` to ^3.2.1 - Bump dependency on `@metamask/controller-utils` to ^4.3.2 - Bump dependency on `@metamask/message-manager` to ^7.3.1 ## [5.3.0] + ### Added + - Add new methods `setDeferredSignSuccess` and `setDeferredSignError` ([#1506](https://github.com/MetaMask/core/pull/1506)) ### Changed + - Update `@metamask/utils` to `^6.2.0` ([#1514](https://github.com/MetaMask/core/pull/1514)) ## [5.2.0] + ### Added + - Add `messages` getter that returns all messages ([#1469](https://github.com/MetaMask/core/pull/1469)) - Add `setMessageMetadata` method for customizing the metadata for an individual message ([#1469](https://github.com/MetaMask/core/pull/1469)) ## [5.1.0] + ### Changed + - Report approval success using result callbacks ([#1458](https://github.com/MetaMask/core/pull/1458)) ## [5.0.0] + ### Added + - **BREAKING** Add sign version to approval message in Signature Controller ([#1440](https://github.com/MetaMask/core/pull/1440)) - Method `newUnsignedTypedMessage` on the SignatureController now requires a fourth argument: `signingOpts` - Method `signMessage` on the SignatureController no longer expects a `version` as a second argument. The second argument is now `signingOpts` which was previously the third argument. ## [4.0.1] + ### Fixed + - Remove optional parameter from newUnsignedTypedMessage function ([#1436](https://github.com/MetaMask/core/pull/1436)) ## [4.0.0] + ### Changed + - **BREAKING:** `newUnsignedXMessage` middlewares now creates and awaits approvals itself. ([#1377](https://github.com/MetaMask/core/pull/1377)) ### Removed + - **BREAKING:** Removed `cancelXMessage` and `signXMessage` from public API. ([#1377](https://github.com/MetaMask/core/pull/1377)) ## [3.0.0] + ### Added + - Add support for deferred signing ([#1364](https://github.com/MetaMask/core/pull/1364)) - If the parameter `deferSetAsSigned` is set, the message won't be set as signed when the keyring is asked to sign it - Emit the event `${methodName}:signed` when the keying is asked to sign a message ([#1364](https://github.com/MetaMask/core/pull/1364)) -- Add methods `setTypedMessageInProgress` and `setPersonalMessageInProgress` to set a message status to `inProgress` ([#1339](https://github.com/MetaMask/core/pull/1339)) +- Add methods `setTypedMessageInProgress` and `setPersonalMessageInProgress` to set a message status to `inProgress` ([#1339](https://github.com/MetaMask/core/pull/1339)) ### Changed + - **BREAKING:** The constructor option `getCurrentChainId` now expects a `Hex` return value rather than `string` ([#1367](https://github.com/MetaMask/core/pull/1367)) - **BREAKING:** Update `@metamask/approval-controller` dependency and add it as a peer dependency ([#1393](https://github.com/MetaMask/core/pull/1393)) - Add `@metamask/utils` dependency ([#1367](https://github.com/MetaMask/core/pull/1367)) ## [2.0.0] + ### Added + - **BREAKING:** Add `getCurrentChainId` argument to constructor ([#1350](https://github.com/MetaMask/core/pull/1350)) ## [1.0.0] + ### Added + - Initial release ([#1214](https://github.com/MetaMask/core/pull/1214)) [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/signature-controller@12.0.0...HEAD diff --git a/packages/transaction-controller/CHANGELOG.md b/packages/transaction-controller/CHANGELOG.md index f5a7ce15fc3..c8cf8948175 100644 --- a/packages/transaction-controller/CHANGELOG.md +++ b/packages/transaction-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,7 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [21.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/approval-controller` peer dependency to `^5.1.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) - **BREAKING:** Bump `@metamask/gas-fee-controller` peer dependency to `^13.0.0` ([#3821](https://github.com/MetaMask/core/pull/3821)) - **BREAKING:** Bump `@metamask/network-controller` peer dependency to `^17.2.0` ([#3821](https://github.com/MetaMask/core/pull/3821)) @@ -15,18 +18,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/controller-utils` to `^8.0.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) ## [20.0.0] + ### Changed + - **BREAKING:** Change type of `destinationTokenDecimals` property in `TransactionMeta` to `number` ([#3749](https://github.com/MetaMask/core/pull/3749)) ### Fixed + - Handle missing current account in incoming transactions ([#3741](https://github.com/MetaMask/core/pull/3741)) ## [19.0.1] + ### Changed + - Bump `eth-method-registry` from `^1.1.0` to `^3.0.0` ([#3688](https://github.com/MetaMask/core/pull/3688)) ## [19.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/approval-controller` dependency and peer dependency from `^5.1.0` to `^5.1.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) - **BREAKING:** Bump `@metamask/gas-fee-controller` dependency and peer dependency from `^11.0.0` to `^12.0.0` ([#3695](https://github.com/MetaMask/core/pull/3695)) - **BREAKING:** Bump `@metamask/network-controller` dependency and peer dependency from `^17.0.0` to `^17.1.0` ([#3695](https://github.com/MetaMask/core/pull/3695)) @@ -34,10 +44,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/controller-utils` to `^8.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695)) ### Fixed + - Use estimate gas instead of fixed gas (21k) when a contract is deployed and the gas is not specified ([#3694](https://github.com/MetaMask/core/pull/3694)) ## [18.3.1] + ### Fixed + - Fix incorrect transaction statuses ([#3676](https://github.com/MetaMask/core/pull/3676)) - Fix `dropped` status detection by ignoring transactions on other chains. - Start polling if network changes and associated transactions are pending. @@ -46,32 +59,43 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fix incoming transactions on Linea Goerli ([#3674](https://github.com/MetaMask/core/pull/3674)) ## [18.3.0] + ### Added + - Add optional `getExternalPendingTransactions` callback argument to constructor ([#3587](https://github.com/MetaMask/core/pull/3587)) ## [18.2.0] + ### Added + - Add the `customNonceValue` property to the transaction metadata ([#3579](https://github.com/MetaMask/core/pull/3579)) ### Changed -- Update transaction metadata after approval if the approval result includes the `value.txMeta` property ([#3579](https://github.com/MetaMask/core/pull/3579)) + +- Update transaction metadata after approval if the approval result includes the `value.txMeta` property ([#3579](https://github.com/MetaMask/core/pull/3579)) - Add `type` property to all incoming transactions ([#3579](https://github.com/MetaMask/core/pull/3579)) ## [18.1.0] + ### Added + - Add `cancelMultiplier` and `speedUpMultiplier` constructor arguments to optionally override the default multipliers of `1.5` and `1.1` respectively ([#2678](https://github.com/MetaMask/core/pull/2678)) ### Changed + - Populate the `preTxBalance` property before publishing transactions with the `swap` type ([#2678](https://github.com/MetaMask/core/pull/2678)) - Change the status of transactions with matching nonces to `dropped` when confirming a transaction ([#2678](https://github.com/MetaMask/core/pull/2678)) ## [18.0.0] + ### Added + - Add `updateEditableParams` method ([#2056](https://github.com/MetaMask/core/pull/2056)) - Add `initApprovals` method to trigger the approval flow for any pending transactions during initialisation ([#2056](https://github.com/MetaMask/core/pull/2056)) - Add `getTransactions` method to search transactions using the given criteria and options ([#2056](https://github.com/MetaMask/core/pull/2056)) ### Changed + - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more. - **BREAKING:** Add `finished` and `publish-skip` events to `Events` type @@ -89,7 +113,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/network-controller` to ^17.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063)) ## [17.0.0] + ### Added + - **BREAKING:** Add additional support swaps support ([#1877](https://github.com/MetaMask/core/pull/1877)) - Swap transaction updates can be prevented by setting `disableSwaps` as `true`. If not set it will default to `false`. - If `disableSwaps` is `false` or not set, then the `createSwapsTransaction` callback MUST be defined. @@ -116,6 +142,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Populate the `firstRetryBlockNumber`, `retryCount`, and `warning` properties in the transaction metadata. ([#1896](https://github.com/MetaMask/core/pull/1896)) ### Changed + - **BREAKING:** Pending transactions are now automatically resubmitted. ([#1896](https://github.com/MetaMask/core/pull/1896)) - This can be disabled by setting the new `pendingTransactions.isResubmitEnabled` constructor option to `false`. - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^16.0.0 @@ -129,18 +156,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump @metamask/utils from 8.1.0 to 8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957)) ## [16.0.0] + ### Changed + - **BREAKING:** Bump dependency and peer dependency on `@metamask/gas-fee-controller` to ^10.0.0 - Bump dependency and peer dependency on `@metamask/network-controller` to ^15.1.0 ## [15.0.0] + ### Changed + - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^15.0.0 - Bump dependency on `@metamask/rpc-errors` to ^6.1.0 ([#1653](https://github.com/MetaMask/core/pull/1653)) - Bump dependency and peer dependency on `@metamask/approval-controller` to ^4.0.1 ## [14.0.0] + ### Added + - **BREAKING:** Add required `getPermittedAccounts` argument to constructor, used to validate `from` addresses ([#1722](https://github.com/MetaMask/core/pull/1722)) - Add `securityProviderRequest` option to constructor ([#1725](https://github.com/MetaMask/core/pull/1725)) - Add `method` option to `addTransaction` method ([#1725](https://github.com/MetaMask/core/pull/1725)) @@ -151,6 +184,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Update `addTransaction` to ensure allowed `from` address when `origin` is specified ([#1722](https://github.com/MetaMask/core/pull/1722)) ### Changed + - Bump dependency on `@metamask/utils` to ^8.1.0 ([#1639](https://github.com/MetaMask/core/pull/1639)) - Bump dependency and peer dependency on `@metamask/approval-controller` to ^4.0.0 - Bump dependency on `@metamask/base-controller` to ^3.2.3 @@ -158,6 +192,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump dependency and peer dependency on `@metamask/network-controller` to ^14.0.0 ### Removed + - **BREAKING:** Remove `interval` config option ([#1746](https://github.com/MetaMask/core/pull/1746)) - The block tracker (which has its own interval) is now used to poll for pending transactions instead. - **BREAKING:** Remove `poll` method ([#1746](https://github.com/MetaMask/core/pull/1746)) @@ -166,15 +201,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - This functionality has been moved to a private interface and there is no way to use it externally. ## [13.0.0] + ### Changed -- **BREAKING**: Add required `getCurrentAccountEIP1559Compatibility` and `getCurrentNetworkEIP1559Compatibility` callback arguments to constructor ([#1693](https://github.com/MetaMask/core/pull/1693)) + +- **BREAKING**: Add required `getCurrentAccountEIP1559Compatibility` and `getCurrentNetworkEIP1559Compatibility` callback arguments to constructor ([#1693](https://github.com/MetaMask/core/pull/1693)) - Update `validateTxParams` to throw standardised errors using the `@metamask/rpc-errors` package ([#1690](https://github.com/MetaMask/core/pull/1690)) - The dependency `eth-rpc-errors` has been replaced by `@metamask/rpc-errors` - Preserve `type` transaction parameter for legacy transactions ([#1713](https://github.com/MetaMask/core/pull/1713)) - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718)) ## [12.0.0] + ### Changed + - **BREAKING**: Use only `chainId` to determine if a transaction belongs to the current network ([#1633](https://github.com/MetaMask/core/pull/1633)) - No longer uses `networkID` as a fallback if `chainId` is missing - **BREAKING**: Change `TransactionMeta.chainId` to be required ([#1633](https://github.com/MetaMask/core/pull/1633)) @@ -184,24 +223,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump dependency on `@metamask/controller-utils` to ^5.0.0 ([#1633](https://github.com/MetaMask/core/pull/1633)) ### Removed + - Remove `networkId` param from `RemoteTransactionSource.isSupportedNetwork()` interface ([#1633](https://github.com/MetaMask/core/pull/1633)) - Remove `currentNetworkId` property from `RemoteTransactionSourceRequest` ([#1633](https://github.com/MetaMask/core/pull/1633)) ## [11.1.0] + ### Added + - Add `type` property to the transaction metadata ([#1670](https://github.com/MetaMask/core/pull/1670)) ## [11.0.0] + ### Added + - Add optional `getLastBlockVariations` method to `RemoteTransactionSource` type ([#1668](https://github.com/MetaMask/core/pull/1668)) - Add `updateTransactionGasFees` method to `TransactionController` ([#1674](https://github.com/MetaMask/core/pull/1674)) -- Add `r`, `s` and `v` properties to the transaction metadata ([#1664](https://github.com/MetaMask/core/pull/1664)) +- Add `r`, `s` and `v` properties to the transaction metadata ([#1664](https://github.com/MetaMask/core/pull/1664)) - Add `sendFlowHistory` property to the transaction metadata ([#1665](https://github.com/MetaMask/core/pull/1665)) - Add `updateTransactionSendFlowHistory` method to `TransactionController` ([#1665](https://github.com/MetaMask/core/pull/1665)) - Add `originalGasEstimate` property to the transaction metadata ([#1656](https://github.com/MetaMask/core/pull/1656)) - Add `incomingTransactions.queryEntireHistory` constructor option ([#1652](https://github.com/MetaMask/core/pull/1652)) ### Changed + - **BREAKING**: Remove `apiKey` property from `RemoteTransactionSourceRequest` type ([#1668](https://github.com/MetaMask/core/pull/1668)) - **BREAKING**: Remove unused `FetchAllOptions` type from `TransactionController` ([#1668](https://github.com/MetaMask/core/pull/1668)) - **BREAKING**: Remove `incomingTransactions.apiKey` constructor option ([#1668](https://github.com/MetaMask/core/pull/1668)) @@ -213,36 +258,47 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **BREAKING**: Rename the `transactionHash` property to `hash` in the transaction metadata ### Fixed + - Fix the sorting of incoming and updated transactions ([#1652](https://github.com/MetaMask/core/pull/1652)) - Prevent rate limit errors when `incomingTransactions.includeTokenTransfers` is `true` by by alternating Etherscan request types on each update ([#1668](https://github.com/MetaMask/core/pull/1668)) ## [10.0.0] + ### Added + - Add `submittedTime` to the transaction metadata ([#1645](https://github.com/MetaMask/core/pull/1645)) - Add optional `actionId` argument to `addTransaction` and `speedUpTransaction` to prevent duplicate requests ([#1582](https://github.com/MetaMask/core/pull/1582)) - Add `confirmExternalTransaction` method ([#1625](https://github.com/MetaMask/core/pull/1625)) ### Changed + - **BREAKING**: Rename `rawTransaction` to `rawTx` in the transaction metadata ([#1624](https://github.com/MetaMask/core/pull/1624)) ## [9.2.0] + ### Added + - Persist `estimatedBaseFee` in `stopTransaction` and `speedUpTransaction` ([#1621](https://github.com/MetaMask/core/pull/1621)) - Add `securityAlertResponse` to `addTransaction` `opts` argument ([#1636](https://github.com/MetaMask/core/pull/1636)) ## [9.1.0] + ### Added + - Add `blockTimestamp` to `TransactionMetaBase` type ([#1616](https://github.com/MetaMask/core/pull/1616)) - Update `queryTransactionStatuses` to populate `blockTimestamp` on each transaction when it is verified ([#1616](https://github.com/MetaMask/core/pull/1616)) ### Changed + - Bump dependency and peer dependency on `@metamask/approval-controller` to ^3.5.1 - Bump dependency on `@metamask/base-controller` to ^3.2.1 - Bump dependency on `@metamask/controller-utils` to ^4.3.2 - Bump dependency and peer dependency on `@metamask/network-controller` to ^12.1.2 ## [9.0.0] + ### Added + - Add `baseFeePerGas` to transaction metadata ([#1590](https://github.com/MetaMask/core/pull/1590)) - Add `txReceipt` to transaction metadata ([#1592](https://github.com/MetaMask/core/pull/1592)) - Add `initApprovals` method to generate approval requests from unapproved transactions ([#1575](https://github.com/MetaMask/core/pull/1575)) @@ -260,6 +316,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add `address` argument to `wipeTransactions` method ([#1573](https://github.com/MetaMask/core/pull/1573)) ### Changed + - **BREAKING**: Add required `getSelectedAddress` callback argument to constructor ([#1579](https://github.com/MetaMask/core/pull/1579)) - **BREAKING**: Add `isSupportedNetwork` method to `RemoteTransactionSource` interface ([#1579](https://github.com/MetaMask/core/pull/1579)) - **BREAKING**: Move all but first argument to options bag in `addTransaction` method ([#1576](https://github.com/MetaMask/core/pull/1576)) @@ -269,6 +326,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - This type is intended mainly for internal use, so it's likely this change doesn't affect most projects ### Removed + - **BREAKING**: Remove `fetchAll` method ([#1579](https://github.com/MetaMask/core/pull/1579)) - This method was used to fetch transaction history from Etherscan - This is now handled automatically by the controller on each new block, if polling is enabled @@ -279,38 +337,51 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - These methods were intended mainly for internal use, so it's likely this change doesn't affect most projects ## [8.0.1] + ### Changed + - Replace `eth-query` ^2.1.2 with `@metamask/eth-query` ^3.0.1 ([#1546](https://github.com/MetaMask/core/pull/1546)) ## [8.0.0] + ### Changed + - **BREAKING**: Change `babel-runtime` from a `dependency` to a `peerDependency` ([#1504](https://github.com/MetaMask/core/pull/1504)) - Update `@metamask/utils` to `^6.2.0` ([#1514](https://github.com/MetaMask/core/pull/1514)) ## [7.1.0] + ### Added + - Expose `HARDFORK` constant ([#1423](https://github.com/MetaMask/core/pull/1423)) - Add support for transactions on Linea networks ([#1423](https://github.com/MetaMask/core/pull/1423)) ## [7.0.0] + ### Changed + - **BREAKING**: Change the approveTransaction and cancelTransaction methods to private ([#1435](https://github.com/MetaMask/core/pull/1435)) - Consumers should migrate from use of these methods to use of `processApproval`. - Update the TransactionController to await the approval request promise before automatically performing the relevant logic, either signing and submitting the transaction, or cancelling it ([#1435](https://github.com/MetaMask/core/pull/1435)) ## [6.1.0] + ### Changed + - Relax types of `provider` and `blockTracker` options ([#1443](https://github.com/MetaMask/core/pull/1443)) - The types used to require proxy versions of Provider and BlockTracker. Now they just require the non-proxy versions, which are a strict subset of the proxied versions. ## [6.0.0] + ### Added + - Update transaction controller to automatically initiate, finalize, and cancel approval requests as transactions move through states ([#1241](https://github.com/MetaMask/core/pull/1241)) - The `ApprovalController:addRequest` action will be called when a new transaction is initiated - The `ApprovalController:rejectRequest` action will be called if a transaction fails - The `ApprovalController:acceptRequest` action will be called when a transaction is approved ### Changed + - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262)) - **BREAKING:** Update `@metamask/network-controller` dependency and peer dependency ([#1367](https://github.com/MetaMask/core/pull/1367)) - This affects the `getNetworkState` and `onNetworkStateChange` constructor parameters @@ -326,45 +397,61 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add `@metamask/utils` dependency ([#1367](https://github.com/MetaMask/core/pull/1367)) ### Fixed + - Fix inaccurate hard-coded `chainId` on incoming token transactions ([#1366](https://github.com/MetaMask/core/pull/1366)) ## [5.0.0] + ### Changed + - **BREAKING**: peerDeps: @metamask/network-controller@6.0.0->8.0.0 ([#1196](https://github.com/MetaMask/core/pull/1196)) - deps: eth-rpc-errors@4.0.0->4.0.2 ([#1215](https://github.com/MetaMask/core/pull/1215)) - Add nonce tracker to transactions controller ([#1147](https://github.com/MetaMask/core/pull/1147)) - - Previously this controller would get the next nonce by calling `eth_getTransactionCount` with a block reference of `pending`. The next nonce would then be returned from our middleware (within `web3-provider-engine`). + - Previously this controller would get the next nonce by calling `eth_getTransactionCount` with a block reference of `pending`. The next nonce would then be returned from our middleware (within `web3-provider-engine`). - Instead we're now using the nonce tracker to get the next nonce, dropping our reliance on this `eth_getTransactionCount` middleware. This will let us drop that middleware in a future update without impacting the transaction controller. - This should result in no functional changes, except that the nonce middleware is no longer required. ## [4.0.1] + ### Changed + - Use `NetworkType` enum for chain configuration ([#1132](https://github.com/MetaMask/core/pull/1132)) ## [4.0.0] + ### Removed + - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106)) - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch` ## [3.0.0] + ### Added + - Add Etherscan API support for Sepolia and Goerli ([#1041](https://github.com/MetaMask/controllers/pull/1041)) - Export `isEIP1559Transaction` function from package ([#1058](https://github.com/MetaMask/controllers/pull/1058)) ### Changed + - **BREAKING**: Drop Etherscan API support for Ropsten, Rinkeby, and Kovan ([#1041](https://github.com/MetaMask/controllers/pull/1041)) - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031)) - Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041)) ## [2.0.0] + ### Changed + - **BREAKING:** Update `getNetworkState` constructor option to take an object with `providerConfig` property rather than `providerConfig` ([#995](https://github.com/MetaMask/core/pull/995)) - Relax dependency on `@metamask/base-controller`, `@metamask/controller-utils`, and `@metamask/network-controller` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998)) ## [1.0.0] + ### Added + - Initial release + - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely: + - Everything in `src/transaction` - Transaction-related functions from `src/util.ts` and accompanying tests diff --git a/packages/user-operation-controller/CHANGELOG.md b/packages/user-operation-controller/CHANGELOG.md index 055774608d9..49189a875fc 100644 --- a/packages/user-operation-controller/CHANGELOG.md +++ b/packages/user-operation-controller/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -7,7 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [2.0.0] + ### Changed + - **BREAKING:** Bump `@metamask/approval-controller` peer dependency to `^5.1.2` ([#3821](https://github.com/MetaMask/core/pull/3821)) - **BREAKING:** Bump `@metamask/gas-fee-controller` peer dependency to `^13.0.0` ([#3821](https://github.com/MetaMask/core/pull/3821)) - **BREAKING:** Bump `@metamask/network-controller` peer dependency to `^17.2.0` ([#3821](https://github.com/MetaMask/core/pull/3821)) @@ -18,11 +21,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/polling-controller` to `^5.0.0` ([#3821](https://github.com/MetaMask/core/pull/3821)) ### Removed + - Remove `@metamask/polling-controller` peer dependency ([#3823](https://github.com/MetaMask/core/pull/3823)) - This was mistakenly added as a peer dependency in v1. Now it's a regular dependency. ## [1.0.0] + ### Added + - Initial Release ([#3749](https://github.com/MetaMask/core/pull/3749)) [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/user-operation-controller@2.0.0...HEAD diff --git a/scripts/create-package/package-template/CHANGELOG.md b/scripts/create-package/package-template/CHANGELOG.md index 27eb830b8c5..b518709c7b8 100644 --- a/scripts/create-package/package-template/CHANGELOG.md +++ b/scripts/create-package/package-template/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), diff --git a/scripts/validate-changelog.sh b/scripts/validate-changelog.sh index d1228a7ee8a..19dabb36202 100755 --- a/scripts/validate-changelog.sh +++ b/scripts/validate-changelog.sh @@ -11,7 +11,7 @@ package_name="$1" shift # remove package name from arguments if [[ "${GITHUB_REF:-}" =~ '^release/' ]]; then - yarn auto-changelog validate --tag-prefix "${package_name}@" --rc "$@" + yarn auto-changelog validate --prettier --tag-prefix "${package_name}@" --rc "$@" else - yarn auto-changelog validate --tag-prefix "${package_name}@" "$@" + yarn auto-changelog validate --prettier --tag-prefix "${package_name}@" "$@" fi From 4c390925b10973582c768ecc2f087bfe9f72767d Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 25 Jan 2024 15:15:51 -0700 Subject: [PATCH 2/2] Update changelog:update as well --- scripts/update-changelog.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/update-changelog.sh b/scripts/update-changelog.sh index 0655bc92e58..7cd56390105 100755 --- a/scripts/update-changelog.sh +++ b/scripts/update-changelog.sh @@ -15,7 +15,7 @@ shift # remove package name from arguments branch=$(git rev-parse --abbrev-ref HEAD) if [[ $branch =~ ^release/ ]]; then - yarn auto-changelog update --tag-prefix "${package_name}@" --rc "$@" + yarn auto-changelog update --prettier --tag-prefix "${package_name}@" --rc "$@" else - yarn auto-changelog update --tag-prefix "${package_name}@" "$@" + yarn auto-changelog update --prettier --tag-prefix "${package_name}@" "$@" fi