Releases: bitcoindevkit/bdk-ffi
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
Release 0.27.1
Summary
This release updates BDK to 0.27.1 and has a number of new APIs.
Changelog
- Update BDK to latest version 0.27.1 #312
- APIs changed
- APIs added
What's Changed
- expose estimate_fee api by @shobitb in #289
- Refactor Rust code by @thunderbiscuit in #286
- Add Transaction struct, update PSBT and Blockchain to use it by @notmandatory in #296
- Fix Python release workflow by @thunderbiscuit in #298
- Expose/get internal address by @xsats in #304
- Features/getaddress peek + reset by @xsats in #305
- Bump bdk version to 0.27 and bdk-ffi to 0.27.0 by @thunderbiscuit in #308
- Update bdk from 0.27 to 0.27.1 by @notmandatory in #312
- Prepare language bindings libraries for 0.27 release by @thunderbiscuit in #315
- Update libraries to official release versions by @thunderbiscuit in #316
New Contributors
Full Changelog: v0.26.0...v0.27.1
Release 0.26.0
Summary
This release updates BDK to 0.26.0
and has a number of breaking changes and new APIs.
Changelog
- Update BDK to latest version
0.26.0
#288 - APIs changed
- APIs added
- Added
RpcConfig
,BlockchainConfig::Rpc
, andAuth
#125 - Added
Descriptor
type in #260 with the following methods:- Default constuctor requires a descriptor in String format and a Network
- new_bip44 constuctor returns a Descriptor with structure
pkh(key/44'/{0,1}'/0'/{0,1}/*)
- new_bip44_public constructor returns a Descriptor with structure
pkh(key/{0,1}/*)
- new_bip49 constructor returns a Descriptor with structure
sh(wpkh(key/49'/{0,1}'/0'/{0,1}/*))
- new_bip49_public constructor returns a Descriptor with structure
sh(wpkh(key/{0,1}/*))
- new_bip84 constructor returns a Descriptor with structure
wpkh(key/84'/{0,1}'/0'/{0,1}/*)
- new_bip84_public constructor returns a Descriptor with structure
wpkh(key/{0,1}/*)
- as_string returns the public version of the output descriptor
- as_string_private returns the private version of the output descriptor if available, otherwise return the public version
- Added
What's Changed
- Bump snapshot and dev libraries' versions by @thunderbiscuit in #278
- Change TxBuilder.drain_to argument to Script instead of address String by @notmandatory in #279
- Add RpcConfig, BlockchainConfig::Rpc, and Auth by @notmandatory in #125
- Compile libraries before tests by @thunderbiscuit in #281
- Add JNA issue fix in documentation and api-docs readme by @thunderbiscuit in #280
- Add descriptor templates by @thunderbiscuit in #260
- Update Wallet.getBalance doc to reflect Balance return type by @shobitb in #285
- Bump bdk-ff version to 0.26.0 and bdk version to 0.26 by @notmandatory in #288
- Prepare libraries for 0.26.0 release by @thunderbiscuit in #290
- Update libraries to official release versions by @thunderbiscuit in #293
New Contributors
Full Changelog: v0.25.0...v0.26.0
Release 0.25.0
Changelog
- Update BDK to latest version 0.25.0 #272
- APIs Added:
- from_string() constructors now available on DescriptorSecretKey and DescriptorPublicKey #247
What's Changed
- Merge python ffi by @thunderbiscuit in #228
- bdk-kotlin ffi merge by @thunderbiscuit in #230
- Clean up root readme and add individual libraries' readmes by @thunderbiscuit in #248
- Add bdk-swift by @notmandatory in #259
- Add uniffi-bindings-template link to readme by @thunderbiscuit in #264
- Replace AddressAmount with ScriptAmount in Kotlin API docs by @thunderbiscuit in #263
- Add from_string() methods to DescriptorPrivateKey and DescriptorPublicKey by @thunderbiscuit in #247
- Fix artifact upload path in JVM CI publishing workflow by @thunderbiscuit in #269
- Fix jvm and android library version defined in two places by @thunderbiscuit in #271
- Bump bdk version to 0.25.0 by @thunderbiscuit in #272
- Prepare language bindings libraries for 0.25 release by @thunderbiscuit in #275
- Update libraries to official releases' versions by @thunderbiscuit in #277
Full Changelog: v0.11.0...v0.25.0
Release 0.11.0
Summary
This release updates BDK to 0.24
and has a number of breaking changes and new APIs. See changelog for all the details.
Changelog
- Update BDK to latest version 0.24.0 #221
- APIs changed
- The constructor on the
DescriptorSecretKey
type now takes aMnemonic
instead of aString
.
- The constructor on the
- APIs added
- Added
Mnemonic
struct #219 with following methods:new(word_count: WordCount)
generates and returnsMnemonic
with random entropyfrom_string(mnemonic: String)
converts string Mnemonic toMnemonic
type with errorfrom_entropy(entropy: Vec<u8>)
generates and returnsMnemonic
with given entropyas_string()
viewMnemonic
as string
- Added
- APIs removed #219
generate_mnemonic(word_count: WordCount)
What's Changed
- Add simple kotlin, swift and python integration tests by @notmandatory in #215
- Add build profile 'release-smaller' by @notmandatory in #220
- Added Mnemonic Interface by @dhruv-1001 in #219
- Bump bdk version to 0.24.0 by @thunderbiscuit in #221
- Add FeeRate struct and PSBT fee_amount and fee_rate functions by @notmandatory in #208
- Refactor from_str() method on the Mnemonic struct to from_string() by @thunderbiscuit in #224
- Bump version to 0.11.0 by @thunderbiscuit in #225
Full Changelog: v0.10.0...v0.11.0
Release 0.10.0
Summary
This release updates BDK to 0.23 and has a number of breaking changes and new apis. See changelog for all the details.
Changelog
-
Update BDK to latest version 0.23.0 #204
-
Update uniffi-rs to latest version 0.21.0 #216
-
Breaking Changes
-
APIs Added
What's Changed
- Add release templates and dev cycle docs, update changelog process by @notmandatory in #202
- Add
combine()
method on PSBT by @thunderbiscuit in #200 - Add ability to retrieve private keys as bytes by @thunderbiscuit in #199
- Update uniffi-rs to 0.20.0 by @thunderbiscuit in #203
- Bump bdk depencency to 0.23.0 by @thunderbiscuit in #204
- Remove BdkError type alias by @thunderbiscuit in #201
- Make
add_recipient()
take any ScriptPubKey by @thunderbiscuit in #192 - Change TxBuilder.finish() to return new TxBuilderResult by @notmandatory in #209
- Bump version to 0.10.0 by @notmandatory in #211
Full Changelog: v0.9.0...v0.10.0