Skip to content

Releases: MetaMask/core

199.0.0

10 Sep 11:46
fe3dfcb
Compare
Choose a tag to compare

@metamask/notification-services-controller 0.5.0

Changed

  • move contentful as a dev dependency (#4673)
  • update polygon symbol from MATIC to POL (#4672)
  • Bump @metamask/profile-sync-controller from ^0.4.0 to ^0.5.0 (#4678)

@metamask/profile-sync-controller 0.5.0

Added

  • add isSnapConnected method to the Authentication SDK (#4668)
  • add accountAdded and accountRenamed events when triggering account syncing (#4665)
  • prevent accounts controller events being used when sync is in progress (#4675)
    • add isAccountSyncingInProgress to UserStorageController
    • add isAccountSyncingInProgress checks to abort processing accountAdded and accountRenamed events.

Removed

  • account sync throttling (#4675)
    • remove maxSyncInterval; lastSyncedAt; shouldSync from UserStorageController

198.0.0

10 Sep 10:32
02b5a7a
Compare
Choose a tag to compare

@metamask/phishing-controller 12.0.2

Fixed

  • Export PhishingDetectorResultType enum type (#4674)
  • Export PhishingDetector type (#4553)

197.0.0

09 Sep 13:15
aff2b26
Compare
Choose a tag to compare

@metamask/notification-services-controller 0.4.1

Fixed

  • fix: keep push subscription when wallet is locked (#4653)
    • add NotificationServicesPushController:subscribeToPushNotifications event and allowedEvent in NotificationServicesController
    • add else check to continue to subscribe to push notifications when wallet is locked

196.0.0

06 Sep 16:17
815c5be
Compare
Choose a tag to compare

@metamask/notification-services-controller 0.4.0

Changed

  • Bump @metamask/profile-sync-controller from ^0.3.0 to ^0.4.0 (#4661)

@metamask/profile-sync-controller 0.4.0

Added

  • add maxSyncInterval for account syncing to UserStorageController prevent multiple sync requests (#4659)
  • add optional NativeScrypt property to UserStorageController to allow the scrypt implementation to be swapped out for a native version. Improving mobile performance (#4656)

195.0.0

05 Sep 14:16
319b7b1
Compare
Choose a tag to compare

@metamask/notification-services-controller 0.3.0

Added

  • passed notification parameter to the NotificationServicesPushController onPushNotificationClicked config (#4613)
  • Define and export new type NotificationServicesControllerGetStateAction (#4633)
  • Add and export types NotificationServicesPushControllerGetStateAction, NotificationServicesPushControllerStateChangeEvent (#4641)
  • add subpath exports to @metamask/notification-services-controller (#4604)
    • add @metamask/notification-services-controller/notification-services export
    • add @metamask/notification-services-controller/push-services export
  • add TypeExternalLinkFields, TypePortfolioLinkFields, and TypeMobileLinkFields types to handle different types of links in feature announcements (#4620)

Changed

  • Bump typescript from ~5.1.6 to ~5.2.2 (#4584)
  • Bump @metamask/profile-sync-controller from ^0.2.1 to ^0.3.0 (#4657)
  • Bump contentful from ^10.3.6 to ^10.15.0 (#4637)
  • BREAKING: Rename NotificationServicesPushControllerPushNotificationClicked type to NotificationServicesPushControllerPushNotificationClickedEvent (#4641)
  • BREAKING: Narrow AllowedEvents type for NotificationServicesPushControllerMessenger to never (#4641)
  • updated NotificationServicesPushControllerMessenger must allow internal event NotificationServicesPushControllerStateChangeEvent (#4641)
  • updated FeatureAnnouncementRawNotificationData to include fields for external, portfolio, and mobile links (#4620)
  • updated TypeFeatureAnnouncementFields to include fields for external, portfolio, and mobile links (#4620)
  • updated fetchFeatureAnnouncementNotifications to handle the new link types and include them in the notification data.

Fixed

  • Replace getState action in NotificationServicesControllerActions with correctly-defined NotificationServicesControllerGetStateAction type (#4633)
  • BREAKING: Fix package-level export for NotificationServicesPushController from "NotificationsServicesPushController" to "NotificationsServicesPushController" (#4641)
  • BREAKING: Replace incorrectly-defined getState action in the Actions type for NotificationServicesPushControllerMessenger with new NotificationServicesPushControllerGetStateAction type (#4641)
  • update subpath exports internal package.json files to resolve jest-haste-map errors (#4650)
  • removed unnecessary subpath exports (#4650)
    • removed /constants, /services, /processors, /utils sub paths as these are navigable from root.

@metamask/profile-sync-controller 0.3.0

Added

  • add granular account syncing (#4629)
    • add accounts user storage schema
    • add method saveInternalAccountToUserStorage to UserStorageController
    • add method syncInternalAccountsWithUserStorage to UserStorageController
    • add @metamask/accounts-controller dev dependency
    • add @metamask/keyring-api dev dependency
  • add infura OIDC identifier (#4654)
  • define and export new types: AuthenticationControllerGetStateAction, AuthenticationControllerStateChangeEvent, Events (#4633)
  • SDK and controller support for GET /api/v1/userstorage/:feature endpoint (#4626)
    • add method performGetStorageAllFeatureEntries to UserStorageController
    • add ALLOW_ARBITRARY_KEYS to USER_STORAGE_SCHEMA to allow wildcard/getAll for entries for a feature
  • add subpath exports to @metamask/profile-sync-controller (#4604)
    • add @metamask/profile-sync-controller/sdk export
    • add @metamask/profile-sync-controller/user-storage export
    • add @metamask/profile-sync-controller/auth export

Changed

  • Bump typescript from ~5.1.6 to ~5.2.2 (#4584)
  • Fix controllers with missing or incorrect messenger action/event types (#4633)
  • BREAKING: AuthenticationControllerMessenger must allow internal events defined in the Events type (#4633)
  • AuthenticationControllerActions is widened to include the AuthenticationController:getState action (#4633)
  • Replaced @metamask/profile-sync-controller/sdk to use the same encryption file as UserStorageController (#4649)

Fixed

  • update subpath exports internal package.json files to resolve jest-haste-map errors (#4650)

194.0.0

04 Sep 12:26
7ff50c9
Compare
Choose a tag to compare

@metamask/accounts-controller 18.1.1

Changed

  • Bump @metamask/base-controller from ^6.0.3 to ^7.0.0 (#4643)

@metamask/address-book-controller 6.0.0

Added

  • Add AddressBookController messenger types: AddressBookControllerMessenger, AddressBookControllerGetStateAction, AddressBookControllerActions, AddressBookControllerStateChangeEvent, AddressBookControllerEvents (#4392)
  • Add getDefaultAddressBookControllerState getter for the default state of AddressBookController (#4392)

Changed

  • BREAKING: AddressBookController inherits from BaseController, not BaseControllerV1 (#4392)
  • BREAKING: Add messenger as required constructor option to AddressBookController (#4392)
  • BREAKING: Rename AddressBookState type to AddressBookControllerState (#4392)
  • Bump @metamask/base-controller from ^6.0.0 to ^7.0.0 (#4517, #4544, #4625, #4643)
  • Bump @metamask/controller-utils from ^11.0.0 to ^11.2.0 (#4517, #4544, #4639, #4651)
  • Bump @metamask/utils from ^8.3.0 to ^9.1.0 (#4516, #4529)
  • Bump typescript from ~4.9.5 to ~5.2.2 and set module{,Resolution} options to Node16 (#3645, #4576, #4584)

Removed

  • BREAKING: Remove config from required constructor options of AddressBookController (#4392)
  • BREAKING: Remove AddressBookConfig type (#4392)

@metamask/assets-controllers 38.0.0

Added

  • Export MarketDataDetails type (#4622)

Changed

  • BREAKING: Narrow TokensController constructor option provider by removing undefined from its type signature (#4567)
  • BREAKING: Bump devDependency and peerDependency @metamask/network-controller from ^20.0.0 to ^21.0.0 (#4618, #4651)
  • Bump @metamask/base-controller from ^6.0.2 to ^7.0.0 (#4625, #4643)
  • Bump @metamask/controller-utils from ^11.0.2 to ^11.2.0 (#4639, #4651)
  • Bump @metamask/polling-controller from ^9.0.1 to ^10.0.0 (#4651)
  • Bump @metamask/keyring-api to version 8.1.0 (#4594)
  • Bump typescript from ~5.0.4 to ~5.2.2 (#4576, #4584)

Fixed

  • Fix RatesController setCryptocurrencyList method, which was not using the correct field when updating internal state (#4572)
  • Fetch correct price for the $OMNI native currency (#4570)
  • Add public name property to AssetsContractController (#4564)

@metamask/controller-utils 11.2.0

Added

  • Add BlockExplorerUrl object and type for looking up the block explorer URL of any Infura network (#4268)
  • Add NetworkNickname object and type for looking up the common nickname for any Infura network (#4268)
  • Add Partialize type for making select keys in an object type optional (#4268)
  • toHex now supports converting a bigint into a hex string (#4268)

@metamask/ens-controller 14.0.0

Changed

  • BREAKING: EnsControllerMessenger must allow NetworkController:getState action (#4557)
  • BREAKING: Bump devDependency and peerDependency @metamask/network-controller from ^20.0.0 to ^21.0.0 (#4618, #4651)
  • Bump @metamask/base-controller from ^6.0.2 to ^7.0.0 (#4625, #4643)
  • Bump @metamask/controller-utils from ^11.0.2 to ^11.2.0 (#4639, #4651)
  • Bump typescript from ~5.0.4 to ~5.2.2 (#4576, #4584)

Removed

  • BREAKING: Remove optional constructor option provider (#4557)
    • Provider is now sourced from selectedNetworkClient.

Fixed

  • Initial network is set using selectedNetworkClientId, which is derived using the NetworkController:getState action (#4557)

@metamask/gas-fee-controller 20.0.0

Changed

  • BREAKING: Bump devDependency and peerDependency @metamask/network-controller from ^20.0.0 to ^21.0.0 (#4618, #4651)
  • Bump @metamask/base-controller from ^6.0.2 to ^7.0.0 (#4625, #4643)
  • Bump @metamask/controller-utils from ^11.0.2 to ^11.2.0 (#4639, #4651)
  • Bump @metamask/polling-controller from ^9.0.1 to ^10.0.0 (#4651)
  • Bump typescript from ~5.0.4 to ~5.2.2 (#4576, #4584)

@metamask/message-manager 10.1.0

Added

  • Add protected methods addRequestToMessageParams, createUnapprovedMessage to AbstractMessageManager

Changed

  • Add requestId property to the messageParams object to reference metric event fragments created from the createRPCMethodTrackingMiddleware in the client (#4636)
    • Add optional property requestId to AbstractMessageParams type
    • Add optional property id to OriginalRequest type
  • Bump @metamask/controller-utils from ^11.1.0 to ^11.2.0 (#4651)

@metamask/network-controller 21.0.0

Added

  • BREAKING: Add networkConfigurationsByChainId to NetworkState (type: Record<Hex, NetworkConfiguration>) (#4268)
    • This property replaces networkConfigurations, and, as its name implies, organizes network configurations by chain ID rather than network client ID.
    • If no initial state or this property is not included in initial state, the default value of this property will now include configurations for known Infura networks (Mainnet, Goerli, Sepolia, Linea Goerli, Linea Sepolia, and Linea Mainnet) by default.
  • Add getNetworkConfigurationByChainId method, NetworkController:getNetworkConfigurationByChainId messenger action, and NetworkControllerGetNetworkConfigurationByNetworkClientId type (#4268)
  • Add addNetwork, which replaces one half of upsertNetworkConfiguration and can be used to add new network clients for a chain (#4268)
    • It's worth noting that this method now publishes a NetworkController:networkAdded event instead of calling a trackMetaMetricsEvent callback. It is expected that you will subscribe to this event and create a MetaMetrics event yourself.
  • Add updateNetwork, which replaces one half of upsertNetworkConfiguration and can be used to recreate the network clients for an existing chain based on an updated configuration (#4268)
    • Note that it is not possible to remove the RPC endpoint from a network configuration that is currently represented by the globally selected network client. To prevent an error, you'll need to detect when such a removal is occurring and pass the replacementSelectedRpcEndpointIndex to updateNetwork. It will then switch to the designated RPC endpoint's network client on your behalf.
  • Add removeNetwork, which replaces removeNetworkConfiguration and can be used to remove existing network clients for a chain (#4268)
  • Add getDefaultNetworkControllerState function, which replaces defaultState and matches patterns in other controllers (#4268)
  • Add RpcEndpointType, AddNetworkFields, and UpdateNetworkFields types (#4268)
  • Add getNetworkConfigurations, getAvailableNetworkClientIds and selectAvailableNetworkClientIds selectors (#4268)
    • These new selectors can be ap...
Read more

193.0.0

29 Aug 14:57
8eb7cde
Compare
Choose a tag to compare

@metamask/approval-controller 7.0.3

Changed

  • Bump @metamask/base-controller from ^6.0.2 to ^7.0.0 (#4625, #4643)
  • Bump typescript from ~5.0.4 to ~5.2.2 (#4576, #4584)

@metamask/base-controller 7.0.0

Added

  • Migrate from @metamask/[email protected] into @metamask/base-controller: types LegacyControllerStateConstraint, RestrictedControllerMessengerConstraint and type guard functions isBaseController, isBaseControllerV1 (#4581)
  • Add and export types ControllerInstance, BaseControllerInstance, StateDeriverConstraint, StateMetadataConstraint, StatePropertyMetadataConstraint, BaseControllerV1Instance, ConfigConstraintV1, StateConstraintV1 (#4581)

Fixed

  • BREAKING: Fix StateMetadata type so that it requires associated metadata for all optional and non-optional top-level state properties (#4612)
    • Fixes issue of runtime error being thrown during BaseController instantiation due to missing metadata for optional state properties.

@metamask/composable-controller 9.0.0

Changed

  • Bump @metamask/base-controller from ^6.0.3 to ^7.0.0 (#4643)

Removed

  • BREAKING: Remove exports for types LegacyControllerStateConstraint, RestrictedControllerMessengerConstraint, and type guard functions isBaseController, isBaseControllerV1 (#4467)

@metamask/keyring-controller 17.2.0

Added

  • Add KeyringController:addNewAccount messenger action (#4565)
    • Add and export KeyringControllerAddNewAccountAction type.
    • Widen KeyringControllerActions to include KeyringControllerAddNewAccountAction type.
    • KeyringControllerMessenger must allow KeyringControllerAddNewAccountAction type.

Changed

  • Bump @metamask/base-controller from ^6.0.2 to ^7.0.0 (#4625, #4643)
  • Bump @metamask/keyring-api from ^8.0.1 to ^8.1.0 (#4594)
  • Bump @metamask/message-manager from ^10.0.2 to ^10.0.3 (#4643)
  • Bump typescript from ~5.0.4 to ~5.2.2 (#4576, #4584)

@metamask/logging-controller 6.0.0

Added

  • Define and export new types: LoggingControllerGetStateAction, LoggingControllerStateChangeEvent, LoggingControllerEvents (#4633)

Changed

  • BREAKING: LoggingControllerMessenger must allow internal events defined in the LoggingControllerEvents type (#4633)
  • LoggingControllerActions is widened to include the LoggingController:getState action (#4633)
  • Bump @metamask/base-controller from ^6.0.0 to ^7.0.0 (#4517, #4544, #4625, #4643)
  • Bump @metamask/controller-utils from ^11.0.0 to ^11.0.2 (#4517, #4544)
  • Bump typescript from ~4.9.5 to ~5.2.2 and set module{,Resolution} option to Node16 (#3645, #4576, #4584)

@metamask/message-manager 10.0.3

Changed

  • Bump @metamask/base-controller from ^6.0.2 to ^7.0.0 (#4625, #4643)
  • Bump typescript from ~5.0.4 to ~5.2.2 (#4576, #4584)

@metamask/phishing-controller 12.0.1

Added

  • Add getHostnameFromUrl utility function to standardize hostname extraction from URLs (#4645)

Fixed

  • Update test, isBlockedRequest, and bypass methods to use the hostname for allowlist checks instead of the full origin (#4645)
    • The previous approach of using the full origin had limitations in dealing with subdomains or variations in the URL structure, which could lead to inconsistent results or false negatives.

@metamask/signature-controller 19.0.0

Changed

  • BREAKING: Bump dependency and peerDependency @metamask/logging-controller from ^5.0.0 to ^6.0.0 (#4643)
  • Bump @metamask/base-controller from ^6.0.2 to ^7.0.0 (#4625, #4643)
  • Bump @metamask/message-manager from ^10.0.2 to ^10.0.3 (#4643)
  • Bump typescript from ~5.0.4 to ~5.2.2 (#4576, #4584)

192.0.0

28 Aug 19:18
e77a5b5
Compare
Choose a tag to compare

@metamask/phishing-controller 12.0.0

Added

  • Add allowlist functionality to the C2 domain detection system (#4464)
  • Add PhishingController functionality for blocking client-side C2 requests by managing a hashed C2 request blocklist (#4526)
    • Add requestBlocklist type to ListTypes.
    • Add isBlockedRequest method to PhishingController.
    • Add isMaliciousRequestDomain method to PhishingDetector.
    • Add handling of requestBlocklist in PhishingDetector configuration.
    • Add logic to update and check requestBlocklist when updating a stale list.
    • Add sha256Hash function to generate SHA-256 hash of a domain.
  • Define and export new types: PhishingControllerGetStateAction, PhishingControllerStateChangeEvent, PhishingControllerEvents (#4633)

Changed

  • BREAKING: Add @noble/hashes ^1.4.0 as dependency (#4526)
  • BREAKING:: Add ethereum-cryptography ^2.1.2 as dependency (#4526)
  • BREAKING: PhishingControllerMessenger must allow internal events defined in the PhishingControllerEvents type (#4633)
  • Widen PhishingControllerActions to include the PhishingController:getState action (#4633)
  • Bump @metamask/base-controller from ^6.0.2 to ^6.0.3 (#4625)
  • Bump @metamask/controller-utils from ^11.0.2 to ^11.1.0 (#4639)

191.0.0

26 Aug 13:32
4918816
Compare
Choose a tag to compare

@metamask/controller-utils 11.1.0

Added

  • Add default snap dialog to ApprovalType (#4630)

190.0.0

21 Aug 13:41
bc1d90b
Compare
Choose a tag to compare

@metamask/transaction-controller 35.2.0

Added

  • Add tracing infrastructure (#4575)
    • Add optional trace callback to constructor.
    • Add optional traceContext option to addTransaction method.
    • Add initial tracing of transaction lifecycle.

Changed

  • Bump @metamask/base-controller from ^6.0.2 to ^6.0.3 (#4625)
  • Bump @metamask/network-controller from ^20.1.0 to ^20.2.0 (#4618)
  • Bump @metamask/eth-json-rpc-provider from ^4.1.2 to ^4.1.3 (#4607)

Removed

  • Remove validation of gasValues passed to speedUpTransaction and stopTransaction methods (#4617)