7.2 KiB
Joinmarket-clientserver 0.9.7:
https://github.com/joinmarket-org/joinmarket-clientserver/releases/tag/v0.9.7
Please report bugs using the issue tracker at github:
https://github.com/joinmarket-org/joinmarket-clientserver/issues
Upgrading
To upgrade:
Reminder: always back up and recreate your joinmarket.cfg file when doing the upgrade; this is to make sure you have the new default settings.
(If you are upgrading from a version pre-0.7.0 please read the "Upgrading" section in the 0.7.0 release notes.)
(If you are upgrading from a version pre-0.9.0 please read the release notes to find out how about fidelity bonds are relevant to your use-case).
First run the install.sh script as mentioned in the README. When prompted to overwrite the directory jmvenv, accept.
Note that ./install.sh -? will show the options for installation. See the section on Installation below for a new option for Tor.
Notable changes
Tumbler algorithm: fix, and cycling
This is a notable reworking of the tumbler algorithm, mostly motivated by finding an error which was causing failures for people that tried to use more than the default number of mixdepths (0-4). The tumbler is now able to work with the standard 5 mixdepths, even if you want to tumble through more mixdepths than that. Also "restarting" is now the same as starting; it will operate based on whatever mixdepths are funded, there is no "starting mixdepth". For details see the substantially updated tumbler guide which now has algorithm examples, and the explanation of the fix and change in the PR.
d3dc9d7Change tumbler algo to cycle and add tests, andd0bf8887ffc747e5ed7f2c0df868b4e4f2asusbstantial rewrite of tumblerguide.md524cbdaupdate Qt for new tumbler algo75c444eUpdate wallet_rpc for new tumbler code
Disallowing utxos with unconfirmed spends
This fix is a bit technical but very important. The TLDR is that it should remove a common issue of makers sending spent utxos to takers as candidates for coinjoins, which affected some users. See the PR for some detailed discussion.
a3e1ba3 Default 3rd argument of gettxout should be True
New script to calculate fidelity bond values
This new script is intended to help users make more informed choices about fidelity bonds. It gives data on the value of the bond dependent on locktime and amount, and optionally can compare with existing bonds in the orderbook (using a json export of the latter).
72bf447Script: Add bond-calculator.py
New display of 'available' balance
This new feature in the UI (both CLI and Qt) displays tags 'FROZEN', 'PENDING', 'LOCKED' to indicate the status of different utxos (with 'PENDING' meaning unconfirmed). Available balance is distinguished from total balance with parentheses. As you can see from this description already, the situation is substantially more complex for Joinmarket than for simpler wallets because there are at least 3 ways in which utxos' usability might be restricted, and this is not necessarily the same for all use cases (e.g. maker vs taker). Still, this UI addition gives the user a lot more information. This additional 'available balance' information is now also returned in the RPC API.
015cb4aIf there is unavailable fund, display 2 balances: total balance and unlocked balance.ea6c34dupdate yaml for new available_balance fields75a93dffix available_balance
We also had to update the json-ified wallet display to accommodate this:
08581f8Fixes json serialization of wallet display
RPC-API updates
There continue to be several small updates to the API, most notable this time is the addition of schedule status to the /session endpoint.
8ee6b39Report offerlist in /session call if possibleb2ab4dbadd nickname field to session response2cb41fcreview: reaqd schedule from taker object, also190d56e57d1476ab2803efix: include schedule in session instead of status flag, and521189a77496cdDisallow RPC directsend if coinjoin state enabledcde5cfbfeat: scheduler status flag in session3f358edAdd options to scheduler API endpoint12bcbe1docs: add flag to session response spec
Tor updates
adc11a1Add separate documentation for Tor configurationf8497f0add missing text to tor.mdd46a2c6Use valid tor_root also for tor_install()5e9044eInstall Tor binaries under /usr/local for --docker-install
Qt changes
We now allow access to the xpub information in the Qt interface (previously it was not displayed in the GUI).
d95e279Display the account xpub in QT interfacee4f249aShow QR code for xpub
Installation
The installation now will automatically check release GPG signatures for libsodium and Tor; this can be switched off with --no-gpg-validation.
be51866GPG release signature validation for libsodium and Tor
Documentation
7f2c965Fix "Using Tor as a Maker" table of contents linkbaa1d48Add link to JoininBox to READMEe42f829docs: fix link in SOURCING-COMMITMENTS.md94a43abdocs: link to latest version of start-dn.py scriptbb79a6dRemove hint to restart Bitcoin Core with -rescan parameter4d4cae5docs: Creating Core wallet is required for v0.21+
Dependencies
da88b1fBump local Tor to latest version (0.4.7.8)48935feBump pyjwt from 2.1.0 to 2.4.0 in /jmclient
Minor changes and fixes
Fixes a non-trivial edge case where the application starts up with a currently unconfirmed transaction:
5a7b68bTrack txs which are unconf at process startup
Allows bitcoin: prefix in sendpayment.py (we alreadly allowed BIP21 URIs):
83c6bc0Allow bitcoin: prefix for addresses with sendpayment.py
Test-related changes:
74616f0Refactor tests to make fidelity bond usage optional.8f60cf0Bump minfeerate for payjoin test36bf36bfix: enable addr status in regtest
The orderbook.json file returned by the ob-watcher service was wrong in certain cases:
2b277b0fix(ob-watcher): consistent orderbook.json response
The maker already doesn't start without any coins, but this fixes the edge case where it currently has timelocked coins but no others:
904cb35Don't start maker with only expired-timelock utxos
We don't yet have descriptor support; this is a first step:
fc5bda4Basic output descriptor functions (generate only)
Other minor changes:
38d00e5Remove unused CLI options in tumbler447cdb2Change verbosity of on_nick_leave_directory log message from info to debugc2abb93Ensure OnionDirectoryPeerNotFound is raised67d0801multiple spaces after operator
Credits
Thanks to everyone who directly contributed to this release -
And thanks also to those who submitted bug reports, tested, reviewed and otherwise helped out.