Skip to content

Releases: MetaMask/core

813.0.0

16 Feb 16:01
588b915

Choose a tag to compare

@metamask/assets-controllers 99.4.0

Added

  • CodefiTokenPricesServiceV2 now supports fetching prices of ETH on Ink Mainnet (chain 0xdef1) (#7688)
  • Added Chiliz Chain native token (#7939)

Changed

  • Changed Plasma native token (#7939)
  • searchTokens now returns an optional error field when requests fail, allowing consumers to detect and handle search failures instead of silently receiving empty results (#7938)

812.0.0

16 Feb 11:25
b71edd4

Choose a tag to compare

@metamask/transaction-pay-controller 15.0.1

Fixed

  • Estimate relay transactions separately and combine with original transaction gas at quote time (#7933)

811.0.0

13 Feb 12:54
42e02f1

Choose a tag to compare

@metamask/transaction-pay-controller 15.0.0

Changed

  • BREAKING: Remove transactionGas from TransactionPayFees (#7929)
    • The original transaction's gas cost is now included in sourceNetwork for post-quote flows instead of being reported separately, so gas estimation and gas-fee-token detection cover both the Relay deposit and the user's original transaction

810.0.0

12 Feb 17:15
1deeff6

Choose a tag to compare

@metamask/transaction-pay-controller 14.0.0

Changed

  • BREAKING: Add subsidized fee to Relay quote target amount if isMaxAmount (#7911)
    • Remove human and raw from targetAmount on TransactionPayQuote and TransactionPayTotals
    • Use amountFormatted as USD value for Relay quote target amount and subsidized fee when token is a stablecoin
    • Set provider fee to zero when subsidized fee is present
    • Add MUSD, USDC, USDT, and Hypercore USDC to stablecoins

809.0.0

12 Feb 13:01
942a22a

Choose a tag to compare

@metamask/transaction-pay-controller 13.0.0

Added

  • Add post-quote transaction support for withdrawal flows (#7783)
    • Add setTransactionConfig method replacing setIsMaxAmount and setIsPostQuote
    • Add TransactionConfig, TransactionConfigCallback types
    • Add isPostQuote to TransactionData and QuoteRequest
    • Support reversed source/destination in Relay quotes for post-quote flows
    • Add same-token-same-chain skip logic for post-quote transactions
    • Add source amount fields (sourceBalanceRaw, sourceChainId, sourceTokenAddress) to TransactionPaySourceAmount

Changed

  • Bump @metamask/bridge-controller from ^65.3.0 to ^66.1.1 (#7862, #7897, #7910)
  • Bump @metamask/transaction-controller from ^62.14.0 to ^62.17.0 (#7854, #7872, #7897)
  • Bump @metamask/assets-controllers from ^99.2.0 to ^99.3.2 (#7855, #7860), (#7897)
  • Bump @metamask/bridge-status-controller from 66.0.0 to 66.0.2 (#7897, #7910)

Removed

  • BREAKING: Remove setIsMaxAmount method in favor of setTransactionConfig (#7783)

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