diff --git a/docs/JOINMARKET-QT-GUIDE.md b/docs/JOINMARKET-QT-GUIDE.md index b5e6f2da8..4e64988f3 100644 --- a/docs/JOINMARKET-QT-GUIDE.md +++ b/docs/JOINMARKET-QT-GUIDE.md @@ -4,7 +4,7 @@ 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. -**LATEST VERSION of JoinMarket-Qt is GUI version 25**. You can check the version via `About` in the menu. +**LATEST VERSION of JoinMarket-Qt is GUI version 26**. You can check the version via `About` in the menu. No other files / setup should be needed. diff --git a/docs/release-notes/release-notes-0.9.4.md b/docs/release-notes/release-notes-0.9.4.md new file mode 100644 index 000000000..738594bb0 --- /dev/null +++ b/docs/release-notes/release-notes-0.9.4.md @@ -0,0 +1,85 @@ +Joinmarket-clientserver 0.9.4: +================= + + + +Please report bugs using the issue tracker at github: + + + + +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. This particularly matters in releases like 0.9.4, where there are new network/IRC settings.* + +(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).) + +(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). + +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. + +Notable changes +=============== + +### User-chosen address labelling + +See [PR](https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/1015). This feature allows users to set a label for an address with the method `setlabel`, like this: + +``` +python wallet-tool.py mywallet.jmdat setlabel bc1fakeaddress "mynewcustomlabel" +``` + +where `bc1fakeaddress` should be any address "known" in the wallet (so anything up to 'used + gap limit', if that makes sense to you - if not, don't worry). This includes timelocked addresses. A few points of note: + +* This can only be done on the command line, but you can view the labels in Qt. We will probably add the setlabel function to Qt at some point soon. +* These labels are separate to, and additional to, the existing "used/new" field which shows "coinjoin-out", "change-out", "deposit" etc. Those are set algorithmically according to the type of transaction (and should not be 100% relied on, if you do something unusual). +* You can remove an existing label by calling `setlabel` with "". + + +`21c0e3e` Implement address labeling + + +### Fix message signature encoding crash vector + +See the [PR](https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/1070) for details. This fixes a potential crash vector if the counterparty sends a non-hex-encoded string in place of a pubkey, so for this reason, makers in particular should update immediately. + +`0507f6a` Validate message signature encoding + + +### New IRC server + +See changes in the PR [here](https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/1065/files). +You are strongly recommended to recreate your `joinmarket.cfg`, as always, but especially in cases like this: the list of IRC servers has been "cleaned up" somewhat to be more informative, and a fourth server ("Ilita") has been added as an alternative (but off, by default). A reminder that in theory you can run with any number of IRC servers connected. Also see the notes about Tor being the recommended option (which almost all users do use, today). + +`af4f071` Add Ilita IRC server (.onion) + + +### Minor changes + +`e7ff25d` Fix example date and example output in fidelity bond doc + +`14bed14` Fix @fort-nix's public orderbook links + +`840189c` Fix SNICKER daemon startup + +`20e2e85` jmbase: upgrade twisted to latest (21.7.0) + +`1e25d1f` Allow to not specify rpc_port in config, use network's default then + + +Credits +======= + +Thanks to everyone who directly contributed to this release - + +- @nixbitcoin +- @kristapsk +- @AdamISZ +- @xanoni + +And thanks also to those who submitted bug reports, reviewed and otherwise helped out. diff --git a/jmbase/jmbase/support.py b/jmbase/jmbase/support.py index 6fa2fe068..4d0a1a830 100644 --- a/jmbase/jmbase/support.py +++ b/jmbase/jmbase/support.py @@ -9,7 +9,7 @@ import urllib.parse as urlparse # JoinMarket version -JM_CORE_VERSION = '0.9.4dev' +JM_CORE_VERSION = '0.9.4' # global Joinmarket constants JM_WALLET_NAME_PREFIX = "joinmarket-wallet-" diff --git a/jmbase/setup.py b/jmbase/setup.py index c02d9bc79..521d9d002 100644 --- a/jmbase/setup.py +++ b/jmbase/setup.py @@ -2,7 +2,7 @@ setup(name='joinmarketbase', - version='0.9.4dev', + version='0.9.4', description='Joinmarket client library for Bitcoin coinjoins', url='https://github.com/JoinMarket-Org/joinmarket-clientserver/tree/master/jmbase', author='', diff --git a/jmbitcoin/setup.py b/jmbitcoin/setup.py index 45a9889bc..77ef71347 100644 --- a/jmbitcoin/setup.py +++ b/jmbitcoin/setup.py @@ -2,7 +2,7 @@ setup(name='joinmarketbitcoin', - version='0.9.4dev', + version='0.9.4', description='Joinmarket client library for Bitcoin coinjoins', url='https://github.com/JoinMarket-Org/joinmarket-clientserver/tree/master/jmbitcoin', author='', diff --git a/jmclient/setup.py b/jmclient/setup.py index 38c68a4b7..9a6116e4f 100644 --- a/jmclient/setup.py +++ b/jmclient/setup.py @@ -2,14 +2,14 @@ setup(name='joinmarketclient', - version='0.9.4dev', + version='0.9.4', description='Joinmarket client library for Bitcoin coinjoins', url='https://github.com/JoinMarket-Org/joinmarket-clientserver/tree/master/jmclient', author='', author_email='', license='GPL', packages=['jmclient'], - install_requires=['joinmarketbase==0.9.4dev', 'mnemonic', 'argon2_cffi', + install_requires=['joinmarketbase==0.9.4', 'mnemonic', 'argon2_cffi', 'bencoder.pyx>=2.0.0', 'pyaes', 'klein==20.6.0', 'pyjwt==2.1.0', 'autobahn==20.12.3'], python_requires='>=3.6', diff --git a/jmdaemon/setup.py b/jmdaemon/setup.py index ff812ce7e..62fb06fc6 100644 --- a/jmdaemon/setup.py +++ b/jmdaemon/setup.py @@ -2,13 +2,13 @@ setup(name='joinmarketdaemon', - version='0.9.4dev', + version='0.9.4', description='Joinmarket client library for Bitcoin coinjoins', url='https://github.com/JoinMarket-Org/joinmarket-clientserver/tree/master/jmdaemon', author='', author_email='', license='GPL', packages=['jmdaemon'], - install_requires=['txtorcon', 'cryptography==3.3.2', 'pyopenssl', 'libnacl', 'joinmarketbase==0.9.4dev'], + install_requires=['txtorcon', 'cryptography==3.3.2', 'pyopenssl', 'libnacl', 'joinmarketbase==0.9.4'], python_requires='>=3.6', zip_safe=False) diff --git a/jmqtui/setup.py b/jmqtui/setup.py index 9653c99e2..29b8a3664 100644 --- a/jmqtui/setup.py +++ b/jmqtui/setup.py @@ -2,7 +2,7 @@ import os setup(name='joinmarketui', - version='0.9.4dev', + version='0.9.4', description='Joinmarket client library for Bitcoin coinjoins', url='https://github.com/JoinMarket-Org/joinmarket-clientserver/tree/master/jmqtui', author='', diff --git a/scripts/joinmarket-qt.py b/scripts/joinmarket-qt.py index faf82f678..098f24d95 100755 --- a/scripts/joinmarket-qt.py +++ b/scripts/joinmarket-qt.py @@ -53,7 +53,7 @@ donation_address_url = "https://bitcoinprivacy.me/joinmarket-donations" #Version of this Qt script specifically -JM_GUI_VERSION = '26dev' +JM_GUI_VERSION = '26' from jmbase import get_log, stop_reactor from jmbase.support import EXIT_FAILURE, utxo_to_utxostr,\