Merge #1034: Prepare v5 release
2dc8cb0d422d2f601c8662df71651c596d15ae36 README: add Coldcard as supported signing device (Antoine Poinsot)
abf15fea3c15ca5f0005417a1490e057d40e6c6b CHANGELOG: release notes for v5 (Antoine Poinsot)
b5c2375d0bb6bef6cd2f0d7534c303fe71118105 doc: update the signing devices compatibility documentation (Antoine Poinsot)
d9337121abe486389514c7b2336e39d2a1f0c8de Bump Liana version (Antoine Poinsot)
de05460ad01145df9bbf63ec58932a72dd1a14d3 doc/BUILD.md: correct MSRV (Antoine Poinsot)
Pull request description:
ACKs for top commit:
darosior:
self-ACK 2dc8cb0d422d2f601c8662df71651c596d15ae36 -- not code
Tree-SHA512: b84ea6dabf3ff41ac9b61c6ee8ef7cbbdb5942d13bff83b70e60c93e2f61a14db164b7987129cfde5fd59a667297e2832458f62f0e979d949667d0cc2c168f37
This commit is contained in:
commit
6d498db5e5
72
CHANGELOG.md
72
CHANGELOG.md
@ -1,5 +1,77 @@
|
||||
# Liana daemon and GUI release notes
|
||||
|
||||
## 5.0
|
||||
|
||||
This release introduces support for the Coldcard signing device, experimental Taproot support and a
|
||||
number of user experience improvements.
|
||||
|
||||
### Features
|
||||
|
||||
#### Liana daemon / library
|
||||
|
||||
- Experimental support for Taproot was added.
|
||||
- It's now possible to configure the connection to `bitcoind` using a user and a password in place
|
||||
of the cookie file. See the discussion at https://github.com/wizardsardine/liana/issues/356.
|
||||
- The `getinfo` result now contains the "descriptor's timestamp": that is the oldest date at which
|
||||
we scanned the blockchain for coins.
|
||||
- The `createspend` command now doesn't error anymore on insufficient funds, it instead returns the
|
||||
missing amount in its result.
|
||||
- The `listspendtxs` command now accepts a new optional parameter to filter the result by txids.
|
||||
|
||||
#### Liana GUI
|
||||
|
||||
- Support for Coldcard was added. At the time of writing Miniscript support on the Coldcard is only
|
||||
available on the Edge firmware.
|
||||
- You can now choose to create a Taproot descriptor in the installer. See
|
||||
[doc/signing_devices.md](doc/signing_devices.md) for details about the compatibility with hardware
|
||||
wallets.
|
||||
- When creating a Spend transaction using automated coin selection (the default), setting the amount
|
||||
for any recipient to "Max" to sweep all the funds from the wallet to this recipient, minus the
|
||||
amount set for any other recipients.
|
||||
- When creating a Spend transaction using manual coin selection, setting the amount of any of the
|
||||
recipient to "Max" will sweep all the *selected* coins (not all funds in the wallet) to this
|
||||
recipient, minus the amount set for other recipients.
|
||||
- The automated coin selection when creating a spend transaction now also considers unconfirmed
|
||||
coins.
|
||||
- When creating a Spend transaction, you can now change screen and come back to your draft. The
|
||||
state does not get cleared as soon as you leave the "Spend" menu anymore.
|
||||
- We now display warnings to the user when creating a Spend transaction. For instance when the
|
||||
change output's value was too small that we added it to fees.
|
||||
- RBF transaction now get automatically labeled.
|
||||
- Signing a transaction on a hardware device does not hide the transaction details anymore.
|
||||
- When broadcasting a transaction, the payments are now immediately available on the home page.
|
||||
- The QR code for deposit address is now shown in a pop-up, which makes it available for all new
|
||||
addresses a user may generate on the Deposit screen.
|
||||
- The address QR codes now also contain the derivation index in the URI.
|
||||
- We now display a warning if a user tries to RBF a transaction whose change output is being spent
|
||||
by a later transaction. A warning is also displayed when broadcasting a spend if any of the inputs
|
||||
are currently being spent by another transaction.
|
||||
- We now directly open the installer when starting Liana on a new datadir.
|
||||
- The "Backup Descriptor" step was dropped from the installer flow when recovering from a
|
||||
descriptor.
|
||||
- A new command line argument was added: `--version`.
|
||||
- It's now possible to use `<Tab>` to move between text inputs across the GUI.
|
||||
|
||||
### Fixes
|
||||
|
||||
#### Liana daemon / library
|
||||
|
||||
- We now disallow rescanning from timestamps before the genesis block on test networks too.
|
||||
- A potential crash was fixed when an immature coinbase transaction contains an output which pays to
|
||||
our *change* address.
|
||||
- An off-by-one in address usage detection was fixed.
|
||||
|
||||
#### Liana GUI
|
||||
|
||||
- We now use a user/password to connect to `bitcoind` in the installer, removing the potential for
|
||||
flakiness due to having to detect the `.cookie` file.
|
||||
- A crash was fixed in the installer when the user would change the network in step 1 after having
|
||||
started the managed bitcoind in step 4.
|
||||
- Errors when triggering a rescan are now correctly displayed.
|
||||
- In the installer, the details to connect to bitcoind in step 4 are now correctly updated when
|
||||
changing the network in step 1.
|
||||
- In the list of PSBTs, the labels are now correctly aligned.
|
||||
|
||||
## 4.0
|
||||
|
||||
This release introduces support for bumping the fees of a transaction, verifying a deposit address
|
||||
|
||||
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -279,7 +279,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "liana"
|
||||
version = "4.0.0"
|
||||
version = "5.0.0"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"bdk_coin_select",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "liana"
|
||||
version = "4.0.0"
|
||||
version = "5.0.0"
|
||||
authors = ["Antoine Poinsot <darosior@protonmail.com>"]
|
||||
edition = "2018"
|
||||
repository = "https://github.com/wizardsardine/liana"
|
||||
|
||||
@ -136,9 +136,9 @@ For now, the following signing devices are supported:
|
||||
- Ledger Nano S and S+
|
||||
- BitBox02
|
||||
- Specter DIY
|
||||
- Coldcard
|
||||
|
||||
With more signing devices implementing Miniscript capability, support for new ones will be added in
|
||||
the near future. For more information (such as minimum supported versions) please read the [signing
|
||||
For more information (such as compatibility and minimum supported versions) please read the [signing
|
||||
devices documentation](./doc/signing_devices.md).
|
||||
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
|
||||
set -ex
|
||||
|
||||
VERSION="${VERSION:-"2.0"}"
|
||||
VERSION="${VERSION:-"5.0"}"
|
||||
LIANA_PREFIX="liana-$VERSION"
|
||||
LINUX_DIR_NAME="$LIANA_PREFIX-x86_64-linux-gnu"
|
||||
LINUX_ARCHIVE="$LINUX_DIR_NAME.tar.gz"
|
||||
|
||||
10
doc/BUILD.md
10
doc/BUILD.md
@ -8,13 +8,13 @@ this repository. They are pinned in a [`Cargo.lock`](../Cargo.lock) file at the
|
||||
We take security very seriously, and toolchain is a big part of that. We are moderately conservative
|
||||
with dependencies and aim to target reasonable compiler versions that have had time to mature (ie
|
||||
that had the chance to be reviewed and distributed by third parties, as well as tested by the
|
||||
community). The minimum supported Rust version for `lianad` currently is `1.54`.
|
||||
community). See [`CONTRIBUTING.md`](../CONTRIBUTING.md) for the currently minimum Rust version
|
||||
supported by `lianad`.
|
||||
|
||||
If you want to not only build the daemon but the whole wallet including the GUI, you'll
|
||||
unfortunately have to use a more recent `cargo`. The minimum version supported by the GUI at the
|
||||
moment is `1.65`. You will most likely have to [manually download
|
||||
To build the GUI too, you'll unfortunately need a more recent Rust version. The minimum version
|
||||
supported by the GUI at the moment is `1.65`. You will most likely have to [manually download
|
||||
it](#by-manually-downloading-the-latest-stable-version) or [use `rustup`](#through-rustup) to
|
||||
install such a recent compiler.
|
||||
install more recent compilers.
|
||||
|
||||
|
||||
## Getting `Cargo`
|
||||
|
||||
@ -6,16 +6,30 @@ The connection to the signing devices is implemented in [another
|
||||
repository](https://github.com/wizardsardine/async-hwi).
|
||||
|
||||
|
||||
## Specter
|
||||
## [Specter DIY](https://github.com/cryptoadvance/specter-diy)
|
||||
|
||||
[Specter DIY](https://github.com/cryptoadvance/specter-diy) version v1.5.0 and above is supported.
|
||||
Version 1.5.0 and above of the firmware is supported for use in P2WSH descriptors.
|
||||
|
||||
## Ledger
|
||||
Support for use in Taproot descriptors has been implemented but not yet released.
|
||||
|
||||
Minimum supported version of the Bitcoin application is 2.1.0 (the first version to have full
|
||||
Miniscript descriptors support).
|
||||
## [Ledger](https://github.com/LedgerHQ/app-bitcoin-new)
|
||||
|
||||
## BitBox02
|
||||
The Bitcoin application is supported for use in P2WSH descriptors starting with version 2.1.0. It is
|
||||
supported for use in Taproot descriptors starting with version 2.2.1.
|
||||
|
||||
[BitBox02](https://github.com/digitalbitbox/bitbox02-firmware) version 9.15.0 and above is
|
||||
supported.
|
||||
## [BitBox02](https://github.com/digitalbitbox/bitbox02-firmware)
|
||||
|
||||
Version 9.15.0 of the firmware is supported for use in P2WSH descriptors.
|
||||
|
||||
Support for use in Taproot descriptors is not yet available in the firmware.
|
||||
|
||||
## [Coldcard](https://github.com/Coldcard/firmware)
|
||||
|
||||
Support for use in both P2WSH and Taproot descriptors has only been released in Beta as of this
|
||||
writing. It is only supported by the [Edge
|
||||
firmware](https://github.com/Coldcard/firmware?tab=readme-ov-file#long-lived-branches).
|
||||
|
||||
As of this writing, Coldcard on Taproot will only be usable for descriptors which only use a single
|
||||
key as their primary path. This is due to a discrepancy in how Coldcard derives [deterministically
|
||||
unspendable Taproot internal
|
||||
keys](https://delvingbitcoin.org/t/unspendable-keys-in-descriptors/304).
|
||||
|
||||
@ -81,7 +81,7 @@ impl fmt::Display for Version {
|
||||
}
|
||||
|
||||
pub const VERSION: Version = Version {
|
||||
major: 4,
|
||||
major: 5,
|
||||
minor: 0,
|
||||
patch: 0,
|
||||
};
|
||||
|
||||
@ -24,7 +24,7 @@ from test_framework.utils import (
|
||||
def test_getinfo(lianad):
|
||||
res = lianad.rpc.getinfo()
|
||||
assert "timestamp" in res.keys()
|
||||
assert res["version"] == "4.0.0-dev"
|
||||
assert res["version"] == "5.0.0-dev"
|
||||
assert res["network"] == "regtest"
|
||||
wait_for(lambda: lianad.rpc.getinfo()["block_height"] == 101)
|
||||
res = lianad.rpc.getinfo()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user