-
Notifications
You must be signed in to change notification settings - Fork 179
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
version bump and release notes 0.5.1
- Loading branch information
Showing
6 changed files
with
187 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,179 @@ | ||
Joinmarket-clientserver 0.5.1: | ||
================= | ||
|
||
<https://github.com/joinmarket-org/joinmarket-clientserver/releases/tag/v0.5.1> | ||
|
||
This release contains a number of minor improvements bugfixes. All users are | ||
encouraged to upgrade as soon as possible. | ||
|
||
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. | ||
|
||
Note that `.install.sh -?` will show the options for installation. | ||
|
||
If you are running JoinmarketQt, note that Python2 is incompatible. | ||
|
||
Notable changes | ||
=============== | ||
|
||
### Make Python3 the default and add a help message to installation script | ||
|
||
The `install.sh` can be run with the argument `-?` to show the help message, | ||
which explains the optional flags (`--with-qt`, `--python`, `--develop`). | ||
Python3 is now made the default option, since it seems to be quite stable now and | ||
is clearly preferable; Python2 can be run as an option. | ||
|
||
`5ac3aae` Allow more specific --python targets for install.sh | ||
|
||
`e1e93cd` Default to python3 install | ||
|
||
`3ccd395` `4abe512` `c8ff323` add help menu to install.sh | ||
|
||
### Add native segwit wallet to backend | ||
|
||
Although not directly exposed in Joinmarket in 0.5.1, this commit represents an | ||
important step of allowing the full wallet functionality using native segwit (p2wpkh) | ||
and bech32 addresses in place of the current p2sh-wrapped segwit (p2sh-p2wpkh); this | ||
is done, still using BIP39 for seedphrases, with [BIP 84](https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki) | ||
in place of the existing | ||
[BIP 49](https://github.com/bitcoin/bips/blob/master/bip-0049.mediawiki). As well as new wallet classes this commit make some alterations to | ||
the jmbitcoin library functions (new scripts, signing etc., as well as some updated | ||
documentation in the code). Note that a switch to use of native segwit in Joinmarket | ||
coinjoins is not a trivial decision, as we have to consider anonymity sets, | ||
but it is likely to happen in the future; also there may be other applications | ||
of native segwit wallets. | ||
|
||
`2632df5` Native segwit support including basic BIP84 wallet. | ||
|
||
### Minor bugfixes following up from the Python3 upgrade | ||
|
||
These are mostly clean-up commits of some edge cases discovered | ||
in running with Python3 (wallet history method had a bug; convert_old_wallet likewise; | ||
the electruminterface (which is considered mostly unsupported, but people still like | ||
to try it) had a couple of bugs too). | ||
|
||
`5d6825b` Fix bug in convert_old_wallet after Py3 upgrade | ||
|
||
`0d1981e` adapt install.sh to Qt with python3 | ||
|
||
`78d5f7e` python3 fixes for electruminterface | ||
|
||
`ad77769` zip(*value_freq_list[1:]) needs to be a list | ||
|
||
### Add more informative labels to wallet display | ||
|
||
This commit adds, both to the command line and Qt wallet display, a set of labels for | ||
the utxos/addresses in an active wallet; there's "cj-out" (coinjoin output utxo), | ||
"change-out" (change output utxo), "reused" for when an address has been used more than | ||
once (which should not happen unless the user actively chooses it), "non-cj-change" | ||
and "deposit" (which means coins arriving in the wallet from an external one). | ||
|
||
The main commit is `596261a`; the other commits are bugfixes for unintended side effects. | ||
|
||
`596261a` `481b688` `0a74b83` `c400b07` implement wallet-tools display[all] extended usage status | ||
|
||
### Fix minor UI bugs in Qt | ||
|
||
There were some error conditions in the dialogs when running the `generate` method to create | ||
a new wallet, and entering passwords, which are fixed here. | ||
|
||
`eaac4be` Fix bug in wallet generate in Qt | ||
|
||
`5d66d94` Check for empty password and cancellation in JoinMarket-Qt wallet generation | ||
|
||
`51a257f` Don't show password when loading wallet in JoinmarketQt | ||
|
||
`cdde41e` Handle already existing wallet file on generate | ||
|
||
### Lengthen timeout for transaction broadcast | ||
|
||
It was observed that in the case of larger coinjoins, the final coinjoin transaction may | ||
be broadcast after the previously-default 30 seconds, meaning that the Maker may fail to recognize | ||
that the transaction had happened, which while not a security risk, meant that the maker had | ||
a temporarily incorrect view of his own coins and thus made offers that used inaccurate sizes. | ||
The reason for delays longer than 30s are various, but the principal one is that we heavily | ||
throttle IRC communications to avoid hitting server limits; and there is a ~ quadratic scaling | ||
in data transfer for number of participants; so if a Taker requests 10 counterparties, he must send | ||
a very large transaction 10 times. For this reason the number has been bumped to 180s by default | ||
(but it can always be edited by the user in `joinmarket.cfg`, see `unconfirm_timeout_sec`. | ||
|
||
(Slightly more in the weeds: we run asynchronously and poll every few seconds for updates on | ||
transactions that we have signed; obviously we can't do that forever for a transaction that is | ||
never going to come; Takers will sometimes just decide not to broadcast, or fail; so we must time | ||
out these polling loops; previously 30 seconds was considered to be ample, but see prev paragraph. | ||
Additionally, note that we cannot lock utxos as soon as a transaction has been arranged, to avoid | ||
the Maker being unclear about what to offer, because this would represent a DOS risk where a | ||
malicious taker just locks up all the Maker's utxos by arranging but not broadcasting tons of | ||
transactions. Hence only the broadcast event triggers the "locking/deleting" of utxos.). | ||
|
||
`39d2b62` Increase timeout waiting for coinjoin TX broadcast | ||
|
||
### Add donation address to README | ||
|
||
`9e88e86` Add signed donation addresses to README | ||
|
||
### Improve txfee docs | ||
|
||
Users should note that "fixed" fees (specified as values of `tx_fees` larger than 144) are interpreted | ||
as a number of satoshis per kB, but that they are *also* randomized by 20%, to avoid the trivial watermarking | ||
of all of that user (taker)'s transactions. If you choose 1000, meaning 1 sat/byte, you are in danger of | ||
creating a transaction that will not relay. This may soon be fixed up further; note for now, that using a | ||
figure < 1200 is strongly disrecommended as the tx might not broadcast (and we do not yet allow rbf). | ||
|
||
`d238172` Improve manually selected tx fee documentation | ||
|
||
### Write process id to lockfile for checking conflicts | ||
|
||
Previously the lockfile informed a user that another process was already operating on the wallet | ||
(it's not supported to run Joinmarket twice against the same wallet simultaneously); with this update | ||
the PID of the other process is displayed. (As before, this can happen on a crash as well as an actual | ||
conflict, note). | ||
|
||
`585d2f9` Write pid to wallet lockfile, display it when lock already in place | ||
|
||
|
||
### Minor changes | ||
|
||
Will not be of interest to non-developers (these are mostly changes to tests/very minor refactoring). | ||
|
||
`83a1263` remove unused bci.py module | ||
|
||
`8256b27` build minimal libsodium | ||
|
||
`54618e6` Remove btc.py | ||
|
||
`9799f2c` require minimum bencoder.pyx version | ||
|
||
`c541b01` Remove unused regex based type detection | ||
|
||
`e0f8715` pin coverage+pytest-cov versions, upgrade core to 0.17.1 on docker | ||
|
||
`a6a8bcf` only download and extract miniircd if it doesn't exist | ||
|
||
|
||
Credits | ||
======= | ||
|
||
Thanks to everyone who directly contributed to this release - | ||
|
||
- @qubenix | ||
- @jameshilliard | ||
- @undeath | ||
- @AdamISZ | ||
- @AlexCato | ||
- @fivepiece | ||
- @chris-belcher | ||
- @kristapsk | ||
|
||
And thanks also to those who submitted bug reports, tested and otherwise helped out. | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters