Skip to content

Releases: MetaMask/core

808.0.0

12 Feb 11:18
ca80578

Choose a tag to compare

@metamask/seedless-onboarding-controller 8.0.0

Added

  • Add new SeedlessOnboardingError class for generic controller errors with support for cause and details properties (#7660)
    • Enables proper error chaining by wrapping underlying errors with additional context
    • Includes toJSON() method for serialization in logging/transmission
  • BREAKING The encryptor constructor param requires encryptWithKey method. (#7800)
    • The method is to encrypt the vault with cached encryption key while the wallet is unlocked.
  • Added new public method, getAccessToken. (#7800)
    • Clients can use this method to get accessToken from the controller, instead of directly accessing from the state.
    • This method also adds refresh token mechanism when accessToken is expired, hence preventing expired token usage in the clients.

Changed

  • Update StateMetadata's includeInStateLogs property. (#7750)
    • Exclude All the tokens values from the state log explicitly.
  • Bump @metamask/keyring-controller from ^25.0.0 to ^25.1.0 (#7713)
  • Upgrade @metamask/utils from ^11.8.1 to ^11.9.0 (#7511)
  • Refactor controller methods to throw SeedlessOnboardingError with original error as cause for better error tracing (#7660)
    • Affected methods: authenticate, changePassword, #persistLocalEncryptionKey, #fetchAndParseSecretMetadata, refreshAuthTokens

Fixed

  • Fixed new accessToken not being persisted in the vault after the token refresh. (#7800)

807.0.0

12 Feb 07:51
cdeaa85

Choose a tag to compare

@metamask/bridge-controller 66.1.1

Fixed

  • Return 0-prefixed hex string from formatChainIdToHex utility (#7909)

@metamask/bridge-status-controller 66.0.2

Changed

  • Bump @metamask/bridge-controller from ^66.1.0 to `^66.1.1 (#7910)

806.0.0

11 Feb 19:03
3f81f08

Choose a tag to compare

@metamask/ramps-controller 8.0.0

Changed

  • BREAKING: Quote filter param renamed from provider to providers array in getQuotes() and RampsService.getQuotes() (#7892)
  • BREAKING: Make getWidgetUrl() async to fetch the actual provider widget URL from the buyURL endpoint (#7881)

805.0.0

11 Feb 18:24
98eadd0

Choose a tag to compare

@metamask/account-tree-controller 4.1.1

Changed

  • Bump @metamask/accounts-controller from ^35.0.2 to ^36.0.0 (#7897)
  • Bump @metamask/multichain-account-service from ^6.0.0 to ^7.0.0 (#7897)

@metamask/accounts-controller 36.0.0

Changed

  • Bump @metamask/eth-snap-keyring from ^18.0.0 to ^19.0.0 (#7857)
  • Bump @metamask/keyring-api from ^21.0.0 to ^21.5.0 (#7857)
  • Bump @metamask/keyring-internal-api from ^9.0.0 to ^10.0.0 (#7857)
  • Bump @metamask/keyring-controller from ^25.0.0 to ^25.1.0 (#7713)

Removed

  • BREAKING: Remove method getNextAvailableAccountName and its usage (#7137)
    • The function was removed since it was taking a lot of time in handleOnKeyringStateChange, we compute account names in the AccountTreeController regardless.

@metamask/assets-controllers 99.3.2

Changed

  • Bump @metamask/accounts-controller from ^35.0.2 to ^36.0.0 (#7897)
  • Bump @metamask/keyring-api from ^21.0.0 to ^21.5.0 (#7857)
  • Bump @metamask/account-tree-controller from ^4.0.0 to ^4.1.1 (#7869), (#7897)
  • Bump @metamask/multichain-account-service from ^5.1.0 to ^7.0.0 (#7869), (#7897)
  • Bump @metamask/transaction-controller from ^62.15.0 to ^62.17.0 (#7872), (#7897)
  • Bump @metamask/phishing-controller from ^16.1.0 to ^16.2.0 (#7883)
  • Optimize Price API performance by deduplicating concurrent API calls (#7811)
    • Add in-flight promise caching for fetchSupportedNetworks() to prevent duplicate concurrent requests
    • Update fetchTokenPrices() and fetchExchangeRates() to only refresh supported networks/currencies when no cached value exists

@metamask/bridge-controller 66.1.0

Added

  • Add support for Tron assets in the formatAddressToAssetId utility (#7896)

Changed

  • Refresh asset exchange rates each time quotes are fetched (#7896)
  • Return checksummed EVM assetIds from the formatAddressToAssetId utility (#7896)
  • Bump @metamask/keyring-api from ^21.0.0 to ^21.5.0 (#7857)
  • Bump @metamask/transaction-controller from ^62.15.0 to ^62.17.0 (#7872), (#7897)
  • Bump @metamask/multichain-network-controller from ^3.0.2 to ^3.0.3 (#7897)
  • Bump @metamask/assets-controllers from ^99.3.1 to ^99.3.2 (#7897)
  • Bump @metamask/accounts-controller from ^35.0.2 to ^36.0.0 (#7897)

Fixed

  • Fall back to the quoted priceImpact or destTokenAmount to sort quotes if the cost is not available (#7896)

@metamask/bridge-status-controller 66.0.1

Changed

  • Bump @metamask/accounts-controller from ^35.0.2 to ^36.0.0 (#7897)
  • Bump @metamask/bridge-controller from ^65.3.0 to ^66.1.0 (#7862), (#7897)
  • Bump @metamask/transaction-controller from ^62.14.0 to ^62.17.0 (#7854, #7872), (#7897)

@metamask/core-backend 5.1.1

Changed

  • Bump @metamask/accounts-controller from ^35.0.2 to ^36.0.0 (#7897)
  • Bump @metamask/profile-sync-controller from ^27.0.0 to ^27.1.0 (#7849)

@metamask/delegation-controller 2.0.1

Changed

  • Upgrade @metamask/utils from ^11.8.1 to ^11.9.0 (#7511)
  • Move peer dependencies for controller and service packages to direct dependencies (#7209, #7604, #7642, #7713), (#7897)
    • The dependencies moved are:
      • @metamask/accounts-controller (^36.0.0)
      • @metamask/keyring-controller (^25.1.0)
    • In clients, it is now possible for multiple versions of these packages to exist in the dependency tree.
      • For example, this scenario would be valid: a client relies on @metamask/controller-a 1.0.0 and @metamask/controller-b 1.0.0, and @metamask/controller-b depends on @metamask/controller-a 1.1.0.
    • Note, however, that the versions specified in the client's package.json always "win", and you are expected to keep them up to date so as not to break controller and service intercommunication.

@metamask/multichain-account-service 7.0.0

Changed

  • BREAKING: Bump peer dependency @metamask/account-api from ^0.12.0 to ^1.0.0 (#7857)
  • BREAKING: Bump @metamask/eth-snap-keyring from ^18.0.0 to ^19.0.0 (#7857)
    • Required to invoke createAccounts on any account management Snaps.
  • BREAKING: Use new AccountProvider.createAccounts method with CreateAccountOptions (#7857)
    • All account providers now accept CreateAccountOptions with type field.
    • Added capabilities property to all account providers defining supported account creation types.
  • Bump @metamask/accounts-controller from ^35.0.2 to ^36.0.0 (#7897)
  • Bump @metamask/keyring-api from ^21.0.0 to ^21.5.0 (#7857)
  • Bump @metamask/keyring-internal-api from ^9.0.0 to ^10.0.0 (#7857)
  • Bump @metamask/keyring-snap-client from ^8.0.0 to ^8.2.0 (#7857)

@metamask/multichain-network-controller 3.0.3

Changed

  • Bump @metamask/accounts-controller from ^35.0.2 to ^36.0.0 (#7897)
  • Bump @metamask/keyring-api from ^21.0.0 to ^21.5.0 (#7857)
  • Bump @metamask/keyring-internal-api from ^9.0.0 to ^10.0.0 (#7857)

@metamask/multichain-transactions-controller 7.0.1

Changed

  • Bump @metamask/keyring-api from ^21.0.0 to ^21.5.0 (#7857)
  • Bump @metamask/keyring-internal-api from ^9.0.0 to ^10.0.0 (#7857)
  • Bump @metamask/keyring-snap-client from ^8.0.0 to ^8.2.0 (#7857)
  • Bump @metamask/snaps-sdk from ^9.0.0 to ^10.3.0 (#7550)
  • Bump @metamask/snaps-utils from ^11.0.0 to ^11.7.0 (#7550)
  • Upgrade @metamask/utils from ^11.8.1 to ^11.9.0 (#7511)
  • Move peer dependencies for controller and service packages to direct dependencies (#7209, #7550, #7604), (#7642, #7897)
    • The dependencies moved are:
      • @metamask/accounts-controller (^36.0.0)
      • @metamask/snaps-controllers (^17.2.0)
    • In clients, it is now possible for multiple versions of these packages to exist in the dependency tree.
      • For example, this scenario would be valid: a client relies on @metamask/controller-a 1.0.0 and @metamask/controller-b 1.0.0, and @metamask/controller-b depends on @metamask/controller-a 1.1.0.
    • Note, however, that the versions specified in the client's package.json always "win", and you are expected to keep them up to date so as not to break controller and service intercommunication.
  • Bump @metamask/polling-controller from ^16.0.0 to ^16.0.2 (#7604, #7642)

@metamask/profile-metrics-controller 3.0.1

Changed

  • Bump @metamask/accounts-controller from ^35.0.2 to ^36.0.0 (#7897)
  • Bump @metamask/profile-sync-controller from ^27.0.0 to ^27.1.0 (#7849)
  • Bump @metamask/transaction-controller from ^62.9.2 to ^62.17.0 (#7737, #7760, #7775, #7802, #7832, #7854, [#787...
Read more

804.0.0

10 Feb 16:17
adafd9c

Choose a tag to compare

@metamask/notification-services-controller 22.0.0

Changed

  • Upgrade @metamask/utils from ^11.8.1 to ^11.9.0 (#7511)
  • Move peer dependencies for controller and service packages to direct dependencies (#7209, #7713, #7849)
    • The dependencies moved are:
      • @metamask/keyring-controller (^25.1.0)
      • @metamask/profile-sync-controller (^27.1.0)
    • In clients, it is now possible for multiple versions of these packages to exist in the dependency tree.
      • For example, this scenario would be valid: a client relies on @metamask/controller-a 1.0.0 and @metamask/controller-b 1.0.0, and @metamask/controller-b depends on @metamask/controller-a 1.1.0.
    • Note, however, that the versions specified in the client's package.json always "win", and you are expected to keep them up to date so as not to break controller and service intercommunication.
  • Modified background push utilities to handle more edgecases and not throw errors (#7275)
  • Bump @metamask/controller-utils from ^11.16.0 to ^11.18.0 (#7534, #7583)
  • Move notifications networks metadata to backend (#7840)

Removed

  • BREAKING: Removed the "./notification-services/ui" subpath export from package.json (#7840)
    • Consumers that import from @metamask/notification-services-controller/notification-services/ui must switch to network config provided by the backend.

Fixed

  • Remove non-actionable internal log.error calls for expected silent-failure notification paths, while preserving thrown errors where propagation is required (#7885)
  • Fix createOnChainTriggers to preserve user preferences on notification re-subscriptions (#7423)
    • Previously, isFeatureAnnouncementsEnabled was unconditionally set to true on every re-subscription, overriding user preferences
    • Now, existing preferences are preserved when isNotificationServicesEnabled is already true

803.0.0

10 Feb 14:44
bfca8f7

Choose a tag to compare

@metamask/subscription-controller 6.0.0

Added

  • BREAKING: Added two new params, captureException and fetchFunction to SubscriptionService constructor args. (#7835)
    • fetchFunction is to use the client provided Fetch API.
    • captureException is to capture the error thrown and report to Sentry.

Changed

  • Updated SubscriptionServiceError to include more information for Sentry reporting. (#7835)
  • Bump @metamask/profile-sync-controller from ^27.0.0 to ^27.1.0 (#7849)
  • Bump @metamask/transaction-controller from ^62.12.0 to ^62.16.0 (#7802, #7832, #7854, #7872)

802.0.0

10 Feb 08:38
c313f65

Choose a tag to compare

@metamask/phishing-controller 16.2.0

Added

  • Add support for Monad network (0x8f) in token scanning (#7237)
  • Add support for HyperEVM network (0x3e7) in token scanning (#7873)

Changed

801.0.0

09 Feb 21:19
2585575

Choose a tag to compare

@metamask/ramps-controller 7.1.0

Fixed

  • Fixes quote race condition bug with missing payment method (#7863)

800.0.0

09 Feb 14:14
78fe98b

Choose a tag to compare

@metamask/assets-controller 1.0.0

Added

  • Add balance selectors getAggregatedBalanceForAccount, getGroupIdForAccount, and getInternalAccountsForGroup with types AggregatedBalanceEntry, AggregatedBalanceForAccount, EnabledNetworkMap, and AccountsById for aggregated portfolio balance (optionally by account group), fiat total, and portfolio-weighted 1d price change (#7864)

Changed

  • BREAKING: Require previousChains in handleActiveChainsUpdate(dataSourceId, activeChains, previousChains) and in the onActiveChainsUpdated callback used by data sources; the third parameter is no longer optional. Callers and data sources must pass the previous chain list for correct added/removed chain diff computation (#7867)
  • Bump @metamask/account-tree-controller from ^4.0.0 to ^4.1.0 (#7869)

Removed

  • BREAKING: Remove initDataSources and related exports (InitDataSourcesOptions, DataSources, DataSourceActions, DataSourceEvents, DataSourceAllowedActions, DataSourceAllowedEvents, RootMessenger). Initialize assets by creating AssetsController with queryApiClient; the controller instantiates all data sources internally (#7859)

799.0.0

09 Feb 13:51
d482581

Choose a tag to compare

@metamask/transaction-controller 62.16.0

Added

  • Add event-driven transaction polling via AccountActivityService:transactionUpdated (#7822)