Skip to content

Releases: bitcoindevkit/bdk-ffi

Release 3.0.0

Choose a tag to compare

@thunderbiscuit thunderbiscuit released this 09 Jun 19:39
v3.0.0
cfb3418

Release 3.0.0

This is version 3.0.0 of the BDK language bindings! This release uses the following Rust dependencies:

  • bdk_wallet 3.0.0
  • bdk_electrum 0.24.0
  • bdk_esplora 0.22.2
  • bdk_kyoto 0.17.0
  • bitcoin 0.32.8
  • uniffi 0.30.0

Breaking

  • The DescriptorSecretKey::new constructor does not produce an extended key with an automatic wildcard anymore #853
  • Descriptor and DescriptorSecretKey constructors now require a NetworkKind #986

Added

  • Expose miniscript has_wildcard and sanity_check methods on Descriptor type #945
  • Expose new_wsh_sortedmulti and new_pk methods on Descriptor type #949
  • Expose new_sh_sortedmulti, new_sh_wsh_sortedmulti, new_pkh, new_wpkh, new_sh_wpkh methods on Descriptor type #973
  • Expose wallet event helpers Wallet::apply_unconfirmed_txs_events and Wallet::apply_evicted_txs_events #971
  • Expose wallet scan/sync helpers Wallet::start_full_scan_at, Wallet::start_sync_with_revealed_spks_at, and Wallet::checkpoints #971
  • Expose locked outpoint wallet APIs and locked outpoint persistence in ChangeSet #971
  • Expose transaction builder controls for sighash, transaction ordering, and adding foreign UTXOs with explicit sequence values #971
  • Expose Persister::get_pre_v1_wallet_keychains for pre-v1 SQLite wallet migration support #971
  • Expose NetworkKind type #986
  • New WildcardType enum #853
  • New DescriptorPublicKey::add_wildcard method, which adds an unhardened wildcard to the derivation path of the descriptor #853
  • New DescriptorSecretKey::add_wildcard(wildcard_type: WildcardType) method, which adds a wildcard to the derivation path of the descriptor #853
  • Exposed new_sh, new_wsh,new_bare and new_sh_wsh methods on Descriptor type #988
  • Add optional timeout and retry parameters to the Electrum client constructor #1010

Auto-Generated Release Notes

Added

Fixed

Needs Label Review

New Contributors

Full Changelog: v2.3.1...v3.0.0

v2.3.1

Choose a tag to compare

@reez reez released this 26 Feb 17:36
v2.3.1

This is version 2.3.1 of the BDK language bindings. This release bumps the following Rust dependencies:

Dependency Version
bdk_kyoto 0.15.4

What's Changed

  • Backport Android build/publish workflow and publication plugin changes (#952)
  • Update bdk_kyoto to 0.15.4 (panic fix) (#953)
  • Set iOS deployment target in bdk-swift xcframework build scripts (#958)

Full Changelog: v2.3.0...v2.3.1

v2.3.0

Choose a tag to compare

@thunderbiscuit thunderbiscuit released this 12 Feb 18:54
v2.3.0
08ec19b

Release 2.3.0

This is version 2.3.0 of the BDK language bindings. This release uses the following Rust dependencies:

Dependency Version
bdk_wallet 2.3.0
bdk_electrum 0.23.2
bdk_esplora 0.22.1
bdk_kyoto 0.15.3
rust-bitcoin 0.32.7
uniffi 0.30.0

Added

  • Expose Wallet::apply_update_events which returns a WalletEvent type #908
  • Expose Psbt::output which returns a list of psbt Output #903
  • Other variant added to CBF RecoveryPoint to enable wallet birthdays #920
  • Implement Display trait for FeeRate #859
  • Expose FeeRate::fee_vb and FeeRate::fee_wu methods #859
  • Wallet API: expose TxBuilder::only_witness_utxo and TxBuilder::add_foreign_utxo #928
  • Esplora API: expose get_block_by_hash which returns a Block #936
  • Esplora API: expose get_tip_hash #930
  • Esplora API: expose get_header_by_hash #930
  • Esplora API: expose get_address_txs #930
  • Esplora API: expose get_tx_no_opt #930
  • Esplora API: expose get_txid_at_block_index #930
  • Esplora API: expose get_merkle_proof and get_output_status #942
  • Electrum API: expose fetch_tx #931
  • Electrum API: expose block_header #931
  • Electrum API: expose block_headers_pop #931
  • Electrum API: expose relay_fee and transaction_get_raw #938
  • DerivationPath: expose child, extend, and to_u32_vec #935

Auto-Generated Changes Log

New Contributors

Full Changelog: v2.2.0...v2.3.0

Release 2.2.0

Choose a tag to compare

@thunderbiscuit thunderbiscuit released this 18 Nov 16:23
v2.2.0
1ab97bf

This release uses the following Rust dependencies:

Dependency Version
bdk_wallet 2.2.0
bdk_electrum 0.23.2
bdk_esplora 0.22.1
bdk_kyoto 0.15.0
rust-bitcoin 0.32.7
uniffi 0.29.4

Added

  • Implement Display for Script #813
  • Expose Wallet::create_single constructor on Wallet type #825
  • Set lookahead on Wallet::load #829
  • Expose Wallet::apply_evicted_txs method #832
  • Add Wallet::create_from_two_path_descriptor constructor #847
  • next_log and LogLevel are removed from kyoto #849
  • Updates Android native libraries to use 16KB page sizes #865
  • Expose TxBuilder::exclude_unconfirmed method #870
  • Expose TxBuilder::exclude_below_confirmations method #870
  • Throw errors rather than panics on faulty Esplora sync/full_scan operations #863
  • Expose Wallet::insert_txout #884
  • Expose Wallet::nmark_used #882
  • Add Wallet::load_single #897
  • Expose DerivationPath::master , DerivationPath::is_master , DerivationPath::len , DerivationPath::is_empty #893

Auto-Generated Release Notes

New Contributors

Full Changelog: v2.0.0...v2.2.0

v2.0.0

Choose a tag to compare

@reez reez released this 27 Aug 16:11
v2.0.0
0256c27

This release brings bdk-ffi to it's 2.0.0 version!

The release uses the following Rust dependencies:

  • bdk_wallet 2.0.0
  • bdk_electrum 0.23.0
  • bdk_esplora 0.22.0
  • bdk_kyoto 0.13.1
  • uniffi 0.29.1
  • rust-bitcoin 0.32.6

Added

  • PSBT file operations: read and write PSBT files #800
  • New Psbt::from_unsigned_tx constructor #802
  • New Psbt::spend_utxo method #798
  • Arbitrary persistence for wallet #771
  • Wallet changeset primitives #756
  • Display implementation for Transaction #799
  • Descriptor::max_weight_to_satisfy method #794
  • Expose Wallet::public_descriptor #786
  • Expose Wallet::tx_details #778
  • Expose Wallet::latest_checkpoint #761
  • TxGraphChangeSet::first_seen and last_evicted fields #782
  • from_string constructors for hash types #784
  • Transaction::wtxid method #773
  • Kyoto: average feerate and connect functionality #797

Changed

  • Use Amount type in TxOut instead of u64 #781
  • Update to latest bdk_kyoto with API changes #772
  • Add lookahead as optional argument to wallet methods
    #770

Fixed

  • Export public types from Script #763
  • Change object to record for struct with fields #738

v1.2.0

Choose a tag to compare

@thunderbiscuit thunderbiscuit released this 01 May 15:31
v1.2.0
f7fded3

This release brings in a new experimental compact block filters client!

The release uses the following Rust dependencies:
- bdk_wallet 1.2.0
- bdk_electrum 0.21.0
- bdk_esplora 0.20.1
- bdk_kyoto 0.8.0
- uniffi 0.29.1
- rust-bitcoin 0.32.5

Added

- New CBF client (Kyoto) [#591], [#716]
- Add optional `proxy` parameter to Esplora client constructor [#711]
- Add optional `socks5` parameter to Electrum client constructor [#711]
- Add `ElectrumClient::ping` method [#689]
- New API docs for a lot of types
- Add `Wallet::apply_unconfirmed_txs` method [#704]
- Add `UnconfirmedTx` type [#704]

Changed

- The `Amount::from_sat` constructor renamed its `sat` argument to `satoshi` [#708]

v1.1.0

Choose a tag to compare

@thunderbiscuit thunderbiscuit released this 13 Mar 15:15
v1.1.0
e887d7d

This is our first 1.0 stable release!

Dependencies

This release uses the following Rust dependencies:

Library Version
bdk_wallet 1.1.0
bdk_electrum 0.21.0
bdk_esplora 0.20.1
rust-bitcoin 0.32.5
uniffi 0.29.0

Changelog

Added

  • Expose ElectrumClient::block_headers_subscribe method #664
  • Expose EsploraClient::get_block_hash method #665
  • Expose EsploraClient::get_tx_status method #666
  • Expose EsploraClient::get_tx_info method #666
  • Support for Testnet 4 #674
  • Add AddressData and WitnessProgram types from rust bitcoin #671
  • Expose Address::to_address_data method #671

Changed

  • More complete LocalOutput type #667

Automated Release Notes

Full Changelog: v1.0.0-beta.7...v1.1.0

Release 1.1.0-rc.1

Release 1.1.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@thunderbiscuit thunderbiscuit released this 26 Feb 18:59
v1.1.0-rc.1
bc9f706

This is our first 1.0 release candidate! Please consider helping us test it and provide feedback if you have any.

Dependencies

This release uses the following Rust dependencies:

Library Version
bdk_wallet 1.1.0
bdk_electrum 0.21.0
bdk_esplora 0.20.1
rust-bitcoin 0.32.5
uniffi 0.29.0

Changelog

Added

  • Expose ElectrumClient::block_headers_subscribe method #664
  • Expose EsploraClient::get_block_hash method #665
  • Expose EsploraClient::get_tx_status method #666
  • Expose EsploraClient::get_tx_info method #666
  • Support for Testnet 4 #674
  • Add AddressData and WitnessProgram types from rust bitcoin #671
  • Expose Address::to_address_data method #671

Changed

  • More complete LocalOutput type #667

Automated Release Notes

Full Changelog: v1.0.0-beta.7...v1.1.0-rc.1

Release 0.32.1

Release 0.32.1 Pre-release
Pre-release

Choose a tag to compare

@thunderbiscuit thunderbiscuit released this 25 Feb 19:57
v0.32.1
bb06f08

This is a patch release that bumps the Rust bdk library to 0.30.2.

See https://github.com/bitcoindevkit/bdk/releases/tag/v0.30.2 for details!

v1.0.0-beta.7

v1.0.0-beta.7 Pre-release
Pre-release

Choose a tag to compare

@reez reez released this 28 Jan 00:49
v1.0.0-beta.7
3a8f3e3

This release updates the bdk-ffi libraries to the final bdk_wallet 1.0.0 release, and related libraries (Esplora, Electrum, etc.), as well as adds new methods and types.

Added:

  • ElectrumClient::server_features #641
  • ServerFeaturesRes struct #641
  • ElectrumClient::estimate_fee #641
  • EsploraClient::get_fee_estimates #648
  • New optional argument sign_options on Wallet::sign and Wallet::finalize_psbt #650

Changed:

  • The full_scan and sync methods on the Electrum and Esplora clients now take a renamed request argument #642
  • ElectrumClient::broadcast was renamed ElectrumClient::transaction_broadcast to mirror the Rust API #642

What's Changed

Full Changelog: v1.0.0-beta.6...v1.0.0-beta.7