Skip to content

Commit 28df2fc

Browse files
committed
add release notes and version for 0.9.7
1 parent ce19941 commit 28df2fc

File tree

9 files changed

+172
-10
lines changed

9 files changed

+172
-10
lines changed

docs/JOINMARKET-QT-GUIDE.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
The GUI can be run directly from Python script by doing `./joinmarket-qt.sh` from within `scripts/`, or, if using Microsoft Windows, by running the executable file/binary (**[CLICK HERE](https://github.com/JoinMarket-Org/joinmarket-clientserver/releases)** to download the latest release). If you followed normal installation procedure under Linux, desktop entry of JoinMarketQt should be added to the application menu of your desktop environment.
66

7-
**LATEST VERSION of JoinMarket-Qt is GUI version 28**. You can check the version via `About` in the menu.
7+
**LATEST VERSION of JoinMarket-Qt is GUI version 29**. You can check the version via `About` in the menu.
88

99
No other files / setup should be needed.
1010

+162
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
Joinmarket-clientserver 0.9.7:
2+
=================
3+
4+
<https://github.com/joinmarket-org/joinmarket-clientserver/releases/tag/v0.9.7>
5+
6+
Please report bugs using the issue tracker at github:
7+
8+
<https://github.com/joinmarket-org/joinmarket-clientserver/issues>
9+
10+
11+
Upgrading
12+
=========
13+
14+
To upgrade:
15+
16+
*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.*
17+
18+
(If you are upgrading from a version pre-0.7.0 please read the "Upgrading" section in [the 0.7.0 release notes](https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/release-notes/release-notes-0.7.0.md).)
19+
20+
(If you are upgrading from a version pre-0.9.0 please read the [release notes](https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/release-notes/release-notes-0.9.0.md) to find out how about [fidelity bonds](../fidelity-bonds.md) are relevant to your use-case).
21+
22+
First run the `install.sh` script as mentioned in the README. When prompted to overwrite the directory `jmvenv`, accept.
23+
24+
Note that `./install.sh -?` will show the options for installation. See the section on Installation below for a new option for Tor.
25+
26+
Notable changes
27+
===============
28+
29+
### Tumbler algorithm: fix, and cycling
30+
31+
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.
32+
Also "restarting" is now the same as starting; it will operate based on whatever mixdepths are funded, there is no "starting mixdepth".
33+
For details see the substantially updated [tumbler guide](../tumblerguide.md) which now has algorithm examples, and the explanation of the fix and change in the [PR](https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/1324).
34+
35+
* `d3dc9d7` Change tumbler algo to cycle and add tests, and `d0bf888` `7ffc747` `e5ed7f2` `c0df868`
36+
* `b4e4f2a` susbstantial rewrite of tumblerguide.md
37+
* `524cbda` update Qt for new tumbler algo
38+
* `75c444e` Update wallet_rpc for new tumbler code
39+
40+
### Disallowing utxos with unconfirmed spends
41+
42+
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](https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/1295) for some detailed discussion.
43+
44+
`a3e1ba3` Default 3rd argument of gettxout should be True
45+
46+
### New script to calculate fidelity bond values
47+
48+
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).
49+
50+
* `72bf447` Script: Add bond-calculator.py
51+
52+
### New display of 'available' balance
53+
54+
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.
55+
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.
56+
This additional 'available balance' information is now also returned in the RPC API.
57+
58+
* `015cb4a` If there is unavailable fund, display 2 balances: total balance and unlocked balance.
59+
* `ea6c34d` update yaml for new available_balance fields
60+
* `75a93df` fix available_balance
61+
62+
We also had to update the json-ified wallet display to accommodate this:
63+
64+
* `08581f8` Fixes json serialization of wallet display
65+
66+
### RPC-API updates
67+
68+
There continue to be several small updates to the API, most notable this time is the addition of schedule status to the `/session` endpoint.
69+
70+
* `8ee6b39` Report offerlist in /session call if possible
71+
* `b2ab4db` add nickname field to session response
72+
* `2cb41fc` review: reaqd schedule from taker object, also `190d56e` `57d1476`
73+
* `ab2803e` fix: include schedule in session instead of status flag, and `521189a`
74+
* `77496cd` Disallow RPC directsend if coinjoin state enabled
75+
* `cde5cfb` feat: scheduler status flag in session
76+
* `3f358ed` Add options to scheduler API endpoint
77+
* `12bcbe1` docs: add flag to session response spec
78+
79+
### Tor updates
80+
81+
* `adc11a1` Add separate documentation for Tor configuration
82+
* `f8497f0` add missing text to tor.md
83+
* `d46a2c6` Use valid tor_root also for tor_install()
84+
* `5e9044e` Install Tor binaries under /usr/local for --docker-install
85+
86+
### Qt changes
87+
88+
We now allow access to the xpub information in the Qt interface (previously it was not displayed in the GUI).
89+
90+
* `d95e279` Display the account xpub in QT interface
91+
* `e4f249a` Show QR code for xpub
92+
93+
### Installation
94+
95+
The installation now will automatically check release GPG signatures for libsodium and Tor; this can be switched off with `--no-gpg-validation`.
96+
97+
* `be51866` GPG release signature validation for libsodium and Tor
98+
99+
### Documentation
100+
101+
* `7f2c965` Fix "Using Tor as a Maker" table of contents link
102+
* `baa1d48` Add link to JoininBox to README
103+
* `e42f829` docs: fix link in SOURCING-COMMITMENTS.md
104+
* `94a43ab` docs: link to latest version of start-dn.py script
105+
* `bb79a6d` Remove hint to restart Bitcoin Core with -rescan parameter
106+
* `4d4cae5` docs: Creating Core wallet is required for v0.21+
107+
108+
### Dependencies
109+
110+
* `da88b1f` Bump local Tor to latest version (0.4.7.8)
111+
* `48935fe` Bump pyjwt from 2.1.0 to 2.4.0 in /jmclient
112+
113+
### Minor changes and fixes
114+
115+
Fixes a non-trivial edge case where the application starts up
116+
with a currently unconfirmed transaction:
117+
118+
* `5a7b68b` Track txs which are unconf at process startup
119+
120+
Allows `bitcoin:` prefix in `sendpayment.py` (we alreadly allowed BIP21 URIs):
121+
122+
* `83c6bc0` Allow bitcoin: prefix for addresses with sendpayment.py
123+
124+
Test-related changes:
125+
126+
* `74616f0` Refactor tests to make fidelity bond usage optional.
127+
* `8f60cf0` Bump minfeerate for payjoin test
128+
* `36bf36b` fix: enable addr status in regtest
129+
130+
The orderbook.json file returned by the ob-watcher service was wrong in certain cases:
131+
132+
* `2b277b0` fix(ob-watcher): consistent orderbook.json response
133+
134+
The maker already doesn't start without any coins, but this fixes the edge case where it currently has timelocked coins but no others:
135+
136+
* `904cb35` Don't start maker with only expired-timelock utxos
137+
138+
We don't yet have descriptor support; this is a first step:
139+
* `fc5bda4` Basic output descriptor functions (generate only)
140+
141+
Other minor changes:
142+
143+
* `38d00e5` Remove unused CLI options in tumbler
144+
* `447cdb2` Change verbosity of on_nick_leave_directory log message from info to debug
145+
* `c2abb93` Ensure OnionDirectoryPeerNotFound is raised
146+
* `67d0801` multiple spaces after operator
147+
148+
149+
Credits
150+
=======
151+
152+
Thanks to everyone who directly contributed to this release -
153+
- @dnlggr
154+
- @BitcoinWukong
155+
- @AdamISZ
156+
- @theborakompanioni
157+
- @kristapsk
158+
- @chris-belcher
159+
- @PulpCattel
160+
161+
162+
And thanks also to those who submitted bug reports, tested, reviewed and otherwise helped out.

jmbase/jmbase/support.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import urllib.parse as urlparse
1010

1111
# JoinMarket version
12-
JM_CORE_VERSION = '0.9.7dev'
12+
JM_CORE_VERSION = '0.9.7'
1313

1414
# global Joinmarket constants
1515
JM_WALLET_NAME_PREFIX = "joinmarket-wallet-"

jmbase/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33

44
setup(name='joinmarketbase',
5-
version='0.9.7dev',
5+
version='0.9.7',
66
description='Joinmarket client library for Bitcoin coinjoins',
77
url='https://github.com/JoinMarket-Org/joinmarket-clientserver/tree/master/jmbase',
88
author='',

jmbitcoin/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33

44
setup(name='joinmarketbitcoin',
5-
version='0.9.7dev',
5+
version='0.9.7',
66
description='Joinmarket client library for Bitcoin coinjoins',
77
url='https://github.com/JoinMarket-Org/joinmarket-clientserver/tree/master/jmbitcoin',
88
author='',

jmclient/setup.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33

44
setup(name='joinmarketclient',
5-
version='0.9.7dev',
5+
version='0.9.7',
66
description='Joinmarket client library for Bitcoin coinjoins',
77
url='https://github.com/JoinMarket-Org/joinmarket-clientserver/tree/master/jmclient',
88
author='',
99
author_email='',
1010
license='GPL',
1111
packages=['jmclient'],
12-
install_requires=['joinmarketbase==0.9.7dev', 'mnemonic', 'argon2_cffi',
12+
install_requires=['joinmarketbase==0.9.7', 'mnemonic', 'argon2_cffi',
1313
'bencoder.pyx>=2.0.0', 'pyaes', 'klein==20.6.0',
1414
'pyjwt==2.4.0', 'autobahn==20.12.3'],
1515
python_requires='>=3.6',

jmdaemon/setup.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33

44
setup(name='joinmarketdaemon',
5-
version='0.9.7dev',
5+
version='0.9.7',
66
description='Joinmarket client library for Bitcoin coinjoins',
77
url='https://github.com/JoinMarket-Org/joinmarket-clientserver/tree/master/jmdaemon',
88
author='',
99
author_email='',
1010
license='GPL',
1111
packages=['jmdaemon'],
12-
install_requires=['txtorcon', 'cryptography==3.3.2', 'pyopenssl', 'libnacl', 'joinmarketbase==0.9.7dev'],
12+
install_requires=['txtorcon', 'cryptography==3.3.2', 'pyopenssl', 'libnacl', 'joinmarketbase==0.9.7'],
1313
python_requires='>=3.6',
1414
zip_safe=False)

jmqtui/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from setuptools import setup
22

33
setup(name='joinmarketui',
4-
version='0.9.7dev',
4+
version='0.9.7',
55
description='Joinmarket client library for Bitcoin coinjoins',
66
url='https://github.com/JoinMarket-Org/joinmarket-clientserver/tree/master/jmqtui',
77
author='',

scripts/joinmarket-qt.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
donation_address_url = "https://bitcoinprivacy.me/joinmarket-donations"
5454

5555
#Version of this Qt script specifically
56-
JM_GUI_VERSION = '29dev'
56+
JM_GUI_VERSION = '29'
5757

5858
from jmbase import get_log, stop_reactor, set_custom_stop_reactor
5959
from jmbase.support import EXIT_FAILURE, utxo_to_utxostr,\

0 commit comments

Comments
 (0)