Merge #1518: Prepare v9 release

39616bea421182f10a4a9f6aa2701f665817e5d3 Add liana and version to shasums txt file (edouardparis)
d0fefc37f4a1f51674336694601d17a33b74e7c1 Prepare v9 release (edouardparis)

Pull request description:

ACKs for top commit:
  edouardparis:
    Self-ACK 39616bea421182f10a4a9f6aa2701f665817e5d3

Tree-SHA512: 8e04468d6dfab973f556ad374bfa06ee3912a80ee491528bf2f44b34e79b31ce57a65303547dba039639e54f32ac275292fc468f6a9c379e4878d5e32c676e18
This commit is contained in:
edouardparis 2025-01-07 11:40:12 +01:00
commit 451ba88445
No known key found for this signature in database
GPG Key ID: E65F7A089C20DC8F
12 changed files with 77 additions and 14 deletions

View File

@ -1,5 +1,59 @@
# Liana daemon and GUI release notes
## 9.0
This Liana release introduces small bug fixes and a nice new export feature.
The whole code architecture was reworked to follow rust guidelines about workspace
and the reproducible build now makes usage of `nix` instead of `docker`.
The `liana-gui` linux binary is now built against an older `GLIBC 2.31` and
the release asset for apple devices is now an universal2 target that can be run by both
old x86_64 and new ARM apple devices.
The new Blockstream Jade Plus device id was added and this hardware wallet should be supported.
### Breaking changes
Running Liana v9 on an existing installation will migrate its database.
Once migrated the database won't be compatible with previous versions of Liana.
This means you won't be able to open with Liana v8 (or below) any wallet opened or created with Liana v9.
The new Minimum Supported Rust Version of the GUI software is now 1.80. This change was necessary to have
up to date system dependencies like `rfd`.
### Features
#### Liana daemon / library
- The daemon feature was removed, we expect user to use their own process manager like systemd.
- Three new columns are added to the table transaction: the number of inputs, the number of outputs and if the
transaction is a coinbase transaction.
- A new column is added to the coins table: `is_from_self` and a new field `is_from_self`
is added to the coin entry of the `list_coins` command. This field is true
if the coin is from a transaction that every inputs or ancestors inputs belongs to the wallet.
#### Liana GUI
- New button on the transactions panel allows user to do an export of their transactions to an external file using the CSV format.
- Bitcoind and electrum information in the settings panel can now be copied to clipboard.
- The sync progress is now displayed with a percentage with 2 decimals
- On the send panel, the trailing zeros of the calculated max amount are not anymore trimmed.
- Coins that are change from transactions that user control (either confirmed or every inputs belongs to the wallet),
are now part of the balance.
- Unconfirmed coins can now be selected by the automatic selection if the coins is from transaction which inputs are controlled by the wallet.
### Fixes
#### Liana daemon / library
- A spurious overestimation in fees was resolved.
#### Liana GUI
- The home panel was changed to load in an asynchronous and lighter way the payments list.
- When opening the receive panel, no new address is generated without the explicit demand of the user.
- A rescan request was failing with recent version of bitcoind because of the failure to match hardened derivation indexes.
- While updating a PSBT, taproot signatures were not correctly merged.
## 8.0
This release introduces support for Taproot descriptors on Bitbox02 devices and

6
Cargo.lock generated
View File

@ -3041,7 +3041,7 @@ dependencies = [
[[package]]
name = "liana"
version = "8.0.0"
version = "9.0.0"
dependencies = [
"bdk_coin_select",
"bip39",
@ -3064,7 +3064,7 @@ dependencies = [
[[package]]
name = "liana-gui"
version = "8.0.0"
version = "9.0.0"
dependencies = [
"async-hwi",
"async-trait",
@ -3107,7 +3107,7 @@ dependencies = [
[[package]]
name = "lianad"
version = "8.0.0"
version = "9.0.0"
dependencies = [
"backtrace",
"bdk_electrum",

View File

@ -7,7 +7,7 @@
set -ex
VERSION="${VERSION:-"8.0"}"
VERSION="${VERSION:-"9.0"}"
LIANA_PREFIX="liana-$VERSION"
LINUX_DIR_NAME="$LIANA_PREFIX-x86_64-linux-gnu"
LINUX_ARCHIVE="$LINUX_DIR_NAME.tar.gz"
@ -94,6 +94,6 @@ NIX_BUILD_DIR="$(nix path-info .#release)"
mv "Liana-$VERSION-noncodesigned.zip" "$RELEASE_DIR/"
)
find "$RELEASE_DIR" -type f ! -name "shasums.txt" -exec sha256sum {} + | tee "$RELEASE_DIR/shasums.txt"
find "$RELEASE_DIR" -type f ! -name "$LIANA_PREFIX-shasums.txt" -exec sha256sum {} + | tee "$RELEASE_DIR/$LIANA_PREFIX-shasums.txt"
set +ex

View File

@ -3,7 +3,8 @@
set -e # Exit immediately if a command exits with a non-zero status
set -x # Print commands and their arguments as they are executed
VERSION="${VERSION:-"8.0"}"
VERSION="${VERSION:-"9.0"}"
LIANA_PREFIX="liana-$VERSION"
# Define the release directory
RELEASE_DIR="$PWD/release_assets"
RELEASE_BUILD_DIR="$PWD/release_build"
@ -12,7 +13,7 @@ RELEASE_BUILD_DIR="$PWD/release_build"
sign_with_gpg() {
(
cd "$RELEASE_DIR"
gpg --detach-sign --armor "shasums.txt"
gpg --detach-sign --armor "$LIANA_PREFIX-shasums.txt"
)
}

View File

@ -30,7 +30,7 @@ firmware](https://github.com/Coldcard/firmware?tab=readme-ov-file#long-lived-bra
For use in Taproot descriptors you should use version 6.3.3 or higher.
## [Jade](https://github.com/Blockstream/Jade)
## [Jade and Jade Plus](https://github.com/Blockstream/Jade)
Version 1.0.30 of the firmware is supported for use in P2WSH descriptors.

View File

@ -98,6 +98,14 @@ Example for Linux (replace the signature name with the one corresponding to your
gpg --keyserver hkps://keys.openpgp.org --refresh-keys 5B63F3B97699C7EEF3B040B19B7F629A53E77B83
```
if Liana version is superior or equal to v9:
```
gpg --keyserver hkps://keys.openpgp.org --receive 5B63F3B97699C7EEF3B040B19B7F629A53E77B83
sha256sum --check liana-9.0-shasums.txt
gpg --verify liana-9.0-shasums.txt.asc
```
If all is good, you can run Liana!

View File

@ -1,6 +1,6 @@
[package]
name = "liana-gui"
version = "8.0.0"
version = "9.0.0"
readme = "README.md"
description = "Liana GUI"
repository = "https://github.com/wizardsardine/liana"

View File

@ -16,7 +16,7 @@ pub mod utils;
use lianad::Version;
pub const VERSION: Version = Version {
major: 8,
major: 9,
minor: 0,
patch: 0,
};

View File

@ -1,6 +1,6 @@
[package]
name = "liana"
version = "8.0.0"
version = "9.0.0"
authors = ["Antoine Poinsot <darosior@protonmail.com>"]
edition = "2018"
repository = "https://github.com/wizardsardine/liana"

View File

@ -1,6 +1,6 @@
[package]
name = "lianad"
version = "8.0.0"
version = "9.0.0"
authors = ["Antoine Poinsot <darosior@protonmail.com>"]
edition = "2018"
repository = "https://github.com/wizardsardine/liana"

View File

@ -78,7 +78,7 @@ impl fmt::Display for Version {
}
pub const VERSION: Version = Version {
major: 8,
major: 9,
minor: 0,
patch: 0,
};

View File

@ -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"] == "8.0.0-dev"
assert res["version"] == "9.0.0-dev"
assert res["network"] == "regtest"
wait_for(lambda: lianad.rpc.getinfo()["block_height"] == 101)
res = lianad.rpc.getinfo()