Skip to content

Releases: Blockstream/gdk

Release 0.0.62

02 May 21:14
release_0.0.62
772e2e8
Compare
Choose a tag to compare

Release 0.0.62 - 2023-04-23

Fixed

  • Watch Only: Fix old-style watch-only sessions fetching UTXOs and balances.

Release 0.0.61

18 Apr 21:08
release_0.0.61
97666d6
Compare
Choose a tag to compare

Fixed

  • Allow GA_decrypt_with_pin to decrypt pin_data created with GA_set_pin.

Release 0.0.60

18 Apr 09:49
release_0.0.60
9c776e1
Compare
Choose a tag to compare
Release 0.0.60 Pre-release
Pre-release

Fixed

  • Fix artifacts for OSX builds.

Release 0.0.59

17 Apr 08:47
release_0.0.59
9680c74
Compare
Choose a tag to compare

Added

  • GA_login_user: add support for Electrum watch only. It is now possible to
    login with a list of xpubs or descriptors.
  • GA_psbt_sign: add support for Liquid Electrum sessions.

Changed

  • GA_get_twofactor_config: Fiat pricing limits no longer return corresponding
    converted BTC amounts. When "is_fiat" is true, the caller should convert
    the amount themselves using GA_convert_amount if desired.
  • FFI (All calls): Input JSON parameters are now moved internally and will be
    empty when an API call returns. This only affects C and C++ callers.
  • Singlesig: GA_create_transaction has now aligned behaviour with multisig:
    previous workarounds to handle the differences between the session types
    can be removed.
  • Liquid: Singlesig: allow 32 bytes master blinding keys, consistently with
    multisig.
  • Build: replace meson with cmake and make sqlite3 an external dependency,
    check the updated README for the new build instructions.
  • Updated libsecp256k1 to version 0.3.1 to fix a "constant-timeness" issue
    with Clang >=14.

Fixed

  • GA_sign_transaction/GA_send_transaction: Fixed exception thrown when a fiat
    spending limit is set but cannot be used (for example, because the pricing
    source is unavailable). When this occurs, 2FA will be required.
  • GA_get_twofactor_config: Fixed exception thrown when a fiat pricing source
    is unavailable and a fiat spending limit is set.
  • Singlesig: fix handling of some invalid proxies.
  • Fix a bug in Android build.
  • Fix missing URL overrides in network parameters.

Removed

  • Removed Python wheel for Ubuntu 18.04, replaced with wheel for Ubuntu 20.04

Release 0.0.58.post2

27 Mar 13:26
release_0.0.58.post2
ee988f4
Compare
Choose a tag to compare
Release 0.0.58.post2 Pre-release
Pre-release

Changed

  • GA_get_twofactor_config: Fiat pricing limits no longer return corresponding
    converted BTC amounts. When "is_fiat" is true, the caller should convert
    the amount themselves using GA_convert_amount if desired.
  • Liquid: Singlesig: allow 32 bytes master blinding keys, consistently with
    multisig.

Fixed

  • GA_sign_transaction/GA_send_transaction: Fixed exception thrown when a fiat
    spending limit is set but cannot be used (for example, because the pricing
    source is unavailable). When this occurs, 2FA will be required.
  • GA_get_twofactor_config: Fixed exception thrown when a fiat pricing source
    is unavailable and a fiat spending limit is set.
  • Singlesig: fix handling of some invalid proxies.

Release 0.0.58.post1

21 Mar 17:12
release_0.0.58.post1
416f89c
Compare
Choose a tag to compare
Release 0.0.58.post1 Pre-release
Pre-release

Changed

  • GA_get_twofactor_config: Fiat pricing limits no longer return corresponding
    converted BTC amounts. When "is_fiat" is true, the caller should convert
    the amount themselves using GA_convert_amount if desired.
  • Liquid: Singlesig: allow 32 bytes master blinding keys, consistently with
    multisig.

Fixed

  • GA_get_twofactor_config: Fixed exception thrown when a fiat pricing source
    is unavailable and a fiat pricing limit is set.
  • Singlesig: fix handling of some invalid proxies.

Release 0.0.58

06 Feb 14:00
release_0.0.58
8ff5748
Compare
Choose a tag to compare

Added

  • GA_validate: Add support for validating transaction addressees.
  • GA_get_unspent_outputs: add a sort_by element to return sorted results.
  • Added new function GA_sign_message

Changed

  • GA_create_transaction: Sweeping and re-deposit transactions now require the
    caller to provide the recipient address. GA_get_receive_address can be used
    for this purpose.
  • GA_create_transaction: If addressees are not provided, some fields of the
    result transaction may not be populated.
  • GA_create_transaction: The addressees_have_assets element has been removed.
  • GA_get_unspent_outputs: The default sorting for multisig non-2of2
    subaccounts has been changed from oldest-first to largest-first.
  • Singlesig: GA_change_settings, GA_get_available_currencies and
    GA_convert_amount have now aligned behaviour with multisig: all the prices
    and venues are matched and changing settings actually influence the fiat
    currency returned from GA_convert_amount.
  • GA_encrypt_with_pin: Add hmac field.
  • Liquid: update hardcoded asset icons.

Fixed

  • Liquid: Fix the min fee and dust threshold for multi/singlesig respectively.
  • Liquid: Respect the dust limit for non-fee L-BTC outputs.
  • GA_create_transaction: id_no_amount_specified is now returned under all
    circumstances where an amount is not given in an addressee.
  • GA_create_transaction: Non-partial transactions where utxo_strategy is set
    to "manual" now return an error if an asset is provided in used_utxos
    that does not correspond to an adressee.
  • Singlesig: GA_get_transactions: fix script serialization
  • Singlesig: fixes for block and transaction notifications

Release 0.0.57

23 Nov 16:13
release_0.0.57
b0781c0
Compare
Choose a tag to compare

Added

  • GA_get_subaccount: add user_path, core_descriptor, slip132_extended_pubkey.
  • GA_get_assets: add ability to fetch informations about Liquid assets by
    specifying one or more of the following fields: names, tickers, category.

Changed

  • Singlesig: GA_convert_amount: If a fallback fiat rate is provided the
    function will return that rate immediately instead of waiting for the latest
    rate to be fetched.
  • GA_refresh_assets: remove "refresh" parameter. Now every call to
    GA_refresh_assets will perform a network call to update the Liquid assets. To
    avoid the network call use GA_get_assets. In addition GA_refresh_assets now
    does not return any value, to get assets data use GA_get_assets.
  • GA_get_assets: it is now possible to fetch informations via the assets_id
    even before logging into a session.
  • Removed support for LiquiDEX v0 for GA_create_swap_transaction,
    GA_complete_swap_transaction and GA_validate, which now support LiquiDEX v1
    only. LiquiDEX v0 transactions can still be created and completed with
    GA_create_transaction.

Release 0.0.56

04 Oct 14:56
release_0.0.56
8f06e81
Compare
Choose a tag to compare

Added

  • Added new function GA_decrypt_with_pin.
  • Added new function GA_validate to validate gdk JSON formats.
  • Added new functions GA_create_swap_transaction and GA_complete_swap_transaction with support for LiquiDEX v0 swaps.

Changed

  • GA_get_transactions: The input/output "addressee" element is now only populated for now-disabled historical social payments.
  • GA_get_transactions: The top-level "satoshi" elements are now signed; negative values represent outgoing amounts.
  • GA_convert_amount: This can now be used to convert negative values.
  • GA_get_wallet_identifier (and register/login): Now returns a network-agnostic version of "wallet_hash_id" as "xpub_hash_id".
  • GA_create_transaction (and sign/send): The top-level "subaccount" type is no longer required or populated, and "subaccount_type" is also no longer populated. The subaccount(s) the tx refers to are now inferred automatically from its input UTXOs and output addressees.
  • Singlesig: Transaction hex returned from GA_get_transaction_details will now return witness data. This change triggers a one-time cache rebuild on upgrading, which may be noticeable from apps as a brief time with no transactions visible while the cache is rebuilt.
  • Singlesig: Exchange rates for the BTC-USD currency pair are now fetched from a Blockstream service.

Fixed

  • Network: Connection errors in the middle of a request now time out instead of waiting for the connection come back.
  • Liquid: Prevent a corrupted Liquid asset registry from re-downloading every time GA_refresh_assets is called.
  • Liquid: Fix an issue where GA_get_assets would not return any assets if a wallet's cache file got corrupted.
  • Liquid: GA_get_transactions: Correctly handle "mixed" transactions such as swaps.
  • Singlesig: Fixed a notification race condition where transaction block heights could be off-by-one shortly after a block notification.
  • Java: Fix the SWIG wrapping of GA_validate_mnemonic.

Removed

  • JSON: remove "server_signed" from create/sign/send transaction JSON.
  • JSON: remove "user_signed" from create/sign/send transaction JSON.
  • GA_get_transactions: Remove the top-level "addressees" element. Callers should use the "address" elements of inputs and outputs instead.

Release 0.0.55

11 Jul 07:42
release_0.0.55
78e3482
Compare
Choose a tag to compare

Added

  • Singlesig: Implement GA_get_previous_addresses
  • Singlesig: Allow fetching internal addresses in GA_get_receive_address using "is_internal"=true
  • Added new function GA_get_credentials, to replace GA_get_mnemonic_passphrase.
  • Added new function GA_encrypt_with_pin, to replace GA_set_pin.
  • Added new function GA_get_assets to query data related to a set of Liquid
    assets.
  • Added bip39 passphrase support.

Changed

  • GA_get_previous_addresses: To get the newest generated addresses, caller should not include "last_pointer" key (instead of passing "last_pointer" 0). If the returned json does not have the "last_pointer" key, it indicates that all addresses have been fetched (previously it had "last_pointer" 1)
  • GA_get_previous_addresses: Removed "subaccount" from returned keys.
  • Singlesig: Add some missing fields to GA_get_receive_address returned json.
  • Singlesig: Remove is_segwit from GA_get_unspent_outputs returned json
  • GA_register_user: Change interface to match GA_login_user.
  • Update endpoints for new bitcoin multisig backend.

Fixed

  • GA_get_unspent_outputs: fix bug returning utxos from replaced transactions.

Removed

  • Removed GA_get_mnemonic_passphrase, callers should use GA_get_credentials.
  • Removed GA_set_pin, callers should use GA_encrypt_with_pin.
  • Removed LTO and bitcode building flags.