All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- BREAKING: Bump
@metamask/network-controller
peer dependency to^22.0.0
(#4841) - Bump
@metamask/controller-utils
to^11.4.0
(#4834) - Bump
@metamask/utils
to^10.0.0
(#4831)
- Produce and export ESM-compatible TypeScript type declaration files in addition to CommonJS-compatible declaration files (#4648)
- Previously, this package shipped with only one variant of type declaration
files, and these files were only CommonJS-compatible, and the
exports
field inpackage.json
linked to these files. This is an anti-pattern and was rightfully flagged by the "Are the Types Wrong?" tool as "masquerading as CJS". All of the ATTW checks now pass.
- Previously, this package shipped with only one variant of type declaration
files, and these files were only CommonJS-compatible, and the
- Remove chunk files (#4648).
- Previously, the build tool we used to generate JavaScript files extracted common code to "chunk" files. While this was intended to make this package more tree-shakeable, it also made debugging more difficult for our development teams. These chunk files are no longer present.
- BREAKING:
EnsControllerMessenger
must allowNetworkController:getState
action (#4557) - BREAKING: Bump devDependency and peerDependency
@metamask/network-controller
from^20.0.0
to^21.0.0
(#4618, #4651) - Bump
@metamask/base-controller
from^6.0.2
to^7.0.0
(#4625, #4643) - Bump
@metamask/controller-utils
from^11.0.2
to^11.2.0
(#4639, #4651) - Bump
typescript
from~5.0.4
to~5.2.2
(#4576, #4584)
- BREAKING: Remove optional constructor option
provider
(#4557)- Provider is now sourced from
selectedNetworkClient
.
- Provider is now sourced from
- Initial network is set using
selectedNetworkClientId
, which is derived using theNetworkController:getState
action (#4557)
- Upgrade TypeScript version to
~5.0.4
and setmoduleResolution
option toNode16
(#3645) - Bump
@metamask/base-controller
from^6.0.0
to^6.0.2
(#4517, #4544) - Bump
@metamask/controller-utils
from^11.0.0
to^11.0.2
(#4517, #4544) - Bump
@metamask/utils
from^8.3.0
to^9.1.0
(#4516, #4529)
- BREAKING: Bump peerDependency
@metamask/network-controller
to^20.0.0
(#4508)
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- BREAKING: Bump peer dependency
@metamask/network-controller
to^19.0.0
(#4352) - Bump
@metamask/base-controller
to^6.0.0
(#4352) - Bump
@metamask/controller-utils
to^11.0.0
(#4352)
- BREAKING: Bump peer dependency
@metamask/network-controller
to^18.1.3
(#4342) - Bump
@metamask/base-controller
to^5.0.2
(#4232) - Bump
@metamask/controller-utils
to^10.0.0
(#4342)
- Fix
delete
method to protect against prototype-polluting assignments (#4041
- Fix
types
field inpackage.json
(#4047)
- BREAKING: Add ESM build (#3998)
- It's no longer possible to import files from
./dist
directly.
- It's no longer possible to import files from
- Add support for Holesky and Sepolia registries (#4006)
- Add optional constructor option
registriesByChainId
, which allows overriding the default ENS network map (#4006) - Update default value of
ensEntries
state property to include entry for.
(#4006) - Update
get
so that it now returns registry address for chain when queried for the name.
(#4006) - Update
delete
so that entry for.
can be removed (#4006)
- BREAKING: Bump
@metamask/base-controller
to^5.0.0
(#4039)- This version has a number of breaking changes. See the changelog for more.
- BREAKING: Bump peer dependency on
@metamask/network-controller
to^18.0.0
(#4039) - Bump
@metamask/controller-utils
to^9.0.0
(#4039)
- BREAKING: Bump
@metamask/network-controller
peer dependency to^17.2.0
(#3821) - Bump
@metamask/utils
to^8.3.0
(#3769) - Bump
@metamask/base-controller
to^4.1.1
(#3760, #3821) - Bump
@metamask/controller-utils
to^8.0.2
(#3821)
- BREAKING: Replace constructor parameter
onNetworkStateChange
withonNetworkDidChange
(#3610) - BREAKING: Bump
@metamask/network-controller
peer dependency from^17.0.0
to^17.1.0
(#3695) - Bump
@metamask/controller-utils
to^8.0.1
(#3695, #3678, #3667, #3580) - Bump
@metamask/base-controller
to^4.0.1
(#3695)
- Remove
@metamask/network-controller
dependency (#3607)
- BREAKING: Bump
@metamask/base-controller
to ^4.0.0 (#2063)- This is breaking because the type of the
messenger
has backward-incompatible changes. See the changelog for this package for more.
- This is breaking because the type of the
- Bump
@metamask/controller-utils
to ^6.0.0 (#2063) - Bump
@metamask/network-controller
to ^17.0.0 (#2063)
- 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)
- BREAKING: Bump dependency and peer dependency on
@metamask/network-controller
to ^15.0.0
- Bump dependency on
@metamask/utils
to ^8.1.0 (#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
- Update TypeScript to v4.8.x (#1718)
- BREAKING: Bump peer dependency on
@metamask/network-controller
to ^13.0.0 (#1633) - Use
providerConfig.chainId
instead ofproviderConfig.networkId
to determine ENS compatability (#1633) - Bump dependency on
@metamask/controller-utils
to ^5.0.0 (#1633)
- 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
- Update
@metamask/utils
to^6.2.0
(#1514)
- BREAKING: Bump to Node 16 (#1262)
- BREAKING: Add
@metamask/network-controller
as a dependency and peer dependency (#1367, #1362) - BREAKING: The
ensEntries
state property is now keyed byHex
chain ID rather thanstring
, and thechainId
property of each ENS entry is alsoHex
rather thanstring
. (#1367)- This requires a state migration
- BREAKING: The methods
get
,set
, anddelete
have been updated to accept and return chain IDs as 0x-prefixed hex strings, rather than decimal strings. (#1367) - Bump @metamask/utils from 5.0.1 to 5.0.2 (#1271)
- Fix ENS controller failure to initialize after switching networks (#1362)
- Add support for reverse ENS address resolution (#1170)
- This controller can now resolve a network address to an ENS address. This feature was ported from the extension ENS controller.
- BREAKING: Convert the ENS controller to the BaseController v2 API (#1134)
- BREAKING: Remove
isomorphic-fetch
(#1106)- Consumers must now import
isomorphic-fetch
or another polyfill themselves if they are running in an environment withoutfetch
- Consumers must now import
- Relax dependencies on
@metamask/base-controller
and@metamask/controller-utils
(use^
instead of~
) (#998)
-
Initial release
-
As a result of converting our shared controllers repo into a monorepo (#831), we've created this package from select parts of
@metamask/controllers
v33.0.0, namely:src/third-party/EnsController.ts
src/third-party/EnsController.test.ts
All changes listed after this point were applied to this package following the monorepo conversion.
-