A major update is rolling out to the Polkadot Product Devnet, with a new version of the Devnet mobile and desktop apps to match. This update brings big changes to the Devnet and requires all developers to follow these steps. Please note that this update will require all users to generate a new username, meaning you’ll lose contacts/messages. It’s a testnet; expect chaos!
Do this before you update your mobile apps (if you want to keep access to your published .dot domains):
-
Back up your recovery phrase manually if you want to retain access to any deployed sites
-
Delete your backup (shake your phone, clear backup)
-
Uninstall the app
-
Reinstall the app
What’s changing
-
Stronger chat encryption. Chat encryption moves from P-256 to X25519, a modern elliptic curve built for fast, lightweight key exchange.
-
Cleaner personhood pseudonyms. The cryptographic context behind your pseudonym is updated.
-
A fixed contract registry. The CDM registry is redeployed at a new address to resolve a technical failure when publishing brand new contract names.
-
Desktop App
-
Audio and video calls (today desktop only says “Open Mobile App to call”)
-
Chat search across chats, contacts, and message text
-
-
Mobile Apps
-
Chat search
-
New tab bar UI
-
General UI / UX improvements
-
Reply to a transfer inside chat
-
Improved multimedia download in chat
-
Audio-device picker for calls
-
Registration queue explainers and per-operation progress states
-
Improved error messaging
-
Coinage management improvements (durability layer)
-
Improved PGAS
-
Getting the update
-
Back up your recovery phrase manually if you want to retain access to any deployed sites
-
Delete your backup (shake your phone, tap: clear backup)
-
Uninstall the app
-
Reinstall the app
-
Android: Firebase App Distribution for registered testers, or the APK on the release page. Link: https://appdistribution.firebase.dev/i/f3b79521380b40b9
-
TestFlight link for iOS: https://testflight.apple.com/join/tCzFysKq
-
Desktop: https://github.com/Polkadot-Community-Foundation/polkadot-desktop-community/releases/latest
Tooling updates:
1. DotNS:
The name service has been migrated to a new set of contracts. Every `.dot` name has been migrated, so you keep your registered names. However the app records attached to them were re-created from a snapshot of the old deployment, and most apps came across intact. Not all of them did, and we cannot guarantee yours is one of them.
After you update, open your app in the Polkadot app or via https://.dev-dot.li. If it loads, you are done. If it fails to load, shows “Can’t find product”, or shows an older version, republish it:
npm i -g @parity/polkadot-app-deploy@latest # pad, 0.16.1 or later
npm i -g @polkadot-community-foundation/dotns-cli@latest # 0.9.1 or later
pad ./dist <your-name>.dot --env devnet --publish
Older releases of `pad` and `dotns` still point at the retired DotNS contracts, and a publish through them succeeds without error while nothing changes for anyone on the new apps. Anything you might have published or registered on the old deployment after the snapshot was taken is not on the new one, so republish that too.
Your data on Bulletin is not affected. Republishing only rewrites the pointer on your name.
2. CDM
The contract registry is moving to a new address: 0x05662b3dbd5dd9f2ff92d67630477e84b0b37c1f. The CDM contract registry is being redeployed to fix a failure when publishing a brand-new contract name.
More details here: https://docs.polkadotcommunity.foundation/reference/addresses/
Upgrade steps:
-
Update your tooling. The registry address ships inside the CDM packages, so most of this is handled by moving to the versions we publish after the redeploy: @polkadot-community-foundation/cdm-cli and @polkadot-community-foundation/cdm-env. If you pull the CDM address from an SDK or preset rather than writing it yourself, you only need to update it.
-
Regenerate your cdm.json. Your project file pins the registry at the top level as “registry”: “0x59b0…”. Updating the package does not rewrite that pin. Re-resolve your dependencies so the new address is written in.
-
Then check anything custom. Only addresses you wrote by hand, outside the tooling and outside cdm.json, need manual attention.
Important:
The old registry stays readable after the switch, so nothing breaks at cutover. But it cannot be frozen, and anything registered on it after our snapshot will not appear in the new registry. Do not register new contract names on the old registry.
If you keep pointing at the old address, you will keep reading an old registry with no error to tell you.
Descriptors need re-pinning
After the runtime upgrades land, regenerate and re-pin your chain descriptors for Bulletin, Asset Hub, and People. Publishing or querying with stale descriptors fails at decode.
Specifically, the Bulletin authorization structure changes shape. The value bytesPermanent moves from the top level into a nested extra field. Anything that reads authorization extents by field name breaks until re-pinned. Your published data is not affected, only the way it is read.
Anything still unclear?
Feel free to ask your technical questions in the Devnet chat for developers: https://matrix.to/#/#polkadot-products-public:matrix.org
