Skip to content

Releases: MetaMask/core

700.0.0

28 Nov 13:31
4905e53

Choose a tag to compare

@metamask/profile-metrics-controller 1.0.0

Added

699.0.0

27 Nov 20:43
330dd1a

Choose a tag to compare

@metamask/network-controller 27.0.0

Added

  • Add NetworkController:rpcEndpointChainAvailable messenger event (#7166)
    • This is a counterpart to the (new) NetworkController:rpcEndpointChainUnavailable and NetworkController:rpcEndpointChainDegraded events, but is published when a successful request to an endpoint within a chain of endpoints is made either initially or following a previously established degraded or unavailable status.

Changed

  • BREAKING: Split up and update payload data for NetworkController:rpcEndpointDegraded and NetworkController:rpcEndpointUnavailable (#7166)
    • NetworkController:rpcEndpointDegraded and NetworkController:rpcEndpointUnavailable still exist and retain the same behavior as before.
    • New events are NetworkController:rpcEndpointChainDegraded and NetworkController:rpcEndpointChainUnavailable, and are designed to represent an entire chain of endpoints. They are also guaranteed to not be published multiple times in a row. In particular, NetworkController:rpcEndpointChainUnavailable is published only after trying all of the endpoints for a chain and when the underlying circuit for the last endpoint breaks, not as each primary's or failover's circuit breaks.
    • The event payloads have been changed:
      • For individual endpoint events (NetworkController:rpcEndpointUnavailable, NetworkController:rpcEndpointDegraded): failoverEndpointUrl has been removed, and primaryEndpointUrl has been added. In addition, networkClientId has been added to the payload.
      • For chain-level events (NetworkController:rpcEndpointChainUnavailable, NetworkController:rpcEndpointChainDegraded, NetworkController:rpcEndpointChainAvailable): These include chainId, networkClientId, and event-specific fields (e.g., error, endpointUrl) but do not include primaryEndpointUrl. Consumers can derive endpoint information from the networkClientId using NetworkController:getNetworkClientById or NetworkController:getNetworkConfigurationByNetworkClientId.
  • BREAKING: Rename and update payload data for NetworkController:rpcEndpointRequestRetried (#7166)
    • This event is now called NetworkController:rpcEndpointRetried.
    • The event payload has been changed as well: failoverEndpointUrl has been removed, and primaryEndpointUrl has been added. In addition, networkClientId and attempt have been added to the payload.
  • BREAKING: Update AbstractRpcService/RpcServiceRequestable to remove { isolated: true } from the onBreak event data type (#7166)
    • This represented the error produced when isolate is called on a Cockatiel circuit breaker policy. This never happens for our service (we use isolate internally, but this error is suppressed and cannot trigger onBreak)
  • Move peer dependencies for controller and service packages to direct dependencies (#7209)
    • The dependencies moved are:
      • @metamask/error-reporting-service (^3.0.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.
  • Automatically update network status metadata when chain-level RPC events are published (#7186)
    • NetworkController now automatically subscribes to NetworkController:rpcEndpointChainUnavailable, NetworkController:rpcEndpointChainDegraded, and NetworkController:rpcEndpointChainAvailable events and updates the corresponding network's status metadata in state when these events are published.
    • This enables real-time network status updates without requiring explicit lookupNetwork calls, providing more accurate and timely network availability information.

698.0.0

27 Nov 18:18
f3dadbe

Choose a tag to compare

@metamask/transaction-controller 62.3.1

Fixed

  • Fail required transactions of any approved and signed transactions during initialisation (#7251)
    • Include isExternalSign when fetching gas fee tokens in messenger action or before publish check.

@metamask/transaction-pay-controller 10.2.0

Added

  • Use relayDisabledGasStationChains feature flag to disable gas station on specific source chains in Relay strategy (#7255)

Changed

  • Bump @metamask/assets-controllers from ^91.0.0 to ^92.0.0 (#7253)
  • Bump @metamask/bridge-status-controller from ^63.0.0 to ^63.1.0 (#7245)
  • Bump @metamask/transaction-controller from ^62.2.0 to ^62.3.1 (#7236, #7257)
  • Bump @metamask/bridge-controller from ^63.0.0 to ^63.2.0 (#7238, #7245)

697.0.0

27 Nov 17:08
9e773c7

Choose a tag to compare

@metamask/assets-controllers 92.0.0

Added

  • Support for optionally fetching market data when calling searchTokens (#7226)
  • BREAKING: Add optional JWT token authentication to multi-chain accounts API calls (#7165)
    • fetchMultiChainBalances and fetchMultiChainBalancesV4 now accept an optional jwtToken parameter
    • TokenDetectionController fetches and passes JWT token from AuthenticationController when using Accounts API
    • TokenBalancesController fetches and passes JWT token through balance fetcher chain
    • JWT token is included in Authorization: Bearer <token> header when provided
    • Backward compatible: token parameter is optional and APIs work without authentication

Changed

  • Move peer dependencies for controller and service packages to direct dependencies (#7209, #7220, #7236)
    • The dependencies moved are:
      • @metamask/account-tree-controller (^4.0.0)
      • @metamask/accounts-controller (^35.0.0)
      • @metamask/approval-controller (^8.0.0)
      • @metamask/core-backend (^5.0.0)
      • @metamask/keyring-controller (^25.0.0)
      • @metamask/multichain-account-service (^4.0.0)
      • @metamask/network-controller (^26.0.0)
      • @metamask/permission-controller (^12.1.1)
      • @metamask/phishing-controller (^16.1.0)
      • @metamask/preferences-controller (^22.0.0)
      • @metamask/profile-sync-controller (^27.0.0)
      • @metamask/snaps-controllers (^14.0.1)
      • @metamask/transaction-controller (^62.3.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.

Fixed

  • Fix TokenBalancesController state that store both lowercase and checksum account addresses (#7217)
  • TokenBalancesController: state inconsistency by ensuring all account addresses are stored in lowercase format (#7216)
  • Add MON (Monad) to supported currencies list in token prices service (#7250)

696.0.0

27 Nov 07:25
bfac40e

Choose a tag to compare

@metamask/shield-controller 3.1.0

Added

  • Added AuthorizationList in transaction init and log requests for 7702 transactions. (#7246)

Changed

  • Move peer dependencies for controller and service packages to direct dependencies (#7209, #7220, #7236)
    • The dependencies moved are:
      • @metamask/signature-controller (^37.0.0)
      • @metamask/transaction-controller (^62.3.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/subscription-controller 5.1.0

Changed

  • Removed minBalanceUSD field from the SubscriptionEligibility type. (#7248)
  • Updated submitShieldSubscriptionCryptoApproval to handle change payment method transaction if subscription already existed (#7231)
  • Bump @metamask/transaction-controller from ^62.0.0 to ^62.3.0 (#7215, #7220, #7236)
  • Move peer dependencies for controller and service packages to direct dependencies (#7209)
    • The dependencies moved are:
      • @metamask/profile-sync-controller (^27.0.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.

695.0.0

26 Nov 16:28
3db312f

Choose a tag to compare

@metamask/bridge-controller 63.2.0

Changed

  • Update stopPollingForQuotes to accept metrics context for the QuotesReceived event. If context is provided and quotes are still loading when the handler is called, the Unified SwapBridge Quotes Received is published before the poll is cancelled (#7242)

@metamask/bridge-status-controller 63.1.0

Changed

  • Bump @metamask/bridge-controller from ^63.1.0 to ^63.2.0 (#7245)
  • Move peer dependencies for controller and service packages to direct dependencies (#7209, #7220, #7236)
    • The dependencies moved are:
      • @metamask/accounts-controller (^35.0.0)
      • @metamask/bridge-controller (^63.0.0)
      • @metamask/gas-fee-controller (^26.0.0)
      • @metamask/network-controller (^26.0.0)
      • @metamask/snaps-controllers (^14.0.1)
      • @metamask/transaction-controller (^62.3.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/bridge-controller from ^63.0.0 to ^63.1.0 (#7238)

Removed

  • Remove direct QuotesReceived event publishing to avoid race conditions that can happen when clients navigate and reset state. Update submitTx to accept quotesReceivedContext (replace isLoading/warnings) and propagate context to the BridgeController through the `stopPollingForQuotes call (#7242)

694.0.0

25 Nov 16:20
6948365

Choose a tag to compare

@metamask/bridge-controller 63.1.0

Added

  • Port the following constants from SwapsController and export them: SWAPS_TESTNET_CHAIN_ID, SWAPS_CONTRACT_ADDRESSES, SWAPS_WRAPPED_TOKENS_ADDRESSES, ALLOWED_CONTRACT_ADDRESSES (#7233)
  • Port the following utils from SwapsController and export them: isValidSwapsContractAddress, getSwapsContractAddress (#7233)

Changed

  • Move peer dependencies for controller and service packages to direct dependencies (#7209, #7220, #7236)
    • The dependencies moved are:
      • @metamask/accounts-controller (^35.0.0)
      • @metamask/assets-controllers (^91.0.0)
      • @metamask/network-controller (^26.0.0)
      • @metamask/remote-feature-flag-controller (^2.0.1)
      • @metamask/snaps-controllers (^14.0.0)
      • @metamask/transaction-controller (^62.3.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.

Fixed

693.0.0

25 Nov 14:36
614d709

Choose a tag to compare

@metamask/transaction-controller 62.3.0

Changed

  • Check balance and gas fee tokens only after before sign hook (#7234)

692.0.0

25 Nov 11:22
9688009

Choose a tag to compare

@metamask/transaction-pay-controller 10.1.0

Added

  • Use new feature flags to configure gas limit fallback for Relay quotes (#7229)
    • Use gas fee properties from Relay quotes.

Changed

  • Move peer dependencies for controller and service packages to direct dependencies (#7209, #7220)
    • The dependencies moved are:
      • @metamask/assets-controllers (^91.0.0)
      • @metamask/bridge-controller (^63.0.0)
      • @metamask/bridge-status-controller (^63.0.0)
      • @metamask/gas-fee-controller (^26.0.0)
      • @metamask/network-controller (^26.0.0)
      • @metamask/remote-feature-flag-controller (^2.0.1)
      • @metamask/transaction-controller (^62.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.

691.0.0

21 Nov 18:58
aeed98a

Choose a tag to compare

@metamask/transaction-controller 62.2.0

Added

  • Add musdConversion transaction type (#7218)

Changed

  • Move peer dependencies for controller and service packages to direct dependencies (#7209)
    • The dependencies moved are:
      • @metamask/accounts-controller (^35.0.0)
      • @metamask/approval-controller (^8.0.0)
      • @metamask/gas-fee-controller (^26.0.0)
      • @metamask/network-controller (^26.0.0)
      • @metamask/remote-feature-flag-controller (^2.0.1)
    • 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.