Releases: revault/revaultd
v0.4.0: Babidi Somniosidae
New requirements:
- Changes bitcoind minimum supported version to 22.0
Features:
- Bitcoind version is now checked at startup
- The bitcoind poller rescans from the latest tip, so we won't
miss any historical vault (this holds for reorgs too) - We now exchange signatures with the watchtowers in a single batch
- A
participant_type
field was added to thegetinfo
result - The
hex
field of thelistpresignedtxs
result was removed - Add
cpfp_amount
andminer_fee
togethistory
events - Add
status
,cpfp_amount
,cpfp_index
andchange_index
to
getspendtx
andlistspendtxs
entries
Fixes:
- Avoid a race condition between the signature fetcher thread and the
bitcoind poller thread upon reorg
v0.3: Huffle Puffer
Third alpha release of revaultd for the third demo of Revault.
Notable changes include .
Features (protocol):
- Cosigning servers are now optional. If none are configured, we
won't try to poll them.
- We now support watchtowers. If some watchtowers are
configured, we'll exchange the revocation signatures with
them.
Features (API):
- A new help
command was added based on doc/API.md
.
- A new descriptors
field was added to the response of
getinfo
.
- A new getserverstatus
RPC command was added
- revaultd
was made a Rust library.
- We now check the size of the Spend transaction as serialized
in base64 instead of hex in getspendtx
.
- We categorized JSONRPC errors into groups and assigned a
specific error code to each group.
- The vault information returned in several commands now contain
new funded_at
, secured_at
, delegated_at
, moved_at
fields.
- A new gethistory
command was added.
Features (misc):
- If configured with the CPFP BIP32 seed, we now automatically
CPFP the Unvault and Spend transaction for which priority was
set and feerate is lower than the next block feerate by more
than 4sat/vbyte.
Fixes (protocol):
- We now exchange the Spend transaction with the coordinator
serialized in base64.
- We don't create a single connection per sig
message sent to
the coordinator anymore.
Fixes (misc):
- We don't crash anymore on unexpected Unvault outputs.
- We are now more robust to state races (see #145).
- We now require xpubs specified in the configuration to be on the
right network.
v0.2: Sarumane Sardinops
This is a second alpha release, containing a (larger) subset of Revault
features in order to be able to test them in a demo deployment.
New features
- We now have a response to all protocol messages which allows for
much better error handling. - We can now fetch existing signatures from the Cosigning Server. This
makes the manager signing process robust against connection
interruption. - We now use descriptors in the configuration instead of raw xpubs.
listspendtxs
now takes an optionalstatus
argument.- A new
gethistory
RPC call. - We now have a basic Emergency support, along with a
emergency
RPC
call. - The
cpfp_index
andchange_index
fields were added tolistspendtxs
output. - The Spend transaction is now returned by
listonchaintransactions
. - We now (conservatively) check the Spend transaction size at creation
time to avoid a situation were it would be unannounceable to the
Coordinator due to transport limits. getinfo
now returns themanagers_threshold
.revocationtxs
andunvaulttxs
now refuse PSBTs containing public
keys that are not part of the descriptors.- We now check the coordinator isn't sending us signatures for public
keys that aren't part of our descriptors.
Fixes
- Increase the SQLite busy timeout to 1 minute also for write access
- Message serialization ambiguity was fixed, which made the connection
to the Coordinator reliable. - Unvault txs retrieval from DB was fixed. The SQL query for retrieving
the presigned unvaults was wrong, which caused some issues if the
daemon was restarted while the tx was in the state of "unvaulting". - The
bitcoind
poller logic was flaky and sometimes brittle. Many
fixes and refactorings made it much more robust, including in very
edgy cases such as large and specific reorgs simulated by the
functional tests. - In daemon mode, we now open the log file in append mode to avoid
overwriting it.
v0.1: Albus Pilchardus
This is an alpha release containing a subset of the Revault features
in order to be able to test them in a demo deployment.