Releases: MetaMask/connect-monorepo
Releases · MetaMask/connect-monorepo
Release list
17.0.0
@metamask/connect-evm 0.5.0
Changed
- BREAKING Standardize
chainIdto useHexformat throughout the public API (#150)connect(),connectAndSign(), andconnectWith()now expectchainIdsas hex strings instead of decimal numbersconnect()now returns{ accounts, chainId: Hex }instead of{ accounts, chainId: number }switchChain()now expectschainId: Hexinstead ofchainId: number | HexcreateEVMClient()param optionapi.supportedNetworksnow expects hex chain IDs as keys (e.g.,'0x1') instead of CAIP chain IDs- Event handler types for
connectAndSignandconnectWithnow useHexforchainId
- BREAKING
getInfuraRpcUrlsnow returns a rpc url map keyed by hex chain ID rather than CAIP Chain ID (#152) - The
debugoption param used bycreateEVMClient()now enables console debug logs of the underlyingMultichainClientinstance (#149) - update
connect()andcreateEVMClient()typings to be more accurate (#153) - update
switchChain()to returnPromise<void>(#153) - Make
ConnectEvmrely onwallet_sessionChangedevents fromConnectMultichainrather than explicit connect/disconnect events (#157) - Chain add/switch deeplink now calls
openSimpleDeeplinkIfNeeded()instead ofopenDeeplinkIfNeeded()to align with@metamask/connect-multichainchanges (#176)
Fixed
- Fix
display_uriandwallet_sessionChangedevents not firing after disconnect and reconnect in headless mode (#170)
@metamask/connect-multichain 0.6.0
Added
- When
ConnectMultichain.connect()is called while a connection is already pending, the user is re-prompted with the pending connection deeplink. (#176)
Changed
- BREAKING
createMultichainClient()now returns a singleton. Any incoming constructor params on subsequent calls tocreateMultichainClient()will be applied to the existing singleton instance except for thedapp,storage, andui.factoryparam options. (#157) - BREAKING
ConnectMultichain.openDeeplinkIfNeeded()is renamed toopenSimpleDeeplinkIfNeeded()(#176) ConnectMultichain.connect()now throws an'Existing connection is pending. Please check your MetaMask Mobile app to continue.'error if there is already an pending connection attempt. Previously it would abort that ongoing connection in favor of a new one. (#157)ConnectMultichain.connect()adds newly requested scopes and accounts onto any existing permissions rather than fully replacing them. (#157)ConnectMultichain.disconnect()accepts an optional array of scopes. When provided, only those scopes will be revoked from the existing permissions. If no scopes remain after a partial revoke, then the underly connection is fully discarded. If no scopes are specified ()[]), then all scopes will be removed. By default all scopes will be removed. (#157)
Fixed
ConnectMultichainnow waits 10 seconds (rather than 2 minutes) when attempting to resume a pending connection on initial instantiation viacreateMultichainClient()(#175)- Fix
beforeunloadevent listener not being properly removed on disconnect due to.bind()creating different function references, causing a listener leak on each connect/disconnect cycle (#170) - Rename
StoreAdapterWeb.DB_NAMEfrommmsdktommconnectto prevent IndexedDB collisions when the legacy MetaMask SDK and MM Connect run in the same browser context (#177) - Clean up stale MWP session from KVStore on connection rejection so subsequent QR code connection attempts are not blocked (#180)
- Fix bug with JSON-RPC requests where previously used
idvalue could be re-used causing the wallet to ignore the request when a dapp was refreshed/reloaded. (#183)
@metamask/connect-solana 0.2.0
Added
- Add node.js builds #169
Changed
- BREAKING: Automatically register as MetaMask to Solana Wallet Standard registry upon instantiation - with option to skip auto-registration #178 (#179)
@metamask/browser-playground 0.3.0
Added
- Add disconnect buttons to cards (#157)
- Add
data-testidattributes to Solana components (#174) - Add
data-testidattributes to Legacy EVM and Wagmi disconnect buttons (#174)
Changed
- Patch
@solana/wallet-adapter-reactto work with android native browser (#174) - Remove manual registration of
connect-solana(#178) - Bump workspace dependencies:
- @metamask/connect-evm@0.5.0
- @metamask/connect-multichain@0.6.0
- @metamask/connect-solana@0.2.0
Removed
- Remove the explicit ActiveProviderStorage pattern. Now all providers (cards) are "Active" even without user input to connect to a specific ecosystem (#157)
Fixed
- Fixes EVM Provider setChainId and setAccounts to also use the connect event (#157)
- Multichain Card and button properly reflect initial instantiation connecting status (#157)
@metamask/react-native-playground 0.1.2
Changed
- Add Metro bundler configuration with Node.js module shims to support APK bundling (#182)
- Enable
unstable_transformImportMetain Babel config forimport.metasupport in dependencies (#182) - Set explicit Android package identifier for APK builds (#182)
- Add
dotenvandreadable-streamas dev dependencies for Metro config (#182) - Bump workspace dependencies:
- @metamask/connect-evm@0.5.0
- @metamask/connect-multichain@0.6.0
Fixed
- Make sure Multichain UI card is rendered after Multichain connection established by aligning the
SDKProviderwith the browser playground's event-emitter pattern, broken after merging in Connect Multichain Singleton PR which caused the React NativeSDKProvider'stransport.onNotificationcallback to be silently dropped, preventing session and status updates from ever reaching the UI (#181) - Fix JSON parse error on startup by replacing
createSyncStoragePersisterwithcreateAsyncStoragePersisterfor React Native's asyncAsyncStorageAPI (#182) - Fix Connect (Multichain) button not rendering by correcting
useSDK()destructuring (state->status: state) (#182)
16.0.0
@metamask/connect-multichain 0.5.3
Added
createMultichainClient()now accepts an optionaldebugparam option which enables console debug logs when set totrue. Defaults tofalse. (#149)
Fixed
- Fix
sessionPropertiesnot being passed towallet_createSessionwhen recreating a session after scope/account changes (#123)
@metamask/connect-solana 0.1.0
Added
- Initial release
@metamask/browser-playground 0.2.0
Added
- Add Solana wallet standard integration (#123)
Changed
- BREAKING: Update connect/disconnect button labels to include connector names ("Connect" → "Connect (Multichain)", "Disconnect" → "Disconnect (Multichain)" / "Disconnect All") for clarity and consistency with other connector buttons (#161)
@metamask/react-native-playground 0.1.1
Changed
- Bump workspace dependencies:
- @metamask/connect-multichain@0.5.3
- BREAKING: Update connect/disconnect button labels to include connector names ("Connect" → "Connect (Multichain)", "Disconnect" → "Disconnect (Multichain)" / "Disconnect All") for clarity and consistency with other connector buttons (#161)
- Update to use hex chain ID format for
@metamask/connect-evmAPI compatibility (#150)
15.0.0
14.0.0
@metamask/connect-multichain 0.5.2
Changed
ConnectMultichain.connect()will sendsessionPropertiesas undefined when called with an empty object{}in order to ensure that the initialwallet_createSessionrequest does not fail immediately (#138)
@metamask/browser-playground 0.1.0
Added
- Initial release
@metamask/react-native-playground 0.1.0
Added
- Initial release
13.0.0
@metamask/connect-evm 0.4.1
Fixed
createEVMClientnow ensures session resumption is properly awaited before returning the client instance. Previously there was a race condition which made it possible to make requests to the EIP-1193 provider before the underlying session was fully ready (#141)
12.0.0
@metamask/connect-evm 0.4.0
Added
createEVMClientnow acceptsuiin its param options. See@metamask/connect-multichainfor examples of usage (#140)
11.0.0
@metamask/connect-evm 0.3.1
Fixed
- Fix
ConnectEvm.connect()not being able to establish an initial connection due to empty objectsessionProperties(#138)
10.0.0
@metamask/connect-evm 0.3.0
Added
- Add
ConnectEvm.statusproperty which exposes the currentConnectionStatus(#136)
Fixed
- Fix
eth_chainIdrequests not being resolved from local cached state when using the EIP-1193 Providerrequest()method over theMwpTransport(#124)
@metamask/connect-multichain 0.5.1
Fixed
- fix: Resolve Buffer polyfill requirement for browser/React Native consumers (#121)
9.0.0
@metamask/connect-evm 0.2.0
Added
- Add
display_urievent support for custom QR code UI implementations (#130)display_urievent onEIP1193Provideremitted when QR code link is availabledisplayUricallback inEventHandlersfor event-based subscriptions- Forwarded from
@metamask/connect-multichaincore to EIP-1193 provider layer
- Add
mobile.preferredOpenLinkoption support for React Native deeplink handling in wagmi connector (#118)- Allows React Native apps to use
Linking.openURL()instead ofwindow.location.hreffor opening MetaMask deeplinks - Required for wagmi connector usage in React Native environments
- Allows React Native apps to use
- Add legacy compatibility methods to
EIP1193Providerfor broader ecosystem compatibility (#102)chainIdgetter (alias forselectedChainId)sendAsync()for callback/promise-based JSON-RPC requestssend()for callback-based JSON-RPC requests
Changed
- BREAKING Rename
createMetamaskConnectEVMtocreateEVMClientfor a cleaner naming convention (#114)
Removed
- Revert: Fix local state not correctly being reset when establishing a new connection when there is an existing active session (#119)
Fixed
- Fix selected chainId incorrectly reverting to Ethereum Mainnet after page refresh by caching the selected chainId and retrieving it from storage instead of assuming the first permitted chain is selected (#113)
- Update
#attemptSessionRecovery()to check to state before attempting recovery (#107) - Bind all public methods in
EIP1193Providerconstructor to ensure stablethiscontext when methods are extracted or passed as callbacks (#102)
@metamask/connect-multichain 0.5.0
Added
- Add
display_urievent emission for QR code links to support custom UI implementations (#130)- Emitted when QR code link is generated during connection
- Emitted when QR code is regenerated on expiration
- Emitted for deeplink connections on mobile web
- Add
onDisplayUricallback toInstallWidgetPropsfor notifying when QR codes are generated/regenerated (#130) - Add headless mode support that emits
display_uriwithout rendering modal UI (#130) - Add
sessionPropertiesparameter toconnect()method for passing custom session configuration to wallets(#80) - Introduce
MultichainApiClientWrapperTransportto provide the provider interface before connection is established(#80)
Changed
- BREAKING Rename
stateproperty tostatusonMultichainCorefor improved clarity (#125) - BREAKING Rename
createMetamaskConnecttocreateMultichainClientfor a cleaner naming convention (#114) - Provider is now always available via
sdk.providerregardless of connection state (wrapper handles disconnected state internally)(#80)
Fixed
8.0.0
@metamask/connect-evm 0.1.2
Added
- BREAKING Replace
chainIdproperty onconnectmethod withchainIdsto support for connecting to multiple chains (#77)
Changed
- Bump
@metamask/connect-multichainremovingenableflag fromanalytics(#92) - BREAKING Change
connectWithMessage()to expect param object withmessageand optionalchainIdsproperty (#82)messageshould be the value that the user will prompted to sign with their selected account after connecting.messageis required.chainIdsshould be an array of chainIds that the wallet will prompt the user to grant permisson for.chainIdsis optional.
Fixed
- Fix duplicate
onNotificationlistener (#81) - Fixed
addEthereumChainnot being prompted on mobile native browsers after a switch chain failure (#79)
@metamask/connect-multichain 0.4.0
Changed
- BREAKING Remove opt-out of analytics from
connect-multichain.MultichainOptionsremoves theenableflag fromanalyticsconfig object (#92)
Fixed
- Fix potential listener leak on
MultichainCore.deeplinkConnectand duplicatedappClient.on('message')onMWPTransport(#81) - Reverted: Fix mobile deeplink bug that occurred when
MultichainSDK.connect()was called and the transport was already connected (#74) - Fix rejections of the initial permission approval for deeplink connections not correctly updating the connection status to disconnected (#75)
- Fix
connect()not working for mobile deeplink and QR connections when a previous connection attempt gets stuck (#85) - Fix
connect()improperly wrapping errors resulting in them being serialized to[object Object](#86)
@metamask/multichain-ui 0.3.0
Changed
- BREAKING Change stencil loader export path to
./loaderfor previous paths./dist/loader/index.jsand./dist/loader/index.cjs.js(#73)