From a50edfa5243948e210989d0fb89567a6fe6855ef Mon Sep 17 00:00:00 2001 From: Adam Gibson Date: Fri, 1 Oct 2021 12:22:38 +0100 Subject: [PATCH] add release notes and version for 0.9.2 --- docs/JOINMARKET-QT-GUIDE.md | 2 +- docs/release-notes/release-notes-0.9.2.md | 129 ++++++++++++++++++++++ jmbase/jmbase/support.py | 2 +- jmbase/setup.py | 2 +- jmbitcoin/setup.py | 2 +- jmclient/setup.py | 4 +- jmdaemon/setup.py | 4 +- jmqtui/setup.py | 2 +- scripts/joinmarket-qt.py | 2 +- 9 files changed, 139 insertions(+), 10 deletions(-) create mode 100644 docs/release-notes/release-notes-0.9.2.md diff --git a/docs/JOINMARKET-QT-GUIDE.md b/docs/JOINMARKET-QT-GUIDE.md index 156c60f09..291335c37 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 23**. You can check the version via `About` in the menu. +**LATEST VERSION of JoinMarket-Qt is GUI version 24**. 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.2.md b/docs/release-notes/release-notes-0.9.2.md new file mode 100644 index 000000000..89442f13a --- /dev/null +++ b/docs/release-notes/release-notes-0.9.2.md @@ -0,0 +1,129 @@ +Joinmarket-clientserver 0.9.2: +================= + + + +Please report bugs using the issue tracker at github: + + + +Upgrading +========= + +To upgrade: + +(If you are upgrading from a version pre-0.6.2 then please see the section "Move user data to home directory" in [the 0.6.2 release notes](https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/release-notes/release-notes-0.6.2.md), and follow the instructions there (except the `commitmentlist` file - that can actually be left alone, the previous release notes were wrong on this point).) + +(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 +=============== + +### Re-enable Agora as a third IRC server + +This change is placed prominently and mentioned in the release summary, because it's a change we want all users to notice: enable the Agora IRC server, so we have 3 by default, since there are reports that the hackint server is proving unreliable at the moment. + +Remember that the default config (which you should always re-generate with each release and then apply your own settings) does not have Tor enabled; uncomment the relevant lines (in `MESSAGING:server3` in this case) to enable Tor. + +It is still very much user choice though: you can choose any combination of servers you prefer, but obviously the defaults will likely contain the most users. + + +`fb9f593` Re-enable Agora IRC in configuration defaults + +`d0966c3` Update Agora Tor host to onion v3 + +### JoinmarketQt chooses by fidelity bond by default + +This is the main reason for the new release; on command line, takers now make their randomized maker choice weighted by fidelity bonds, but an oversight meant that for takers using JoinmarketQt, the default order choice mechanism was still the old randomized one, not weighted by fidelity bonds. This is now corrected so that Qt users get the same benefit of Sybil resistance, which was the point of the fidelity bond update in Joinmarket 0.9. + +`8085a4e` Set `fidelity_bond_weighted_order_choose` as default + +### Enable opt-in RBF for direct sends (non-coinjoin payments) + +Under the hood our direct send code supported setting the opt-in RBF flag, but it is now made an option (`--rbf`) in CLI, for making payments. Note that this is only the flag-setting part; there already is a PR #1019 that will create a user script to actually create the replacement transaction. For now that is only possible by creating a PSBT, which is a bit non-trivial for most users. + +Note also that to add this feature to coinjoins isn't really practical as it means re-signing by counterparties who are not still connected. + +`b19888e` add opt-in rbf support for direct sends + +`635f3f1` Adds test case for fee bumping a tx using PSBT + +### Various QT improvements + +The second of these (which are self-explanatory), is minor in itself, but is probably the start of a rationalization of the existing rather messy Qt code into a more harmonious form. Hopefully! (This will be of little interest to users though, except in as much as it should make the Qt app a little more user-friendly over time, if progress is made). + +The third is also practically useful: if Qt misses a recent update, you can force a refresh of the wallet with the right click (context) menu, on the wallet pane. + +`6ff1a65` Hide the donateLayout as it is currently disabled. + +`1dd1679` Show an OpenWallet dialog upon launching JoinMarketQT + +`f50fa4f` Add a menu action to force wallet refresh + +### Backend code refactoring + +These changes are not relevant to users, but important for any future development: we remove issues around encoding/decoding of data types from the business logic (mostly, the Taker and Maker code) for better encapsulation. + +`7dcd3f3` move client/server data encoding to twisted + +`e082c3c` remove unneeded hex encoding/decoding from sent_tx + push_tx + +### Updates to genwallet.py + +This script (whose name is self-explanatory) is not part of users' normal workflow but useful for people running Joinmarket in certain environments. It's updated for fidelity bonds and somewhat refactored: + +`53e7bf1` genwallet.py: Add option --recovery-seed-file + +`e4be034` Extract function `read_password_stdin` + +`c5621ad` genwallet.py: Enable Fidelity Bonds by default + +`91a8f7f` genwallet.py: Minor improvments + +`c944046` chmod +x + +### More minor improvements and fixes + +The least minor of this set: this enables fidelity bonds for the manual order pick option (`-P`) on the command line: + +`0e80b2d` Show fidelity bond value in manual order picking + +These two fixed a bug after the dust_threshold was corrected, so although minor, they are needed for ob-watcher to function properly: + +`7eaf368` Fix ob-watcher script after dust threshold change + +`ab9b1a8` fix test of AMP commands for dust_threshold + + +`2ed3f21` Update the url links in setup.py files + +`801dfa3` Fixes #991 - remove get_config_irc_channel + +`7c4ba09` remove executable bit + +`f93ccf0` remove unneeded shebangs + +`dfc82ab` various whitespace fixes + +`2fdebb8` do not call reactor.stop() in test_commands.py + + +Credits +======= + +Thanks to everyone who directly contributed to this release - + +- @wukong1971 +- @kristapsk +- @takinbo +- @erikarvstedt +- @undeath +- @AdamISZ + +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 10354193e..d319f1751 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.2dev' +JM_CORE_VERSION = '0.9.2' # global Joinmarket constants JM_WALLET_NAME_PREFIX = "joinmarket-wallet-" diff --git a/jmbase/setup.py b/jmbase/setup.py index 6d0e4c445..09986cff4 100644 --- a/jmbase/setup.py +++ b/jmbase/setup.py @@ -2,7 +2,7 @@ setup(name='joinmarketbase', - version='0.9.2dev', + version='0.9.2', 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 c231e2d0e..17ee96af0 100644 --- a/jmbitcoin/setup.py +++ b/jmbitcoin/setup.py @@ -2,7 +2,7 @@ setup(name='joinmarketbitcoin', - version='0.9.2dev', + version='0.9.2', 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 83e8cc16b..130ca79d4 100644 --- a/jmclient/setup.py +++ b/jmclient/setup.py @@ -2,14 +2,14 @@ setup(name='joinmarketclient', - version='0.9.2dev', + version='0.9.2', 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.2dev', 'mnemonic', 'argon2_cffi', + install_requires=['joinmarketbase==0.9.2', 'mnemonic', 'argon2_cffi', 'bencoder.pyx>=2.0.0', 'pyaes'], python_requires='>=3.6', zip_safe=False) diff --git a/jmdaemon/setup.py b/jmdaemon/setup.py index fd66285e0..71e15ad4f 100644 --- a/jmdaemon/setup.py +++ b/jmdaemon/setup.py @@ -2,13 +2,13 @@ setup(name='joinmarketdaemon', - version='0.9.2dev', + version='0.9.2', 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.2dev'], + install_requires=['txtorcon', 'cryptography==3.3.2', 'pyopenssl', 'libnacl', 'joinmarketbase==0.9.2'], python_requires='>=3.6', zip_safe=False) diff --git a/jmqtui/setup.py b/jmqtui/setup.py index 0de1d7c30..5d87173ba 100644 --- a/jmqtui/setup.py +++ b/jmqtui/setup.py @@ -2,7 +2,7 @@ import os setup(name='joinmarketui', - version='0.9.2dev', + version='0.9.2', 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 fadfa8483..d07df2483 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 = '24dev' +JM_GUI_VERSION = '24' from jmbase import get_log, stop_reactor from jmbase.support import EXIT_FAILURE, utxo_to_utxostr,\