Skip to content

Commit

Permalink
add release notes and version numbers for v0.6.1
Browse files Browse the repository at this point in the history
  • Loading branch information
AdamISZ committed Dec 10, 2019
1 parent 532ae3d commit 8fd8e10
Show file tree
Hide file tree
Showing 6 changed files with 84 additions and 7 deletions.
77 changes: 77 additions & 0 deletions docs/release-notes/release-notes-0.6.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
Joinmarket-clientserver 0.6.1:
=================

<https://github.com/joinmarket-org/joinmarket-clientserver/releases/tag/v0.6.1>

This is a bugfix release: for users making multiple deposits to their wallet, to avoid having to do extra rescans; see first "Notable Change" below for details. Hence, any user wishing to deposit to the wallet more than 6 times should consider this an urgent upgrade.

Please report bugs using the issue tracker at github:

<https://github.com/joinmarket-org/joinmarket-clientserver/issues>

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 and is strongly recommended.

Note that `.install.sh -?` will show the options for installation.

If you are running JoinmarketQt, note that Python2 is incompatible.

Notable changes
===============

### Bugfix: sometimes addresses were not imported into Core before being displayed

Background: Joinmarket's wallet uses the "watch-only" feature of Bitcoin Core to monitor addresses and transactions. In order to properly track specific addresses, it's necessary to call the `importaddress` (or `importmulti`) method of Bitcoin Core before actually using that address, as transactions involving it before import don't get picked up.

Generally this works as follows: before a particular address is either (a) used in a coinjoin or (b) displayed on the Qt GUI/command line, Joinmarket imports that address.

However a bug existed for quite a long time where using the form of wallet syncing we used to call "fast" (but is now the default for reasons explained in 0.6.0 release notes), whereby some addresses are displayed as available for deposit, which aren't actually yet imported.

As a result, it was possible in 0.6.0 (and also in earlier versions - except the bug usually didn't manifest for slightly complicated reasons) to deposit coins into addresses and not see the coins in Joinmarket's own wallet display (whether Qt or CLI). This would happen only for addresses beyond the initial gap limit (so generally, after 6 deposits in one mixdepth, usually).

What should you do to if this happened to you while running 0.6.0?

This situation can be rectified in two steps: (1) do `python wallet-tool.py --recoversync walletname.jmdat`; this step does the necessary imports (a reminder, the default sync is now the "fast" version as of 0.6.0 and this is still true in the new release), and then doing a `bitcoin-cli rescanblockchain X` where X is the blockheight, choosing X definitely before the deposit transaction (a reminder: `rescanblockchain` is just faster than ordinary rescan, which takes a very long time since it rescans from the genesis block).

After the below commit, the bug is fixed, and any time an address is displayed as available for deposit, it is preimported. Hence, if you didn't encounter the above error, you needn't do anything extra apart from this upgrade.

`f176aad` Ensure all displayed addresses are imported

### Other changes

Payjoin receiver side code would run without the receiver having any utxos to contribute; this commit quits early in that case, with a clear error message:

`1e1b03d` Don't allow receive-payjoin start up without coins

Recovery of wallets with more than the standard 5 mixdepths requires that you specify a number large enough on creation; documentation reflects that (and corrects earlier incorrect instructions):

`936036d` note in USAGE.md that recovery can require -m

`joinmarket.cfg` comments are useful info, here some old links and incorrect data were removed:

`b78b481` remove stale info from default config comments

Older Core wallets sometimes have transactions not indexed by txid, which can cause a crash condition, this is fixed here:

`d05e7a1` Fix bug where listtransactions result omits txid

Upgrade of our encryption library libsodium; API is unaffected and no security issues were found in old version after review, either.

`e5e33a7` Bump libsodium to 1.0.18


Credits
=======

Thanks to everyone who directly contributed to this release -

- @chris-belcher
- @kristapsk
- @AdamISZ

And thanks also to those who submitted bug reports, tested and otherwise helped out.
2 changes: 1 addition & 1 deletion jmbase/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@


setup(name='joinmarketbase',
version='0.6.0',
version='0.6.1',
description='Joinmarket client library for Bitcoin coinjoins',
url='http://github.com/Joinmarket-Org/joinmarket-clientserver/jmbase',
author='',
Expand Down
2 changes: 1 addition & 1 deletion jmbitcoin/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@


setup(name='joinmarketbitcoin',
version='0.6.0',
version='0.6.1',
description='Joinmarket client library for Bitcoin coinjoins',
url='http://github.com/Joinmarket-Org/joinmarket-clientserver/jmbitcoin',
author='',
Expand Down
4 changes: 2 additions & 2 deletions jmclient/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@


setup(name='joinmarketclient',
version='0.6.0',
version='0.6.1',
description='Joinmarket client library for Bitcoin coinjoins',
url='http://github.com/Joinmarket-Org/joinmarket-clientserver/jmclient',
author='',
author_email='',
license='GPL',
packages=['jmclient'],
install_requires=['future', 'configparser;python_version<"3.2"',
'joinmarketbase==0.6.0', 'mnemonic', 'argon2_cffi',
'joinmarketbase==0.6.1', 'mnemonic', 'argon2_cffi',
'bencoder.pyx>=2.0.0', 'pyaes'],
zip_safe=False)
4 changes: 2 additions & 2 deletions jmdaemon/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@


setup(name='joinmarketdaemon',
version='0.6.0',
version='0.6.1',
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.6.0'],
install_requires=['future', 'txtorcon', 'pyopenssl', 'libnacl', 'joinmarketbase==0.6.1'],
zip_safe=False)
2 changes: 1 addition & 1 deletion scripts/joinmarket-qt.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
donation_address_sw = "bc1q5x02zqj5nshw0yhx2s4tj75z6vkvuvww26jak5"

#Underlying joinmarket code version (as per setup.py etc.)
JM_CORE_VERSION = '0.6.0'
JM_CORE_VERSION = '0.6.1'
#Version of this Qt script specifically
JM_GUI_VERSION = '11'

Expand Down

0 comments on commit 8fd8e10

Please sign in to comment.