Original release notes
TLDR: Pre-release workflow (to pevent releases with all needed signatures), rescan bug loop fix, local installer for updates (supply chain hardening), UTXO selector redesign, and local up to date config.toml.template reference copy.
You can update one last time with:
curl -sSL https://raw.githubusercontent.com/joinmarket-ng/joinmarket-ng/main/install.sh | bash -s -- --update
But then from this release on, you don't have to trust the the installer coming from GitHub. You will instead update with:
~/.joinmarket-ng/install.sh --update
This will verify the updated installer signatures first and then proceed with the update.
Added
- Redesign the UTXO selector with a dedicated State column, an (2d6c152c)
- Installer updates are now GPG-verified against trust anchors embedded in a locally saved installer copy instead of trusting the main branch on every update (4270b6c2)
Fixed
- Prevent wallet balance commands from crashing when Bitcoin Core is already rescanning (ef4767d9)
- Restore automated GitHub release creation after image promotion (79c11960)
- Prevent false orderbook bans from multi-directory requests and clarify response rate-limit diagnostics (d9e29c1d)
- Close TCP transports after disconnects to prevent leaked connections and shutdown delays (7b30e799)
- Stop repeated full blockchain rescans on legacy wallets after upgrading to 0.39 (e40ba472)
- Report Bitcoin Core scan status without falsely claiming coverage from descriptor import timestamps (e40ba472)
- Honor configured wallet.scan_start_height and scan_lookback_blocks for descriptor wallet backends in jm-wallet, maker, and taker (5f81fdd1)
- The TUI update menu now uses the GPG-verified trusted installer copy instead of downloading an unverified installer from the main branch (4c136092)
- Keep an up-to-date config.toml.template reference copy next to config.toml so new settings reported after updates can be compared locally (2d6d52be)
Configuration Changes
This release did not change the bundled config.toml.template.

