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/base-controllerfrom^7.0.2to^8.0.0(#5079), (#5135), (#5305) - Bump
@metamask/rpc-errorsfrom^7.0.1to^7.0.2(#5080) - Bump
@metamask/utilsfrom^10.0.0to^11.1.0(#5080), (#5223)
- Bump
@metamask/rpc-errorsfrom^6.3.1to^7.0.1(#4769, #4831) - Bump
@metamask/base-controllerfrom^7.0.1to^7.0.2(#4862) - Bump
@metamask/utilsfrom^9.1.0to^10.0.0(#4831)
- Bump
@metamask/utilsfrom^8.3.0to^9.1.0(#4516, #4529) - Bump
@metamask/rpc-errorsfrom^6.2.1to^6.3.1(#4516) - Bump TypeScript from
~4.9.5to~5.2.2and setmoduleResolutionoption toNode16(#3645, #4576, #4584)
- 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 minimum Node version to 18.18 (#3611)
- Bump
@metamask/base-controllerto^6.0.0(#4352)
- Bump
@metamask/base-controllerto^5.0.2(#4232)
- 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
- Add and export types
RateLimitedApiMapandRateLimitedRequests(#3963)RateLimitedApiMaprepresents the type of theRateLimitedApisgeneric parameter used throughout the controller.RateLimitedRequestsrepresents the type of therequestproperty ofRateLimitState.
- BREAKING: Rename types to align with conventions followed by other controllers (#3963)
GetRateLimitStateis nowRateLimitControllerGetStateAction.RateLimitStateChangeis nowRateLimitControllerStateChangeEvent.CallApiis nowRateLimitControllerCallApiAction.
- BREAKING: Bump
@metamask/base-controllerto^5.0.0(#4039)- This version has a number of breaking changes. See the changelog for more.
- Bump
@metamask/rpc-errorsto^6.2.1(#3970) - Add
@metamask/utils^8.3.0as a dependency (#3963)
- BREAKING: Correct action and event payloads for
RateLimitControllerGetStateAction(formerlyGetRateLimitState)andRateLimitStateChange(formerlyRateLimitControllerStateChangeEvent) by replacingRateLimitedApiswithRateLimitState<RateLimitedApis>(#3949)- The wrong type was introduced in 4.0.0.
- Bump
@metamask/base-controllerto^4.0.1(#3695)
- BREAKING: Enforce that
RateLimitedApi['method']matches action handler type instead of usingany(#1890) - 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 dependency on
@metamask/base-controllerto ^3.2.3 (#1747) - Move from
eth-rpc-errors^4.0.2 to@metamask/rpc-errors^6.1.0 (#1653)
- Update TypeScript to v4.8.x (#1718)
- Bump dependency on
@metamask/base-controllerto ^3.2.1
- BREAKING: Allow
RateLimitControllerto define a rate-limit per method (#1355)- The constructor
implementationsoption now maps API names to objects with amethodproperty, rather than mapping to a function. This object may also haverateLimitCountandrateLimitTimeoutproperties, allowing custom rate limits for that method.
- The constructor
- BREAKING: Bump to Node 16 (#1262)
- deps: eth-rpc-errors@4.0.0->4.0.2 (#1215)
- BREAKING: Remove
isomorphic-fetch(#1106)- Consumers must now import
isomorphic-fetchor another polyfill themselves if they are running in an environment withoutfetch
- Consumers must now import
- Relax dependency on
@metamask/base-controller(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/controllersv33.0.0, namely:- Everything in
src/ratelimit
All changes listed after this point were applied to this package following the monorepo conversion.
- Everything in
-