Skip to content

Releases: MetaMask/core

185.0.0

16 Aug 18:44
cb86ba0
Compare
Choose a tag to compare

@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

13 Aug 21:44
a6177fb
Compare
Choose a tag to compare

@metamask/eth-json-rpc-provider 4.1.3

Changed

  • Bump typescript from ~5.0.4 to ~5.2.2 (#4576, #4584)

Fixed

  • Fix SafeEventEmitterProvider invalid default params (#4603)

183.0.0

13 Aug 15:47
cd158e0
Compare
Choose a tag to compare

@metamask/transaction-controller 35.1.1

Changed

  • Upgrade TypeScript version from ~5.0.4 to ~5.2.2 (#4576, #4584)

Fixed

  • Fix gaps in transaction validation and async error logging (#4596)
  • Upgrade @metamask/nonce-tracker from v5 to v6 (#4591)

182.0.0

12 Aug 13:53
d8d1b22
Compare
Choose a tag to compare

@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

  • updated controller event type names (#4592)
  • Bump typescript from ~5.0.4 to ~5.1.6 (#4576)

@metamask/profile-sync-controller 0.2.1

Added

  • unlock checks for when controller methods are called (#4569)

Changed

  • BREAKING made MOCK_ENCRYPTED_STORAGE_DATA fixture a function to be lazily evaluated (#4592)
  • Bump typescript from ~5.0.4 to ~5.1.6 (#4576)

181.0.0

26 Jul 16:15
47cd84f
Compare
Choose a tag to compare

@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 the history 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

26 Jul 15:27
a429a95
Compare
Choose a tag to compare

@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.
  • Upgrade TypeScript version to ~5.0.4 and set moduleResolution option to Node16 (#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 and chainId. As corresponding setters have not been defined, these properties are not externally mutable.
  • Add and export the AssetsContractControllerMessenger type (#4397)
    • AssetsContractControllerMessenger must allow the external actions NetworkController:getNetworkClientById, NetworkController:getNetworkConfigurationByNetworkClientId, NetworkController:getSelectedNetworkClient, NetworkController:getState.
    • AssetsContractControllerMessenger must allow the external events PreferencesController: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 to AssetsContractController (#4397)
    • Replaces the removed provider setter method, and widens the provider function parameter type from Provider to Provider | undefined.
  • Export TokenBalancesControllerState type (#4535)
    • This was defined but not exported in v34.0.0.
  • Add getNFTContractInfo method to the NFTController for fetching NFT Collection Metadata from the NFT API (#4524)

Changed

  • BREAKING: Add required constructor option messenger to the AssetsContractController class (#4397)
  • BREAKING: TokenBalancesControllerMessenger must allow the AssetsContractController: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 from Record<Hex, string> to the const-asserted literal properties of the SINGLE_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 the satisfies keyword.
  • BREAKING: Convert the BalanceMap type from an interface into a type alias (#4397)
    • Type aliases have an index signature of string by default, and are compatible with the StateConstraint type defined in the @metamask/base-controller package.
  • 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.
  • 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 from BaseControllerV1.
    • 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 properties provider, ipfsGateway, chainId).
    • BREAKING: Remove methods: getProvider, getChainId.
      • Use the getters provider and chainId instead.
    • BREAKING: Remove the provider setter method.
      • Use the setProvider method instead.
  • BREAKING: Remove the getERC20BalanceOf constructor option callback from the TokenBalancesControllerOptions type and the TokenBalancesController constructor (#4397)
    • The messenger is expected to allow AssetsContractController:getERC20BalanceOf messenger action so that it can be used instead.
  • 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 the AssetsContractController into an async function. (#4397)

@metamask/chain-controller 0.1.1

Changed

  • Upgrade TypeScript version to ~5.0.4 and set moduleResolution option to Node16 (#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...
Read more

179.0.0

22 Jul 15:15
cc09e4e
Compare
Choose a tag to compare

@metamask/approval-controller 7.0.2

Changed

  • Bump TypeScript version to ~5.0.4 and set moduleResolution option to Node16 (#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 set moduleResolution option to Node16 (#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 set moduleResolution option to Node16 (#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 set moduleResolution option to Node16 (#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 set moduleResolution option to Node16 (#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.
  • Bump TypeScript version to ~5.0.4 and set moduleResolution option to Node16 (#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

  • Bump TypeScript version to ~5.0.4 and set moduleResolution option to Node16 (#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)

178.0.0

19 Jul 16:27
e441444
Compare
Choose a tag to compare

@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

17 Jul 15:49
30df5f0
Compare
Choose a tag to compare

@metamask/phishing-controller 10.1.0

Added

  • Port PhishingDetector from eth-phishing-detector; add TypeScript types (#4137)
  • Add support for IPFS CID blocking to PhishingDetector (#4465)

Changed

  • Bump @metamask/base-controller to ^6.0.1 (#4517)
  • Bump @metamask/controller-utils to ^11.0.1 (#4517)

176.0.0

16 Jul 22:08
83957e2
Compare
Choose a tag to compare

@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 the hub class field of AbstractMessageManager (#4510)
    • This ensures that hub is not inferred to be a generic type, which would break types for downstream consumers.