Skip to content

Commit

Permalink
Merge #1538: Release notes and version for v0.9.10
Browse files Browse the repository at this point in the history
9f10af3 Release notes and version for v0.9.10 (Kristaps Kaupe)

Pull request description:

  My first attempt at doing release, please review!

Top commit has no ACKs.

Tree-SHA512: f52718385b90695aee6063f911d9705b5216c4aa7fc7574a4d5e8ed1e52fd3523485c3208c2c1e07f547c5f133f07642eb1198c17db35c8f73ea1276ffb8d704
  • Loading branch information
kristapsk committed Aug 29, 2023
2 parents fa17236 + 9f10af3 commit 36eb04b
Show file tree
Hide file tree
Showing 9 changed files with 136 additions and 10 deletions.
2 changes: 1 addition & 1 deletion docs/JOINMARKET-QT-GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

The GUI can be run directly from Python script by doing `./joinmarket-qt.sh` from within `scripts/`, or, if using Microsoft Windows, by running the executable file/binary (**[CLICK HERE](https://github.com/JoinMarket-Org/joinmarket-clientserver/releases)** to download the latest release). If you followed normal installation procedure under Linux, desktop entry of JoinMarketQt should be added to the application menu of your desktop environment.

**LATEST VERSION of JoinMarket-Qt is GUI version 31**. You can check the version via `About` in the menu.
**LATEST VERSION of JoinMarket-Qt is GUI version 32**. You can check the version via `About` in the menu.

No other files / setup should be needed.

Expand Down
126 changes: 126 additions & 0 deletions docs/release-notes/release-notes-0.9.10.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
Joinmarket-clientserver 0.9.10:
=================

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

Please report bugs using the issue tracker at github:

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

Upgrading
=========

To upgrade:

*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.*

(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).)

(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).

First run the `install.sh` script as mentioned in the README. When prompted to overwrite the directory `jmvenv`, accept.

Note that `./install.sh -?` will show the options for installation. See the section on Installation below for a new option for Tor.

Changes
===============

### Removal of Python 3.6 support, 3.7 or newer is required now

Python 3.6 has been end-of-life since end of 2021 and Python 3.7 is also minimum requirement for planned future packaging changes.

* `63890ee` Drop Python 3.6 support
* `9f4da21` Document requirement of Python 3.7 or newer

### Fee estimation changes and fee bumping

Command line script `bumpfee.py` is added which gives simple way to speed up unconfirmed transaction by replacing it with higher fee paying one if all inputs belong to Joinmarket wallet (so will not work with coinjoins) and original transaction has signalled BIP125 opt-in RBF flag. BIP125 signalling is also enabled by default, in previous versions that was only possible with `sendpayment.py` by adding manually command line flag.

Also transaction fee randomization (which we do for privacy reasons) code is now changed to randomize only upwards, but never below the manually specified or automatically estimated fee for block confirmation target.

* `eeb362b` added bumpfee.py script for bumping fees for rbf transactions
* `907f1b0` Signal BIP125 opt-in RBF for non-cj sends by default
* `67ff868` Randomize transaction fees only upwards
* `d5c240b` Refactor fee estimation code

### Wallet RPC API improvements

Two new API endpoints are added - `/getinfo`, which currently allows to get version of Joinmarket running in backend, and `/wallet/recover`, which allows recover wallet from seed phrase using API.

* `7f4eaa9` RPC-API: add ability to recover wallet
* `828398f` RPC-API: read gaplimit from config
* `c9f6ac8` RPC-API: add getinfo endpoint.

### BIP21 bitcoin: URI changes

Multiple duplicate arguments with the same key, like amount, now is parsed in guarateed order, where last one wins. That matches behaviour of Bitcoin Core.

* `88bd45b` Parse URI params in guaranteed order, for duplicates, last one wins

### Code quality improvements

* `373493f` Refactor: move output descriptor code out of blockchaininterface
* `f6795e4` Add typehints to jmbitcoin/jmbitcoin/amount.py
* `3805c7a` Remove ElectrumWalletInterface
* `e31e839` Add get_wallet_rescan_status() instead of getwalletinfo() for bci
* `2cc7f21` Refactor: alphabetical order of imports and `abc` changes
* `53a9af5` Add `**/build/` to .gitignore
* `8255c18` Alphabetical order of imports and add typehints
* `a85832a` Remove deprecated check for Python 3+
* `6b2a248` Add typehints to BIP21 code
* `e4f74b5` Deduplicate AES code
* `4e5d894` Remove imports from future and past

### Bugfixes and other minor changes

* `6a47dd2` Add missing space to error message
* `a94d871` ignore txs with invalid sPKs when scanning
* `34c0c45` Add -l/--label-change option to sendpayment.py to automatically label change address
* `abbffef` ignore matched txs with invalid sPKs when scanning
* `f68ae8b` Rename "sat/vkB" to "sat/kvB"
* `9ce4e98` JM requires Python 3.6+ currently
* `6cf2237` Add space between address and comma for added utxos msg for easier selection by double clicking
* `dd0176e` Check wallet lock file before asking for password
* `90fe9b2` Fix pyaes dependency, should be in jmbase, not jmbitcoin
* `dafc180` no lock check on readonly

### Documentation

* `9fe2174` Fix git command typos
* `f8af2bf` Fix libsecp256k1 commit ids in docs
* `cb2ad2b` docs: add restart config to directory node service

### Installation and dependencies

* `f57e9fd` Bump cryptography for 64-bit ARM and x86
* `4b2cbe9` Pin werkzeug dependency to 2.2.0
* `c7b59ae` Bump werkzeug from 2.2.0 to 2.2.3 in /jmclient
* `77bd017` Bump pyOpenSSL and hence cryptography

### Testing

* `dd1bde0` update ygrunner test for 1427
* `224de08` CI: Bump used GitHub Actions to newer versions
* `3641f1e` Disable venv caching
* `198117f` CI: Remove editable installs
* `3c0b508` Remove unnecessary commands from setup joinmarket + virtualenv step
* `9072e10` Don't alter LD_LIBRARY_PATH, PKG_CONFIG_PATH and C_INCLUDE_PATH in tests
* `c921206` GitHub workflow update (test multiple Bitcoin Core versions)
* `cd1f394` Add test coverage for is_bip21_uri()
* `e3681f7` Fixes websocket test in test_wallet_rpc.py

Credits
=======

Thanks to everyone who directly contributed to this release -

- @AdamISZ
- @akhavr
- @BitcoinWukong
- @kristapsk
- @openoms
- @PulpCattel
- @roshii
- @takinbo

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

# JoinMarket version
JM_CORE_VERSION = '0.9.10dev'
JM_CORE_VERSION = '0.9.10'

# global Joinmarket constants
JM_WALLET_NAME_PREFIX = "joinmarket-wallet-"
Expand Down
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.9.10dev',
version='0.9.10',
description='Joinmarket client library for Bitcoin coinjoins',
url='https://github.com/JoinMarket-Org/joinmarket-clientserver/tree/master/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.9.10dev',
version='0.9.10',
description='Joinmarket client library for Bitcoin coinjoins',
url='https://github.com/JoinMarket-Org/joinmarket-clientserver/tree/master/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.9.10dev',
version='0.9.10',
description='Joinmarket client library for Bitcoin coinjoins',
url='https://github.com/JoinMarket-Org/joinmarket-clientserver/tree/master/jmclient',
author='',
author_email='',
license='GPL',
packages=['jmclient'],
install_requires=['joinmarketbase==0.9.10dev', 'mnemonic==0.20',
install_requires=['joinmarketbase==0.9.10', 'mnemonic==0.20',
'argon2_cffi==21.3.0', 'bencoder.pyx==3.0.1',
'klein==20.6.0', 'pyjwt==2.4.0',
'autobahn==20.12.3', 'werkzeug==2.2.3'],
Expand Down
4 changes: 2 additions & 2 deletions jmdaemon/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@


setup(name='joinmarketdaemon',
version='0.9.10dev',
version='0.9.10',
description='Joinmarket client library for Bitcoin coinjoins',
url='https://github.com/JoinMarket-Org/joinmarket-clientserver/tree/master/jmdaemon',
author='',
Expand All @@ -13,6 +13,6 @@
'cryptography==3.3.2; platform_machine != "aarch64" and platform_machine != "amd64" and platform_machine != "x86_64"',
'cryptography==41.0.2; platform_machine == "aarch64" or platform_machine == "amd64" or platform_machine == "x86_64"',
'pyopenssl==23.2.0', 'libnacl==1.8.0',
'joinmarketbase==0.9.10dev'],
'joinmarketbase==0.9.10'],
python_requires='>=3.7',
zip_safe=False)
2 changes: 1 addition & 1 deletion jmqtui/setup.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from setuptools import setup

setup(name='joinmarketui',
version='0.9.10dev',
version='0.9.10',
description='Joinmarket client library for Bitcoin coinjoins',
url='https://github.com/JoinMarket-Org/joinmarket-clientserver/tree/master/jmqtui',
author='',
Expand Down
2 changes: 1 addition & 1 deletion scripts/joinmarket-qt.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
donation_address_url = "https://bitcoinprivacy.me/joinmarket-donations"

#Version of this Qt script specifically
JM_GUI_VERSION = '32dev'
JM_GUI_VERSION = '32'

from jmbase import get_log, stop_reactor, set_custom_stop_reactor
from jmbase.support import EXIT_FAILURE, utxo_to_utxostr,\
Expand Down

0 comments on commit 36eb04b

Please sign in to comment.