This guide shows you how to upgrade the SDK within v4. Install the current release with the install commands, commit the updated lockfile, and rebuild your deployed app. Then check the notes below for every release you’re skipping. The Changelog lists all changes.
Keep your existing provider and hook integration.
Changes in 4.0.7#
If you are upgrading from 4.0.6 or earlier, note the 4.0.7 changes:
- Inside MyDoge, the SDK no longer shows its own wallet UI.
openModal(),WalletConnectEmbedand the newuseWalletHost().connect()ask the MyDoge app instead. Ordinary browsers behave as before. See Connect the Wallet in MyDoge. - Inside MyDoge, a first visit no longer prompts to connect when the page loads. If your app relied on that prompt, call
openModal()oruseWalletHost().connect()from a button. - Inside MyDoge,
useDogeOSAuth().login()andreauthenticate()reject withDogeOSHostErrorinstead of opening a popup. Use Sign Users In With Their Wallet there. - MyDoge 3.1.1 (build 652) and earlier have no account sheet, so
openModal()and the embed’s Account button do nothing while a wallet is connected. Give users your own Disconnect button and, if you support several networks, aswitchChain()control. - To link to another dApp from inside MyDoge, use
getDappHref(). See Link to Another dApp.
Changes in 4.0.6#
If you are upgrading from 4.0.5 or earlier, also note the 4.0.6 changes:
WalletConnectEmbedfills its container up to448pxwide instead of always being448px. Inside a parent that sizes to its content, such asinline-blockorwidth: fit-content, it is only as wide as its content; give that parent a width. The inline embed no longer shows a close button. See Show the Wallet Inline.- Auth errors can now have the
codehandoff_expired; if your code handles every error code exhaustively, add a case for it. Auth errors also have areasonfield:"session_changed"or"lifecycle_changed"when a request was refused because the session changed while it was in flight, otherwisenull. - Sessions are more resilient without code changes. Tabs that wake or reload together no longer sign each other out, sign-in works on devices with a wrong clock, and the login view offers Retry session or Reconnect wallet when automatic recovery stops.
Earlier Releases#
For any earlier release:
- If you are upgrading from a release before 4.0.4, supply your own
walletConnectProjectIdif you need WalletConnect. Omitted or blank IDs disable WalletConnect; the SDK no longer supplies a fallback. Email, social login, and supported injected wallets remain available. - Inside MyDoge, native startup can recover when wallet readiness arrives after the initial timeout. Keep the standard connection flow; see “MyDoge is not ready to connect”.
- Keep authentication and wallet connection state separate. Completing social sign-in does not mean wallet setup or recovery has finished; use
isConnectedand the active account/provider before starting wallet actions.