Release v0.5.0

By Alekos Filini

A new release of BDK is out: v0.5.0 is our first release licensed under Apache 2.0 and MIT, brings new features, bugfixes and some internal refactoring.

You can find the full v0.5.0 changelog on GitHub.

What’s new in v0.5.0

Below are some highlights of the new release:

Dual Licensing

From now on BDK will be released under both Apache 2.0 and MIT, at your discretion. This change aligns our project with many other Rust crates and reiterates our commitment to a permissive licensing model.

Spending foreign UTXOs

This release adds a new TxBuilder method called add_foreign_utxo(), which can be used to spend UTXOs that don’t belong to the Wallet. We think this is going to be very useful to developers working on multiparty protocols like CoinJoins, Pay Join, etc.

It’s as easy as giving the library a PSBT input and the satisfaction cost for that input:

let mut builder = wallet.build_tx();
    .add_recipient(addr.script_pubkey(), 60_000)
    .add_foreign_utxo(foreign_utxo.outpoint, foreign_utxo_psbt_input, foreign_utxo_satisfaction_weight)?


A huge thanks to everybody who contributed to this new release with suggestions, pull requests and bug reports.

Since the v0.4.0 release around a month ago, we’ve had 54 new commits made by 7 different contributors for a total of 1430 additions and 1212 deletions. Here’s the full diff.

A special thanks to the new contributor for this release: