Added
- Exempt CoinJoin outputs from mixdepth 0 merge restriction, improving maker max offer size (8e0d4964)
- Add allow_mixdepth_zero_merge config flag to disable md0 UTXO restriction (8e0d4964)
- Add optional balance/UTXO count to periodic summary notifications (opt-in via notify_summary_balance) (bef401ef)
- Scan bonded makers first and low-fee makers before spam during feature discovery (7ede8d45)
Fixed
- Make wallet history rewrites atomic and avoid 0-conf promotion to confirmed status (01c73dae)
- Protect bond registry writes with atomic replacement and 0600 permissions (bf0e855a)
- Prevent partial descriptor import failures from being treated as fully imported (746a3a98)
- Correct mempool backend confirmation calculation for UTXO queries (a09e4c41)
- Deduplicate fidelity bond cache entries and preserve fidelity bond freeze safety in bulk actions (8c0321f9)
- Add send CLI safeguards for manual fee rate and change key derivation (e80ba7c6)
- Harden cold-wallet key handling and add offline current-block certificate workflows (ef2a550a)
- Keep fidelity bond UTXOs frozen when bulk-unfreezing regular coins (83a39ba2)
- Reduce wallet service memory retention and keep reserved address tracking bounded by durable history. (243c31cb)
- Enforce strict BIP32 and segwit signing invariants to prevent silent invalid transaction signatures. (28027d83)
- Improve backend safety checks and lifecycle handling for RPC privacy, descriptor scans, and background rescans. (0582ae82)
- Keep descriptor wallet path and address caches consistent after cache clears. (b8d1908b)
- Restore jmwalletd seed endpoint and service startup mnemonic wiring without reintroducing mnemonic storage on WalletService. (772bafbb)
- Reject transactions with output values exceeding the total possible Bitcoin supply (2.1 quadrillion sats) (de79981d)
- Enforce MAX_MONEY output value validation in shared transaction parser (d2229365)
Configuration Changes
Existing config.toml files are not updated automatically. Review the bundled template changes below and apply the relevant options manually.
--- config.toml.template (0.22.0)
+++ config.toml.template (0.23.0)
@@ -186,6 +186,7 @@
# Periodic summary notifications (enabled by default)
# notify_summary = true # Send periodic CoinJoin stats summary (set to false to disable)
+# notify_summary_balance = false # Include total balance and UTXO count in summary (privacy risk)
# summary_interval_hours = 24 # Interval: 24 (daily), 168 (weekly), or custom (1-168)
# Update checks (opt-in, disabled by default)
@@ -232,6 +233,14 @@
# UTXO merge algorithm: "default", "gradual", "greedy", "random"
# merge_algorithm = "default"
+# Mixdepth 0 privacy restriction.
+# By default, UTXOs in mixdepth 0 are restricted to a single UTXO per CoinJoin
+# to prevent linking deposits and fidelity bonds. CoinJoin outputs (cj-out)
+# are always exempt from this restriction because they already have CoinJoin
+# privacy. Set to true to disable the restriction entirely and allow merging
+# all md0 UTXOs (experienced makers only -- reduces privacy).
+# allow_mixdepth_zero_merge = false
+
# Fidelity bond settings
# Set to true to run without a fidelity bond even if bonds exist in the registry.
# This can be useful for privacy - bonds are public and linkable to your offers.