Releases: DigitalGuards/myqrlwallet-desktop
Release list
v0.3.5: Obsidian & Ember
Obsidian & Ember design overhaul
The renderer and both native windows move to the new MyQRLWallet design system, matching qrlwallet.com:
- New visual language: deep warm-ink surfaces with layered ember glow and grain, ember orange as the single action color, QRL battery blue as the identity color (address pill, transfer From address, table headers).
- Typography: self-hosted Sora (display), Instrument Sans (body), and JetBrains Mono for addresses, balances, and seeds.
- Unified glass card treatment, staggered page entrances (with prefers-reduced-motion opt-out), restyled sidebar/dock/footer, mnemonic words as numbered chips.
- Native unlock and settings windows retokened to match the renderer.
No changes to key handling, signer isolation, IPC, or the security model. Binaries are unsigned; verify with SHA256SUMS.
Full changes: myqrlwallet-frontend#230, myqrlwallet-desktop#25, #26, #27.
MyQRLWallet Desktop 0.3.4
Renderer refresh release: the bundled web wallet is rebuilt from frontend main. No desktop shell code changes.
New in the wallet UI
- Address book: save named recipients and pick them straight from the Transfer form (book icon in the receiver field, with a save-current-address shortcut). Manage contacts from the new Contacts entry in the sidebar or the Settings card. Contacts are plain public data stored locally; they survive lock/logout and are yours to delete.
- dApp-connect hardening from the July frontend train (session desync teardown, approval-aware reconnect grace, wake URI recognition).
Notes
- Binaries are unsigned, same as previous releases; verify with SHA256SUMS.
- Windows: SmartScreen will warn on first run (unsigned installer).
- Desktop targets production (qrlwallet.com) by default since 0.3.3.
MyQRLWallet Desktop 0.3.3
First production release: the app targets prod (qrlwallet.com) by default.
Changed
- Renderer build and main-process defaults flipped from the dev staging environment to production: RPC via the qrlwallet.com proxy, backend/relay/explorer CSP allowlist to qrlwallet.com + zondscan.com. The dev proxy remains as the RPC failover secondary. Staging builds stay possible via env (VITE_NODE_ENV=development + QRL_* runtime vars).
- Includes everything from 0.3.2: the redesigned dApp connections page and the no-account consent gate.
Downloads
- Windows:
MyQRLWallet-Setup-0.3.3.exe(x64 + arm64, unsigned; SmartScreen "More info -> Run anyway") - Linux:
MyQRLWallet-0.3.3.AppImageormyqrlwallet-desktop_0.3.3_amd64.deb - Verify with
SHA256SUMS.
Binaries are unsigned. The isolated signer process remains the sole key holder.
MyQRLWallet Desktop 0.3.2
Staging build: the bundled renderer targets dev.qrlwallet.com.
Changed
- dApp connections page redesigned to match the wallet: card layout with a gradient header, status pills, per-session account and date rows, a proper empty state, and hover-destructive disconnect. Reached from the sidebar dApps item.
Fixed
- The consent dialog refuses to pair when the wallet has no account, with an inline prompt to create or import one first, instead of leaving a ghost "Account: None" session.
Downloads
- Windows:
MyQRLWallet-Setup-0.3.2.exe(x64 + arm64, unsigned; SmartScreen "More info -> Run anyway") - Linux:
MyQRLWallet-0.3.2.AppImageormyqrlwallet-desktop_0.3.2_amd64.deb - Verify with
SHA256SUMS.
Binaries are unsigned. The isolated signer process remains the sole key holder.
v0.3.1
Staging build: the bundled renderer targets the dev environment (dev.qrlwallet.com) by default.
Fixed
- dApp contract calls are no longer starved by a fixed 90,000 gas limit: transactions carrying calldata are estimated via qrl_estimateGas with the web wallet's 1.2x buffer, and an estimate that would revert is refused before signing instead of burning the fee on a guaranteed on-chain revert (first hit by QuantaSwap HTLC locks, ~175k gas). Calldata is canonicalized to the 0x form and the estimate runs in parallel with the nonce/gas-price/chain-id reads. (#18)
Changed
- Bundled renderer refreshed: dApp transactions now show the full progress ladder on desktop (signing, broadcasting, awaiting confirmation, confirmed), answering the dApp only once the on-chain receipt lands (web parity), instead of reporting success at broadcast time. Also fixes a progress-state leak when a dApp session disconnects mid-transaction.
Binaries are unsigned; verify with SHA256SUMS.
MyQRLWallet Desktop 0.3.0
The desktop wallet grows up: native settings, dApp connect, and a resilient broadcast path. This remains a staging build targeting dev.qrlwallet.com by default.
Downloads
| Platform | File |
|---|---|
| Windows 10/11 (x64 + arm64) | MyQRLWallet-Setup-0.3.0.exe (NSIS installer) |
| Linux (x64) | MyQRLWallet-0.3.0.AppImage (universal) |
| Debian/Ubuntu (x64) | myqrlwallet-desktop_0.3.0_amd64.deb |
Highlights
- Native settings window: the single settings surface on desktop, drawn entirely by the trusted main process. Autolock timing, biometric/keychain unlock preference, and per-account removal, with a full-bleed takeover of the wallet window and an explicit "Back to wallet" exit.
- dApp connect shell support:
qrlconnect://deep links (cold-start and second-instance handoff), focus/attention handling for approval UX, and the requesting dApp origin shown inside the trusted signature confirmation. - Backend-proxy RPC with broadcast failover: reads fail over to a secondary endpoint; a transaction broadcast fails over on transport failures only, and a duplicate-known rejection after a retry resolves to the signer-computed transaction hash instead of a false failure.
- Signature/session binding: every signature request is bound to the unlocked session's account; a request targeting any other account is refused by the signer.
Full notes: CHANGELOG.md.
Important: unsigned binaries
Not yet code-signed or notarized. On first launch:
- Windows: SmartScreen shows "Windows protected your PC" -> More info -> Run anyway.
- Linux AppImage:
chmod +x MyQRLWallet-0.3.0.AppImagebefore running.
Code-signing (Authenticode) + macOS notarization is still the next step. No macOS build in this release.
SHA-256 checksums
5f68692045adb8a75753732a6c5bdaa539ea1a194fb2abcfb2bd9395b055996d MyQRLWallet-0.3.0.AppImage
c4881e3b034dd0366523e64cc4554184b587680ea9e794c6779738eb5537be34 myqrlwallet-desktop_0.3.0_amd64.deb
91631e549780e3320ea2249bb8e8a134c421b16207df566f3f824ec7f627ed04 MyQRLWallet-Setup-0.3.0.exe
MyQRLWallet Desktop 0.2.1
Patch release of 0.2.0. The only change: the MyQRLWallet app icon is now baked into the installer, the executable, and the created shortcuts (0.2.0 shipped with the default Electron logo). No functional or security changes otherwise. This remains a staging build targeting dev.qrlwallet.com.
Downloads
| Platform | File |
|---|---|
| Windows 10/11 (x64) | MyQRLWallet-Setup-0.2.1.exe (NSIS installer) |
| Linux (x64) | MyQRLWallet-0.2.1.AppImage (universal) |
| Debian/Ubuntu (x64) | myqrlwallet-desktop_0.2.1_amd64.deb |
What 0.2.0 brought (unchanged here)
- Multi-wallet: multiple accounts per device, each encrypted under its own password; add, switch, and remove accounts individually (per-account password by design, for isolation).
- Import via recovery mnemonic, raw hex extended seed, or encrypted wallet file.
- Strict CSP delivered as a real
file://response header with the file handler contained to the app bundle; chain id is never guessed; atomic seed writes with legacy migration; native unlock window with an account picker.
Important: unsigned binaries
Not yet code-signed or notarized. On first launch:
- Windows: SmartScreen shows "Windows protected your PC" -> More info -> Run anyway.
- Linux AppImage:
chmod +x MyQRLWallet-0.2.1.AppImagebefore running.
Code-signing (Authenticode) + macOS notarization is the next step. No macOS build in this release.
Full notes: CHANGELOG.md.
SHA-256 checksums
fd92c9669e44297d7afea7ad90835a58c76e54c3b4bdb4317cd13e14e0b7806f MyQRLWallet-0.2.1.AppImage
a117c78356ba2bf40c73dec94d71a0f4490e4f2663397ebc27cf39491cef4f8b myqrlwallet-desktop_0.2.1_amd64.deb
832b69c5e38abdd2e8f266bbb5eab3b64240d2c20f1ab3171a126be74625191e MyQRLWallet-Setup-0.2.1.exe
MyQRLWallet Desktop 0.2.0
First public release of the MyQRLWallet desktop app: a hardened Electron wallet whose keys live only in an isolated signer process. This is a staging build: the bundled renderer targets the dev environment (dev.qrlwallet.com).
Downloads
| Platform | File |
|---|---|
| Windows 10/11 (x64) | MyQRLWallet-Setup-0.2.0.exe (NSIS installer) |
| Linux (x64) | MyQRLWallet-0.2.0.AppImage (universal) |
| Debian/Ubuntu (x64) | myqrlwallet-desktop_0.2.0_amd64.deb |
Highlights
- Multi-wallet: multiple accounts on one device, each encrypted under its own password. Add, switch, and remove accounts individually.
- Import routes: recovery mnemonic, raw hex extended seed, and encrypted wallet file (parity with the web and mobile wallets).
- Security hardening: strict Content-Security-Policy (
script-src 'self', no inline/eval) delivered as a realfile://response header, with the file handler contained to the app bundle (arbitrary host-file reads are refused). Chain id is never guessed: an unreachable node fails signing loudly, and the value shown in the trusted confirmation dialog is exactly the value signed. - Durability: atomic encrypted-seed writes with corrupt-file quarantine, plus a one-shot migration of the legacy single-wallet store.
- Native, app-drawn unlock window with an account picker; per-account "Remove Account" gated by a trusted main-process confirmation that names the address.
Verification
Desktop gates green (format, lint, typecheck, 38/38 tests, full build). Verified live on Windows and under WSLg: create, import by mnemonic and hex seed through the real UI, duplicate rejection, account switch + picker unlock, legacy migration, and the contained file handler (arbitrary reads 403'd, renderer assets served with the CSP header).
Important: unsigned binaries
These artifacts are not yet code-signed or notarized. On first launch:
- Windows: SmartScreen will show "Windows protected your PC". Click More info -> Run anyway.
- The Linux AppImage needs the executable bit:
chmod +x MyQRLWallet-0.2.0.AppImage.
Code-signing (Authenticode) and macOS notarization are the next step. A macOS build is not included in this release.
Full notes: CHANGELOG.md.
SHA-256 checksums
98d30773dda6cf9f629545e978ed3d3be778778b691b22e31197080872413ce0 MyQRLWallet-0.2.0.AppImage
5482190caa1687cf535ca6d636910da25c9201f1823c610dd536e9116f0a247d myqrlwallet-desktop_0.2.0_amd64.deb
bd5f16ff3519c0971818294d9c40a8cf65d94ba312238853d9feef85cc6635ce MyQRLWallet-Setup-0.2.0.exe