2022-02-27 21:17:37 -08:00
|
|
|
# Changelog
|
2022-09-29 11:18:27 -05:00
|
|
|
All notable changes to this project prior to release **0.9.0** are documented in this file. Future
|
|
|
|
changelog information can be found in each release's git tag and can be viewed with `git tag -ln100 "v*"`.
|
|
|
|
Changelog info is also documented on the [GitHub releases](https://github.com/bitcoindevkit/bdk-ffi/releases)
|
|
|
|
page. See [DEVELOPMENT_CYCLE.md](DEVELOPMENT_CYCLE.md) for more details.
|
2022-02-27 21:17:37 -08:00
|
|
|
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
|
2023-02-21 15:42:50 -05:00
|
|
|
## [v0.27.1]
|
|
|
|
- Update BDK to latest version 0.27.1 [#312]
|
|
|
|
- APIs changed
|
|
|
|
- `PartiallySignedTransaction.extract_tx()` returns a `Transaction` instead of the transaction bytes. [#296]
|
|
|
|
- `Blockchain.broadcast()` takes a `Transaction` instead of a `PartiallySignedTransaction`. [#296]
|
|
|
|
- APIs added
|
|
|
|
- New `Transaction` structure that can be created from or serialized to consensus encoded bytes. [#296]
|
|
|
|
- Add Wallet.get_internal_address() API [#304]
|
|
|
|
- Add `AddressIndex::Peek(index)` and `AddressIndex::Reset(index)` APIs [#305]
|
|
|
|
|
|
|
|
[#296]: https://github.com/bitcoindevkit/bdk-ffi/pull/296
|
|
|
|
[#304]: https://github.com/bitcoindevkit/bdk-ffi/pull/304
|
|
|
|
[#305]: https://github.com/bitcoindevkit/bdk-ffi/pull/305
|
|
|
|
[#312]: https://github.com/bitcoindevkit/bdk-ffi/pull/312
|
|
|
|
|
|
|
|
## [v0.26.0]
|
|
|
|
- Update BDK to latest version 0.26.0 [#288]
|
|
|
|
- APIs changed
|
|
|
|
- The descriptor and change_descriptor arguments on the wallet constructor now take a `Descriptor` instead of a `String`. [#260]
|
|
|
|
- TxBuilder.drain_to() argument is now `Script` instead of address `String`. [#279]
|
|
|
|
- APIs added
|
|
|
|
- Added RpcConfig, BlockchainConfig::Rpc, and Auth [#125]
|
|
|
|
- Added Descriptor type in [#260] with the following methods:
|
|
|
|
- Default constructor requires a descriptor in String format and a Network
|
|
|
|
- new_bip44 constructor 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
|
|
|
|
|
|
|
|
[#125]: https://github.com/bitcoindevkit/bdk-ffi/pull/125
|
|
|
|
[#260]: https://github.com/bitcoindevkit/bdk-ffi/pull/260
|
|
|
|
[#279]: https://github.com/bitcoindevkit/bdk-ffi/pull/279
|
|
|
|
[#288]: https://github.com/bitcoindevkit/bdk-ffi/pull/288
|
|
|
|
|
|
|
|
## [v0.25.0]
|
|
|
|
- Update BDK to latest version 0.25.0 [#272]
|
|
|
|
- APIs Added:
|
|
|
|
- from_string() constructors now available on DescriptorSecretKey and DescriptorPublicKey [#247]
|
|
|
|
|
|
|
|
[#247]: https://github.com/bitcoindevkit/bdk-ffi/pull/247
|
|
|
|
[#272]: https://github.com/bitcoindevkit/bdk-ffi/pull/272
|
|
|
|
|
|
|
|
## [v0.11.0]
|
|
|
|
- Update BDK to latest version 0.24.0 [#221]
|
|
|
|
- APIs changed
|
|
|
|
- The constructor on the DescriptorSecretKey type now takes a Mnemonic instead of a String.
|
|
|
|
- APIs added
|
|
|
|
- Added Mnemonic struct [#219] with following methods:
|
|
|
|
- new(word_count: WordCount) generates and returns Mnemonic with random entropy
|
|
|
|
- from_string(mnemonic: String) converts string Mnemonic to Mnemonic type with error
|
|
|
|
- from_entropy(entropy: Vec<u8>) generates and returns Mnemonic with given entropy
|
|
|
|
- as_string() view Mnemonic as string
|
|
|
|
- APIs removed
|
|
|
|
- generate_mnemonic(word_count: WordCount)
|
|
|
|
|
|
|
|
[#219]: https://github.com/bitcoindevkit/bdk-ffi/pull/219
|
|
|
|
[#221]: https://github.com/bitcoindevkit/bdk-ffi/pull/221
|
|
|
|
|
|
|
|
## [v0.10.0]
|
|
|
|
- Update BDK to latest version 0.23.0 [#204]
|
|
|
|
- Update uniffi-rs to latest version 0.21.0 [#216]
|
|
|
|
- Breaking Changes
|
|
|
|
- Changed `TxBuilder.finish()` to return new `TxBuilderResult` [#209]
|
|
|
|
- `TxBuilder.add_recipient()` now takes a `Script` instead of an `Address` [#192]
|
|
|
|
- `AddressAmount` is now `ScriptAmount` [#192]
|
|
|
|
- APIs Added
|
|
|
|
- Added `TxBuilderResult` with PSBT and TransactionDetails [#209]
|
|
|
|
- `Address` and `Script` structs have been added [#192]
|
|
|
|
- Add `PartiallySignedBitcoinTransaction.extract_tx()` function [#192]
|
|
|
|
- Add `secret_bytes()` method on the `DescriptorSecretKey` [#199]
|
|
|
|
- Add `PartiallySignedBitcoinTransaction.combine()` method [#200]
|
|
|
|
|
|
|
|
[#192]: https://github.com/bitcoindevkit/bdk-ffi/pull/192
|
|
|
|
[#199]: https://github.com/bitcoindevkit/bdk-ffi/pull/199
|
|
|
|
[#200]: https://github.com/bitcoindevkit/bdk-ffi/pull/200
|
|
|
|
[#204]: https://github.com/bitcoindevkit/bdk-ffi/pull/204
|
|
|
|
[#209]: https://github.com/bitcoindevkit/bdk-ffi/pull/209
|
|
|
|
[#216]: https://github.com/bitcoindevkit/bdk-ffi/pull/216
|
2022-08-29 06:58:46 -07:00
|
|
|
|
2022-09-08 15:17:35 -04:00
|
|
|
## [v0.9.0]
|
2022-08-18 14:35:17 -04:00
|
|
|
- Breaking Changes
|
|
|
|
- Rename `get_network()` method on `Wallet` interface to `network()` [#185]
|
|
|
|
- Rename `get_transactions()` method on `Wallet` interface to `list_transactions()` [#185]
|
|
|
|
- Remove `generate_extended_key`, returned ExtendedKeyInfo [#154]
|
|
|
|
- Remove `restore_extended_key`, returned ExtendedKeyInfo [#154]
|
|
|
|
- Remove dictionary `ExtendedKeyInfo {mnenonic, xprv, fingerprint}` [#154]
|
2022-09-05 11:02:29 -07:00
|
|
|
- Remove interface `Transaction` [#190]
|
|
|
|
- Changed `Wallet` interface `list_transaction()` to return array of `TransactionDetails` [#190]
|
2022-09-01 14:04:36 -04:00
|
|
|
- Update `bdk` dependency version to 0.22 [#193]
|
2022-08-09 14:43:06 +05:30
|
|
|
- APIs Added [#154]
|
|
|
|
- `generate_mnemonic()`, returns string mnemonic
|
|
|
|
- `interface DescriptorSecretKey`
|
|
|
|
- `new(Network, string_mnenoinc, password)`, contructs DescriptorSecretKey
|
|
|
|
- `derive(DerivationPath)`, derives and returns child DescriptorSecretKey
|
|
|
|
- `extend(DerivationPath)`, extends and returns DescriptorSecretKey
|
|
|
|
- `as_public()`, returns DescriptorSecretKey as DescriptorPublicKey
|
|
|
|
- `as_string()`, returns DescriptorSecretKey as String
|
|
|
|
- `interface DescriptorPublicKey`
|
|
|
|
- `derive(DerivationPath)` derives and returns child DescriptorPublicKey
|
|
|
|
- `extend(DerivationPath)` extends and returns DescriptorPublicKey
|
|
|
|
- `as_string()` returns DescriptorPublicKey as String
|
2022-08-18 14:04:31 -04:00
|
|
|
- Add to `interface Blockchain` the `get_height()` and `get_block_hash()` methods [#184]
|
2022-09-05 11:02:29 -07:00
|
|
|
- Add to `interface TxBuilder` the `set_recipients(recipient: Vec<AddressAmount>)` method [#186]
|
|
|
|
- Add to `dictionary TransactionDetails` the `confirmation_time` field [#190]
|
2022-08-09 14:43:06 +05:30
|
|
|
- Interfaces Added [#154]
|
|
|
|
- `DescriptorSecretKey`
|
|
|
|
- `DescriptorPublicKey`
|
|
|
|
- `DerivationPath`
|
2022-08-17 16:43:17 -04:00
|
|
|
|
2022-08-09 14:43:06 +05:30
|
|
|
[#154]: https://github.com/bitcoindevkit/bdk-ffi/pull/154
|
2022-08-17 16:43:17 -04:00
|
|
|
[#184]: https://github.com/bitcoindevkit/bdk-ffi/pull/184
|
2022-08-18 14:35:17 -04:00
|
|
|
[#185]: https://github.com/bitcoindevkit/bdk-ffi/pull/185
|
2022-09-01 14:04:36 -04:00
|
|
|
[#193]: https://github.com/bitcoindevkit/bdk-ffi/pull/193
|
2022-02-27 21:17:37 -08:00
|
|
|
|
2022-07-29 14:08:23 -04:00
|
|
|
## [v0.8.0]
|
|
|
|
- Update BDK to version 0.20.0 [#169]
|
2022-07-12 12:05:31 -04:00
|
|
|
- APIs Added
|
2022-07-29 14:08:23 -04:00
|
|
|
- `TxBuilder.add_data(data: Vec<u8>)` [#163]
|
|
|
|
- `Wallet.list_unspent()` returns `Vec<LocalUtxo>` [#158]
|
|
|
|
- Add coin control methods on TxBuilder [#164]
|
|
|
|
|
|
|
|
[#163]: https://github.com/bitcoindevkit/bdk-ffi/pull/163
|
|
|
|
[#158]: https://github.com/bitcoindevkit/bdk-ffi/pull/158
|
|
|
|
[#164]: https://github.com/bitcoindevkit/bdk-ffi/pull/164
|
|
|
|
[#169]: https://github.com/bitcoindevkit/bdk-ffi/pull/169
|
2022-09-05 11:02:29 -07:00
|
|
|
[#190]: https://github.com/bitcoindevkit/bdk-ffi/pull/190
|
2022-07-12 12:05:31 -04:00
|
|
|
|
2022-06-14 10:45:35 -07:00
|
|
|
## [v0.7.0]
|
2022-06-10 11:23:15 -07:00
|
|
|
- Update BDK to version 0.19.0
|
|
|
|
- fixes sqlite-db issue causing wrong balance
|
|
|
|
- adds experimental taproot descriptor and PSBT support
|
2022-06-14 10:45:35 -07:00
|
|
|
- APIs Removed
|
|
|
|
- `Wallet.get_new_address()`, returned String, [#137]
|
|
|
|
- `Wallet.get_last_unused_address()`, returned String [#137]
|
|
|
|
- APIs Added
|
|
|
|
- `Wallet.get_address(AddressIndex)`, returns `AddressInfo` [#137]
|
|
|
|
- APIs Changed
|
|
|
|
- `Wallet.sign(PartiallySignedBitcoinTransaction)` now returns a bool, true if finalized [#161]
|
|
|
|
|
|
|
|
[#137]: https://github.com/bitcoindevkit/bdk-ffi/pull/137
|
|
|
|
[#161]: https://github.com/bitcoindevkit/bdk-ffi/pull/161
|
2022-06-10 11:23:15 -07:00
|
|
|
|
2022-05-10 22:41:48 -07:00
|
|
|
## [v0.6.0]
|
2022-05-02 16:17:27 -07:00
|
|
|
- Update BDK to version 0.18.0
|
2022-05-02 19:23:47 -07:00
|
|
|
- Add BumpFeeTxBuilder to bump the fee on an unconfirmed tx created by the Wallet
|
2022-05-06 09:52:20 -07:00
|
|
|
- Change TxBuilder.build() to TxBuilder.finish() to align with bdk function name
|
2022-05-02 16:17:27 -07:00
|
|
|
|
2022-04-01 19:15:58 -07:00
|
|
|
## [v0.5.0]
|
2022-03-15 20:11:33 -05:00
|
|
|
- Fix Wallet.broadcast function, now returns a tx id as a hex string
|
2022-04-01 19:15:58 -07:00
|
|
|
- Remove creating a new spending Transaction via the PartiallySignedBitcoinTransaction constructor
|
|
|
|
- Add TxBuilder for creating new spending PartiallySignedBitcoinTransaction
|
|
|
|
- Add TxBuilder .add_recipient, .fee_rate, and .build functions
|
|
|
|
- Add TxBuilder .drain_wallet and .drain_to functions
|
|
|
|
- Update generate cli tool to generate all binding languages and rename to bdk-ffi-bindgen
|
2022-03-15 20:11:33 -05:00
|
|
|
|
2022-03-14 14:38:58 -05:00
|
|
|
## [v0.4.0]
|
|
|
|
- Add dual license MIT and Apache 2.0
|
|
|
|
- Add sqlite database support
|
|
|
|
- Fix memory database configuration enum, remove junk field
|
|
|
|
|
|
|
|
## [v0.3.1]
|
|
|
|
- Remove hard coded sync progress value (was always returning 21.0)
|
|
|
|
|
2022-02-27 21:17:37 -08:00
|
|
|
## [v0.3.0]
|
|
|
|
- Move bdk-kotlin bindings and ios example to separate repos
|
|
|
|
- Add bin to generate Python bindings
|
|
|
|
- Add `PartiallySignedBitcoinTransaction::deserialize` function as named constructor to decode from a string per [BIP 0174]
|
|
|
|
- Add `PartiallySignedBitcoinTransaction::serialize` function to encode to a string per [BIP 0174]
|
|
|
|
- Remove `PartiallySignedBitcoinTransaction.details` struct field
|
|
|
|
|
|
|
|
[BIP 0174]:https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki#encoding
|
|
|
|
|
|
|
|
## [v0.2.0]
|
|
|
|
|
2023-02-21 15:42:50 -05:00
|
|
|
[v0.27.1]: https://github.com/bitcoindevkit/bdk-ffi/compare/v0.26.0...v0.27.1
|
|
|
|
[v0.26.0]: https://github.com/bitcoindevkit/bdk-ffi/compare/v0.25.0...v0.26.0
|
|
|
|
[v0.25.0]: https://github.com/bitcoindevkit/bdk-ffi/compare/v0.11.0...v0.25.0
|
|
|
|
[v0.11.0]: https://github.com/bitcoindevkit/bdk-ffi/compare/v0.10.0...v0.11.0
|
|
|
|
[v0.10.0]: https://github.com/bitcoindevkit/bdk-ffi/compare/v0.9.0...v0.10.0
|
2022-09-08 15:17:35 -04:00
|
|
|
[v0.9.0]: https://github.com/bitcoindevkit/bdk-ffi/compare/v0.8.0...v0.9.0
|
2022-07-29 14:08:23 -04:00
|
|
|
[v0.8.0]: https://github.com/bitcoindevkit/bdk-ffi/compare/v0.7.0...v0.8.0
|
2022-06-14 10:45:35 -07:00
|
|
|
[v0.7.0]: https://github.com/bitcoindevkit/bdk-ffi/compare/v0.6.0...v0.7.0
|
2022-05-10 22:41:48 -07:00
|
|
|
[v0.6.0]: https://github.com/bitcoindevkit/bdk-ffi/compare/v0.5.0...v0.6.0
|
2022-04-01 19:15:58 -07:00
|
|
|
[v0.5.0]: https://github.com/bitcoindevkit/bdk-ffi/compare/v0.4.0...v0.5.0
|
2022-03-14 14:38:58 -05:00
|
|
|
[v0.4.0]: https://github.com/bitcoindevkit/bdk-ffi/compare/v0.3.1...v0.4.0
|
|
|
|
[v0.3.1]: https://github.com/bitcoindevkit/bdk-ffi/compare/v0.3.0...v0.3.1
|
2022-02-27 21:17:37 -08:00
|
|
|
[v0.3.0]: https://github.com/bitcoindevkit/bdk-ffi/compare/v0.2.0...v0.3.0
|
2022-03-14 14:38:58 -05:00
|
|
|
[v0.2.0]: https://github.com/bitcoindevkit/bdk-ffi/compare/v0.0.0...v0.2.0
|