Releases: MetaMask/core
Releases · MetaMask/core
973.0.0
972.0.0
@metamask/money-account-balance-service 1.0.0
Added
- Add
VaultConfigNotAvailableErrorandVaultConfigValidationErrorerror classes for typed consumer error handling (#8742) - Add
LENS_ABIconstant for the Arctic Architecture Lens contract (#8742)
Changed
- BREAKING:
MoneyAccountBalanceServiceno longer accepts vault config via constructor. Vault config is now read fromRemoteFeatureFlagControllerstate. Add@metamask/remote-feature-flag-controlleras a dependency and permitRemoteFeatureFlagController:getStateaction andRemoteFeatureFlagController:stateChangeevent on the service's messenger. Service methods throwVaultConfigNotAvailableErroruntil a valid config is available. (#8742) - BREAKING:
VaultConfigfields have changed —vaultAddress→boringVault,vaultChainId→chainId;underlyingTokenAddressandunderlyingTokenDecimalsremoved;lensAddressandtellerAddressadded (#8742) - BREAKING:
MusdEquivalentValueResponseshape has changed —musdSHFvdBalance,exchangeRate, andmusdEquivalentValuereplaced by a singlebalanceOfInAssetsfield (#8742) - Monad (
0x8f) added toVEDA_API_NETWORK_NAMES(#8742) - Bump
@metamask/messengerfrom^1.1.1to^1.2.0(#8632) - Bump
@metamask/network-controllerfrom^30.0.1to^30.1.0(#8636)
971.0.0
@metamask/chain-agnostic-permission 1.6.0
Added
- Add
Eip1193Compatibleproperty inKnownSessionPropertiesenum to support EIP-1193-style connections established throughconnect-evm(#8731) - Set
sessionProperties: { 'eip1193-compatible': true }ingetCaip25PermissionFromLegacyPermissionsso that legacy EIP-1193 permission requests are tagged as EIP-1193-compatible (#8731)
Changed
- Bump
@metamask/permission-controllerfrom^12.2.1to^13.1.0(#8317, #8661, #8722) - Bump
@metamask/controller-utilsfrom^11.19.0to^11.20.0(#8344)
@metamask/multichain-api-middleware 3.1.0
Changed
- Bump
@metamask/chain-agnostic-permissionfrom^1.5.0to^1.6.0(#8749) - Bump
@metamask/multichain-transactions-controllerfrom^7.0.4to^7.1.0(#8665) - Bump
@metamask/accounts-controllerfrom^37.2.0to^38.0.0(#8665) - Bump
@metamask/permission-controllerfrom^13.0.0to^13.1.0(#8722) - Bump
@metamask/json-rpc-enginefrom^10.3.0to^10.4.0(#8746)
970.0.0
969.0.0
@metamask/transaction-pay-controller 22.1.0
Fixed
- Fix transaction with accountOverride and targeting Arbitrum USDC (#8724)
- Deliver the Relay-acquired token to
transaction.txParams.from(the delegator that executes the inner delegation), notrequest.from. - Gate the Arbitrum-USDC → Hypercore quote rewrite on
transaction.type === TransactionType.perpsDeposit.
- Deliver the Relay-acquired token to
968.0.0
@metamask/assets-controller 7.0.0
Added
- RPC token detection now uses the same endpoint as
TokenListController(token.api.cx.metamask.io/tokens/{chainId}) instead of the v3tokens.api.cx.metamask.io/v3/chains/.../assetshost, with no client-sidefirstcap and a shared TanStack Query cache (#8727)- Mirrors
TokenListController.getTokensURLexactly: same query parameters (occurrenceFloor,includeNativeAssets=false,includeTokenFees=false,includeAssetType=false,includeERC20Permit=false,includeStorage=false,includeRwaData=true), per-chain occurrence floor (1on Linea / MegaETH / Tempo mainnets,3elsewhere), and the Linea-mainnet aggregator filter (lineaTeam-flagged or ≥ 3 aggregators). - Detection now also picks up
iconUrlandaggregatorsreturned by the API; previously onlyaddress/symbol/name/decimals/occurrenceswere forwarded intoTokenListEntry. - The previous client-side
first=25cap is removed; the API still bounds responses server-side viaoccurrenceFloor, but the long tail past the previous 25-token slice is now visible to detection. TokensApiClientaccepts an optionalqueryClient(compatible withApiPlatformClient.queryClient); when provided it caches/dedupes per-chain list responses with a 5 minstaleTimeand 1 hgcTimeunder the['assets-controller','rpc-detection','token-list',{chainId}]key, so concurrent detector polls across accounts/instances coalesce into a single network request.RpcDataSourceaccepts a new optionalqueryClientoption which it forwards toTokensApiClient.AssetsControllerdefaults this to its existingqueryApiClient.queryClient, so consumers get the full list and shared cache automatically.
- Mirrors
Changed
- BREAKING:
AssetsControllernow requires two additional messenger events fromNetworkController:NetworkController:networkAddedandNetworkController:networkRemoved(#8727)- Consumers building restricted controller messengers must include both events in their allowed event set, otherwise TypeScript/action constraint checks will fail.
- Bump
@metamask/account-tree-controllerfrom^7.2.0to^7.3.0(#8722) - Bump
@metamask/keyring-controllerfrom^25.4.0to^25.5.0(#8722) - Bump
@metamask/permission-controllerfrom^13.0.0to^13.1.0(#8722) - Bump
@metamask/transaction-controllerfrom^65.1.0to^65.2.0(#8722)
Fixed
TokenDataSourceno longer drops user-imported EVM custom asset metadata when the V3 Tokens API returns the asset ID lower-cased (#8727)- State stores
customAssetschecksummed (vianormalizeAssetId), but the API can echo it lower-cased; the spam-filter bypass now compares lower-cased on both sides so customs reliably skip theMIN_TOKEN_OCCURRENCESfilter andassetsInfois populated for them.
- State stores
RpcDataSourceno longer overwrites richer native token metadata with a minimal stub on every balance refresh (#8727)- Previously, each balance fetch emitted
{ type: 'native', symbol: chainStatus.nativeCurrency, name: chainStatus.nativeCurrency, decimals: 18 }for native assets, which clobbered fields likeimage,description,occurrences, andaggregatorsenriched by the price/info API and renamed e.g."Avalanche"to"AVAX". - Native token metadata now mirrors the existing ERC-20 behavior: prefer existing metadata in state when present, and only emit the stub when no metadata is in state yet (e.g. first sighting of the asset). The fallback in the balance-fetch error path is gated the same way.
- Previously, each balance fetch emitted
@metamask/bridge-controller 72.0.1
Changed
- Bump
@metamask/assets-controllerfrom^6.4.0to^7.0.0(#8738)
@metamask/transaction-pay-controller 22.0.2
Changed
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)