|
| 1 | +Joinmarket-clientserver 0.9.12: |
| 2 | +================= |
| 3 | + |
| 4 | +<https://github.com/joinmarket-org/joinmarket-clientserver/releases/tag/v0.9.12> |
| 5 | + |
| 6 | +**This is the final release of this implementation of Joinmarket**. The repo will now be archived, meaning there will be no more updates; the releases will be left here for download in case that's useful. |
| 7 | + |
| 8 | +We would advise users of the software to examine the reimplementation at https://github.com/joinmarket-ng/joinmarket-ng. This is **not** a recommendation; use of this or any similar software is your own responsibility. |
| 9 | + |
| 10 | +Upgrading |
| 11 | +========= |
| 12 | + |
| 13 | +To upgrade: |
| 14 | + |
| 15 | +*Reminder: always back up and recreate your joinmarket.cfg file when doing the upgrade; this is to make sure you have the new default settings. In order to recreate it, rename the old joinmarket.cfg and run 'python3 wallet-tool.py generate' from the scripts folder.* |
| 16 | + |
| 17 | +(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).) |
| 18 | + |
| 19 | +(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). |
| 20 | + |
| 21 | +First run the `install.sh` script as mentioned in the README. When prompted to overwrite the directory `jmvenv`, accept. |
| 22 | + |
| 23 | +Note that `./install.sh -?` will show the options for installation. |
| 24 | + |
| 25 | +Changes |
| 26 | +=============== |
| 27 | + |
| 28 | +### Fix of DOS vector from commitment checking failure |
| 29 | + |
| 30 | +Commitments are supposed to be one-use only but we were not checking |
| 31 | +the format correctly, leading to the possibility of ~ continuous reuse. |
| 32 | +Worse, a motivated attacker that uses this aggressively could retrieve |
| 33 | +lots of utxo information from makers over a long period, which degrades |
| 34 | +Joinmarket's functionality. This was exactly the attack that the taker |
| 35 | +commitments were supposed to thwart. |
| 36 | + |
| 37 | +Shoutout to @m0wer for reporting this one: |
| 38 | + |
| 39 | +* `092b480` Checks case of inbound commitments before comparison. |
| 40 | + |
| 41 | +### Descriptor wallet support |
| 42 | + |
| 43 | +This change is needed to run the software with the most recent |
| 44 | +versions of Bitcoin Core that disable old non-descriptor wallets. |
| 45 | +(Remember, we don't use Bitcoin's wallet for keys/signing, only for |
| 46 | +watch-only; but we do still use it). |
| 47 | + |
| 48 | +* `f3630dc` Support Bitcoin Core descriptor wallets (quick and dirty way) |
| 49 | + |
| 50 | +### General refactoring and minor functionality improvements |
| 51 | + |
| 52 | +* `6e5cdc8` Refactor: move bitcoin unit conversion functions from ob-watcher to jmbitcoin |
| 53 | +* `395050c` Use coins_to_satoshi() and satoshi_to_coins() from bitcointx everywhere |
| 54 | +* `d117791` yieldgenerator: allow change address to be overridden (note that despite the worrying description, it literally just refactors the change address sourcing; by default zero functional change) |
| 55 | +* `f3f4f0a` Multiple (batch) payment support in `direct_send()` (this doesn't actually implement batch payments, but refactors to allow it as a possibility) |
| 56 | +* `904b780` Unify cli user input code where limited range of answers are allowed |
| 57 | +* `861c790` maker: allow receiving more money than promised |
| 58 | +* `865247c` Support payjoin PSBT with multiple sender inputs (Joinmarket's implementation of payjoin did support multiple sender inputs before this, but was not following the BIP78 spec properly for this case, thankfully @spacebear21 identified and fixed this) |
| 59 | +* `f0b0e55` Cache None in tx_cache for non-wallet transactions |
| 60 | + |
| 61 | + |
| 62 | +### Minor bugfixes |
| 63 | + |
| 64 | +* `8eb55be` Handle None enter_seed_callback() response |
| 65 | +* `8798b8b` Redirect back to / after /refreshorderbook and /rotateOb |
| 66 | +* `3317b0b` Fix jm_single().bc_interface.get_deser_from_gettransaction call |
| 67 | +* `100da5e` Handle JsonRpcError in _estimate_fee_basic |
| 68 | +* `053d8a1` Implement mixdepth filtering for showutxos |
| 69 | + |
| 70 | +### RPC-API |
| 71 | + |
| 72 | +* `6469991` RPC-API: Implement message signing |
| 73 | +* `5b47d1c` RPC API endpoint to get wallet rescan status |
| 74 | +* `d615688` Update GetAddressResponse schema to return an object with address property |
| 75 | + |
| 76 | +### Configuration |
| 77 | + |
| 78 | +* `d87e7cb` Replace default directory nodes with currently working ones |
| 79 | +* `b03c5ef` Mark my previous signing key as lost |
| 80 | +* `c416a94` Remove DarkScience IRC network from default config |
| 81 | +* `954dc36` Remove Ilita IRC, re-enable hackint |
| 82 | + |
| 83 | +### Dependencies |
| 84 | + |
| 85 | +* `14a7b7e` Update libsodium from 1.0.18 to 1.0.20 |
| 86 | +* `c54c11c` Bump twisted from 23.10.0 to 24.7.0 |
| 87 | +* `b4e3fdd` `b456968` `f952d7d` `ee4a3fa` `6baf4a5` Bump minimum required Bitcoin Core version from 0.18 to 29.0 |
| 88 | +* `53d89ec` Bump libsecp256k1 from v0.4.1 to v0.5.0 |
| 89 | +* `12d6b5a` Bump compatible Python version to 3.12 |
| 90 | +* `cbd8868` Bump libffi from 3.2.1 to latest 3.4.6 |
| 91 | +* `bd22dd0` Bump pyopenssl from 23.2.0 to 24.0.0 |
| 92 | +* `b9cfd89` `1144233` Bump built-in Tor from 0.4.8.7 to 0.4.8.13 |
| 93 | +* `07bad14` Bump cryptography from 41.0.6 to 42.0.4 |
| 94 | +* `ea9557b` chore(deps): bump python upper version |
| 95 | +* `091ce51` fix(deps): bencode library |
| 96 | + |
| 97 | +### Testing and installation |
| 98 | + |
| 99 | +* `9eaca78` ci: no fail-fast for unittests |
| 100 | +* `8675a29` install.sh: use debian dist libffi |
| 101 | +* `8992e36` Fix Debian dependency check for non-English locales |
| 102 | +* `cf5184f` test(ci): build docker image in github workflow |
| 103 | +* `9d8988a` build(docker): update to debian bookworm |
| 104 | +* `398f1c0` `d9da8bd` `30557a4` `4e75f6e` `67da009` CI: Bump Bitcoin Core from 26.0 to 29.0 |
| 105 | +* `719f242` Fix run_tests.sh for Bitcoin Core v27 |
| 106 | +* `39720a8` CI: Use x64 not arm64 macOS |
| 107 | +* `669839e` Remove test that assumes mempoolfullrbf=0 |
| 108 | +* `da5603a` CI: Run bash scripts with -x |
| 109 | +* `6e33686` update Installation on Linux |
| 110 | +* `bbc2150` Tell libsodium not to download code from savannah.gnu.org in autogen.sh |
| 111 | +* `508b4ee` fix-debian |
| 112 | + |
| 113 | +### Documentation |
| 114 | + |
| 115 | +* `6de1bab` doc: small install doc updates |
| 116 | +* `d53b902` doc: Tor control auth cookie file must be group readable |
| 117 | +* `4040ace` update sourcing commitments link |
| 118 | +* `26c157d` small fixes/updates in tumblerguide doc |
| 119 | +* `fd96f96` Fix docstring |
| 120 | +* `24feda7` Fix / remove broken links |
| 121 | + |
| 122 | +Credits |
| 123 | +======= |
| 124 | + |
| 125 | +Thanks to everyone who directly contributed to this release - |
| 126 | + |
| 127 | +- @spacebear21 |
| 128 | +- @kristapsk |
| 129 | +- @st3b1t |
| 130 | +- @theborakompanioni |
| 131 | +- 3np |
| 132 | +- @AdamISZ |
| 133 | +- dependabot[bot] |
| 134 | +- @MarnixCroes |
| 135 | +- @whitslack |
| 136 | +- @nischal-shetty2 |
| 137 | +- @roshii |
| 138 | + |
| 139 | +And thanks also to those who submitted bug reports, tested, reviewed and otherwise helped out. |
0 commit comments