Skip to content

Latest commit

 

History

History
126 lines (88 loc) · 5.59 KB

release-notes-0.9.10.md

File metadata and controls

126 lines (88 loc) · 5.59 KB

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. In order to recreate it, rename the old joinmarket.cfg and run 'python3 wallet-tool.py generate' from the scripts folder.

(If you are upgrading from a version pre-0.7.0 please read the "Upgrading" section in the 0.7.0 release notes.)

(If you are upgrading from a version pre-0.9.0 please read the release notes to find out how about fidelity bonds 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.