Releases: MetaMask/core
Releases · MetaMask/core
700.0.0
699.0.0
@metamask/network-controller 27.0.0
Added
- Add
NetworkController:rpcEndpointChainAvailablemessenger event (#7166)- This is a counterpart to the (new)
NetworkController:rpcEndpointChainUnavailableandNetworkController:rpcEndpointChainDegradedevents, 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.
- This is a counterpart to the (new)
Changed
- BREAKING: Split up and update payload data for
NetworkController:rpcEndpointDegradedandNetworkController:rpcEndpointUnavailable(#7166)NetworkController:rpcEndpointDegradedandNetworkController:rpcEndpointUnavailablestill exist and retain the same behavior as before.- New events are
NetworkController:rpcEndpointChainDegradedandNetworkController: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:rpcEndpointChainUnavailableis 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):failoverEndpointUrlhas been removed, andprimaryEndpointUrlhas been added. In addition,networkClientIdhas been added to the payload. - For chain-level events (
NetworkController:rpcEndpointChainUnavailable,NetworkController:rpcEndpointChainDegraded,NetworkController:rpcEndpointChainAvailable): These includechainId,networkClientId, and event-specific fields (e.g.,error,endpointUrl) but do not includeprimaryEndpointUrl. Consumers can derive endpoint information from thenetworkClientIdusingNetworkController:getNetworkClientByIdorNetworkController:getNetworkConfigurationByNetworkClientId.
- For individual endpoint events (
- 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:
failoverEndpointUrlhas been removed, andprimaryEndpointUrlhas been added. In addition,networkClientIdandattempthave been added to the payload.
- This event is now called
- BREAKING: Update
AbstractRpcService/RpcServiceRequestableto remove{ isolated: true }from theonBreakevent data type (#7166)- This represented the error produced when
isolateis called on a Cockatiel circuit breaker policy. This never happens for our service (we useisolateinternally, but this error is suppressed and cannot triggeronBreak)
- This represented the error produced when
- 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-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:
- Automatically update network status metadata when chain-level RPC events are published (#7186)
NetworkControllernow automatically subscribes toNetworkController:rpcEndpointChainUnavailable,NetworkController:rpcEndpointChainDegraded, andNetworkController:rpcEndpointChainAvailableevents 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
lookupNetworkcalls, providing more accurate and timely network availability information.
698.0.0
@metamask/transaction-controller 62.3.1
Fixed
- Fail required transactions of any approved and signed transactions during initialisation (#7251)
- Include
isExternalSignwhen fetching gas fee tokens in messenger action or before publish check.
- Include
@metamask/transaction-pay-controller 10.2.0
Added
- Use
relayDisabledGasStationChainsfeature flag to disable gas station on specific source chains in Relay strategy (#7255)
Changed
697.0.0
@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)
fetchMultiChainBalancesandfetchMultiChainBalancesV4now accept an optionaljwtTokenparameterTokenDetectionControllerfetches and passes JWT token fromAuthenticationControllerwhen using Accounts APITokenBalancesControllerfetches 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-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:
Fixed
696.0.0
@metamask/shield-controller 3.1.0
Added
- Added
AuthorizationListin 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-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/subscription-controller 5.1.0
Changed
- Removed
minBalanceUSDfield from theSubscriptionEligibilitytype. (#7248) - Updated
submitShieldSubscriptionCryptoApprovalto handle change payment method transaction if subscription already existed (#7231) - Bump
@metamask/transaction-controllerfrom^62.0.0to^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-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:
695.0.0
@metamask/bridge-controller 63.2.0
Changed
- Update
stopPollingForQuotesto accept metrics context for the QuotesReceived event. If context is provided and quotes are still loading when the handler is called, theUnified SwapBridge Quotes Receivedis published before the poll is cancelled (#7242)
@metamask/bridge-status-controller 63.1.0
Changed
- Bump
@metamask/bridge-controllerfrom^63.1.0to^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-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/bridge-controllerfrom^63.0.0to^63.1.0(#7238)
Removed
- Remove direct QuotesReceived event publishing to avoid race conditions that can happen when clients navigate and reset state. Update
submitTxto accept quotesReceivedContext (replace isLoading/warnings) and propagate context to the BridgeController through the `stopPollingForQuotes call (#7242)
694.0.0
@metamask/bridge-controller 63.1.0
Added
- Port the following constants from
SwapsControllerand export them:SWAPS_TESTNET_CHAIN_ID,SWAPS_CONTRACT_ADDRESSES,SWAPS_WRAPPED_TOKENS_ADDRESSES,ALLOWED_CONTRACT_ADDRESSES(#7233) - Port the following utils from
SwapsControllerand 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-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:
Fixed
- Update
quotesLoadingStatusto "LOADING" if a balance fetch is needed before fetching quotes ((https://github.com/MetaMask/core/pull/7227)[#7227]) - Wait for async SSE message handlers before updating
quotesLoadingStatusto prevent clients from displaying "No quotes" warnings ((https://github.com/MetaMask/core/pull/7227)[#7227])
693.0.0
692.0.0
@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-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:
691.0.0
@metamask/transaction-controller 62.2.0
Added
- Add
musdConversiontransaction 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-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: