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.
- Bump
@metamask/controller-utilsfrom^11.19.0to^12.0.0(#8344, #8755) - Bump
@metamask/base-controllerfrom^9.0.1to^9.1.0(#8457) - Bump
@metamask/network-controllerfrom^30.0.1to^31.0.0(#8636, #8755)
- Bump
@metamask/base-controllerfrom^9.0.0to^9.0.1(#8317) - Bump
@metamask/network-controllerfrom^30.0.0to^30.0.1(#8317)
- Bump
@metamask/network-controllerfrom^29.0.0to^30.0.0(#7996) - Bump
@metamask/controller-utilsfrom^11.18.0to^11.19.0(#7995)
- Bump
@metamask/network-controllerfrom^28.0.0to^29.0.0(#7642)
- Upgrade
@metamask/utilsfrom^11.8.1to^11.9.0(#7511) - Move peer dependencies for controller and service packages to direct dependencies (#7209, #7258, #7534, #7583, #7604)
- The dependencies moved are:
@metamask/network-controller(^28.0.0)
- In clients, it is now possible for multiple versions of these packages to exist in the dependency tree.
- For example, this scenario would be valid: a client relies on
@metamask/controller-a1.0.0 and@metamask/controller-b1.0.0, and@metamask/controller-bdepends on@metamask/controller-a1.1.0.
- For example, this scenario would be valid: a client relies on
- Note, however, that the versions specified in the client's
package.jsonalways "win", and you are expected to keep them up to date so as not to break controller and service intercommunication.
- The dependencies moved are:
- Bump
@metamask/controller-utilsfrom^11.16.0to^11.18.0(#7534, #7583)
- Bump
@metamask/controller-utilsfrom^11.15.0to^11.16.0(#7202) - BREAKING: Bump
@metamask/network-controllerfrom^25.0.0to^26.0.0(#7202)
- BREAKING: Use new
Messengerfrom@metamask/messengerforStaticIntervalPollingControllerandBlockTrackerPollingController(#6444)- Previously,
StaticIntervalPollingControllerandBlockTrackerPollingControlleraccepted aRestrictedMessengerinstance from@metamask/base-controller.
- Previously,
- BREAKING: Bump
@metamask/network-controllerfrom^24.0.0to^25.0.0(#6962) - Bump
@metamask/base-controllerfrom^8.4.2to^9.0.0(#6962)
- Bump
@metamask/base-controllerfrom^8.4.1to^8.4.2(#6917) - Bump
@metamask/network-controllerfrom^24.2.2to^24.3.0(#6883)
- Bump
@metamask/utilsfrom^11.2.0to^11.8.1(#6054, #6588, #6708) - Bump
@metamask/base-controllerfrom^8.0.1to^8.4.1(#6284, #6355, #6465, #6632, #6807) - Bump
@metamask/controller-utilsfrom^11.10.0to^11.14.1(#6069, #6303, #6620, #6629, #6807)
- BREAKING: Bump peer dependency
@metamask/network-controllerto^24.0.0(#5999) - Bump
@metamask/base-controllerto^8.0.1(#5722) - Bump
@metamask/controller-utilsto^11.10.0(#5935, #5583, #5765, #5812)
- BREAKING: Bump peer dependency
@metamask/network-controllerto^23.0.0(#5507) - Bump
@metamask/controller-utilsto^11.5.0(#5439) - Bump
@metamask/utilsto^11.2.0(#5301)
- Bump
@metamask/base-controllerfrom^7.0.2to^8.0.0(#5079), (#5135), (#5305) - Bump
@metamask/controller-utilsfrom^11.4.4to^11.5.0(#5135), (#5272) - Bump
@metamask/utilsfrom^10.0.0to^11.1.0(#5080), (#5223)
- BREAKING: Remove
BlockTrackerPollingControllerV1,StaticIntervalPollingControllerV1(#5018)
- Correct ESM-compatible build so that imports of the following packages that re-export other modules via
export *are no longer corrupted: (#5011)fast-json-stable-stringify
- Bump
@metamask/base-controllerfrom^7.0.1to^7.0.2(#4862) - Bump
@metamask/controller-utilsfrom^11.4.0to^11.4.2(#4862, #4870)
- BREAKING: Bump
@metamask/network-controllerpeer dependency to^22.0.0(#4841) - Bump
@metamask/controller-utilsto^11.4.0(#4834) - Bump
@metamask/utilsto^10.0.0(#4831)
- BREAKING:
AbstractPollingControllernow accepts a generic type parameterPollingInputwhich is polymorphic, unlike the previous monomorphic required input of a network client id (#4752) - BREAKING: The
AbstractPollingControllermethodstartPollingByNetworkClientIdhas been renamed tostartPolling(#4752) - BREAKING: The
AbstractPollingControllermethodonPollingCompletenow returns the entire input object of typePollingInput, instead of a network client id (#4752)
- 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
exportsfield inpackage.jsonlinked 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: Bump devDependency and peerDependency
@metamask/network-controllerfrom^20.0.0to^21.0.0(#4618, #4651) - Bump
@metamask/base-controllerfrom^6.0.2to^7.0.0(#4625, #4643) - Bump
@metamask/controller-utilsfrom^11.0.2to^11.2.0(#4639, #4651) - Bump
typescriptfrom~5.0.4to~5.2.2(#4576, #4584)
- Remove
@metamask/network-controllerdependency #4556- This was listed under
peerDependenciesalready, so it was redundant as a dependency.
- This was listed under
- Upgrade TypeScript version to
~5.0.4and setmoduleResolutionoption toNode16(#3645) - Bump
@metamask/base-controllerfrom^6.0.0to^6.0.2(#4517, #4544) - Bump
@metamask/controller-utilsfrom^11.0.0to^11.0.2(#4517, #4544) - Bump
@metamask/utilsfrom^8.3.0to^9.1.0(#4516, #4529)
- BREAKING: Bump peerDependency
@metamask/network-controllerto^20.0.0(#4508)
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- BREAKING: Bump dependency and peer dependency
@metamask/network-controllerto^19.0.0(#4352) - Bump
@metamask/base-controllerto^6.0.0(#4352) - Bump
@metamask/controller-utilsto^11.0.0(#4352)
- BREAKING: Bump dependency and peer dependency
@metamask/network-controllerto^18.1.3(#4342) - Bump
@metamask/controller-utilsto^10.0.0(#4342)
StaticIntervalPollingControllerOnly,StaticIntervalPollingController, andStaticIntervalPollingControllerV1now properly stops polling when a stop is requested while_executePollhas not yet resolved for the current loop (#4230)
- Bump TypeScript version to
~4.9.5(#4084) - Bump
@metamask/network-controllerto^18.1.0(#4121) - Bump
@metamask/controller-utilsto^9.1.0(#4153, #4065)
- Fix
typesfield inpackage.json(#4047)
- BREAKING: Add ESM build (#3998)
- It's no longer possible to import files from
./distdirectly.
- It's no longer possible to import files from
- BREAKING: Bump
@metamask/base-controllerto^5.0.0(#4039)- This version has a number of breaking changes. See the changelog for more.
- BREAKING: Bump dependency and peer dependency on
@metamask/network-controllerto^18.0.0(#4039) - Bump
@metamask/controller-utilsto^9.0.0(#4039)
- Bump
@metamask/controller-utilsto^8.0.4(#4007) - Bump
@metamask/network-controllerto^17.2.1(#4007)
- BREAKING: Bump
@metamask/network-controllerpeer dependency to^17.2.0(#3821) - Bump
@metamask/utilsto^8.3.0(#3769) - Bump
@metamask/base-controllerto^4.1.1(#3760, #3821) - Bump
@metamask/controller-utilsto^8.0.2(#3821)
- BREAKING: Bump
@metamask/network-controllerdependency and peer dependency from^17.0.0to^17.1.1(#3695) - Bump
@metamask/base-controllerto^4.0.1(#3695) - Bump
@metamask/controller-utilsto^8.0.1(#3695, #3678)
BlockTrackerPollingController,BlockTrackerPollingControllerV1andBlockTrackerPollingControllerOnlyhave been added and can be used by subclasses to poll with a blockTracker using the same API as theStaticIntervalPollingControllerversions - the only exception is the requirement to implement the abstract method_getNetworkClientByIdon subclasses.
- BREAKING:
PollingController,PollingControllerV1andPollingControllerOnlyare all removed and replaced byStaticIntervalPollingController,StaticIntervalPollingControllerV1andStaticIntervalPollingControllerOnly(#3636)
- BREAKING: Bump
@metamask/base-controllerto ^4.0.0 (#2063)- This is breaking because the type of the
messengerhas backward-incompatible changes. See the changelog for this package for more.
- This is breaking because the type of the
- Bump
@metamask/controller-utilsto ^6.0.0 (#2063) - Bump
@metamask/network-controllerto ^17.0.0 (#2063)
- BREAKING: Bump dependency and peer dependency on
@metamask/network-controllerto ^16.0.0 - Bump @metamask/utils from 8.1.0 to 8.2.0 (#1957)
- Export
PollingControllerOnly(#1921)
- Add
PollingControllerOnlyto 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 newPollingControllerOnly. (#1873)
- BREAKING:
_executePoll()is called immediately on start if no polling interval is already active for the networkClientId + options combination (#1874) - Bump dependency and peer dependency on
@metamask/network-controllerto ^15.1.0
- Add way to start and stop different polling sessions for the same network client ID by providing extra scoping data (#1776)
- Add optional second argument to
stopPollingByPollingToken(formerlystopPollingByNetworkClientId) - Add optional second argument to
onPollingCompleteByNetworkClientId
- Add optional second argument to
- BREAKING: Bump dependency and peer dependency on
@metamask/network-controllerto ^15.0.0 - BREAKING: Polling controllers are expected to override
_executePollinstead ofexecutePoll(#1810) - BREAKING: Rename
stopPollingByNetworkClientIdtostopPollingByPollingToken(#1810) - Add dependency on
fast-json-stable-stringify^2.1.0
- Initial release