github joinmarket-ng/joinmarket-ng 0.23.0

latest releases: 0.41.0, 0.40.0, 0.39.2...
6 months ago

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.

Don't miss a new joinmarket-ng release

NewReleases is sending notifications on new releases.