Skip to content

Releases: MetaMask/connect-monorepo

34.0.0

Choose a tag to compare

@github-actions github-actions released this 15 May 18:03
e7bf707

@metamask/analytics 0.5.0

Added

  • Add optional failure_reason property to MMConnectProperties in schema.ts, attached by producers on mmconnect_wallet_action_failed and mmconnect_connection_failed. Mirrors metamask-sdk-analytics-api#31. (#290)
  • Add optional error_code (integer) and error_message_sample (string, max 200 chars) properties to MMConnectProperties in schema.ts. Producers attach them on the two *_failed events as raw-code / sanitised-message companions to failure_reason. Mirrors metamask-sdk-analytics-api#32. (#290)

Removed

  • Removed MobileSDKConnectV2Payload / MobileSDKConnectV2Properties from schema.ts and the EventV2 oneOf; the mobile/sdk-connect-v2 namespace has no emitters after metamask-mobile#27864 and metamask-mobile#28322, and the V2 endpoint is being updated to reject the namespace in metamask-sdk-analytics-api#29. Internal types only — no change to the public API.
  • chore(analytics): drop MobileSDKConnectV2 types from generated schema (#274)

@metamask/connect-evm 1.3.0

Removed

  • Remove @metamask/chain-agnostic-permission dependency. The two helpers used from it (getEthAccounts, getPermittedEthChainIds) and the parseScopeString utility are now implemented locally on top of @metamask/utils primitives. This drops the transitive @metamask/controller-utils / lodash / bn.js / eth-ens-namehash / fast-deep-equal / @metamask/ethjs-unit chain from the connect-evm bundle. (#289)

@metamask/connect-multichain 0.14.0

Added

  • Attach a failure_reason tag to mmconnect_wallet_action_failed and mmconnect_connection_failed events via a new classifyFailureReason helper, distinguishing transport timeouts, transport disconnects, EIP-1193 wallet errors (4100 wallet_unauthorized, 4200 wallet_method_unsupported, 4902 unrecognized_chain), and JSON-RPC wallet errors (-32601, -32602, -32603, plus the -32000…-32099 server-error range), with an unknown fallback. Schema-side: metamask-sdk-analytics-api#31. (#290)
  • Attach error_code and error_message_sample companion properties to mmconnect_wallet_action_failed and mmconnect_connection_failed. error_code preserves the raw wallet-side JSON-RPC / EIP-1193 code (e.g. 4001, -32603). error_message_sample is a sanitised, 200-char-max preview of the original error message, with wallet addresses, long hex blobs, URLs, and large decimal numbers scrubbed. Both fields are optional and only set on the two *_failed events. Schema-side: metamask-sdk-analytics-api#32. (#290)

Changed

  • Improves QR code scanning reliability. The QR code MWP flow (desktop web and Node.js) now omits the initial wallet_createSession request from the deeplink URI, instead sending it as a separate request after the wallet completes the MWP handshake. This results in a shorter deeplink URI and a less dense QR code. The native deeplink (non-QR MWP) flow used on mobile web and React Native is unchanged. (#295)

Fixed

  • Tightened isRejectionError so mmconnect_wallet_action_rejected more accurately reflects user-driven cancellations: it now unwraps RPCInvokeMethodErr (so wallet-side codes survive the router's transport-boundary wrapping rather than being masked by the wrapper's code: 53), no longer classifies EIP-1193 4100 Unauthorized as a rejection (it's a CAIP-25 permission denial, not a user decision), and narrows the bare "user" substring match to four explicit phrases — "user rejected" / "user denied" / "user cancelled" / "user canceled" — so unrelated messages like Account Abstraction's "user operation reverted" no longer count. Net effect: _rejected becomes more precise; _failed picks up everything 4100 was previously hiding. (#292)

@metamask/browser-playground 0.7.3

Added

  • Added an Analytics test bench collapsible panel with one button per failure_reason classifier branch, plus a local yarn analytics:echo server that stands in for the analytics endpoint. See the playground README for the manual-testing walkthrough. (#290)
  • Add network checkboxes for HyperEVM Mainnet (eip155:999), MegaETH Mainnet (eip155:4326), Monad Mainnet (eip155:143), Sei Mainnet (eip155:1329), and Tempo Mainnet (eip155:4217) to the multichain connect form (#295)

Changed

  • Bump workspace dependencies:
    • @metamask/connect-evm@1.3.0
    • @metamask/connect-multichain@0.14.0

@metamask/react-native-playground@0.4.3

Choose a tag to compare

@github-actions github-actions released this 15 May 18:36
e7bf707

Android playground APK for @metamask/react-native-playground@0.4.3

33.0.0

Choose a tag to compare

@github-actions github-actions released this 08 May 14:10
b45ba55

@metamask/connect-evm 1.2.0

Added

  • Send sessionProperties: { 'eip1193-compatible': true } on every wallet_createSession request issued by connect-evm. This lets wallets distinguish EIP-1193-style connections established through @metamask/connect-evm from pure Multichain API connections or other provider types (e.g. Solana Wallet Standard) (#285)

Fixed

  • Fix wallet_switchEthereumChain (and EvmClient.switchChain() when called without a chainConfiguration fallback) to forward the original Unrecognized chain ID error to the dapp instead of replacing it with No chain configuration found. (#287)

@metamask/browser-playground 0.7.2

Changed

  • Bump workspace dependencies:
    • @metamask/connect-evm@1.2.0
    • @metamask/connect-multichain@0.13.0

@metamask/react-native-playground@0.4.2

Choose a tag to compare

@github-actions github-actions released this 08 May 14:36
b45ba55

Android playground APK for @metamask/react-native-playground@0.4.2

32.0.0

Choose a tag to compare

@github-actions github-actions released this 04 May 21:01
b5ba688

@metamask/connect-evm 1.1.0

Changed

  • Cleanup initialization promise logic (#281)

@metamask/connect-multichain 0.13.0

Uncategorized

  • feat: cleanup EvmClient initPromise (#281)

Changed

  • Lazy-load MWP transport dependencies: @metamask/mobile-wallet-protocol-core, @metamask/mobile-wallet-protocol-dapp-client, and eciesjs are now dynamically imported only when MWP transport is actually used, allowing bundlers to code-split the entire MWP + crypto dependency tree for consumers who only use the browser extension flow (#244)
  • Tighten MultichainApiClientWrapperTransport connected transport check on wallet_getSession and wallet_invokeMethod. Remove defined transport check on wallet_revokeSession. (#280)

@metamask/connect-solana 1.1.0

Changed

  • createSolanaClient() now eagerly initializes the Solana wallet provider during creation. If the underlying multichain session already contains solana scopes, the provider's accounts are populated before the client is returned. (#282)
  • getWallet() now returns the same wallet instance on every call instead of constructing a new one. (#282)

@metamask/browser-playground 0.7.1

Changed

  • Bump workspace dependencies:
    • @metamask/connect-evm@1.1.0
    • @metamask/connect-multichain@0.13.0

@metamask/react-native-playground@0.4.1

Choose a tag to compare

@github-actions github-actions released this 05 May 12:33
b5ba688

Android playground APK for @metamask/react-native-playground@0.4.1

31.0.0

Choose a tag to compare

@github-actions github-actions released this 21 Apr 21:38
bcb8030

@metamask/connect-evm 1.0.0

Changed

  • BREAKING connectAndSign now returns { accounts: Address[]; chainId: Hex; signature: string } instead of a bare string. Code that previously destructured or assigned the return value as a string must be updated to read .signature. (#266)
  • BREAKING connectWith now returns { accounts: Address[]; chainId: Hex; result: unknown } instead of unknown. Code that previously used the return value as the raw RPC result must be updated to read .result. (#266)

@metamask/connect-solana 1.0.0

Changed

  • BREAKING registerWallet() now registers the MetaMask Connect Solana Provider as MetaMask instead of MetaMask Connect (#275)
  • Prefer the injected Solana provider by no longer announcing the MMC Solana provider if the injected Solana provider is detected (#275)

@metamask/browser-playground 0.7.0

Changed

  • Update LegacyEVMSDKProvider to unwrap .signature from the new connectAndSign return value, which now returns { accounts, chainId, signature } instead of a bare string (#266)
  • Update wagmi metamask-connector to unwrap .signature / .result from the new connectAndSign / connectWith return values (#266)
  • Use any Solana provider that announces itself as MetaMask instead of preferring MetaMask Connect (#275)
  • Bump workspace dependencies:
    • @metamask/connect-evm@1.0.0
    • @metamask/connect-solana@1.0.0

30.0.0

Choose a tag to compare

@github-actions github-actions released this 20 Apr 18:10
78c8677

@metamask/connect-evm 0.11.2

Changed

  • Bump @metamask/connect-multichain to ^0.12.1 (#273)

@metamask/connect-multichain 0.12.1

Fixed

  • The QR code modal no longer attempts to create a blob for the MetaMask icon and instead embeds it directly as a data: uri. This was breaking the QR code rendering on websites with CSP connect-src policy missing blob:. (#273)

@metamask/connect-solana 0.8.1

Changed

  • Bump @metamask/connect-multichain to ^0.12.1 (#273)

@metamask/multichain-ui 0.4.1

Uncategorized

  • chore: align sub-package licenses with root ConsenSys 2022 license (#241)

Fixed

  • Set saveAsBlob: false in QR code image options to prevent XMLHttpRequest on the embedded data: URI, which violated connect-src CSP policies on host pages (#268)

@metamask/browser-playground 0.6.6

Added

  • Add Content-Security-Policy meta tag to simulate host-page CSP constraints during local testing (#268)

Changed

  • Bump workspace dependencies:
    • @metamask/connect-evm@0.11.2
    • @metamask/connect-multichain@0.12.1

29.0.0

Choose a tag to compare

@github-actions github-actions released this 17 Apr 20:36
796d865

@metamask/connect-evm 0.11.1

Fixed

  • Ensure createEVMClient() waits until the underlying instance is fully initialized before resolving (#265)

@metamask/browser-playground 0.6.5

Changed

  • Bump workspace dependencies:
    • @metamask/connect-evm@0.11.1

28.0.0

Choose a tag to compare

@github-actions github-actions released this 17 Apr 15:38
583222d

@metamask/connect-evm 0.11.0

Changed

  • BREAKING EvmClient.status now reflects the actual internal status of the EvmClient instance instead of proxying the underlying MultichainClient.status. The return type changes from ConnectionStatus to ConnectEvmStatus. (#270)

Fixed

  • Ensure EIP-1193 provider properties (selectedChainId, accounts) are updated before emitting the connect event (#269)

@metamask/browser-playground 0.6.4

Changed

  • Bump workspace dependencies:
    • @metamask/connect-evm@0.11.0