Releases: MetaMask/core
Releases · MetaMask/core
813.0.0
812.0.0
811.0.0
@metamask/transaction-pay-controller 15.0.0
Changed
- BREAKING: Remove
transactionGasfromTransactionPayFees(#7929)- The original transaction's gas cost is now included in
sourceNetworkfor 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
- The original transaction's gas cost is now included in
810.0.0
@metamask/transaction-pay-controller 14.0.0
Changed
- BREAKING: Add subsidized fee to Relay quote target amount if
isMaxAmount(#7911)- Remove
humanandrawfromtargetAmountonTransactionPayQuoteandTransactionPayTotals - Use
amountFormattedas 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
- Remove
809.0.0
@metamask/transaction-pay-controller 13.0.0
Added
- Add post-quote transaction support for withdrawal flows (#7783)
- Add
setTransactionConfigmethod replacingsetIsMaxAmountandsetIsPostQuote - Add
TransactionConfig,TransactionConfigCallbacktypes - Add
isPostQuotetoTransactionDataandQuoteRequest - 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) toTransactionPaySourceAmount
- Add
Changed
- Bump
@metamask/bridge-controllerfrom^65.3.0to^66.1.1(#7862, #7897, #7910) - Bump
@metamask/transaction-controllerfrom^62.14.0to^62.17.0(#7854, #7872, #7897) - Bump
@metamask/assets-controllersfrom^99.2.0to^99.3.2(#7855, #7860), (#7897) - Bump
@metamask/bridge-status-controllerfrom66.0.0to66.0.2(#7897, #7910)
Removed
- BREAKING: Remove
setIsMaxAmountmethod in favor ofsetTransactionConfig(#7783)
808.0.0
@metamask/seedless-onboarding-controller 8.0.0
Added
- Add new
SeedlessOnboardingErrorclass for generic controller errors with support forcauseanddetailsproperties (#7660)- Enables proper error chaining by wrapping underlying errors with additional context
- Includes
toJSON()method for serialization in logging/transmission
- BREAKING The
encryptorconstructor param requiresencryptWithKeymethod. (#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
accessTokenfrom the controller, instead of directly accessing from the state. - This method also adds refresh token mechanism when
accessTokenis expired, hence preventing expired token usage in the clients.
- Clients can use this method to get
Changed
- Update StateMetadata's
includeInStateLogsproperty. (#7750)- Exclude All the tokens values from the state log explicitly.
- Bump
@metamask/keyring-controllerfrom^25.0.0to^25.1.0(#7713) - Upgrade
@metamask/utilsfrom^11.8.1to^11.9.0(#7511) - Refactor controller methods to throw
SeedlessOnboardingErrorwith original error ascausefor better error tracing (#7660)- Affected methods:
authenticate,changePassword,#persistLocalEncryptionKey,#fetchAndParseSecretMetadata,refreshAuthTokens
- Affected methods:
Fixed
- Fixed new
accessTokennot being persisted in the vault after the token refresh. (#7800)
807.0.0
806.0.0
805.0.0
@metamask/account-tree-controller 4.1.1
Changed
- Bump
@metamask/accounts-controllerfrom^35.0.2to^36.0.0(#7897) - Bump
@metamask/multichain-account-servicefrom^6.0.0to^7.0.0(#7897)
@metamask/accounts-controller 36.0.0
Changed
- Bump
@metamask/eth-snap-keyringfrom^18.0.0to^19.0.0(#7857) - Bump
@metamask/keyring-apifrom^21.0.0to^21.5.0(#7857) - Bump
@metamask/keyring-internal-apifrom^9.0.0to^10.0.0(#7857) - Bump
@metamask/keyring-controllerfrom^25.0.0to^25.1.0(#7713)
Removed
- BREAKING: Remove method
getNextAvailableAccountNameand its usage (#7137)- The function was removed since it was taking a lot of time in
handleOnKeyringStateChange, we compute account names in theAccountTreeControllerregardless.
- The function was removed since it was taking a lot of time in
@metamask/assets-controllers 99.3.2
Changed
- Bump
@metamask/accounts-controllerfrom^35.0.2to^36.0.0(#7897) - Bump
@metamask/keyring-apifrom^21.0.0to^21.5.0(#7857) - Bump
@metamask/account-tree-controllerfrom^4.0.0to^4.1.1(#7869), (#7897) - Bump
@metamask/multichain-account-servicefrom^5.1.0to^7.0.0(#7869), (#7897) - Bump
@metamask/transaction-controllerfrom^62.15.0to^62.17.0(#7872), (#7897) - Bump
@metamask/phishing-controllerfrom^16.1.0to^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()andfetchExchangeRates()to only refresh supported networks/currencies when no cached value exists
- Add in-flight promise caching for
@metamask/bridge-controller 66.1.0
Added
- Add support for Tron assets in the
formatAddressToAssetIdutility (#7896)
Changed
- Refresh asset exchange rates each time quotes are fetched (#7896)
- Return checksummed EVM assetIds from the
formatAddressToAssetIdutility (#7896) - Bump
@metamask/keyring-apifrom^21.0.0to^21.5.0(#7857) - Bump
@metamask/transaction-controllerfrom^62.15.0to^62.17.0(#7872), (#7897) - Bump
@metamask/multichain-network-controllerfrom^3.0.2to^3.0.3(#7897) - Bump
@metamask/assets-controllersfrom^99.3.1to^99.3.2(#7897) - Bump
@metamask/accounts-controllerfrom^35.0.2to^36.0.0(#7897)
Fixed
- Fall back to the quoted
priceImpactordestTokenAmountto sort quotes if thecostis not available (#7896)
@metamask/bridge-status-controller 66.0.1
Changed
- Bump
@metamask/accounts-controllerfrom^35.0.2to^36.0.0(#7897) - Bump
@metamask/bridge-controllerfrom^65.3.0to^66.1.0(#7862), (#7897) - Bump
@metamask/transaction-controllerfrom^62.14.0to^62.17.0(#7854, #7872), (#7897)
@metamask/core-backend 5.1.1
Changed
- Bump
@metamask/accounts-controllerfrom^35.0.2to^36.0.0(#7897) - Bump
@metamask/profile-sync-controllerfrom^27.0.0to^27.1.0(#7849)
@metamask/delegation-controller 2.0.1
Changed
- Upgrade
@metamask/utilsfrom^11.8.1to^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-a1.0.0 and@metamask/controller-b1.0.0, and@metamask/controller-bdepends on@metamask/controller-a1.1.0.
- For example, this scenario would be valid: a client relies on
- Note, however, that the versions specified in the client's
package.jsonalways "win", and you are expected to keep them up to date so as not to break controller and service intercommunication.
- The dependencies moved are:
@metamask/multichain-account-service 7.0.0
Changed
- BREAKING: Bump peer dependency
@metamask/account-apifrom^0.12.0to^1.0.0(#7857) - BREAKING: Bump
@metamask/eth-snap-keyringfrom^18.0.0to^19.0.0(#7857)- Required to invoke
createAccountson any account management Snaps.
- Required to invoke
- BREAKING: Use new
AccountProvider.createAccountsmethod withCreateAccountOptions(#7857)- All account providers now accept
CreateAccountOptionswithtypefield. - Added
capabilitiesproperty to all account providers defining supported account creation types.
- All account providers now accept
- Bump
@metamask/accounts-controllerfrom^35.0.2to^36.0.0(#7897) - Bump
@metamask/keyring-apifrom^21.0.0to^21.5.0(#7857) - Bump
@metamask/keyring-internal-apifrom^9.0.0to^10.0.0(#7857) - Bump
@metamask/keyring-snap-clientfrom^8.0.0to^8.2.0(#7857)
@metamask/multichain-network-controller 3.0.3
Changed
- Bump
@metamask/accounts-controllerfrom^35.0.2to^36.0.0(#7897) - Bump
@metamask/keyring-apifrom^21.0.0to^21.5.0(#7857) - Bump
@metamask/keyring-internal-apifrom^9.0.0to^10.0.0(#7857)
@metamask/multichain-transactions-controller 7.0.1
Changed
- Bump
@metamask/keyring-apifrom^21.0.0to^21.5.0(#7857) - Bump
@metamask/keyring-internal-apifrom^9.0.0to^10.0.0(#7857) - Bump
@metamask/keyring-snap-clientfrom^8.0.0to^8.2.0(#7857) - Bump
@metamask/snaps-sdkfrom^9.0.0to^10.3.0(#7550) - Bump
@metamask/snaps-utilsfrom^11.0.0to^11.7.0(#7550) - Upgrade
@metamask/utilsfrom^11.8.1to^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-a1.0.0 and@metamask/controller-b1.0.0, and@metamask/controller-bdepends on@metamask/controller-a1.1.0.
- For example, this scenario would be valid: a client relies on
- Note, however, that the versions specified in the client's
package.jsonalways "win", and you are expected to keep them up to date so as not to break controller and service intercommunication.
- The dependencies moved are:
- Bump
@metamask/polling-controllerfrom^16.0.0to^16.0.2(#7604, #7642)
@metamask/profile-metrics-controller 3.0.1
Changed
804.0.0
@metamask/notification-services-controller 22.0.0
Changed
- Upgrade
@metamask/utilsfrom^11.8.1to^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-a1.0.0 and@metamask/controller-b1.0.0, and@metamask/controller-bdepends on@metamask/controller-a1.1.0.
- For example, this scenario would be valid: a client relies on
- Note, however, that the versions specified in the client's
package.jsonalways "win", and you are expected to keep them up to date so as not to break controller and service intercommunication.
- The dependencies moved are:
- Modified background push utilities to handle more edgecases and not throw errors (#7275)
- Bump
@metamask/controller-utilsfrom^11.16.0to^11.18.0(#7534, #7583) - Move notifications networks metadata to backend (#7840)
Removed
- BREAKING: Removed the
"./notification-services/ui"subpath export frompackage.json(#7840)- Consumers that import from
@metamask/notification-services-controller/notification-services/uimust switch to network config provided by the backend.
- Consumers that import from
Fixed
- Remove non-actionable internal
log.errorcalls for expected silent-failure notification paths, while preserving thrown errors where propagation is required (#7885) - Fix
createOnChainTriggersto preserve user preferences on notification re-subscriptions (#7423)- Previously,
isFeatureAnnouncementsEnabledwas unconditionally set totrueon every re-subscription, overriding user preferences - Now, existing preferences are preserved when
isNotificationServicesEnabledis alreadytrue
- Previously,