Public and versioned — this file is the source of truth, updated every release.
| Version | Highlights |
| v0.4.0 | Address rotation (gap-20 discovery), multi-address balance/spend, encrypted vault (PBKDF2-600k AES-256-GCM) |
| v0.4.2–4.3 | Net-per-wallet activity display, explorer links, tx detail sheet, white-screen crash fix, OSS scaffolding |
| v0.4.5–4.6 | Honest fee UX, MAX-button correctness (browser-proven), network-aware "can't send yet" advisory with slow-mode escape hatch |
| v0.4.7 | Real fee curve (1/2/5-block targets from the chain, multiplier model demoted to fallback), live network status in-app |
| v0.4.8 | Sign/verify messages (Schnorr proof-of-address), PWA install (manifest + icons), strict CSP + security headers |
| v0.6.0 | 🌊 APP REBUILD — designed flows: 3-choice onboarding cards, numbered seed-chip reveal with blur toggle, big-amount send display with USD line + fee speed cards + gradient review header + paste affordance, receive showcase (QR + tap-copy address). Vision: premium |
| v0.5.4 | Token unification: computed-style audit found 4 h1 sizes / 4 radii / gray-vs-green borders across surfaces — all pages now share the app's glass token set exactly |
| v0.5.3 | 🎨 Home page design rebuild: split-hero with REAL app screenshot in device frame + floating live cards, benefit-first copy, trust line, redesigned stats strip, 1120px shell |
| v0.5.2 | ⚡ Perf: immutable 1y cache on hashed assets, 7d fonts/art/icons, preload font+hero, fetchpriority, recompressed icon PNGs (40→17KB). Repeat visits now nearly all cache-served |
| v0.5.1 | UX pass: shimmer skeleton loader for balance, USD context line (live PRL price via prlstats), tap-to-hide balance for privacy in public, tab switch transitions, interactive empty state (tap the oyster → receive) |
| v0.5.0 | 🌊 FULL APP REDESIGN: bottom tab navigation (Home/Tools/Account), glass depth system (backdrop blur, specular edges, inner shadows), living ocean backdrop, redesigned sheets as grab-handle drawers, tool grid with glow icons, balance glass-orb card, SYNCED pulse. Home tab = balance + activity only; tools/account moved to tabs |
| v0.4.23 | Revamp batch 3 (final): get-started + roadmap art bands, iridescent CTA sheen (reduced-motion safe), gradient balance display, microcap section labels, card hover lift. Vision verdict: product-grade, ship-ready, zero default-styled elements |
| v0.4.22 | Typography revamp: self-hosted Space Grotesk variable font (22KB woff2, CSP-clean, zero external font requests) across all six surfaces — home, app, get-started, security, roadmap, verify |
| v0.4.21 | 🎨 Revamp batch 1: new PWA icon set (generated pearl icon — 192/512/maskable/apple-touch), app empty-state illustration (oyster, "The sea is calm"), welcome + lock screen art, security page oyster header. Vision-critiqued: "product-grade" |
| v0.4.20 | Hero art cranked to full-bleed (pearl visible at first glance, left-gradient readability) + full-width pearl art band with tagline above install section |
| v0.4.19 | 🎨 Generated hero art: luminous pearl on dark seabed (AI image gen, palette-matched), masked right-side integration + og.png social card (1200×630) + twitter:card — link unfurls now show the pearl |
| v0.4.18 | 🔐 Safety pack: recovery drill (3-of-12 words, randomized), encrypted vault backup export + restore test, backup status on account card. HOTFIX: seed import broken since v0.4.13 refactor — fixed with gap-limit resume |
| v0.4.17 | 🛡 OTC proof-of-funds standard: standardized envelope (address + timestamp + confirmed balance, Schnorr-signed), standalone /verify page (100% client-side, zero network calls). Blockbook failover: relay serves ≤10-min stale data with X-Pearlpurse-Stale on upstream failure |
| v0.4.15 | Home network strip upgraded: PRL price + network hashrate via prlstats.com relay (same-origin /api/prlstats, 5-min cache, attribution; difficulty now always populated) |
| v0.4.14 | Dual-review hardening: duplicate-address guards (watch + book), BigInt crash guard, watch-add sheet from wallet view (was dead button), offline address validation (fresh cold addresses watchable, no on-chain probe = more private), resume-watching on welcome |
| v0.4.13 | Parity features: 👁 watch-only wallets (standalone read-only mode, no wallet needed), 📒 address book (contacts → one-tap prefilled send), 📝 private tx notes, live difficulty stat on home. Rival-scan: 6-wallet ecosystem, none with reproducible builds + public security page |
| v0.4.12 | Fact-sweep: removed all "first wallet" claims (6 Pearl wallets predate us — May 2026 onward), honest positioning, human-readable fee display, ghost-button contrast. Visual QA: mobile+desktop overflow-proven clean |
| v0.4.11 | Marketing home page at / (live network stats, features grid), wallet moved to /app, returning users auto-skip, content-verified pages + check_pages.sh |
| v0.4.9–4.10 | pearl: URI v0 (payment links), Get-PRL funding funnel with clipboard sanity-check, /get-started + /security pages, reproducible signed-checksum releases, dual-model review process |
Every change ships through: browser-repro verification (real headless Chrome against the built bundle),
88-test suite, and **dual-model code review** (GLM-5.3 depth pass + GLM-5.3-flash integration pass — they
catch disjoint bug classes). Releases are reproducible; checksums published at /security.