Skip to content
This repository was archived by the owner on May 13, 2022. It is now read-only.

Commit 0bcf7ae

Browse files
committed
0.1.2 release notes
1 parent 705b292 commit 0bcf7ae

3 files changed

Lines changed: 69 additions & 128 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ Widespread use of JoinMarket could improve bitcoin's fungibility as a commodity.
3636
3737
1. `sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get install python libsodium-dev -y`
3838
2. `sudo apt-get install python-matplotlib -y` (optional)
39-
3. Download JoinMarket 0.1.1 source from [here](https://github.com/joinmarket-org/joinmarket/releases/tag/v0.1.1)
40-
4. Extract or unzip and `cd joinmarket-0.1.1`
39+
3. Download JoinMarket 0.1.2 source from [here](https://github.com/joinmarket-org/joinmarket/releases/tag/v0.1.2)
40+
4. Extract or unzip and `cd joinmarket-0.1.2`
4141
4. Generating your first wallet will populate the configuration file: `joinmarket.cfg`.
4242
Check if the default settings suit your needs.
4343

doc/release-notes-0.1.2.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
Joinmarket 0.1.2:
2+
3+
<https://github.com/joinmarket-org/joinmarket/releases/tag/v0.1.1>
4+
5+
This is a minor bugfix release. Please update immediately.
6+
7+
For detailed release notes, see the most recent major release [notes](https://github.com/joinmarket-org/joinmarket/tree/master/doc/release-notes.md).
8+
9+
Please report bugs using the issue tracker at github:
10+
11+
<https://github.com/joinmarket-org/joinmarket/issues>
12+
13+
Upgrading and downgrading
14+
=========================
15+
16+
There is no binary component of the installation yet supported. If you have already
17+
installed libsodium and Python, you will not need to re-install anything, but
18+
only update the joinmarket source code.
19+
20+
Be sure to update your joinmarket.cfg file by moving or deleting it and recreating
21+
it on first startup.
22+
23+
Notable changes
24+
===============
25+
26+
Preventing anybody being able to crash all bots by sending an invalid message
27+
28+
Returning the alert system to JoinMarket after it was mistakenly removed in a refactor
29+
30+
------------------------------------
31+
32+
See [400](https://github.com/joinmarket-org/joinmarket/issues/400)
33+
Anybody announcing a command to cancel an order without an order id would cause
34+
all bots to crash
35+
This fix prevents that.
36+
37+
38+
0.1.1 Change log
39+
=================
40+
41+
- #398 `fb624cc` fix crash caused by malformed cancel message
42+
- #401 `6eac518` put back joinmarket alerts and core alerts
43+
- #387 `77ef4b4` clump coins differently in yieldgenerator to increase privacy
44+
- #397 `6ced862` fix issue 395 about accidental negative fees in yieldgenerator deluxe
45+
- #392 `00ef236` fix issue #392
46+

doc/release-notes.md

Lines changed: 21 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
Joinmarket 0.1.0:
1+
Joinmarket 0.1.2:
22

3-
<https://github.com/joinmarket-org/joinmarket/releases/tag/v0.1.0>
3+
<https://github.com/joinmarket-org/joinmarket/releases/tag/v0.1.1>
44

5-
This is the initial release of Joinmarket.
5+
This is a minor bugfix release. Please update immediately.
6+
7+
For detailed release notes, see the most recent major release [notes](https://github.com/joinmarket-org/joinmarket/tree/master/doc/release-notes.md).
68

79
Please report bugs using the issue tracker at github:
810

@@ -15,137 +17,30 @@ There is no binary component of the installation yet supported. If you have alre
1517
installed libsodium and Python, you will not need to re-install anything, but
1618
only update the joinmarket source code.
1719

20+
Be sure to update your joinmarket.cfg file by moving or deleting it and recreating
21+
it on first startup.
1822

1923
Notable changes
2024
===============
2125

22-
Throttling to avoid IRC flood
23-
------------------------------------
24-
25-
See [366](https://github.com/joinmarket-org/joinmarket/issues/366). Introduced a 1 line/second limit and a secondary 3kB/10s limit to data
26-
sending. It is hoped that this will reduce or remove the possibility of bots getting
27-
kicked from the server when engaging in large transactions. PING messages bypass
28-
the limits, and responses to orderbook requests must wait for other messages (i.e.
29-
have lowest priority.) In case of very large transactions, takers should bump their
30-
maker_timeout_sec variable in the config file from the new default of 60s to something
31-
higher.
32-
33-
Dynamic fee calculation
34-
-----------------------------------------
35-
36-
See [346](https://github.com/joinmarket-org/joinmarket/issues/346). Before these changes, the default fee was set statically at 10,000 satoshis, but this
37-
is clearly insufficient on the Bitcoin network as of now, unless the transaction is
38-
very small (and Joinmarket transactions are perforce larger than normal). An emergency
39-
fix of 30,000 satoshis was applied to the master branch, but in this update the
40-
transaction fee is determined from the output of estimatefee, if running Core, or from
41-
the API at blockcypher.com if running from blockr. Due to the joinmarket protocol, we
42-
cannot know in advance the exact size of the transaction when we create it. Hence,
43-
some reasonable heuristics are applied to estimate the size of the transaction, then
44-
use the value returned from estimatefee, combined with a user-configured choice of
45-
how many blocks to target combination for, to get to a reasonable transaction fee.
46-
The user can reset the value of `tx_fees` in the joinmarket.cfg file from the default
47-
value of 3 (i.e. targetting confirmation within 3 blocks) to make confirmation likely
48-
to be faster or slower.
49-
50-
Users should be aware that in case of sweep transactions or large N transactions - whereever
51-
the number of input utxos is large - the fee estimate can be quite high (in excess of 100,000
52-
satoshis is quite possible); if this is deemed undesirable then set the value of `tx_fees` to
53-
something higher, bearing in mind it might result in slow confirmation. Most normal joinmarket
54-
transactions with 3-6 counterparties will result in fees between 20,000 and 50,000 satoshis,
55-
using the 3 block confirmation target, as of today.
56-
57-
Note that this does introduce the possibility of a transaction failing to be created
58-
correctly in corner cases where the amount selected from the wallet is insufficient,
59-
but every effort has been made to make this outcome extremely unlikely, and has been
60-
heavily tested to that end.
61-
62-
Code refactoring
63-
-----------------------------------
64-
65-
See [340](https://github.com/joinmarket-org/joinmarket/issues/340) and
66-
[345](https://github.com/joinmarket-org/joinmarket/issues/345).
67-
This is considered an initial (but quite significant) step in cleaning
68-
up the codebase, making formatting standardised, and enabling better analysis of the code.
69-
The set of commits created preserves blame in git, and the diff can be verified using
70-
the yapf tool, combined with diff. See [340](https://github.com/joinmarket-org/joinmarket/issues/340)
71-
for details. A manual review of these changes
72-
was undertaken also. There were no functional changes to the code as a result of this.
73-
74-
New yield-generator scripts.
75-
-----------------------------------
76-
77-
See [353](https://github.com/joinmarket-org/joinmarket/issues/353),
78-
[357](https://github.com/joinmarket-org/joinmarket/issues/357),
79-
[371](https://github.com/joinmarket-org/joinmarket/issues/371).
80-
The updates are spread over a few PRs due to refactoring
81-
and bugfix changes.
82-
83-
The main yield-generator.py script has been renamed to
84-
`yield-generator-basic.py`, the new-yieldgen-algo variant which was previously on a different
85-
git branch has been renamed to `yield-generator-mixdepth.py` and a third variant called
86-
`yield-generator-deluxe.py` has been created.
87-
88-
The -basic version is sufficient and not functionally changed from the former version.
89-
The -mixdepth version has one small advantage: it allows one to set a different coinjoin
90-
fee for joining different amounts. It does *not* give a higher chance of being chosen.
91-
The -deluxe version is a new one, with a lot of extra configuration variables as can
92-
be seen from reading the top of the script.
93-
94-
Change to 'internal/external' branches from 'for change/receive'
95-
-----------------------------------
96-
97-
See [368](https://github.com/joinmarket-org/joinmarket/issues/368) fixing
98-
[283](https://github.com/joinmarket-org/joinmarket/issues/283).
99-
There is a possibility of address reuse if coins are added
100-
to a mixdepth in the receive branch, while that address is also chosen by a bot for use.
101-
This led to this improvement of the design: 'external' branch is only added to by the
102-
user from outside sources, while the bot itself will only choose new addresses from the
103-
'internal' branch. The user merely has to bear in mind that they should only add coins
104-
to the 'external' branch, just as before they were advised only to add coins to the
105-
'receive' branch.
106-
107-
Displaying unconfirmed (or differently confirmed) coins.
108-
-----------------------------------
109-
110-
See [367](https://github.com/joinmarket-org/joinmarket/issues/367).
111-
This by default shows unconfirmed coins in the output of `wallet-tool.py`,
112-
if you are using Bitcoin Core as your blockchain interface, but not for blockr.
113-
It also provides a configuration variable `listunspent_args` that allows to specify
114-
the range of confirmations to include in what Bitcoin Core returns in utxo queries.
115-
This is a work in progress in as much as it is not yet advised to use this variable
116-
with any script except `wallet-tool.py`.
117-
118-
119-
0.1.0 Change log
120-
=================
26+
Preventing anybody being able to crash all bots by sending an invalid message
12127

122-
For the first release, this will be a list of the notable changes since
123-
[the last significant update to the master branch](https://github.com/JoinMarket-Org/joinmarket/commit/2ef37996f90d3c4ea3ca7880a1619a182e710e67).
124-
Minor string fixes or test updates are not included. In future, this section will be
125-
a list of all functional changes since the previous release.
126-
127-
- #345 `77cf5fa` Complete code refactoring. See #340 #345 for details on verification.
128-
- #346 `3b3c05d` dynamic fee calculation, including sweep, and tumbler, and test updates
129-
- #356 `0d7f14b` refactoring for yieldgens: new variants, see also #353 #357 #371
130-
- #361 `f71b2db` reduce DOS possibility via orderbook calls, see issue 298
131-
- #366 `a33a851` throttling with Queue
132-
- #367 `5322791` add confirmation-spendability knob for bitcoind-rpc
133-
- #368 `f90e992` Restructure for_change HD branch as {in,ex}ternal
134-
- #369 `1537d3e` Handle pushtx failures. Catch jsonrpcerror exception and retry for tumbler
135-
- #372 `9b809db` Add gaplimit option for sendpayment.py.
28+
Returning the alert system to JoinMarket after it was mistakenly removed in a refactor
13629

30+
------------------------------------
13731

138-
Credits
139-
=======
32+
See [400](https://github.com/joinmarket-org/joinmarket/issues/400)
33+
Anybody announcing a command to cancel an order without an order id would cause
34+
all bots to crash
35+
This fix prevents that.
14036

141-
Thanks to everyone who directly contributed to this release:
14237

143-
- @chris-belcher
144-
- @adlai
145-
- @AdamISZ
146-
- @ghtdak
147-
- @raedah
148-
- @domob1812
38+
0.1.1 Change log
39+
=================
14940

150-
And those who contributed additional code review, ideas and comments.
41+
- #398 `fb624cc` fix crash caused by malformed cancel message
42+
- #401 `6eac518` put back joinmarket alerts and core alerts
43+
- #387 `77ef4b4` clump coins differently in yieldgenerator to increase privacy
44+
- #397 `6ced862` fix issue 395 about accidental negative fees in yieldgenerator deluxe
45+
- #392 `00ef236` fix issue #392
15146

0 commit comments

Comments
 (0)