Releases: MetaMask/core
Releases · MetaMask/core
Release list
1128.0.0
1127.0.0
@metamask/phishing-controller 17.3.0
Added
- Extend
DEFAULT_CHAIN_ID_TO_NAMEwith 19 additional chains:xlayer,megaeth,tempo,tempo-testnet,kaia,robinhood,arc,plasma,mantle,katana,plume,kite-ai,monad-testnet,starknet,starknet-sepolia,stellar,bitcoin,sui,tron(#9506) - Add
TOKEN_SCAN_SUPPORTED_CHAINSconstant,TokenScanSupportedChaintype, andisTokenScanSupportedChaintype guard to gatebulkScanTokensper chain (#9506) - Add
ADDRESS_SCAN_SUPPORTED_CHAINSconstant,AddressScanSupportedChaintype, andisAddressScanSupportedChaintype guard to gatescanAddressper chain (#9506)
Changed
bulkScanTokensnow returns{}without calling the security-alerts API when the resolved chain is not inTOKEN_SCAN_SUPPORTED_CHAINS(#9506)scanAddressnow returns{ result_type: 'ErrorResult', label: '' }without calling the security-alerts API when the resolved chain is not inADDRESS_SCAN_SUPPORTED_CHAINS(#9506)
1126.0.0
@metamask/bridge-status-controller 74.3.0
Added
- Support batch sell (EIP-7702/nested batch) transactions in the quote-status flow, so every quote submitted under a single batch transaction is reported to the backend. All quotes sharing one batch source transaction are reported as
SUBMITTEDunder the shared source transaction hash andtxMetaId, and are finalized together when that transaction confirms or fails. (#9514)
Changed
- Ensure refs in tsconfig files are synced with internal deps (#8384)
1125.0.0
@metamask/sentinel-api-service 1.0.0
Added
- Initial commit (#9466)
- Supports
getNetworks,simulateTransactions,submitRelayTransaction, andgetSmartTransaction
- Supports
1124.0.0
@metamask/network-enablement-controller 5.6.0
Added
- Add
restoreEnabledNetworkMaponNetworkEnablementControllerto restore a previously snapshottedenabledNetworkMapwhen adding a network without switching the active network filter. Not exposed as a messenger action (#9480)
1123.0.0
@metamask/passkey-controller 2.1.0
Added
- Expose public
PasskeyControllermethods through its messenger (#9515)- The following actions are now available:
PasskeyController:isPasskeyEnrolledPasskeyController:generateRegistrationOptionsPasskeyController:verifyRegistrationResponsePasskeyController:generatePostRegistrationAuthenticationOptionsPasskeyController:generateAuthenticationOptionsPasskeyController:verifyAuthenticationResponsePasskeyController:protectVaultKeyWithPasskeyPasskeyController:retrieveVaultKeyWithPasskeyPasskeyController:verifyPasskeyAuthenticationPasskeyController:renewVaultKeyProtectionPasskeyController:removePasskeyPasskeyController:clearStatePasskeyController:destroy
- Corresponding action types (e.g.
PasskeyControllerIsPasskeyEnrolledAction) are available as well.
- The following actions are now available:
Changed
1122.0.0
@metamask/bridge-controller 77.5.0
Added
- Add the optional
transaction_internal_idproperty toUnified SwapBridge Completedevents. (#9494)
Changed
- Bump
@metamask/assets-controllerfrom^10.2.1to^11.0.0(#9485)
Fixed
- chore: MIT license text update (#9472)
@metamask/bridge-status-controller 74.2.0
Added
- Include
transaction_internal_idinUnified SwapBridge Completedevents for EVM source transactions. (#9494)
Changed
- Bump
@metamask/bridge-controllerfrom^77.4.1to^77.5.0(#9508)
Fixed
- chore: MIT license text update (#9472)
1121.0.0
@metamask/transaction-pay-controller 25.0.0
Added
- Store a no-op quote (
TransactionPayStrategy.None) when a payment token is selected but the route needs no conversion, so clients can tell "no conversion needed" apart from "quote missing" (#9484) - Add
Nonevalue toTransactionPayStrategyenum (#9484)
Changed
- BREAKING: Quotes stored in
transactionDatacan now contain a single no-op quote with thenonestrategy; clients that read quotes for display, metrics, or publish validation must ignore or handle no-op quotes (#9484)
1120.0.0
@metamask/transaction-pay-controller 24.1.0
Added
- Add
getStablecoinsfeature flag reader that resolves the stablecoin list from thestable-tokensLaunchDarkly flag, falling back to the hardcoded constant when absent (#9495) - Add generic signature steps to the server pay strategy, supporting EIP-712 sign-then-POST flows (#9051)
- Trigger quote refresh when
txParams.toorrequiredAssetschanges on a transaction, in addition to the existingtxParams.datatrigger
- Trigger quote refresh when
Changed
1119.0.0
@metamask/ramps-controller 17.0.0
Added
- Add the
MONEY_HEADLESS_ALL_PROVIDERS_FLAG_KEYconstant (moneyHeadlessAllProviders) and the pureisHeadlessAllProvidersEnabled(remoteFeatureFlagState)helper (with aHeadlessFeatureFlagsLookuptype) that own the flag key lookup,localOverrides-over-remoteFeatureFlagsmerging, and boolean coercion (only the literaltrueenables), so UI consumers resolve the flag exactly like the controller does (#9409) - Add pure provider-availability helpers
providerServesAsset,getProvidersServingAsset,regionHasProviderForAsset, andisFiatDepositAvailableso headless-buy consumers can share the controller's case-insensitive CAIP-19 asset matching and flag-aware region/availability gating instead of re-deriving it, keeping the two from disagreeing;regionHasProviderForAssetandisFiatDepositAvailabletake anallProvidersEnabledboolean (#9409) - Add pure quote-classification helpers
isExternalBrowserQuote,isCustomActionQuote, andisInAppOnlyQuoteso consumers can share the in-app-vs-external browser-mode classification without owning host redirect/deeplink concerns (#9409) - Add pure error-normalization helpers
getErrorMessage,extractExplicitTypedError, andnormalizeToTypedError(with aTypedError<Code>type) so consumers can share error-shape extraction while keeping their own error-code taxonomy (#9409) - Add
@metamask/remote-feature-flag-controller^4.2.2as a runtime dependency (#9409)
Changed
- BREAKING: Replace the
getProviderScopeconstructor option and the exportedProviderScopetype ('off' | 'in-app' | 'all') with a controller-side read of themoneyHeadlessAllProvidersboolean remote feature flag (#9409)RampsController.getQuotesresolves the flag through theRemoteFeatureFlagController:getStatemessenger action on each auto-selection call, so a remote fetch or a local dev override takes effect at runtime; consumers should delegate that action to the controller's messenger (when it is missing, the flag read fails closed and quoting stays native-only)- When the flag is
true, the auto-selection path (autoSelectProvider/restrictToKnownOrNativeProviders) widens to every supporting provider class (native, in-app WebView aggregator, and external-browser / custom-action) and returns the best quote atsuccess[0], enforcing per-provider fiat limits; when the flag isfalse, missing, or any non-boolean value, the path stays native-only - The intermediate
in-appscope (which excluded external-browser and custom-action quotes from selection) is removed
RampsControllernow derives its internal region provider-asset matching from the sharedproviderAvailabilityhelpers, so the exposed helpers stay behaviourally identical to the controller's own selection (#9409)