Releases: bitcoindevkit/bdk-ffi
Release 1.0.0-beta.5
This release updates the bdk-ffi libraries to the latest bdk_wallet 1.0.0-beta.5 and related libraries (Esplora, Electrum, etc.).
Changelog
Added
EsploraClient
- get_tx
#598
Wallet
- peek_address
#599
- next_derivation_index
#599
- next_unused_address
#599
- mark_used
#599
- reveal_addresses_to
#599
- list_unused_addresses
#599
- descriptor_checksum
#603
- finalize_psbt
#604
- cancel_tx
#601
- get_utxo
#601
- derivation_of_spk
#601
TxBuilder
- set_exact_sequence
#600
Changed
Wallet
- corrected argument name in reveal_next_address
#599
Removed
TxBuilder
- enable_rbf
#600
What's Changed
- chore: small fixes for swift packaging by @notmandatory in #588
- Bump Rust libraries to beta 4 by @thunderbiscuit in #589
- Small refactors by @thunderbiscuit in #590
- Post beta 2 cleanup by @thunderbiscuit in #595
- feat: esplora client get_tx by @reez in #598
- Use shell scripts to build bdk-jvm and bdk-android by @thunderbiscuit in #584
- Add missing Wallet APIs related to revealing and querying the wallet for addresses and indices by @thunderbiscuit in #599
- deps: bump bdk to beta_5 by @reez in #600
- Remove dependency on bdk_bitcoind_rpc by @thunderbiscuit in #602
- Add descriptor checksum to wallet by @rustaceanrob in #603
- Add
finalize_psbt
method to wallet by @rustaceanrob in #604 - Add wallet apis by @thunderbiscuit in #601
Full Changelog: v1.0.0-beta.2...v1.0.0-beta.5
Release 1.0.0-beta.2
This release updates the bdk-ffi libraries to the latest bdk_wallet 1.0.0-beta.2 and related libraries (Esplora, Electrum, etc.), as well as uses the latest uniffi-rs library version 0.28.0. The releases now depend on bitcoin-ffi for the types that are exposed from the rust-bitcoin org. It also bumps the minimum supported Android API level to 24 (Android Nougat).
Changelog
Added
- SQLite persistence through bdk_sqlite #544
- The
Address
,DescriptorSecretKey
,DescriptorPublicKey
,Mnemonic
, andDescriptor
types now have thetoString()
method implemented on them by default #551 - Address.from_script() #554
- New
FromScriptError
#561 - New type
ChangeSet
#561 - Wallet constructors do not take a persistence path anymore #561
Wallet.get_balance()
method renamed tobalance()
#561- Add
add_global_xpubs()
method onTxBuilder
#574 - Add
wallet.derivation_index
method on Wallet type #579 - Add
wallet.persist
method on Wallet type #582 - Add
Connection
type #582
Changed
AddressError
is replaced byAddressParseError
#561- New variants in
CalculateFeeError
#561 - New variants in
CreateTxError
#561 - New variants in
ParseAmountError
#561 - New variants in
SignerError
#561 - New variants in
WalletCreationError
#561 Wallet.calculate_fee()
returns anAmount
#561- Renamed
Transaction.txid()
toTransaction.compute_txid()
#561
Removed
- flat file persistence #544
What's Changed
- Post Alpha 11 Changes by @thunderbiscuit in #543
- Inspect spks on Requests by @reez in #537
- Upgrade uniffi dependency to 0.27.1 by @thunderbiscuit in #545
- Bring back PSBT methods by @thunderbiscuit in #532
- Update bdk_wallet to alpha 12 by @thunderbiscuit in #544
- Remove Ruby config in uniffi.toml by @thunderbiscuit in #549
- chore(swift): add new live tests to justfile and ci workflow by @reez in #553
- Callback to Foreign Trait by @reez in #555
- Use
Display
trait to auto-populate the toString method anddescription
fields by @thunderbiscuit in #551 - Add address from_script method by @reez in #554
- Add display trait to mnemonic by @reez in #558
- Add display trait to descriptor by @reez in #559
- chore(swift): update build-local-swift.sh to use xcodebuild tool by @notmandatory in #557
- Bump minimum supported Android version to 24 by @thunderbiscuit in #560
- Bump uniffi to 0.28.0 #562 by @ItoroD in #564
- Bump bdk_wallet to alpha 13 by @thunderbiscuit in #561
- Clean up import paths that use blockdata by @reez in #568
- Build python wheels using
manylinux_2_28_x86_64
by @thunderbiscuit in #575 - deps: bump bdk to beta-2 by @rustaceanrob in #582
- Expose
add_global_xpubs()
method on transaction builder by @thunderbiscuit in #574 - Expose derivation_index method on wallet type by @thunderbiscuit in #579
- Use external uniffi library for rust-bitcoin types by @thunderbiscuit in #546
- feat: extract_keys by @reez in #586
New Contributors
- @ItoroD made their first contribution in #564
- @rustaceanrob made their first contribution in #582
Full Changelog: v1.0.0-alpha.11...v1.0.0-beta.2
Release 1.0.0-alpha.11
Summary
This release brings the latest alpha 11 release of the Rust bdk_wallet library, as well as the new Electrum client, the new memory wallet, and a whole lot of new types and APIs across the library. Also of note are the much simpler-to-use full_scan and sync workflows for syncing wallets.
Changelog
Added:
Amount
type #533TxIn
type #536Transaction.input()
method #536Transaction.output()
method #536Transaction.lock_time()
method #536Electrum
client #535- Memory wallet #528
Full Changelog: v1.0.0-alpha.9...v1.0.0-alpha.11
Release 1.0.0-alpha.9
Summary
This release brings the latest alpha 9 release of the Rust bdk library, as well as new error types, support for Python 3.11 and 3.12, the new CannonicalTx type, better build workflows, and a number of new APIs for the Wallet, Transaction, and other types.
What's Changed
- Post-release fixes by @thunderbiscuit in #478
- Add just files to streamline common tasks by @thunderbiscuit in #479
- Use walleterror for error handling in try_get_internal_address by @reez in #460
- Enable using swift local build script from bdk-swift directory by @thunderbiscuit in #471
- Release for Python 3.11 and 3.12 by @thunderbiscuit in #481
- Add test for
WalletCreationError
by @reez in #484 - Gradle updates by @thunderbiscuit in #480
- Bump bdk to alpha 8 by @thunderbiscuit in #482
- Add transaction details by @reez in #486
- Android build small fixes by @thunderbiscuit in #487
- Expose a whole lot of errors by @thunderbiscuit in #485
- Expose new methods on wallet by @thunderbiscuit in #488
- Remove bdk-jvm and bdk-android examples from readmes by @thunderbiscuit in #489
- Bump bdk version to alpha 9 by @thunderbiscuit in #491
- Serialize a raw transaction into bytes by @thunderbiscuit in #496
- Add broadcast related error by @reez in #493
- Prepare libraries for alpha 9 release by @thunderbiscuit in #501
- Bump Rust compiler to 1.77.1 by @thunderbiscuit in #502
Full Changelog: v1.0.0-alpha.7...v1.0.0-alpha.9
v1.0.0-alpha.7
Release 1.0.0-alpha.7
Summary
This release brings back into the 1.0 API a number of APIs from the 0.31 release, and adds the new flat file persistence feature, as well as more fine-grain errors.
What's Changed
- Update workflows and docs for new releases by @thunderbiscuit in #426
- refactor: restructure balance by @reez in #415
- feat: add new types module by @thunderbiscuit in #429
- Add sent_and_received method on Wallet by @reez in #428
- Add Architectural Decision Record directory by @thunderbiscuit in #412
- Add methods on Txbuilder by @thunderbiscuit in #430
- Add transactions method on wallet by @reez in #432
- Use Byref in udl instead of Arc in Rust code when possible by @thunderbiscuit in #434
- Delete all API docs to prepare for the new 1.0 API docs by @thunderbiscuit in #435
- Add is_valid_for_network to address by @reez in #440
- Add calculate_fee and calculate_fee_rate on wallet by @reez in #437
- Upgrade Rust bdk to alpha 3 by @thunderbiscuit in #441
- Fix: rename esplora scan to full_scan by @thunderbiscuit in #442
- feat: use FeeRate type in TxBuilder by @reez in #444
- docs: add 0.31.0 release to changelog by @thunderbiscuit in #448
- chore: remove swiftsettings from bdk-swift by @reez in #449
- Bump rust dependencies to alpha 4 versions by @reez in #450
- Bump rust dependencies to alpha 5 versions by @reez in #452
- Bump uniffi to 0.26 by @reez in #451
- Bump rust dependencies to alpha 6 versions by @reez in #458
- Wallet persistence by @thunderbiscuit in #436
- Add esplora error by @reez in #456
- Fix live tests by @reez in #462
- (post-BDK1.0) Update bdk-swift framework info.plist for xcode 15.3 reqs by @reez in #465
- Bump bdk to alpha 7 by @thunderbiscuit in #468
- Use
thiserror
library to handle error creation by @thunderbiscuit in #470 - Bump library version to alpha.7 by @thunderbiscuit in #474
- Bump bindings libs by @thunderbiscuit in #477
Full Changelog: v1.0.0-alpha.2a...v1.0.0-alpha.7
v0.31.0
Summary
This release updates the bindings libraries to bdk version 0.29.0, updating rust-bitcoin to version 0.30.2.
Changelog
- APIs Changed:
- APIs Added:
- The
Address
type now has theis_valid_for_network()
method #443
- The
v1.0.0-alpha.2a
Summary
This release is the first alpha release of the 1.0 API for the bindings libraries. 🎉
Changelog
- Create and recover wallets using descriptors, including the four descriptor templates
- Sync a wallet using a blocking Esplora client
- Query the wallet for balance and addresses
- Create and sign transactions using the transaction builder
- Broadcast transactions
What's Changed
- Bump snapshot and dev versions of libraries by @thunderbiscuit in #401
- Update bdk version to 1.0.0-alpha.2 by @thunderbiscuit in #402
- Add scan method on esplora client by @thunderbiscuit in #409
- tests: update all tests by @reez in #410
- Add TxBuilder, Script, Transaction, and PartiallySignedTransaction by @thunderbiscuit in #406
- Add workflow for live tests with manual trigger and weekly schedule by @thunderbiscuit in #411
- Bump Rust compiler to 1.73.0 and update uniffi to 0.25.1 by @thunderbiscuit in #414
- docs: add/update android+ios readme example project links by @reez in #416
- fix: handle parsing and network errors in address new by @reez in #417
- Add methods on the TxBuilder by @thunderbiscuit in #418
- Add broadcast method on Esplora client by @thunderbiscuit in #420
- Prepare language bindings libraries for 1.0.0 alpha2 rc1 release by @thunderbiscuit in #422
- Update libraries to official release versions by @thunderbiscuit in #425
Full Changelog: v0.30.0...v1.0.0-alpha.2a
v0.30.0
Summary
This release has a new API and a few internal optimizations and refactorings.
Changelog
- APIs Added
- Add BIP-86 descriptor templates #388
What's Changed
- Use macos-13 image to test and publish Python libraries by @thunderbiscuit in #374
- Add Windows target to Kotlin/JVM published library by @thunderbiscuit in #380
- Fix CI bdk-jvm by @thunderbiscuit in #382
- Update CI actions to latest versions by @thunderbiscuit in #383
- ci: fix to work with bdk 0.28.2 and msrv 1.61.0 by @notmandatory in #389
- feat(descriptor): add bip-86 template by @reez in #388
- refactor: rename inner field names by @reez in #393
- refactor(keys): remove unused mutex by @thunderbiscuit in #392
- Update webpki dependency as per RUSTSEC-2023-0052 by @thunderbiscuit in #395
- chore: update library version to 0.30.0 by @thunderbiscuit in #397
- Prepare language bindings libraries for 0.30 release by @thunderbiscuit in #399
- chore: update libraries to official release versions by @thunderbiscuit in #400
Full Changelog: v0.29.0...v0.30.0
v0.29.0
Summary
This release has a number of new APIs.
Changelog
- Drop support of pypy releases of Python libraries #351
- Drop support for very old Linux versions that do not support the manylinux_2_17_x86_64 platform tag #351
- Add support for Windows in bdk-jvm #336
- Add support for older version of Linux distros in bdk-jvm #345
- APIs added
What's Changed
- Bump snapshot versions by @thunderbiscuit in #344
- Fix bdk-swift/build-local-swift.sh for aarch64-apple-ios-sim by @notmandatory in #352
- Add is_mine method to Wallet type by @thunderbiscuit in #355
- github: add feature request issue template by @reez in #361
- added support for x86_64-pc-windows-msvc 64-bit MSVC by @yellowHatpro in #336
- Align JVM target version for Kotlin and Java compile tasks by @thunderbiscuit in #364
- Update bdk-swift local build script by @notmandatory in #356
- [swift] suppress keyword escape warnings by @notmandatory in #365
- Expose Script.to_bytes() method by @thunderbiscuit in #369
- Update library version to 0.29.0 by @thunderbiscuit in #371
- Prepare language bindings libraries for 0.29 release by @thunderbiscuit in #372
- Update libraries to official release versions by @thunderbiscuit in #373
New Contributors
- @yellowHatpro made their first contribution in #336
- @reez made their first contribution in #361
Full Changelog: v0.28.0...v0.29.0
v0.28.0
Summary
This release updates BDK to 0.28.0 and has a number of new APIs.
Changelog
- Update BDK to version 0.28.0 [#341]
- Remove support for Python 3.6 and 3.7 [#345]
- APIs changed:
- Expose Address payload and network properties. [#325]
- Add SignOptions to Wallet.sign() params. [#326]
- address field on
AddressInfo
type is now of typeAddress
[#333] - new PartiallySignedTransaction.json_serialize() function to get JSON serialized value of all PSBT fields. [#334]
- Add from_script constructor to
Address
type [#337]
What's Changed
- Bump snapshot and dev versions of libraries by @thunderbiscuit in #317
- Bump uniffi-rs dependency to 0.23.0 by @thunderbiscuit in #299
- Streamline CI workflows by @thunderbiscuit in #321
- Expose more of the Transaction type by @thunderbiscuit in #307
- Expose Address payload and network properties by @notmandatory in #325
- Add SignOptions to Wallet.sign() params by @notmandatory in #326
- Fix bdk-android publishing CI workflow by @thunderbiscuit in #330
- Remove bdk-ffi-bindgen tool section in root readme by @thunderbiscuit in #331
- Use Address type in address field on AddressInfo by @thunderbiscuit in #333
- Use version 21 of the Android NDK in the CI test, build, and publish workflows by @thunderbiscuit in #335
- Added from_script constructor to Address by @andreasgriffin in #337
- Add PartiallySignedTransaction.json_serialize() function by @notmandatory in #334
- Update bdk to 0.28 by @notmandatory in #341
- Prepare language bindings libraries for 0.28 release by @thunderbiscuit in #342
- Update libraries to official release versions by @thunderbiscuit in #343
New Contributors
- @andreasgriffin made their first contribution in #337
Full Changelog: v0.27.1...v0.28.0