Releases: MetaMask/core
Releases · MetaMask/core
165.0.0
164.0.0
@metamask/notification-services-controller 0.1.0
Added
- Initial release
163.0.0
@metamask/profile-sync-controller 0.1.0
Added
- Initial release
162.0.0
@metamask/queued-request-controller 1.0.0
Changed
- BREAKING:
QueuedRequestController
constructor no longer accepts themethodsRequiringNetworkSwitch
array param. It's now replaced with theshouldRequestSwitchNetwork
function param which should return true when a request requires the globally selected network to match that of the dapp from which the request originated. (#4423) - BREAKING:
createQueuedRequestMiddleware
no longer accepts themethodsWithConfirmation
array typed param. It's now replaced with theshouldEnqueueRequest
function typed param which should return true when a request should be handled by theQueuedRequestController
. (#4423)
161.0.0
@metamask/accounts-controller 17.0.0
Changed
- BREAKING: Newly added account is no longer set as the last selected account (#4363)
- Bump
@metamask/eth-snap-keyring
to^4.3.1
(#4405) - Bump
@metamask/keyring-api
to^8.0.0
(#4405) - Bump
@metamask/keyring-controller
to^17.1.0
(devDependencies
) (#4413)
Fixed
- Use
listMultichainAccount
ingetAccountByAddress
(#4375)
@metamask/assets-controllers 33.0.0
Added
- BREAKING: Add
messenger
as a constructor option forAccountTrackerController
(#4225) - BREAKING: Add
messenger
option toTokenRatesController
(#4314)- This messenger must allow the actions
TokensController:getState
,NetworkController:getNetworkClientById
,NetworkController:getState
, andPreferencesController:getState
and allow the eventsPreferencesController:stateChange
,TokensController:stateChange
, andNetworkController:stateChange
.
- This messenger must allow the actions
- Add types
TokenRatesControllerGetStateAction
,TokenRatesControllerActions
,TokenRatesControllerStateChangeEvent
,TokenRatesControllerEvents
,TokenRatesControllerMessenger
(#4314) - Add function
getDefaultTokenRatesControllerState
(#4314) - Add
enable
anddisable
methods toTokenRatesController
(#4314)- These are used to stop and restart polling.
- Export
ContractExchangeRates
type (#4314)- Add
AccountTrackerControllerMessenger
type
- Add
- BREAKING: The
NftController
messenger must now allowAccountsController:getAccount
andAccountsController:getSelectedAccount
as messenger actions andAccountsController:selectedEvmAccountChange
as a messenger event (#4221) - BREAKING:
NftDetectionController
messenger must now allowAccountsController:getSelectedAccount
as a messenger action (#4221) - Token price API support for mantle network (#4376)
Changed
- BREAKING: Bump dependency and peer dependency
@metamask/accounts-controller
to^17.0.0
(#4413) - BREAKING:
TokenRatesController
now inherits fromStaticIntervalPollingController
instead ofStaticIntervalPollingControllerV1
(#4314)- The constructor now takes a single options object rather than three arguments. Some options have been removed; see later entries.
- BREAKING: Rename
TokenRatesState
toTokenRatesControllerState
, and convert frominterface
totype
(#4314) - The
NftController
now reads the selected address via theAccountsController
, using theAccountsController:selectedEvmAccountChange
messenger event to stay up to date (#4221) NftDetectionController
now reads the currently selected account fromAccountsController
instead ofPreferencesController
(#4221)- Bump
@metamask/keyring-api
to^8.0.0
(#4405) - Bump
@metamask/eth-snap-keyring
to^4.3.1
(#4405) - Bump
@metamask/keyring-controller
to^17.1.0
(#4413)
Removed
- BREAKING: Remove
nativeCurrency
,chainId
,selectedAddress
,allTokens
, andallDetectedTokens
from configuration options forTokenRatesController
(#4314)- The messenger is now used to obtain information from other controllers where this data was originally expected to come from.
- BREAKING: Remove
config
property andconfigure
method fromTokenRatesController
(#4314)- The controller now takes a single options object which can be used for configuration, and configuration is now kept internally.
- BREAKING: Remove
notify
,subscribe
, andunsubscribe
methods fromTokenRatesController
(#4314)- Use the controller messenger for subscribing to and publishing events instead.
- BREAKING: Remove
TokenRatesConfig
type (#4314)- Some of these properties have been merged into the options that
TokenRatesController
takes.
- Some of these properties have been merged into the options that
- BREAKING: Remove
NftController
constructor optionsselectedAddress
. (#4221) - BREAKING: Remove
AccountTrackerController
constructor optionsgetIdentities
,getSelectedAddress
andonPreferencesStateChange
(#4225) - BREAKING: Remove
value
property from the data for each token instate.marketData
(#4364)- The
price
property should be used instead.
- The
Fixed
- Prevent unnecessary state updates when executing the
NftController
'supdateNftMetadata
method by comparing the metadata of fetched NFTs and NFTs in state and synchronizing state updates using a mutex lock. (#4325) - Prevent the use of market data when not available for a given token (#4361)
- Fix
refresh
method remaining locked indefinitely after it was run successfully. Now lock is released on successful as well as failed runs. (#4270) TokenRatesController
uses checksum instead of lowercase format for token addresses (#4377)
@metamask/chain-controller 0.1.0
Changed
- Initial release
@metamask/keyring-controller 17.1.0
Added
- Add support for overwriting built-in keyring builders for the Simple and HD keyring (#4362)
Changed
Deprecated
- Deprecate QR keyring methods (#4365)
cancelQRSignRequest
cancelQRSynchronization
connectQRHardware
forgetQRDevice
getOrAddQRKeyring
getQRKeyring
getQRKeyringState
resetQRKeyringState
restoreQRKeyring
submitQRCryptoHDKey
submitQRCryptoAccount
submitQRSignature
unlockQRHardwareWalletAccount
@metamask/selected-network-controller 15.0.2
Fixed
setNetworkClientId()
no longer modifies state nor creates/updates proxies when theuseRequestQueuePreference
flag is false (#4388)
@metamask/transaction-controller 33.0.0
Changed
- BREAKING: The
TransactionController
messenger must now allow theAccountsController:getSelectedAccount
action (#4244) - BREAKING:
getCurrentAccount
returns anInternalAccount
instead of astring
in theIncomingTransactionHelper
(#4244) - BREAKING: Bump dependency and peer dependency
@metamask/accounts-controller
to^17.0.0
(#4413) - Bump
@metamask/eth-snap-keyring
to^4.3.1
(#4405) - Bump
@metamask/keyring-api
to^8.0.0
(#4405)
Removed
- BREAKING: Remove
getSelectedAddress
option fromTransactionController
(#4244)- The AccountsController is used to get the currently selected address automatically.
Fixed
160.0.0
159.0.0
@metamask/accounts-controller 16.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- BREAKING: Bump peer dependency
@metamask/keyring-controller
to^17.0.0
(#4352) - Bump
@metamask/base-controller
to^6.0.0
(#4352)
@metamask/address-book-controller 5.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- Bump
@metamask/base-controller
to^6.0.0
(#4352) - Bump
@metamask/controller-utils
to^11.0.0
(#4352)
@metamask/announcement-controller 7.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- Bump
@metamask/base-controller
to^6.0.0
(#4352)
@metamask/approval-controller 7.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- Bump
@metamask/base-controller
to^6.0.0
(#4352)
@metamask/assets-controllers 32.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- BREAKING: Bump dependency and peer dependency
@metamask/accounts-controller
to^16.0.0
(#4352) - BREAKING: Bump dependency and peer dependency
@metamask/approval-controller
to^7.0.0
(#4352) - BREAKING: Bump dependency and peer dependency
@metamask/keyring-controller
to^17.0.0
(#4352) - BREAKING: Bump dependency and peer dependency
@metamask/network-controller
to^19.0.0
(#4352) - BREAKING: Bump dependency and peer dependency
@metamask/preferences-controller
to^13.0.0
(#4352) - Bump
@metamask/base-controller
to^6.0.0
(#4352) - Bump
@metamask/controller-utils
to^11.0.0
(#4352) - Bump
@metamask/polling-controller
to^8.0.0
(#4352)
@metamask/base-controller 6.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
@metamask/build-utils 3.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- Bump
@metamask/base-controller
to^6.0.0
(#4352)
@metamask/composable-controller 7.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- Bump
@metamask/base-controller
to^6.0.0
(#4352) - Bump
@metamask/json-rpc-engine
to^9.0.0
(#4352)
@metamask/controller-utils 11.0.0
Added
- Add
NFT_API_VERSION
andNFT_API_TIMEOUT
constants (#4312)
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
Removed
- BREAKING: Remove
EthSign
fromApprovalType
(#4319)- This represented an
eth_sign
approval, but support for that RPC method is being removed, so this is no longer needed.
- This represented an
@metamask/ens-controller 12.0.0
Changed
- 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)
@metamask/eth-json-rpc-provider 4.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- Bump
@metamask/json-rpc-engine
to^9.0.0
(#4352)
@metamask/gas-fee-controller 17.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- BREAKING: Bump dependency and 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) - Bump
@metamask/polling-controller
to^8.0.0
(#4352)
@metamask/json-rpc-engine 9.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
@metamask/json-rpc-middleware-stream 8.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- Bump
@metamask/json-rpc-engine
to^9.0.0
(#4352)
@metamask/keyring-controller 17.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- Bump
@metamask/base-controller
to^6.0.0
(#4352) - Bump
@metamask/message-manager
to^10.0.0
(#4352)
@metamask/logging-controller 5.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- Bump
@metamask/base-controller
to^6.0.0
(#4352) - Bump
@metamask/controller-utils
to^11.0.0
(#4352)
@metamask/message-manager 10.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- Bump
@metamask/base-controller
to^6.0.0
(#4352) - Bump
@metamask/controller-utils
to^11.0.0
(#4352)
@metamask/name-controller 8.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- Bump
@metamask/base-controller
to^6.0.0
(#4352) - Bump
@metamask/controller-utils
to^11.0.0
(#4352)
@metamask/network-controller 19.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- Bump
@metamask/base-controller
to^6.0.0
(#4352) - Bump
@metamask/controller-utils
to^11.0.0
(#4352) - Bump
@metamask/eth-json-rpc-provider
to^4.0.0
(#4352) - Bump
@metamask/json-rpc-engine
to^9.0.0
(#4352)
@metamask/notification-controller 6.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- Bump
@metamask/base-controller
to^6.0.0
(#4352)
@metamask/permission-controller 10.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- BREAKING: Bump peer dependency
@metamask/approval-controller
to^7.0.0
(#4352) - Bump
@metamask/base-controller
to^6.0.0
(#4352) - Bump
@metamask/controller-utils
to^11.0.0
(#4352) - Bump
@metamask/json-rpc-engine
to^9.0.0
(#4352)
@metamask/permission-log-controller 3.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- Bump
@metamask/base-controller
to^6.0.0
(#4352) - Bump
@metamask/json-rpc-engine
to^9.0.0
(#4352)
@metamask/phishing-controller 10.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- Bump
@metamask/base-controller
to^6.0.0
(#4352) - Bump
@metamask/controller-utils
to^11.0.0
(#4352)
@metamask/polling-controller 8.0.0
Changed
- BREAKING: Bump minimum Node version to 18.18 (#3611)
- BREAKING: Bump dependency and 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)
@metamask/preferences-controller 13.0.0
Changed
158.0.0
@metamask/accounts-controller 15.0.0
Added
- Add
getNextAvailableAccountName
method andAccountsController:getNextAvailableAccountName
controller action (#4326) - Add
listMultichainAccounts
method for getting accounts on a specific chain or the default chain (#4330) - Add
getSelectedMultichainAccount
method andAccountsController:getSelectedMultichainAccount
controller action for getting the selected account on a specific chain or the default chain (#4330)
Changed
- BREAKING: Bump peer dependency
@metamask/snaps-controllers
to^8.1.1
(#4262) - BREAKING: Bump peer dependency
@metamask/keyring-controller
to^16.1.0
(#4342) - BREAKING:
listAccounts
now filters the list of accounts in state to EVM accounts (#4330) - BREAKING:
getSelectedAccount
now throws if the selected account is not an EVM account (#4330) - Bump
@metamask/eth-snap-keyring
to^4.1.1
(#4262) - Bump
@metamask/keyring-api
to^6.1.1
(#4262) - Bump
@metamask/snaps-sdk
to^4.2.0
(#4262) - Bump
@metamask/snaps-utils
to^7.4.0
(#4262)
Fixed
- Fix "Type instantiation is excessively deep and possibly infinite" TypeScript error (#4331)
@metamask/address-book-controller 4.0.2
Changed
Fixed
- Fix
delete
method to protect against prototype-polluting assignments (#4041)
@metamask/announcement-controller 6.1.1
Changed
- Bump
@metamask/base-controller
to^5.0.2
(#4232)
@metamask/assets-controllers 31.0.0
Added
- BREAKING: The
NftDetectionController
now takes amessenger
, which can be used for communication (#4312)- This messenger must allow the following actions
ApprovalController:addRequest
,NetworkController:getState
,NetworkController:getNetworkClientById
, andPreferencesController:getState
, and must allow the eventsPreferencesController:stateChange
andNetworkController:stateChange
- This messenger must allow the following actions
- Add
NftDetectionControllerMessenger
type (#4312) - Add
NftControllerGetStateAction
,NftControllerActions
,NftControllerStateChangeEvent
, andNftControllerEvents
types (#4310) - Add
NftController:getState
andNftController:stateChange
as an available action and event to theNftController
messenger (#4310)
Changed
- BREAKING: Change
TokensController
to inherit fromBaseController
rather thanBaseControllerV1
(#4304)- The constructor now takes a single options object rather than three arguments, and all properties in
config
are now part of options.
- The constructor now takes a single options object rather than three arguments, and all properties in
- BREAKING: Rename
TokensState
type toTokensControllerState
(#4304) - BREAKING: Make all
TokensController
methods and properties starting with_
private (#4304) - BREAKING: Convert
Token
frominterface
totype
(#4304) - BREAKING: Replace
balanceError
property inToken
withhasBalanceError
; updateTokenBalancesController
so that it no longer captures the error resulting from getting the balance of an ERC-20 token (#4304) - BREAKING: Change
NftDetectionController
to inherit fromStaticIntervalPollingController
rather thanStaticIntervalPollingControllerV1
(#4312)- The constructor now takes a single options object rather than three arguments, and all properties in
config
are now part of options.
- The constructor now takes a single options object rather than three arguments, and all properties in
- BREAKING: Convert
ApiNft
,ApiNftContract
,ApiNftLastSale
, andApiNftCreator
frominterface
totype
(#4312) - BREAKING: Change
NftController
to inherit fromBaseController
rather thanBaseControllerV1
(#4310)- The constructor now takes a single options object rather than three arguments, and all properties in
config
are now part of options.
- The constructor now takes a single options object rather than three arguments, and all properties in
- BREAKING: Convert
Nft
,NftContract
, andNftMetadata
frominterface
totype
(#4310) - BREAKING: Rename
NftState
toNftControllerState
, and convert totype
(#4310) - BREAKING: Rename
getDefaultNftState
togetDefaultNftControllerState
(#4310) - BREAKING: Bump dependency and peer dependency
@metamask/accounts-controller
to^15.0.0
(#4342) - BREAKING: Bump dependency and peer dependency
@metamask/approval-controller
to^6.0.2
(#4342) - BREAKING: Bump dependency and peer dependency
@metamask/keyring-controller
to^16.1.0
(#4342) - BREAKING: Bump dependency and peer dependency
@metamask/network-controller
to^18.1.3
(#4342) - BREAKING: Bump dependency and peer dependency
@metamask/preferences-controller
to^12.0.0
(#4342) - Change
NftDetectionController
methoddetectNfts
so thatuserAddress
option is optional (#4312)- This will default to the currently selected address as kept by PreferencesController.
- Bump
async-mutex
to^0.5.0
(#4335) - Bump
@metamask/polling-controller
to^7.0.0
(#4342)
Removed
- BREAKING: Remove
config
property andconfigure
method fromTokensController
(#4304)- The
TokensController
now takes a single options object which can be used for configuration, and configuration is now kept internally.
- The
- BREAKING: Remove
notify
,subscribe
, andunsubscribe
methods fromTokensController
(#4304)- Use the controller messenger for subscribing to and publishing events instead.
- BREAKING: Remove
TokensConfig
type (#4304)- These properties have been merged into the options that
TokensController
takes.
- These properties have been merged into the options that
- BREAKING: Remove
config
property andconfigure
method fromTokensController
(#4312)TokensController
now takes a single options object which can be used for configuration, and configuration is now kept internally.
- BREAKING: Remove
notify
,subscribe
, andunsubscribe
methods fromNftDetectionController
(#4312)- Use the controller messenger for subscribing to and publishing events instead.
- BREAKING: Remove
chainId
as aNftDetectionController
constructor argument (#4312)- The controller will now read the
networkClientId
from the NetworkController state through the messenger when needed.
- The controller will now read the
- BREAKING: Remove
getNetworkClientById
as aNftDetectionController
constructor argument (#4312)- The controller will now call
NetworkController:getNetworkClientId
through the messenger object.
- The controller will now call
- BREAKING: Remove
onPreferencesStateChange
as aNftDetectionController
constructor argument (#4312)- The controller will now call
PreferencesController:stateChange
through the messenger object.
- The controller will now call
- BREAKING: Remove
onNetworkStateChange
as aNftDetectionController
constructor argument (#4312)- The controller will now read the
networkClientId
from the NetworkController state through the messenger when needed.
- The controller will now read the
- BREAKING: Remove
getOpenSeaApiKey
as aNftDetectionController
constructor argument (#4312)- This was never used.
- BREAKING: Remove
getNftApi
as aNftDetectionController
constructor argument (#4312)- This was never used.
- BREAKING: Remove
NftDetectionConfig
type (#4312)- These properties have been merged into the options that
NftDetectionController
takes.
- These properties have been merged into the options that
- BREAKING: Remove
config
property andconfigure
method fromNftController
(#4310)NftController
now takes a single options object which can be used for configuration, and configuration is now kept internally.
- BREAKING: Remove
notify
,subscribe
, andunsubscribe
methods fromNftController
(#4310)- Use the controller messenger for subscribing to and publishing events instead.
- BREAKING: Remove
onPreferencesStateChange
as aNftController
constr...
157.0.0
@metamask/assets-controllers 30.0.0
Added
- Adds a new field
marketData
to the state ofTokenRatesController
(#4206) - Adds a new
RatesController
to manage prices for non-EVM blockchains (#4242)
Changed
- BREAKING: Changed price and token API endpoints from
*.metafi.codefi.network
to*.api.cx.metamask.io
(#4301) - When fetching token list for Linea Mainnet, use
occurrenceFloor
parameter of 1 instead of 3, and filter tokens to those with alineaTeam
aggregator or more than 3 aggregators (#4253) - BREAKING: The NftController messenger must now allow the
NetworkController:getNetworkClientById
action (#4305) - BREAKING: Bump dependency and peer dependency
@metamask/network-controller
to^18.1.2
(#4332) - Bump
@metamask/keyring-api
to^6.1.1
(#4262)
Removed
- BREAKING: Removed
contractExchangeRates
andcontractExchangeRatesByChainId
from the state ofTokenRatesController
(#4206)
Fixed
- Only update NFT state when metadata actually changes (#4143)
@metamask/controller-utils 10.0.0
Changed
- BREAKING: Changed price and token API endpoints from
*.metafi.codefi.network
to*.api.cx.metamask.io
(#4301)
156.0.0
@metamask/network-controller 18.1.2
Fixed
- Update from
eth-block-tracker
to@metamask/eth-block-tracker
^9.0.2
, mitigating redundant polling loops (#4309)
@metamask/transaction-controller 30.0.0
Fixed
- BREAKING: Update from
nonce-tracker@^3.0.0
to@metamask/nonce-tracker@^5.0.0
to mitigate issue with redundant polling loops in block tracker. (#4309)- The constructor now expects the
blockTracker
option being an instance of@metamask/eth-block-tracker
instead ofeth-block-tracker
.
- The constructor now expects the