Skip to content

Releases: MetaMask/core

140.0.0

17 Apr 14:56
ad25a2a
Compare
Choose a tag to compare

@metamask/accounts-controller 13.0.0

Changed

  • Fix update setSelectedAccount to throw if the id is not found (#4167)
  • Fix normal account indexing naming with index gap (#4089)
  • BREAKING Bump peer dependency @metamask/snaps-controllers to ^6.0.3 and dependencies @metamask/snaps-sdk to ^3.1.1, @metamask/eth-snap-keyring to ^3.0.0(#4090)

@metamask/assets-controllers 28.0.0

Added

  • Add reservoir migration (#4030)

Changed

  • Fix getting nft tokenURI (#4136)
  • BREAKING Bump peer dependency on @metamask/keyring-controller (#4090)
  • Fix token detection during account change (#4133)
  • Fix update nft metadata when toggles off (#4096)
  • Adds tokenMethodIncreaseAllowance (#4069)
  • Fix mantle token mispriced (#4045)

@metamask/keyring-controller 15.0.0

Changed

  • BREAKING use getAccounts on HD Keyring when calling addNewAccount (#4158)
  • Pass CAIP-2 scope to execution context (#4090)
  • Allow gas limits to be changed during #addPaymasterData (#3942)

@metamask/preferences-controller 10.0.0

Changed

  • BREAKING Bump peer dependency on @metamask/keyring-controller to ^15.0.0 (#4090)
  • Restore previous behavior of toChecksumHexAddress (#4046)

@metamask/signature-controller 15.0.0

Changed

  • BREAKING Bump peer dependency on @metamask/keyring-controller to ^15.0.0 (#4090)

@metamask/user-operation-controller 8.0.0

Changed

  • BREAKING Bump peer dependency on @metamask/keyring-controller to ^15.0.0 and Pass CAIP-2 scope to execution context (#4090)
  • Allow gas limits to be changed during #addPaymasterData (#3942)

139.0.0

16 Apr 20:30
1551844
Compare
Choose a tag to compare

@metamask/queued-request-controller 0.9.0

Changed

  • BREAKING: Bump peer dependency @metamask/selected-network-controller to ^12.0.0 (#4173)

@metamask/selected-network-controller 12.0.0

Added

  • These changes keep the per domain proxies (stored in domainProxyMap) pointing to the correct network client instance when the "Select networks for each site" toggle is turned on and off.
    • BREAKING: A parameter useRequestQueuePreference which should point to the current preferences state for useRequestQueue is now required by the constructor (#4130)
      • BREAKING: An onPreferencesStateChange argument that should subscribe to PreferencesController state changes and call a callback with the updated state is now a required parameter in the constructor options object. (#4130)

Removed

  • The getUseRequestQueue parameter is no longer expected by the constructor. (#4130)

138.0.0

16 Apr 18:58
bdeb992
Compare
Choose a tag to compare

@metamask/queued-request-controller 0.8.0

Added

  • BREAKING: The QueuedRequestMiddleware constructor now requires the methodsWithConfirmation param which should be a list of methods that can trigger confirmations (#4066)
  • BREAKING: The QueuedRequestController constructor now requires the methodsRequiringNetworkSwitch param which should be a list of methods that need the globally selected network to switched to the dapp selected network before being processed (#4066)
  • BREAKING: Clear pending confirmations (for both queued and non-queued requests) after processing revokePermissions. We now require a function to be passed into the constructor (clearPendingConfirmations) which will be called when permissions are revoked for a domain who currently has pending confirmations that are not queued. This is done by piggybacking on SelectedNetworkController:stateChange in order to serve as a proxy for permissions being revoked. (#4165)
  • BREAKING: The QueuedRequestController will now flush the RequestQueue after a dapp switches networks. QueuedRequestController now requires a subscription on SelectedNetworkController:stateChange, and upon receiving stateChanges for adding or replacing selectedNetworkController.state.domains, we flush the queue for the domain in question. (#4139)

Changed

  • BREAKING: QueuedRequestController.enqueueRequest() now ensures the globally selected network matches the dapp selected network before processing methods listed in the methodsRequiringNetworkSwitch constructor param. This replaces the previous behavior of switching for all methods except eth_requestAccounts. (#4066)

137.0.0

15 Apr 09:42
254d434
Compare
Choose a tag to compare

@metamask/transaction-controller 28.0.0

Changed

  • BREAKING: Change getLayer1GasFee arguments to a request object (#4149)

Fixed

  • Fix automatic update of layer 1 gas fee after interval (#4149)

136.0.0

12 Apr 18:46
34542cf
Compare
Choose a tag to compare

@metamask/controller-utils 9.1.0

Added

  • Export new constant for the NFT API's url (#4030)
  • Add support for wider range of SIWE messages (#4141)

Changed

  • Bump TypeScript version to ~4.9.5 (#4084)

Fixed

  • Add guards against prototype-polluting assignments (#4041)

135.0.0

09 Apr 14:56
2dbec7b
Compare
Choose a tag to compare

@metamask/transaction-controller 27.0.1

Fixed

  • Include wrapped ERC-20 and legacy ERC-721 tokens in simulation balance changes (#4122)

134.0.0

02 Apr 15:35
4f6df1d
Compare
Choose a tag to compare

@metamask/transaction-controller 27.0.0

Changed

  • BREAKING: Change pendingTransactions.isResubmitEnabled from optional boolean to optional callback (#4113)

Fixed

  • Check pending transactions on startup (#4113)

133.0.0

27 Mar 18:17
4c91654
Compare
Choose a tag to compare

@metamask/announcement-controller 6.1.0

Added

  • Add resetViewed method to AnnouncementController to reset the isShown status for all announcements (#4088)

@metamask/gas-fee-controller 15.0.0

Changed

  • BREAKING: The controller's constructor now requires infuraAPIKey. This is used to construct and send the Authorization header for Infura gas API requests. (#4068)
  • Bump dependency @metamask/network-controller to ^18.1.0 (#4121)

Removed

  • BREAKING: Remove the constructor options legacyAPIEndpoint and EIP1559APIEndpoint. These URLs are now hardcoded within the controller. (#4068)

@metamask/network-controller 18.1.0

Added

  • Add getSelectedNetworkClient method that returns the provider and blockTracker for the currently selected network but with a more easily used type than getProviderAndBlockTracker (#4063)
  • Add NetworkController:getSelectedNetworkClient action (#4063)

Changed

  • getProviderAndBlockTracker is now marked as deprecated and will be removed in a future release. (#4063)

@metamask/queued-request-controller 0.7.0

Changed

  • BREAKING: Bump peer dependency @metamask/selected-network-controller to ^11.0.0 (#4121)
  • Bump @metamask/controller-utils to ^9.0.2 (#4065)

@metamask/selected-network-controller 11.0.0

Added

  • Now exports the Domain type (#4104)

Changed

  • Previously the SelectedNetworkController only constructed proxies for domains that had permissions. Other domains have no associated proxy and the getProviderAndBlockTracker method would throw an error. This was problematic because we grab the network client for an origin a single time when constructing an RPC pipeline for that origin in the MetaMask extension. We don't re-create the RPC pipeline when permissions change. That means that the pipeline is setup with the wrong network client and cannot be updated. The following changes ensure seamlessly proxying calls during sessions where a dapp connects/disconnects and provides a path for clients to prune inactive proxies:
    • BREAKING: SelectedNetworkController now expects a domainProxyMap param - which is a Map of Domain to NetworkProxy - in its constructor (#4104)
      • This domainProxyMap is expected to automatically delete entries for domains that are no longer connected to the wallet. The SelectedNetworkController handles adding entries, but it can't handle removal, as it doesn't know which connections are active.
      • You can pass in a plain Map here and it will work, but during longer sessions this might grow unbounded, resulting in a memory leak.
    • BREAKING: SelectedNetworkController now requires NetworkController:getSelectedNetworkClient as an allowed action (#4063)
    • getProviderAndBlockTracker method no longer throws an error if the useRequestQueue flag is false (#4063)
    • getProviderAndBlockTracker method no longer throws an error if there is no networkClientId set for the passed domain. Now it returns a proxy pointed at the globally selected network instead. (#4063)
  • Bump dependency @metamask/network-controller to ^18.1.0 (#4121)

Fixed

  • Previously when a domain's permission was removed from PermissionsController, it's network client proxy would continue to point at the networkClientId it was last set to. Now it is set to follow the globally selected network (#4063)

@metamask/transaction-controller 26.0.0

Added

  • Run OptimismLayer1GasFeeFlow on Optimism stack based transactions in order to add layer1GasFee property to transaction meta. (#4055)
  • Add getLayer1GasFee method to TransactionController to get the layer 1 gas fee for the given transaction params (#4055)
  • Add SimulationErrorCode enum (#4106)

Changed

  • BREAKING: Bump peer dependency @metamask/gas-fee-controller to ^15.0.0 (#4121)
  • Update addTransaction to skip simulation if requireApproval is specified as false (#4106)
  • Provide simulation error code in locally generated errors (under the code property) (#4106)
  • Add dependency @ethersproject/contracts ^5.7.0 (#4055)
  • Add dependency @ethersproject/providers ^5.7.0 (#4055)
  • Bump dependency @metamask/network-controller to ^18.1.0 (#4121)

Removed

  • BREAKING: Remove isReverted property from SimulationError type. (#4106)

@metamask/user-operation-controller 7.0.0

Changed

  • BREAKING: Bump peer dependency @metamask/gas-fee-controller to ^15.0.0 (#4121)
  • BREAKING: Bump peer dependency @metamask/transaction-controller to ^26.0.0 (#4121)
  • Bump dependency @metamask/network-controller to ^18.1.0 (#4121)

132.0.0

25 Mar 09:33
1aaaab0
Compare
Choose a tag to compare

@metamask/transaction-controller 25.3.0

Added

  • Add support for transactions with type increaseAllowance (#4069)
    • Also add "increaseAllowance" to TransactionType under tokenMethodIncreaseAllowance

Changed

  • Bump @metamask/metamask-eth-abis to ^3.1.1 (#4069)

Fixed

  • Provide updated transaction metadata to publish hook (#4101)

131.0.0

21 Mar 09:12
eda6a6a
Compare
Choose a tag to compare

@metamask/transaction-controller 25.2.1

Changed

  • Bump TypeScript version to ~4.9.5 (#4084)

Fixed

  • Emit finished event for custodial transactions when updating status to submitted or failed (#4092)