Releases: MetaMask/core
Releases · MetaMask/core
185.0.0
@metamask/network-controller 20.2.0
Changed
upsertNetworkConfiguration
now accepts an optional id property on the NetworkConfiguration param. It allows a network configuration to have its rpcUrl updated in place when an id is specified, but only if that new rpcUrl does not already exist on a different network configuration. (#4614)- Bump
@metamask/eth-json-rpc-provider
to^4.1.3
(#4607) - Update TypeScript to 5.2.2 (#4576, #4584)
Fixed
removeNetworkConfiguration
now throws an error if you attempt to remove the selected network (#4566)
184.0.0
183.0.0
182.0.0
@metamask/notification-services-controller 0.2.1
Added
- new controller events when notifications list is updated or notifications are read (#4573)
- unlock checks for when controller methods are called (#4569)
Changed
@metamask/profile-sync-controller 0.2.1
Added
- unlock checks for when controller methods are called (#4569)
Changed
181.0.0
@metamask/transaction-controller 35.1.0
Added
- Add
DISPLAYED_TRANSACTION_HISTORY_PATHS
constant, representing the transaction history paths that may be used for display (#4555)- This was exported so that it might be used to ensure display logic and internal history logic remains in-sync.
- Any paths listed here will have their timestamps preserved. Unlisted paths may be compressed by the controller to minimize history size, losing the timestamp.
- Add
MAX_TRANSACTION_HISTORY_LENGTH
constant, representing the expected maximum size of thehistory
property for a given transaction (#4555)- Note that this is not strictly enforced, the length may exceed this number of all entries are "displayed" entries, but we expect this to be extremely improbable in practice.
Fixed
- Prevent transaction history from growing endlessly in size (#4555)
180.0.0
@metamask/accounts-controller 18.0.0
Changed
- BREAKING: Bump peerDependency
@metamask/snaps-controllers
from^8.1.1
to^9.3.0
(#3645) - Remove
@metamask/keyring-controller
dependency #4556- This was listed under
peerDependencies
already, so it was redundant as a dependency.
- This was listed under
- Upgrade TypeScript version to
~5.0.4
and setmoduleResolution
option toNode16
(#3645) - Bump
@metamask/base-controller
from^6.0.0
to^6.0.2
(#4517, #4544) - Bump
@metamask/keyring-api
from^8.0.0
to^8.0.1
(#3645) - Bump
@metamask/snaps-sdk
from^4.2.0
to^6.1.1
(#3645, #4547) - Bump
@metamask/snaps-utils
from^7.4.0
to^7.8.1
(#3645, #4547) - Bump
@metamask/utils
from^8.3.0
to^9.1.0
(#4516, #4529)
@metamask/assets-controllers 37.0.0
Added
- Add elements to the
AssetsContractController
class: (#4397)- Add class field
messagingSystem
. - Add getters for
ipfsGateway
andchainId
. As corresponding setters have not been defined, these properties are not externally mutable.
- Add class field
- Add and export the
AssetsContractControllerMessenger
type (#4397)AssetsContractControllerMessenger
must allow the external actionsNetworkController:getNetworkClientById
,NetworkController:getNetworkConfigurationByNetworkClientId
,NetworkController:getSelectedNetworkClient
,NetworkController:getState
.AssetsContractControllerMessenger
must allow the external eventsPreferencesController:stateChange
,NetworkController:networkDidChange
.
- Add and export new types:
AssetsContractControllerActions
,AssetsContractControllerEvents
,AssetsContractControllerGetERC20StandardAction
,AssetsContractControllerGetERC721StandardAction
,AssetsContractControllerGetERC1155StandardAction
,AssetsContractControllerGetERC20BalanceOfAction
,AssetsContractControllerGetERC20TokenDecimalsAction
,AssetsContractControllerGetERC20TokenNameAction
,AssetsContractControllerGetERC721NftTokenIdAction
,AssetsContractControllerGetERC721TokenURIAction
,AssetsContractControllerGetERC721AssetNameAction
,AssetsContractControllerGetERC721AssetSymbolAction
,AssetsContractControllerGetERC721OwnerOfAction
,AssetsContractControllerGetERC1155TokenURIAction
,AssetsContractControllerGetERC1155BalanceOfAction
,AssetsContractControllerTransferSingleERC1155Action
,AssetsContractControllerGetTokenStandardAndDetailsAction
,AssetsContractControllerGetBalancesInSingleCallAction
(#4397) - Add a new
setProvider
method toAssetsContractController
(#4397)- Replaces the removed
provider
setter method, and widens theprovider
function parameter type fromProvider
toProvider | undefined
.
- Replaces the removed
- Export
TokenBalancesControllerState
type (#4535)- This was defined but not exported in v34.0.0.
- Add
getNFTContractInfo
method to theNFTController
for fetching NFT Collection Metadata from the NFT API (#4524)
Changed
- BREAKING: Add required constructor option
messenger
to theAssetsContractController
class (#4397) - BREAKING:
TokenBalancesControllerMessenger
must allow theAssetsContractController:getERC20BalanceOf
action in addition to its previous allowed actions (#4397) - BREAKING:
NftControllerMessenger
must allow the following actions in addition to its previous allowed actions:AssetsContractController:getERC721AssetName
,AssetsContractController:getERC721AssetSymbol
,AssetsContractController:getERC721TokenURI
,AssetsContractController:getERC721OwnerOf
,AssetsContractController:getERC1155BalanceOf
,AssetsContractController:getERC1155TokenURI
(#4397) - BREAKING: The type of
SINGLE_CALL_BALANCES_ADDRESS_BY_CHAINID
is narrowed fromRecord<Hex, string>
to the const-asserted literal properties of theSINGLE_CALL_BALANCES_ADDRESS_BY_CHAINID
object (#4397)- The index signature is restricted to the union of the enum keys of
SupportedTokenDetectionNetworks
. - The property value type is restricted to the type union of the addresses defined in the object.
- The object type is constrained by
Record<Hex, string>
using thesatisfies
keyword.
- The index signature is restricted to the union of the enum keys of
- BREAKING: Convert the
BalanceMap
type from aninterface
into a type alias (#4397)- Type aliases have an index signature of
string
by default, and are compatible with theStateConstraint
type defined in the@metamask/base-controller
package.
- Type aliases have an index signature of
- BREAKING:
getIpfsCIDv1AndPath
,getFormattedIpfsUrl
are now async functions (#3645) - BREAKING: Bump peerDependency
@metamask/accounts-controller
from^17.0.0
to^18.0.0
(#4548) - Remove
@metamask/accounts-controller
,@metamask/approval-controller
,@metamask/keyring-controller
, and@metamask/preferences-controller
dependencies #4556- These were listed under
peerDependencies
already, so they were redundant as dependencies.
- These were listed under
- Add
immer
^9.0.6
as a new dependency (#3645) - Bump
@metamask/abi-utils
from^2.0.2
to^2.0.3
(#3645) - Bump
@metamask/base-controller
from^6.0.0
to^6.0.2
(#4517, #4544) - Bump
@metamask/controller-utils
from^11.0.1
to^11.0.2
(#4544) - Bump
@metamask/utils
from^9.0.0
to^9.1.0
(#4529) - Bump
multiformats
from^9.5.2
to^13.1.0
(#3645) - Bump
@metamask/polling-controller
from^9.0.0
to^9.0.1
(#4548)
Removed
- BREAKING: Remove elements from the
AssetsContractController
class: (#4397)- BREAKING:
AssetsContractController
no longer inherits fromBaseControllerV1
. - BREAKING: Remove constructor option callbacks
onPreferencesStateChange
,onNetworkDidChange
,getNetworkClientById
, and replace with corresponding messenger actions and events. - BREAKING: Remove class fields:
name
,config
(along with its propertiesprovider
,ipfsGateway
,chainId
). - BREAKING: Remove methods:
getProvider
,getChainId
.- Use the getters
provider
andchainId
instead.
- Use the getters
- BREAKING: Remove the
provider
setter method.- Use the
setProvider
method instead.
- Use the
- BREAKING:
- BREAKING: Remove the
getERC20BalanceOf
constructor option callback from theTokenBalancesControllerOptions
type and theTokenBalancesController
constructor (#4397)- The messenger is expected to allow
AssetsContractController:getERC20BalanceOf
messenger action so that it can be used instead.
- The messenger is expected to allow
- BREAKING: Remove
NftController
constructor option callbacks:getERC721AssetName
,getERC721AssetSymbol
,getERC721TokenURI
,getERC721OwnerOf
,getERC1155BalanceOf
,getERC1155TokenURI
(#4397)- These are accessed through the messenger instead.
- BREAKING: Remove the
AssetsContractConfig
type (#4397) - BREAKING: Remove export for
MISSING_PROVIDER_ERROR
(#4397)
Fixed
- BREAKING: Convert the
getERC721NftTokenId
method of theAssetsContractController
into an async function. (#4397)
@metamask/chain-controller 0.1.1
Changed
- Upgrade TypeScript version to
~5.0.4
and setmoduleResolution
option toNode16
(#3645) - Bump
@metamask/base-controller
from^6.0.0
to^6.0.2
(#4517, #4544) - Bump
@metamask/chain-api
from^0.0.1
to^0.1.0
(#3645) - Bump
@metamask/keyring-api
from^8.0.0
to^8.0.1
(#3645) - Bump
@metamask/snaps-controllers
from^8.1.1
to^9.3.1
(#3645, #4547) - Bump
@metamask/snaps-sdk
from^4.2.0
to^6.1.1
(#3645, #4547) - Bump
@metamask/snaps-utils
from^7.4.0
to^7.8.1
(#3645, #4547) - Bump
@metamask/utils
from^8.3.0
to^9.1.0
(#4516, #4529)
@metamask/ens-controller 13.0.1
Changed
- Upgrade TypeScript version to
~5.0.4
and set `m...
179.0.0
@metamask/approval-controller 7.0.2
Changed
- Bump TypeScript version to
~5.0.4
and setmoduleResolution
option toNode16
(#3645) - Bump
@metamask/base-controller
from^6.0.1
from^6.0.2
(#4544) - Bump
@metamask/utils
from^9.0.0
to^9.1.0
(#4529)
@metamask/base-controller 6.0.2
Changed
- Bump TypeScript version to
~5.0.4
and setmoduleResolution
option toNode16
(#3645) - Bump
@metamask/utils
from^9.0.0
to^9.1.0
(#4529)
@metamask/controller-utils 11.0.2
Changed
- Bump TypeScript version to
~5.0.4
and setmoduleResolution
option toNode16
(#3645) - Bump
@metamask/utils
from^9.0.0
to^9.1.0
(#4529)
@metamask/json-rpc-engine 9.0.2
Changed
- Bump TypeScript version to
~5.0.4
and setmoduleResolution
option toNode16
(#3645) - Bump
@metamask/utils
from^9.0.0
to^9.1.0
(#4529)
@metamask/json-rpc-middleware-stream 8.0.2
Uncategorized
- Bump TypeScript version to
~5.0.4
and setmoduleResolution
option toNode16
(#3645) - Bump
@metamask/utils
from^9.0.0
to^9.1.0
(#4529)
@metamask/permission-controller 11.0.0
Changed
- BREAKING: Rename enum property names to match PascalCase instead of camelCase (#4521)
- The affected enums are:
CaveatMutatorOperations
,MethodNames
.
- The affected enums are:
- Bump TypeScript version to
~5.0.4
and setmoduleResolution
option toNode16
(#3645) - Bump
@metamask/base-controller
from^6.0.1
to^6.0.2
(#4544) - Bump
@metamask/controller-utils
from^11.0.1
to^11.0.2
(#4544) - Bump
@metamask/json-rpc-engine
from^9.0.1
to^9.0.2
(#4544) - Bump
@metamask/utils
from^9.0.0
to^9.1.0
(#4529)
@metamask/phishing-controller 10.1.1
Changed
178.0.0
@metamask/notification-services-controller 0.1.2
Added
-
added catch statements in NotificationServicesController to silently fail push notifications (#4536)
-
added checks to see feature announcement environments before fetching announcements (#4530)
Removed
- removed retries when fetching announcements and wallet notifications. Clients are to handle retries now. (#4531)
@metamask/profile-sync-controller 0.1.4
Added
-
added
LoginResponse
validation in profile syncing SDK (#4541) -
added snap caching when calling the message signing snap (#4532)
Removed
- removed a server-side node dependency from profile-sync-sdk (#4539)
Fixed
- removed a catch statement call in AuthenticationController to prevent infinite crashes. (#4533)
177.0.0
176.0.0
@metamask/keyring-controller 17.1.1
Changed
- Bump
@metamask/utils
to^9.0.0
,@metamask/rpc-errors
to^6.3.1
(#4516)
Fixed
- Clear encryption salt and key in
setLocked
and#createNewVaultWithKeyring
to ensure that encryption key is always generated with the latest password (#4514)
@metamask/message-manager 10.0.1
Changed
- Bump
@metamask/utils
to^9.0.0
,@metamask/rpc-errors
to^6.3.1
(#4516)
Fixed
- Add
EventEmitter
type annotation to thehub
class field ofAbstractMessageManager
(#4510)- This ensures that
hub
is not inferred to be a generic type, which would break types for downstream consumers.
- This ensures that