Original release notes
Major improvements for wallet performance, specially for exiting old wallets with lots of transactions. Also security hardening, TUI improvements, and bug fixes.
Added
- Add JSON-RPC batch helper to DescriptorWalletBackend to enable single-round-trip address lookups. (7dc89c31)
- New wallet files are now encrypted with Argon2id (OWASP 2024 baseline parameters) instead of PBKDF2-HMAC-SHA256. Existing PBKDF2 wallet files continue to load unchanged. (5e6641de)
- Cap per-tx fee rate at 1000 sat/vB by default (configurable via wallet.max_fee_rate_sat_vb) to prevent silent fee blowups from misconfigured estimators or oversized manual overrides. (041de9c0)
- Auto-expand descriptor scan_range on wallet setup when used addresses sit near the lookahead boundary (76cbece3)
- Replace the auto-expand descriptor scan_range probe and the --rescan-deep flag with a single 'jmwallet info --scan-depth N' one-shot recovery path that re-imports descriptors and rescans from genesis. The probe was unreliable for the migrated-wallet case it was meant to solve. (5984ef60)
- Added Raspiblitz exit handler with B menu option and dynamic ESC behavior (8308f4f1)
- TUI: Add configurable log level via [tui] log_level in config.toml (6780bc3f)
- Add jm-wallet info --scan-status and jm-wallet rescan to (c340b993)
- Orderbook watcher web UI now signals which makers are (461ef3a9)
- Redesign the jm-wallet send confirmation summary for clearer field ordering and labels (21effc40)
Fixed
- Speed up descriptor-wallet sync by replacing listaddressgroupings with listreceivedbyaddress, eliminating multi-minute hangs on wallets with many transactions or CoinJoin co-spends (11b118bd)
- Validate destination address checksum and network in jmwallet direct_send (fixes regression of #196) (eb970809)
- Require authentication on GET /api/v1/wallet/yieldgen/report so the maker earnings report is no longer readable without a bearer token. (e4a1a5e7)
- Stop including fidelity bond proof in public reconnect announcements; bonds are now only sent via privmsg in response to !orderbook, matching the reference protocol. (519ffed2)
- Fix maker incorrectly rejecting offers with 'Insufficient balance' when the dual-offer fee intersection falls in the dust band; the dominated offer is now suppressed cleanly with a clear log message (add613fd)
- Fixed history header duplication and minor TUI issues (08230473)
- Fixed maker menu TUI feedback and wallet info navigation (be50f914)
- TUI: Capitalize "Fidelity Bonds" consistently across maker bond menus, prompts, and help text (c35df0db)
- TUI: Show full testnet/signet/regtest fidelity bond addresses instead of dropping the network prefix (9ca785e7)
- Restore bonds create improvements and add multi-network regex (94748205)
- Fix fidelity-bond forgery where verify_bonds() did not bind the UTXO to the bond scriptPubKey (bdbac766)
- Honor wallet.mnemonic_password from config when loading mnemonics via --mnemonic-file or MNEMONIC_FILE env (issue #498) (67043636)
- Reject negative or out-of-range cjfee values in maker offers (009e0394)
- Allow disabling broadcast on jm-wallet send via --no-broadcast (55a33edb)
- Reject malformed amounts, mixdepths and counterparty counts on the wallet daemon HTTP API (9470db49)
- Tighten JWT scope verification to reject cross-wallet tokens (f5371de6)
- Fix tumbler runner crashing as failed instead of cancelled when stopped during a phase retry back-off (e6af7263)
- Fix periodic summary notification reporting inflated earnings (42d2eeb9)
- jm-wallet send now persists its change address in (b399a814)
- TUI: Offer password storage for encrypted wallets in maker (36eb8df0)
- Fix jam-ng and jmwalletd image builds broken by Debian trixie package version pins in the bookworm-based jam-builder stage (77c2ea5d)
- Persist used addresses to prevent reissuing a previously funded deposit address after the UTXO is spent. (24e3e2f4)
- Discover all wallet-owned addresses (including change) via paginated listtransactions to prevent missing them in deposit-address selection. (7d2cc00d)
- Persist spent input addresses on transaction history rows to prevent deposit-address reuse across restarts (f98ffc5b)
- TUI: Check for duplicate wallet name before import prompts (50d84ec1)


