6.10.0 Release Notes
New Features
Wallet & Storage
- FSS hybrid storage strategy — Flutter secure storage hybrid strategy without migration; better handling of FSS10 migration failure on Android with fallback to legacy storage
- New onboarding/startup wizard
- Ledger hardware wallet support
- Electrum timeout and retry via bdk-dart
- Increased Electrum stopGap — now allows values up to 5000
Exchange
- Colombia (COP) deposits — new COP payment link deposit flow
- SINPE receipt on tx details — reusable card on success + details screens
- Enhanced exchange settings menu — new functional screens: Recipients, Transactions, Default Bitcoin Wallets, App Settings, Secure File Upload, Statistics
- Email notifications toggle — enable/disable email notifications in App Settings
- Secure file upload — KYC document upload screen with status indicators (Upload, In Review, Accepted)
- Trading statistics dashboard — buy/sell ratio, trade volumes, trade counts, average prices, and biller statistics
- Preferred currency improvements — exchange home handles empty balance currency; deposit/withdraw/pay screens default to preferred currency
- Announcement banner improvements — truncated descriptions with ellipsis; tap to open full details in a bottom sheet
- Scam consent warning — explicit consent required before funding exchange account
Real-time & Notifications
- Real-time WebSocket notifications — balance, KYC status, and group membership updates arrive instantly instead of polling every 5 seconds
- Real-time support chat — support messages appear immediately via WebSocket push
UX
- Pull-to-refresh on wallet home — can be triggered from anywhere on the screen
- Backup warning overlay — bottom sheet hard escalation warning for backup when wallet has funds and no backup is detected
- Close button on broadcasting screen — added since the app no longer auto-progresses when autosync is disabled
Privacy & Payjoin
- Randomized OHTTP relay selection — relay randomly selected per payjoin call via
Random.secure()to prevent network fingerprinting - Payjoin self-transfer detection — detects self-spent transactions and shows a "Self-transfer" row on confirmation; self-spends bypass payjoin
Internationalization
- 11 new languages — Arabic, Bulgarian, Bengali, Czech, Greek, Persian, Hindi, Korean, Brazilian Portuguese, Thai, Turkish
- Detailed German translations — community contributions from @bsn21m
- Updated translations for new warning and wizard pages
Observability
- Opt-in error reporting — optional, self-hosted Sentry (disabled by default) - only collects error reports and stack traces, no telemetry, no IP.
- Detailed Sentry configuration to ensure user privacy
- No app restart required after providing Sentry consent
Removed / Changed
- Removed Boltz testnet support
- Removed Recoverbull sync page
- Server status page now makes more realistic calls
Bug Fixes
Wallet Core
- Address index issue — fixed via update to bdk-dart (bdk 2.0)
- Crash for unknown script transactions
- Prevent duplicate mnemonic import
- Mnemonic import freeze/crash
- Capital letters in mnemonic — no longer accepted (was causing errors)
- Correct Testnet electrum URLs
- LWK database initialization — fixed Liquid wallet database init issues
- Spam create wallet on startup
- Startup lag — fixed lag during wallet and seed loading on startup
- Startup error screen — gracefully handles and displays startup failures instead of freezing
Swaps
- Swap watcher race condition that could cause status update issues
- MRH swap — uses transaction ID to fully resolve as a swap transaction
- Swap flow wallet autoselect — prevents self-spends or same-network sends in the transfer flow
- Amountless invoice handling — throws a more descriptive error for amountless invoices on swaps
- Background tasks cleanup — removed unnecessary background tasks causing unexpected swap states and LWK db corruption
- Autoswap notice/warning fixes
- Testnet fix for recoverbull
Send / Receive
- LN receive success screen crash fixed
- Insufficient balance navigation — Continue on send amount page with insufficient funds no longer navigates to confirm page
- Sell/Pay flow — fixed "Could not fetch fees" bug
- Route unauthenticated users to login via buy/sell/withdraw
Backup & Security
- Physical backup verification — fixed backup test status not updating after completing verification
- Backup-before-PIN safety gate
- Backup completion flow via FSS Warning — after completing a backup, the warning lands directly on the "Reinstall" title instead of flashing "Backup and Reinstall"
- Backup wallet warning on home now updates correctly after a backup is complete
- "Vault created successfully" snackbar no longer covers the "Test Recovery" button
Exchange
- Exchange statistics — linear progress indicators, integer trade counts, currency conversion, thousands separators
- CA KYC sell limit — enforced $999 CAD buy/sell limit for Canadian users with limited KYC
- Argentina recipients
- Routing to support via "Get Help"
- Support chat attachments — improved image picker with better permission handling and clearer errors
- WebSocket reconnect loop — fixed infinite reconnect loop for unauthenticated users
Pricing & DCA
- Price graph refresh — users can now manually reload Bitcoin prices if automatic loading fails
- DCA confirmation text color in dark mode
- DCA UI fixes
Labels & Persistence
- Labels feature refactor — complete architecture refactor with database migration v11→v12; fixed upsert constraint failures, SQLite concurrency, and multiple related issues
- Transaction note persistence
- SQLite migration safety — catch blocks around label migration to prevent crash on failure
Network / Connectivity
- Custom mempool server — SSL toggle (auto-detected from URL), improved URL parsing/normalization, server status indicators, dark mode fixes, and hidden service support via Orbot
- Recoverbull Orbot detection — checks if Orbot is actually running on port 9050 instead of relying on user settings, preventing Tor-over-Tor errors
Input & Keyboard
- iOS price input keyboard — fixed to show correct number pad with decimal settings
- Keyboard lag — fixed lag when importing mnemonic passphrase or typing in label input fields
Theming
- Dark theme fixes — QR code backgrounds, PSBT flow, exchange logout sheet, Recoverbull button, custom Electrum server widget, exchange home KYC status card
- PIN light theme readability
- Custom fee dark mode
- Light mode exchange banner
- Delete logs dark mode fix
- Swap fees dark/light mode and text color fixes
- Storage warning screens dark mode background now matches the wizard
- Fade-to-background gradient no longer covers the title/description above the button
- Pull to sync loader no longer lands behind the Bull logo
Wizard / Onboarding Polish
- Removed translation bottom warning sheet in wizard
- Replaced next button with inline YES / NO continue button in the wizard (reporting program)
- Transparent chrome so small screens can see there is more to scroll