Releases: MetaMask/core
Releases · MetaMask/core
967.0.0
@metamask/bridge-controller 72.0.0
Added
- BREAKING: Add support for BatchSell quotes (#8711)
- change
quoteRequest's type fromQuoteRequesttoQuoteRequest[] - allow callers to update specific quote requests within a batch by adding 2 optional parameters to
updateBridgeQuoteRequest: quoteRequestIndex and quoteRequestCount - export
isValidBatchSellQuoteRequestrequest validator - fetch multiple swap quotes through a single SSE stream and append
quoteRequestIndexto link each one to its originating quoteRequest - implement
selectBatchSellQuotesselector which returns the recommended quote for each batched quote, and their aggregated fees and received amounts - trace BatchSell quote fetch operations in Sentry using label
Batch Sell Quotes Fetched
- change
Changed
- Bump
@metamask/gas-fee-controllerfrom^26.1.1to^26.2.0(#8722) - Bump
@metamask/transaction-controllerfrom^65.1.0to^65.2.0(#8722)
@metamask/bridge-status-controller 71.1.1
Changed
- Bump
@metamask/bridge-controllerfrom^71.0.0to^72.0.0(#8706, #8721, #8737) - Bump
@metamask/transaction-controllerfrom^65.0.0to^65.2.0(#8691, #8722) - Bump
@metamask/accounts-controllerfrom^37.2.0to^38.0.0(#8665) - Bump
@metamask/messengerfrom^1.1.1to^1.2.0(#8632) - Bump
@metamask/keyring-controllerfrom^25.2.0to^25.5.0(#8634, #8665, #8722) - Bump
@metamask/network-controllerfrom^30.0.1to^30.1.0(#8636) - Bump
@metamask/gas-fee-controllerfrom^26.1.1to^26.2.0(#8722)
Fixed
- When
submitIntentrecords bridge history keyed byorderUid, passoriginalTransactionIdat the top level to#addTxToHistorysogetInitialHistoryItemlinks the history item to the syntheticTransactionControllerentry instead of incorrectly usingorderUid(#8655)
@metamask/transaction-pay-controller 22.0.1
Changed
- Bump
@metamask/bridge-controllerfrom^71.1.1to^72.0.0(#8737)
966.0.0
@metamask/transaction-pay-controller 22.0.0
Changed
- BREAKING: Re-parse required tokens when asset state changes (#8714)
- Adds
AssetsControllerStateChangeEvent,CurrencyRateStateChange,TokenRatesControllerStateChangeEvent, andTokensControllerStateChangeEventtoAllowedEvents. - Consumers must grant these events when creating the controller messenger.
- Adds
- Bump
@metamask/gas-fee-controllerfrom^26.1.1to^26.2.0(#8722) - Bump
@metamask/transaction-controllerfrom^65.1.0to^65.2.0(#8722)
Fixed
- Fix fiat strategy never being selected by routing fiat payment method through
getStrategyOrderand allowing quote retrieval when no crypto payment token is set (#8720)
965.0.0
@metamask/passkey-controller 2.0.1
Changed
PasskeyControllerverifies registration and authentication responses withrequireUserVerification: true, so the WebAuthn user verification (UV) flag must be set; assertions with user presence only no longer pass verification (#8696)
Fixed
generateAuthenticationOptionsnow setsuserVerification: 'required'so client WebAuthn requests align with server-side verification requirements and do not fail on authenticators that skip UV when set to'preferred'(#8696)
964.0.0
@metamask/account-tree-controller 7.3.0
Added
- Expose missing public
AccountTreeControllermethods through its messenger (#8716)- The following actions are now available:
AccountTreeController:initAccountTreeController:reinit
- Corresponding action types are available as well.
- The following actions are now available:
Changed
- Bump
@metamask/keyring-controllerfrom^25.4.0to^25.5.0(#8722) - Bump
@metamask/multichain-account-servicefrom^8.0.1to^9.0.0(#8722)
@metamask/gas-fee-controller 26.2.0
Added
- Expose missing public
GasFeeControllermethods through its messenger (#8699)- The following actions are now available:
GasFeeController:enableNonRPCGasFeeApisGasFeeController:disableNonRPCGasFeeApis
- Corresponding action types are available as well.
- The following actions are now available:
Changed
- Bump
@metamask/messengerfrom^1.1.0to^1.2.0(#8373, #8632) - Add missing
@metamask/messengerdependency (#8318, #8364) - Bump
@metamask/controller-utilsfrom^11.19.0to^11.20.0(#8344) - Bump
@metamask/base-controllerfrom^9.0.1to^9.1.0(#8457) - Bump
@metamask/network-controllerfrom^30.0.1to^30.1.0(#8636)
@metamask/keyring-controller 25.5.0
Added
- Expose missing public
KeyringControllermethods through its messenger (#8674)- The following actions are now available:
KeyringController:changePassword,KeyringController:exportAccount,KeyringController:exportEncryptionKey,KeyringController:getAccountKeyringType,KeyringController:importAccountWithStrategy,KeyringController:setLocked,KeyringController:submitEncryptionKey,KeyringController:submitPassword,KeyringController:verifyPassword,
- Corresponding action types are available as well.
- The following actions are now available:
@metamask/money-account-controller 0.3.0
Added
- Expose missing
MoneyAccountController:initaction through its messenger (#8718)- Corresponding action type is available as well.
Changed
- Bump
@metamask/keyring-controllerfrom^25.4.0to^25.5.0(#8722)
@metamask/multichain-account-service 9.0.0
Added
- Expose missing
MultichainAccountService:initaction through its messenger (#8717)- Corresponding action type is available as well.
- Filter out
KeyringControllerlocked errors from sentry reporting (#8619)
Changed
- BREAKING: Replace
KeyringController:withKeyringwithKeyringController:withKeyringV2for the EVM account provider (#8491) - Bump
@metamask/accounts-controllerfrom^37.1.1to^38.0.0(#8363, #8665) - Bump
@metamask/keyring-controllerfrom^25.1.1to^25.5.0(#8363, #8634, #8665, #8722) - Bump
@metamask/messengerfrom^1.0.0to^1.2.0(#8364, #8373, #8632) - Bump
@metamask/base-controllerfrom^9.0.1to^9.1.0(#8457) - Bump
@metamask/account-apifrom^1.0.0to^1.0.4(#8464, #8647) - Bump
@metamask/eth-snap-keyringfrom^19.0.0to^22.0.1(#8464, #8584, #8647) - Bump
@metamask/keyring-apifrom^21.6.0to^23.1.0(#8464, #8647) - Bump
@metamask/keyring-internal-apifrom^10.0.0to^11.0.1(#8464, #8584, #8647) - Bump
@metamask/keyring-snap-clientfrom^8.2.0to^9.0.2(#8464, #8647) - Bump
@metamask/keyring-utilsfrom^3.1.0to^3.2.1(#8703)
@metamask/permission-controller 13.1.0
Added
- Expose missing public
PermissionControllermethods through its messenger (#8675)- The following actions are now available:
PermissionController:acceptPermissionsRequest,PermissionController:rejectPermissionsRequest,PermissionController:revokePermission,PermissionController:updatePermissionsByCaveat,PermissionController:getPermission
- Corresponding action types are available as well.
- The following actions are now available:
@metamask/transaction-controller 65.2.0
Added
- Expose missing public
TransactionControllermethods through its messenger (#8690)- The following actions are now available:
TransactionController:updateSecurityAlertResponseTransactionController:updatePreviousGasParamsTransactionController:updateRequiredTransactionIdsTransactionController:updateSelectedGasFeeTokenTransactionController:updateTransactionGasFees
- Corresponding action types are available as well.
- The following actions are now available:
Changed
- Bump
@metamask/gas-fee-controllerfrom^26.1.1to^26.2.0(#8722)
963.0.0
@metamask/assets-controller 6.4.0
Added
- Expose missing
AssetsController:setSelectedCurrencyaction through its messenger (#8719)- Corresponding action type is available as well.
Changed
- Bump
@metamask/transaction-controllerfrom^65.0.0to^65.1.0(#8691) - Bump
@metamask/network-enablement-controllerfrom^5.0.2to^5.1.0(#8665) - Bump
@metamask/keyring-controllerfrom^25.3.0to^25.4.0(#8665) - Bump
@metamask/accounts-controllerfrom^37.2.0to^38.0.0(#8665) - Bump
@metamask/account-tree-controllerfrom^7.1.0to^7.2.0(#8665) - Bump
@metamask/assets-controllersfrom^105.1.0to^106.0.0(#8721)
@metamask/assets-controllers 106.0.0
Added
- Add
TokenListService, a shared service for fetching and caching the token list per chain (#8700)- Wraps
@tanstack/query-coreto cache results in-memory for 4 hours per chain ID, matchingTokenListController's existing threshold. - Multiple controllers sharing the same
TokenListServiceinstance share the same cache: only one HTTP request is made per chain per 4-hour window regardless of how many callers invokefetchTokensByChainId. - Exported from the package as
TokenListServiceandbuildTokenListMap.
- Wraps
- Add
@tanstack/query-core^5.62.16as a direct dependency (#8700) - Expose missing public
AccountTrackerControllermethods through its messenger (#8693)- The following actions are now available:
AccountTrackerController:refreshAccountTrackerController:syncBalanceWithAddresses
- Corresponding action types are available as well.
- The following actions are now available:
- Expose missing public
TokenBalancesControllermethods through its messenger (#8693)- The following actions are now available:
TokenBalancesController:updateBalancesTokenBalancesController:resetState
- Corresponding action types are available as well.
- The following actions are now available:
Changed
- BREAKING:
TokenDetectionControllernow requires atokenListService: TokenListServiceconstructor option (#8700)- Token list data is fetched directly from
TokenListServiceinstead of readingTokenListControllerstate on each detection pass. GetTokenListStatehas been removed fromAllowedActionsandTokenListStateChangehas been removed fromAllowedEventsonTokenDetectionControllerMessenger.
- Token list data is fetched directly from
- BREAKING:
TokensControllernow requires atokenListService: TokenListServiceconstructor option (#8700)TokenListStateChangehas been removed fromAllowedEventsonTokensControllerMessenger.- Token
nameandrwaDataenrichment now happens once at controller initialization instead of reactively on everyTokenListController:stateChangeevent.
- Bump
@metamask/transaction-controllerfrom^65.0.0to^65.1.0(#8691) - Switch the default mUSD asset from upfront
allTokensstate seeding to detection-based discovery on Ethereum mainnet (0x1), Linea (0xe708), and Monad mainnet (0x8f) (#8688)TokenDetectionControllernow merges mUSD into the in-memory token list cache for these chains so it is treated as a regular detection candidate, replacing the previousstart()-timeTokensController:addTokenscall and the per-event re-seed runs.TokenBalancesControllerschedules mUSD for import on the same chains even when the Accounts API returns a zero balance, so users without a current mUSD balance still see the token.- Drops Monad testnet (
0x279f) from the default mUSD chain list.
- Bump
@metamask/network-enablement-controllerfrom^5.0.2to^5.1.0(#8665) - Bump
@metamask/keyring-controllerfrom^25.3.0to^25.4.0(#8665) - Bump
@metamask/accounts-controllerfrom^37.2.0to^38.0.0(#8665) - Bump
@metamask/account-tree-controllerfrom^7.1.0to^7.2.0(#8665)
Removed
TokenDetectionControllerno longer restarts token detection whenTokenListControllerpublishes astateChangeevent (#8700)- Detection is still triggered on wallet unlock, account change, network change, and preference changes; the extra restart that occurred whenever
TokenListControllerrefreshed its cache is gone.
- Detection is still triggered on wallet unlock, account change, network change, and preference changes; the extra restart that occurred whenever
- Stop seeding mUSD directly into
TokensControllerstate and remove the related event subscriptions (#8688)TokensControllerno longer subscribes toKeyringController:unlock,AccountsController:accountAdded,AccountsController:selectedEvmAccountChange,NetworkController:networkAdded, orNetworkController:stateChangefor mUSD seeding purposes.TokensControllerMessengerno longer requiresNetworkControllerNetworkAddedEvent,AccountsControllerAccountAddedEvent, orKeyringControllerUnlockEventas allowed events.- Detection-based discovery (see Changed) covers the same user-facing behavior on supported chains.
@metamask/bridge-controller 71.1.1
Changed
- Bump
@metamask/assets-controllerfrom^6.3.0to^6.4.0(#8721) - Bump
@metamask/assets-controllersfrom^105.1.0to^106.0.0(#8721)
@metamask/transaction-pay-controller 21.1.0
Added
- Allow EIP-7702 authorizations from accounts in the Money keyring (#8687)
- Implement fiat strategy submit flow with order polling and relay execution (#8347)
Changed
- Bump
@metamask/bridge-controllerfrom^71.0.0to^71.1.1(#8706, #8721) - Bump
@metamask/transaction-controllerfrom^65.0.0to^65.1.0(#8691) - Bump
@metamask/ramps-controllerfrom^13.2.0to^13.3.0(#8698) - Bump
@metamask/assets-controllerfrom^6.3.0to^6.4.0(#8721) - Bump
@metamask/assets-controllersfrom^105.1.0to^106.0.0(#8721)
962.0.0
@metamask/gator-permissions-controller 4.1.0
Added
- Add
payeerule decoding for execution permissions, extracting allowed recipient addresses fromAllowedTargetsEnforcer(native token) andAllowedCalldataEnforcer(ERC-20 token) caveats (#8668) - Add
redeemerrule decoding for execution permissions, extracting addresses fromRedeemerEnforcercaveats (#8537) - Add
native-token-allowanceanderc20-token-allowanceexecution permission type decoding (#8553)
Changed
- Use
decodeRedeemerTermsfrom@metamask/delegation-coreinstead of a local implementation (#8537) - Bump
@metamask/delegation-corefrom^0.2.0to^1.1.0(#8537) - Bump
@metamask/transaction-controllerfrom^64.2.0to^65.1.0(#8482, #8585, #8613, #8691) - Bump
@metamask/messengerfrom^1.1.1to^1.2.0(#8632) - Bump
@metamask/network-controllerfrom^30.0.1to^30.1.0(#8636)
961.0.0
@metamask/perps-controller 6.0.0
Changed
- BREAKING: Rename
AccountState.availableBalancetospendableBalanceandAccountState.availableToTradeBalancetowithdrawableBalancefor clearer semantics across abstraction modes (#8678) - Mode-aware spot fold:
addSpotBalanceToAccountStatenow folds free spot USDC into bothspendableBalanceandwithdrawableBalancefor Unified/Portfolio modes, while Standard/DEX-abstraction modes keep spot separate (#8678) - Add throttled WS-driven
userAbstractionrefresh so HL-web mode flips propagate back without requiring a restart or account switch (#8678) - Fix position direction display for flipped positions (#8707)
960.0.0
@metamask/bridge-controller 71.1.0
Added
- Add optional
batchSellDestStablecoinschain-level feature flag to bridge configuration (#8705)
Changed
- Bump
@metamask/transaction-controllerfrom^65.0.0to^65.1.0(#8691) - Bump
@metamask/multichain-network-controllerfrom^3.0.6to^3.1.0(#8665) - Bump
@metamask/accounts-controllerfrom^37.2.0to^38.0.0(#8665) - Bump
@metamask/assets-controllerfrom^6.2.1to^6.3.0(#8661) - Bump
@metamask/assets-controllersfrom^105.0.0to^105.1.0(#8661) - Bump
@metamask/keyring-apifrom^23.0.1to^23.1.0(#8647) - Bump
@metamask/messengerfrom^1.1.1to^1.2.0(#8632) - Bump
@metamask/network-controllerfrom^30.0.1to^30.1.0(#8636)
959.0.0
@metamask/ramps-controller 13.3.0
Changed
- Bump
@metamask/messengerfrom^1.1.1to^1.2.0(#8632) RampsServiceroutesRampsEnvironment.Developmentto dev-api base URLs; regions requests in development omit the-cachehostname segment used in staging and production (#8574)
Fixed
- Tag circuit-breaker errors in
RampsControllerwith a stableCIRCUIT_BREAKER_OPENerror key so clients can localize the fallback copy without depending on internal Cockatiel text (#8596).
958.0.0
@metamask/transaction-controller 65.1.0
Added
- Allow EIP-7702 authorizations from accounts in the Money keyring (#8687).
- Export
decodeAuthorizationSignatureutility that decodes a 65-byte EIP-7702 authorization signature into RLP-canonicalr,s, andyParity(#8656)- All
eth_sendRawTransactionfailures are prefixedRPC submit:for failure-surface attribution in error metrics
- All
- Add
revert?: RevertDatafield toTransactionMetaexposing decoded revert reason and raw data from gas estimation, simulation, and receipt replay (#8589)