Skip to content

Releases: Blockstream/gdk

Release 0.73.2

08 Oct 09:08
release_0.73.2
b1cfb97
Compare
Choose a tag to compare
Release 0.73.2 Pre-release
Pre-release

Release 0.73.2 - 24-10-08

Note: Please also see the 0.73.1 and 0.73.0 release notes at https://github.com/Blockstream/gdk/releases/tag/release_0.73.1 and https://github.com/Blockstream/gdk/releases/tag/release_0.73.0 if you are upgrading from a pre-0.73.0 release.

Added

  • Python: Python wheels for Linux and Mac platforms are now published to PyPI. Other platforms will be supported in future releases. Please ensure you use the requirements.txt file provided with each release to ensure that the gdk wheel you install is the correct package.

Changed

  • Liquid: Preliminary changes to support discounted Liquid fees. This will be available to end users in an upcoming release.
  • Dependencies: Update rust dependencies.

Fixed

  • Liquid: Fix errors when listing transactions or fetching balances from a subaccount which contains non-unblindable UTXOs.
  • Multisig: Fix minor discrepancies between transaction weight and vsize due to rounding. Note this fix requires a server release which will be made shortly.
  • Build (Windows): Remove duplicated "lib" directory from the library install path.

Release 0.73.1

29 Sep 22:23
release_0.73.1
43f0839
Compare
Choose a tag to compare

Release 0.73.1 - 24-09-27

Note: Please also see the 0.73.0 release notes at https://github.com/Blockstream/gdk/releases/tag/release_0.73.0 if you are upgrading from a pre-0.73.0 release.

Added

  • GA_create_redeposit_transaction: Added a new call to create transactions that re-deposit wallet funds. For Liquid this call handles multiple-asset re-deposits and adds L-BTC fee inputs as required to cover re-deposit fees.

Changed

  • Dependencies: Update libwally.

Release 0.73.0

19 Sep 05:14
release_0.73.0
add060e
Compare
Choose a tag to compare

Release 0.73.0 - 24-09-18

Added

  • PSBT: Allow PSBT creation from singlesig descriptor watch-only sessions.
  • GA_broadcast_transaction: Added support for setting a memo when broadcasting.
  • GA_broadcast_transaction: Added support for broadcasting a PSBT/PSET directly. The PSBT is automatically finalized; callers no longer need to manually finalize and extract before sending a signed PSBT.
  • GA_broadcast_transaction: Add support for simulating broadcast. This allows the caller to use the library to finalize/extract PSBTs for broadcast elsewhere.

Changed

  • GA_broadcast_transaction: This call has changed to run via an auth handler, in order to allow extending its functionality.
  • Network: Update esplora connection details to the new official URLs.
  • Dependencies: Update ur-c, libwally, rust-miniscript.

Fixed

  • GA_get_unspent_outputs (Multisig): Fix intermittently incorrect nlocktime/expiry details.
  • GA_get_unspent_outputs (Multisig): Fix filtering for expired UTXOs to always work correctly.
  • GA_get_transactions (Singlesig): Fix returned results when a tx is replaced and the replacements tx no longer involves the wallet.
  • GA_get_transactions (Singlesig): Fix sync incorrectly returning an empty wallet when the first tx is received on the gap-limit address index.
  • Documentation: Various formatting and consistency fixes.

Release 0.72.2

31 Jul 21:57
release_0.72.2
048dba0
Compare
Choose a tag to compare

Release 0.72.2 - 24-07-31

Note: Please also see the 0.72.0 and 0.72.1 release notes at https://github.com/Blockstream/gdk/releases/tag/release_0.72.0 and release notes at https://github.com/Blockstream/gdk/releases/tag/release_0.72.1 if you are upgrading from a pre-0.72.0 release.

Fixed

  • Multisig: Fix further issues logging in with old watch only sessions/hardware wallets.
  • Build: Re-enable full static library builds.

Release 0.72.1

29 Jul 11:03
release_0.72.1
a066f64
Compare
Choose a tag to compare

Release 0.72.1 - 24-07-29

Note: Please also see the 0.72.0 release notes at https://github.com/Blockstream/gdk/releases/tag/release_0.72.0 if you are upgrading from a pre-0.72.0 release.

Added

  • Network: Add missing Google intermediate certificate pins, to mitigate potential connection failures should the certificate chain change again.

Changed

  • Documentation: Minor documentation improvements.
  • Client blob: Prevent external blobserver use on mainnet while this feature is finalized.

Fixed

  • Multisig: Fix login for wallets with very old 2of3 accounts.
  • Login: Fix login failures for wallets used with a mixture of hardware and software signers.
  • GA_create_swap_transaction: Fix missing "error" element, improve errors.
  • LiquiDEX: Fix swap creation with p2wpkh maker inputs.

Release 0.72.0

26 Jul 09:06
release_0.72.0
1ed8a48
Compare
Choose a tag to compare
Release 0.72.0 Pre-release
Pre-release

Release 0.72.0

Note: The release artifact files have changed. Linux x86_64, Linux arm64 and Android jni ibraries are provided in gdk.tar.gz. iPhone targets are unchanged. Python wheel version/platform coverage has been increased.

Added

  • Add GA_shutdown for explicit shutdown of library resources. When callers opt-in to calling this function by passing "with_shutdown" as true to GA_init, tor sessions can be created and destroyed repeatedly without error. Prior to this change, once a tor session was destroyed, no further tor connections could be made.
  • Singlesig: Add experimental opt-in support for saving encrypted wallet metadata to an external server. When enabled, metadata such as subaccount names and transaction notes is synced automatically between different wallet installs and when restoring a wallet from scratch. This feature will be enabled for non-development use in a future release.
  • Add GA_cache_control to enable caller control of cached data.This initial implementation supports returning user metadata using the BIP329 data format (see https://github.com/bitcoin/bips/blob/master/bip-0329.mediawiki for details).
  • GA_register_user: Added support for creating watch only users by passing in watch only credentials (i.e. "username" and "password"). This replaces the old call GA_set_watch_only and allows for returning more data when a watch only session is created.
  • Fees: Callers can now override the minimum network fee rate by setting the "min_fee_rate" element in network parameters when calling GA_connect. This can be used to create transactions that pay less than the minimum fee (for example, for broadcasting later as part of a package).
  • Singlesig: Add Signet support.

Changed

  • GA_sign_transaction: Spending expired CSV outputs now always uses the smaller and cheaper recovery path, which requires only a single signature and does not require two-factor authentication.
  • GA_get_subaccount/GA_get_subaccounts: The elements"recovery_chain_code" and "recovery_pub_key" are no longer returned. The "recovery_xpub" element for 2of3 subaccounts now always contains an xpub with the recovery pubkey and chain code.
  • GA_psbt_from_json: The returned PSBT now includes keypath elements for wallet inputs and outputs, correct witness and redeem scripts, and appropriate input utxos. This allows wallet input/output identification and signing of the resulting PSBT/PSET by external or offline signing devices.
  • C/C++: The name of the shared library has changed from from libgreenaddress to libgreen_gdk. Applications linking to the shared library should update their link commands accordingly.
  • Java: The namespace for the interface has changed from com.blockstream.libgreenaddress to com.blockstream.green_gdk. The JNI class name has been changed from GDKJNI to GDK. Additionally, the native shared library providing the JNI implementation has been renamed from libgreenaddress to libgreen_gdk_java. Java/Kotlin applications should adjust their references to the interface and their final linking commands accordingly.
  • Python: The Python wheel and package name has been changed from greenaddress to green_gdk. Python applications should update their import references and wheel installation commands accordingly.
  • Build: The scripts for building library dependencies have been simplified, and an example Dockerfile for Android builds using Debian Bookworm is now included.
  • Dependencies: Update tor to 0.4.8.9, update libwally to 1.3.0.

Fixed

  • Fixed signing of RBF transactions where one or more expired CSV inputs are present to use the optimized signing path, resulting in lower bumping fees.

Removed

  • GA_set_watch_only: This call has been removed. Users should use GA_register_user to create watch only sessions as documented above.

Release 0.71.3

11 Jun 05:38
18fcde0
Compare
Choose a tag to compare

Note: This release contains a required fix for connecting to the Green Liquid servers. All gdk users must upgrade in order to connect.

Release 0.71.3 - 24-06-11

Fixed

  • Network: Update certificates for SSL certificate pinning validation.

Release 0.71.2

03 Jun 11:37
release_0.71.2
Compare
Choose a tag to compare

Release 0.71.2 - 24-06-01

Fixed

  • GA_get_unspent_outputs(Liquid): Fix results when (1) a filter criteria such
    as "expired_at" is given, (2) this causes all utxos for an asset id to
    be removed and (3) more than one asset id was present in the results initially.

Release 0.71.1

23 May 08:12
release_0.71.1
Compare
Choose a tag to compare

Release 0.71.1 - 24-05-22

Added

  • Docs: Document how to disable RBF when creating transactions.
  • GA_bcur_decode: add decoding progress in multi-qr process.

Changed

  • GA_validate: do not require session to be logged in.
  • GA_bcur_decode: throw an error if qr code not processed correctly.

Fixed

  • GA_get_receive_address: fix an off-by-one error for singlesig.

Release 0.71.0

10 Apr 16:26
release_0.71.0
Compare
Choose a tag to compare

Release 0.71.0 - 24-04-10

Changed

  • GA_create_transaction/GA_convert_amount: In addition to id_invalid_amount returned
    when an amount is malformed, the errors id_amount_above_maximum_allowed, id_amount_below_minimum_allowed,
    and id_amount_below_the_dust_threshold are now returned if the amount is a valid number
    but outside of the acceptable range of values for the amount in question.
  • GA_get_subaccounts: Now returns additional metadata such as the subaccount
    descriptors, matching the output of GA_get_subaccount.

Fixed

  • Multisig: Regularly update the minimum fee rate and prevent fee estimates
    from falling below it. This prevents unexpected submission errors when the
    mempool is full and the minimum required fee increases/decreases.
  • Multisig: Changes to subaccount metadata ("name" and "is_hidden")
    are now reflected in logged in sessions when changed by another session.
  • Build fixes and security updates

Removed

  • GA_rename_subaccount: Has been removed. Please use GA_update_subaccount.