You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
@metamask/connect-evm 2.0.0
Added
Validate @metamask/connect-multichain peer version at runtime and warn on mismatch (#253)
Announce the MMConnect-managed EIP-1193 provider through EIP-6963 by default when native MetaMask has not already announced, with skipAutoAnnounce and announceProvider() for manual control. (#304)
Changed
BREAKING:@metamask/connect-multichain is now a peer dependency.
Add it to your own dependencies (e.g. npm install @metamask/connect-multichain)
— it is no longer installed transitively.
Adopts breaking removal of the public transport accessor in @metamask/connect-multichain. (#318)
Removed
BREAKING Remove the transport.onNotification option from createEVMClient(). The option was a fan-out of typed events already exposed via the EIP-1193 provider (accountsChanged, chainChanged, connect, disconnect, display_uri) and via eventHandlers. Migrate to those listeners instead (#318)
Fixed
MWP-backed EIP-1193 requests now surface wallet errors through rejected promises consistently with the default transport, so EvmClient.switchChain() no longer has to handle returned error payloads. (#311)
Return spec-compatible values from additional intercepted EIP-1193 provider requests: wallet_requestPermissions now resolves to requested permissions, while successful wallet_switchEthereumChain and wallet_addEthereumChain requests resolve to null. (#310)
@metamask/connect-multichain 1.0.0
Added
Add version getter to MultichainCore and MetaMaskConnectMultichain that returns the runtime package version (#253)
Warn at runtime when an existing singleton has a different version than the newly requested instance, indicating duplicate @metamask/connect-multichain resolutions (#253)
Changed
This release promotes @metamask/connect-multichain to a stable 1.0. From here it follows semver strictly — 1.x minor and patch releases will be backward-compatible, and breaking changes will only land in a future major. This lets the ecosystem packages (connect-evm, connect-solana, any future ecosystem packages) depend on ^1.0.0 and pick up all future 1.x improvements without a coordinated re-release, and gives consumers a dependable compatibility contract. (#317)
Rename the storage API methods for the persisted transport type from getTransport, setTransport, and removeTransport to getTransportType, setTransportType, and removeTransportType. The existing multichain-transport storage key is unchanged, so no persisted data migration is required. (#307)
getVersion() now returns the real package version injected at build time via __PACKAGE_VERSION__, instead of a hardcoded '0.0.0' (#253)
Refactor MWPTransport.connect() and other internals to replace deeply nested new Promise() and event-callback patterns with deferred promises, reducing nesting and breaking connect() into smaller helpers. No behavior change. (#305)
Removed
BREAKING: Remove the transport.onNotification constructor option from createMultichainClient(). The option was a fan-out of every typed event already exposed via client.on(...). Migrate to the typed event API: client.on('stateChanged' | 'wallet_sessionChanged' | 'metamask_accountsChanged' | 'metamask_chainChanged' | 'display_uri', handler). (#318)
BREAKING: Remove the public transport accessor from MultichainCore and MetaMaskConnectMultichain. Consumers that previously reached the underlying transport to invoke EIP-1193 / legacy provider methods (wallet_addEthereumChain, wallet_switchEthereumChain, eth_accounts) should now go through client.invokeMethod({ scope, request: { method, params } }). RequestRouter recognizes those methods as EIP-1193 passthroughs and forwards the raw payload to the active transport's sendEip1193Message, so behavior is preserved. All other RPCs continue to flow through invokeMethod unchanged. (#318)
Fixed
Restrict EIP-6963 extension detection to native MetaMask RDNS values so MMConnect-managed provider announcements do not select the browser-extension transport. (#304)
Failed createMultichainClient() singleton initialization now rethrows after clearing the stored singleton promise, preventing the cleanup path from resolving to undefined and preserving retry behavior. (#306)
MWPTransport.request() and sendEip1193Message() now reject wallet response errors returned as result.error, matching DefaultTransport error handling and preserving wallet error codes. (#311)
MetaMaskConnectMultichain.#headlessConnect() now removes the dappClientsession_request listener once the connection settles, preventing each headless connect() call from leaking a listener that would re-emit display_uri with stale deeplinks for every subsequent session request. (#314)
@metamask/connect-solana 2.0.0
Added
Validate @metamask/connect-multichain peer version at runtime and warn on mismatch (#253)
Changed
BREAKING:@metamask/connect-multichain is now a peer dependency.
Add it to your own dependencies (e.g. npm install @metamask/connect-multichain)
— it is no longer installed transitively.
Bump workspace dependencies:
@metamask/connect-multichain@1.0.0
@metamask/browser-playground 0.8.0
Added
Add an EIP-6963 validation panel for observing provider announcements, dispatching eip6963:requestProvider, manually re-announcing the legacy EVM SDK provider, and distinguishing the MMConnect-managed provider from native/provider-discovery entries. (#304)
Changed
Opt the browser playground wagmi connector out of automatic EIP-6963 provider announcement to avoid duplicate MMConnect-managed announcements while validating the direct legacy EVM SDK path. (#304)
Bump workspace dependencies:
@metamask/connect-evm@2.0.0
@metamask/connect-multichain@1.0.0
Fixed
Fixed Connected Network cards not appearing automatically after refresh (#313)