diff --git a/docs/release-notes/release-notes-0.5.4.md b/docs/release-notes/release-notes-0.5.4.md new file mode 100644 index 000000000..f3fd296d7 --- /dev/null +++ b/docs/release-notes/release-notes-0.5.4.md @@ -0,0 +1,85 @@ +Joinmarket-clientserver 0.5.4: +================= + + + +This is a minor release adding a useful feature: basic coin control. Individual coins can +be frozen. Also there are some corrections/improvements to documentation, and some +minor fixes to the Qt GUI. + +Please report bugs using the issue tracker at github: + + + +Upgrading +========= + +To upgrade (but: read and follow instructions in 0.4.0 if from pre-0.4.0): + +First run the `install.sh` script as mentioned in the README. When prompted to overwrite the directory `jmvenv`, accept. +To install using Python2, use `./install.sh -p python2` ; the default is now Python3. + +Note that `.install.sh -?` will show the options for installation. + +If you are running JoinmarketQt, note that Python2 is incompatible. + +Notable changes +=============== + +### Basic coin control + +See issue #274 for some motivation. As a privacy wallet, and especially considering active dust +attacks seen in the wild, this functionality is important. Note it is "basic" in the sense that it +neither detects and freezes unwanted dust deposits automatically yet (that is planned), +nor does it allow choosing coins to spend in a positive sense - to spend a specific coin(utxo), +you will have to first disable all other coins in the mixdepth/account. + +This feature is also enabled in the Qt GUI in a new tab labelled "Coins". It's actually easier to use +in the GUI, since you can toggle "frozen/not frozen" statement with a right click menu choice; on +the CLI you will have to go through a menu for each coin you want to freeze. + +The frozen-ness status of individual utxos/coins is of course persisted in the wallet file so it is +remembered between restarts. + +Also, to be clear, "frozen-ness" means: the coin will not be chosen for any transaction, coinjoin +or otherwise. It *will* still be included in balance calculations, and shown in the wallet-tool output. + +`9295673` Basic coin control. + +`bfdf0b2` expand non-empty tree sections in Coins tab + + +### Minor changes + +Several minor changes to the documentation to improve or correct it (thanks to @hyp-hen in particular +for correct the out-of-date MacOS install instructions), and a couple of small bugfixes in Qt GUI workflow. + +`24e7bfe` Fix markup typo in README + +`26e6e15` Minor updates to docs on installation and usage; add segwit donation address to Qt About page. + +`2dd9c06` Update installation instructions for macOS + +`46ce06d` Display GUI error to user when no password entered on wallet load + +`9e2db3c` Don't ask for wallet password if "Cancel" pressed in "Load" dialog + +`5026809` Don't ask for maxcjfee limits when manual order picking is selected + +`b75702e` Correct help, Bitcoin Core wallets aren't supported for some time already + + +Credits +======= + +Thanks to everyone who directly contributed to this release - + +- @kristapsk +- @hyp-hen +- @chris-belcher +- @AdamISZ +- @undeath + +And thanks also to those who submitted bug reports, tested and otherwise helped out. + + diff --git a/jmbase/setup.py b/jmbase/setup.py index eaa6a452b..fced98d9b 100644 --- a/jmbase/setup.py +++ b/jmbase/setup.py @@ -2,7 +2,7 @@ setup(name='joinmarketbase', - version='0.5.3', + version='0.5.4', description='Joinmarket client library for Bitcoin coinjoins', url='http://github.com/Joinmarket-Org/joinmarket-clientserver/jmbase', author='', diff --git a/jmbitcoin/setup.py b/jmbitcoin/setup.py index 14dd1ef71..20bee2634 100644 --- a/jmbitcoin/setup.py +++ b/jmbitcoin/setup.py @@ -2,7 +2,7 @@ setup(name='joinmarketbitcoin', - version='0.5.3', + version='0.5.4', description='Joinmarket client library for Bitcoin coinjoins', url='http://github.com/Joinmarket-Org/joinmarket-clientserver/jmbitcoin', author='', diff --git a/jmclient/setup.py b/jmclient/setup.py index fb783149b..c86f97624 100644 --- a/jmclient/setup.py +++ b/jmclient/setup.py @@ -2,7 +2,7 @@ setup(name='joinmarketclient', - version='0.5.3', + version='0.5.4', description='Joinmarket client library for Bitcoin coinjoins', url='http://github.com/Joinmarket-Org/joinmarket-clientserver/jmclient', author='', @@ -10,6 +10,6 @@ license='GPL', packages=['jmclient'], install_requires=['future', 'configparser;python_version<"3.2"', - 'joinmarketbase==0.5.3', 'mnemonic', 'argon2_cffi', + 'joinmarketbase==0.5.4', 'mnemonic', 'argon2_cffi', 'bencoder.pyx>=2.0.0', 'pyaes'], zip_safe=False) diff --git a/jmdaemon/setup.py b/jmdaemon/setup.py index 8b31f4462..3e7f17d39 100644 --- a/jmdaemon/setup.py +++ b/jmdaemon/setup.py @@ -2,12 +2,12 @@ setup(name='joinmarketdaemon', - version='0.5.3', + version='0.5.4', description='Joinmarket client library for Bitcoin coinjoins', url='http://github.com/Joinmarket-Org/joinmarket-clientserver/jmdaemon', author='', author_email='', license='GPL', packages=['jmdaemon'], - install_requires=['future', 'txtorcon', 'pyopenssl', 'libnacl', 'joinmarketbase==0.5.3'], + install_requires=['future', 'txtorcon', 'pyopenssl', 'libnacl', 'joinmarketbase==0.5.4'], zip_safe=False) diff --git a/scripts/joinmarket-qt.py b/scripts/joinmarket-qt.py index f6e6eddef..eae9f93d8 100644 --- a/scripts/joinmarket-qt.py +++ b/scripts/joinmarket-qt.py @@ -61,7 +61,7 @@ donation_address_sw = "bc1q5x02zqj5nshw0yhx2s4tj75z6vkvuvww26jak5" #Underlying joinmarket code version (as per setup.py etc.) -JM_CORE_VERSION = '0.5.3' +JM_CORE_VERSION = '0.5.4' #Version of this Qt script specifically JM_GUI_VERSION = '9'