Releases: MetaMask/connect-monorepo
Releases · MetaMask/connect-monorepo
Release list
34.0.0
@metamask/analytics 0.5.0
Added
- Add optional
failure_reasonproperty toMMConnectPropertiesinschema.ts, attached by producers onmmconnect_wallet_action_failedandmmconnect_connection_failed. Mirrorsmetamask-sdk-analytics-api#31. (#290) - Add optional
error_code(integer) anderror_message_sample(string, max 200 chars) properties toMMConnectPropertiesinschema.ts. Producers attach them on the two*_failedevents as raw-code / sanitised-message companions tofailure_reason. Mirrorsmetamask-sdk-analytics-api#32. (#290)
Removed
- Removed
MobileSDKConnectV2Payload/MobileSDKConnectV2Propertiesfromschema.tsand theEventV2oneOf; themobile/sdk-connect-v2namespace has no emitters aftermetamask-mobile#27864andmetamask-mobile#28322, and the V2 endpoint is being updated to reject the namespace inmetamask-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-permissiondependency. The two helpers used from it (getEthAccounts,getPermittedEthChainIds) and theparseScopeStringutility are now implemented locally on top of@metamask/utilsprimitives. This drops the transitive@metamask/controller-utils/lodash/bn.js/eth-ens-namehash/fast-deep-equal/@metamask/ethjs-unitchain from theconnect-evmbundle. (#289)
@metamask/connect-multichain 0.14.0
Added
- Attach a
failure_reasontag tommconnect_wallet_action_failedandmmconnect_connection_failedevents via a newclassifyFailureReasonhelper, 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…-32099server-error range), with anunknownfallback. Schema-side:metamask-sdk-analytics-api#31. (#290) - Attach
error_codeanderror_message_samplecompanion properties tommconnect_wallet_action_failedandmmconnect_connection_failed.error_codepreserves the raw wallet-side JSON-RPC / EIP-1193 code (e.g.4001,-32603).error_message_sampleis 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*_failedevents. 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_createSessionrequest 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
isRejectionErrorsommconnect_wallet_action_rejectedmore accurately reflects user-driven cancellations: it now unwrapsRPCInvokeMethodErr(so wallet-side codes survive the router's transport-boundary wrapping rather than being masked by the wrapper'scode: 53), no longer classifies EIP-11934100 Unauthorizedas 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:_rejectedbecomes more precise;_failedpicks up everything4100was previously hiding. (#292)
@metamask/browser-playground 0.7.3
Added
- Added an Analytics test bench collapsible panel with one button per
failure_reasonclassifier branch, plus a localyarn analytics:echoserver 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
Android playground APK for @metamask/react-native-playground@0.4.3
33.0.0
@metamask/connect-evm 1.2.0
Added
- Send
sessionProperties: { 'eip1193-compatible': true }on everywallet_createSessionrequest issued byconnect-evm. This lets wallets distinguish EIP-1193-style connections established through@metamask/connect-evmfrom pure Multichain API connections or other provider types (e.g. Solana Wallet Standard) (#285)
Fixed
- Fix
wallet_switchEthereumChain(andEvmClient.switchChain()when called without achainConfigurationfallback) to forward the originalUnrecognized chain IDerror to the dapp instead of replacing it withNo 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
Android playground APK for @metamask/react-native-playground@0.4.2
32.0.0
@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, andeciesjsare 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
MultichainApiClientWrapperTransportconnected transport check onwallet_getSessionandwallet_invokeMethod. Remove defined transport check onwallet_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
Android playground APK for @metamask/react-native-playground@0.4.1
31.0.0
@metamask/connect-evm 1.0.0
Changed
- BREAKING
connectAndSignnow returns{ accounts: Address[]; chainId: Hex; signature: string }instead of a barestring. Code that previously destructured or assigned the return value as a string must be updated to read.signature. (#266) - BREAKING
connectWithnow returns{ accounts: Address[]; chainId: Hex; result: unknown }instead ofunknown. 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
MetaMaskinstead ofMetaMask 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
LegacyEVMSDKProviderto unwrap.signaturefrom the newconnectAndSignreturn value, which now returns{ accounts, chainId, signature }instead of a bare string (#266) - Update wagmi
metamask-connectorto unwrap.signature/.resultfrom the newconnectAndSign/connectWithreturn values (#266) - Use any Solana provider that announces itself as
MetaMaskinstead of preferringMetaMask Connect(#275) - Bump workspace dependencies:
- @metamask/connect-evm@1.0.0
- @metamask/connect-solana@1.0.0
30.0.0
@metamask/connect-evm 0.11.2
Changed
- Bump
@metamask/connect-multichainto^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 CSPconnect-srcpolicy missingblob:. (#273)
@metamask/connect-solana 0.8.1
Changed
- Bump
@metamask/connect-multichainto^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: falsein QR code image options to preventXMLHttpRequeston the embeddeddata:URI, which violatedconnect-srcCSP policies on host pages (#268)
@metamask/browser-playground 0.6.6
Added
- Add
Content-Security-Policymeta 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
@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
@metamask/connect-evm 0.11.0
Changed
- BREAKING
EvmClient.statusnow reflects the actual internal status of theEvmClientinstance instead of proxying the underlyingMultichainClient.status. The return type changes fromConnectionStatustoConnectEvmStatus. (#270)
Fixed
- Ensure EIP-1193 provider properties (
selectedChainId,accounts) are updated before emitting theconnectevent (#269)
@metamask/browser-playground 0.6.4
Changed
- Bump workspace dependencies:
- @metamask/connect-evm@0.11.0