Releases: MetaMask/core
Releases · MetaMask/core
140.0.0
@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
139.0.0
@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 foruseRequestQueue
is now required by the constructor (#4130) -
- BREAKING: An
onPreferencesStateChange
argument that should subscribe toPreferencesController
state changes and call a callback with the updated state is now a required parameter in the constructor options object. (#4130)
- BREAKING: An
- BREAKING: A parameter
Removed
- The
getUseRequestQueue
parameter is no longer expected by the constructor. (#4130)
138.0.0
@metamask/queued-request-controller 0.8.0
Added
- BREAKING: The
QueuedRequestMiddleware
constructor now requires themethodsWithConfirmation
param which should be a list of methods that can trigger confirmations (#4066) - BREAKING: The
QueuedRequestController
constructor now requires themethodsRequiringNetworkSwitch
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 onSelectedNetworkController: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 themethodsRequiringNetworkSwitch
constructor param. This replaces the previous behavior of switching for all methods excepteth_requestAccounts
. (#4066)
137.0.0
136.0.0
135.0.0
134.0.0
133.0.0
@metamask/announcement-controller 6.1.0
Added
- Add
resetViewed
method toAnnouncementController
to reset theisShown
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 theAuthorization
header for Infura gas API requests. (#4068) - Bump dependency
@metamask/network-controller
to^18.1.0
(#4121)
Removed
- BREAKING: Remove the constructor options
legacyAPIEndpoint
andEIP1559APIEndpoint
. 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 thangetProviderAndBlockTracker
(#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 thegetProviderAndBlockTracker
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 adomainProxyMap
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. TheSelectedNetworkController
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.
- This
- BREAKING:
SelectedNetworkController
now requiresNetworkController:getSelectedNetworkClient
as an allowed action (#4063) getProviderAndBlockTracker
method no longer throws an error if theuseRequestQueue
flag is false (#4063)getProviderAndBlockTracker
method no longer throws an error if there is nonetworkClientId
set for the passed domain. Now it returns a proxy pointed at the globally selected network instead. (#4063)
- BREAKING:
- 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 thenetworkClientId
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 addlayer1GasFee
property to transaction meta. (#4055) - Add
getLayer1GasFee
method toTransactionController
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 ifrequireApproval
is specified asfalse
(#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 fromSimulationError
type. (#4106)
@metamask/user-operation-controller 7.0.0
Changed
132.0.0
@metamask/transaction-controller 25.3.0
Added
- Add support for transactions with type
increaseAllowance
(#4069)- Also add "increaseAllowance" to
TransactionType
undertokenMethodIncreaseAllowance
- Also add "increaseAllowance" to
Changed
- Bump
@metamask/metamask-eth-abis
to^3.1.1
(#4069)
Fixed
- Provide updated transaction metadata to publish hook (#4101)