Skip to content

Releases: ElementsProject/libwally-core

Release 1.5.4

Choose a tag to compare

@jgriffiths jgriffiths released this 17 Jun 04:40
release_1.5.4
c559183

Version 1.5.4

Note: This release contains important bug fixes. Users are advised to update as soon as possible.

Added

  • descriptor: Add support for elements confidential wallet policies.
  • docker: Build amd64/arm64 multi-arch images, migrate to blockstream/wallycore.
  • python: Add support and release wheels for Python 3.14.

Changed

  • build: Move CI and docker images to Debian Trixie.
  • deps: Bump libsecp256k1-zkp to current master branch, update emsdk.
  • java: update source version to v17 for supported Java installs.
  • js: Move to Node v24, bump fast-uri dependency.

Fixed

  • python: Remove internal dependency on distutils (which is now deprecated).
  • descriptor: Disallow leading zero in numbers/policy key indices.
  • descriptor: Return WALLY_ENONMEM correctly on out-of-memory errors.
  • elements: Align unblinding behaviour with elements-core.
  • build: Add missing cmake defines.
  • build: Various build and test fixes.

Release 1.5.3

Choose a tag to compare

@jgriffiths jgriffiths released this 16 Apr 00:33
release_1.5.3
0001373

Version 1.5.3

Note: This release contains important bug fixes. Users are advised to update as soon as possible.

Added

  • bip32: Add updated BIP checks to bip32_key_unserialize().
  • build: Add support for fuzzing wally API calls.

Fixed

  • psbt: correctly handle allocation failures in psbt_set_global_tx().
  • tx: Avoid quadratic behaviour parsing txs with a huge number of witnesses.
  • tx: Fix parsing Liquid transactions with short commitments.
  • tx: Reject non-corresponding output as per bip341 when signing.
  • map: Fix incorrect clear when reinserting an integer after removing bytes.
  • js: Pass empty buffers as NULL + length zero.
  • js: Bump webpack, serialize-javascript and terser-webpack-plugin dependencies.
  • Various minor code and build fixes.

Release 1.5.2

Choose a tag to compare

@jgriffiths jgriffiths released this 02 Feb 13:19
release_1.5.2
6439e6e

Version 1.5.2

Note: This release contains important bug fixes. Users are advised to update as soon as possible.

Added

  • taproot: add bip341_control_block_verify().

Changed

  • map: ignore duplicates in map_merkle_path_add() for consistency.

Fixed

  • build: Fix building with the Elements ABI disabled.
  • tx: Fix BIP118 ANYPREVOUTANYSCRIPT sighash computation.
  • psbt: Fix merkle path, witness and buffer length checks when parsing.

Release 1.5.1

Choose a tag to compare

@jgriffiths jgriffiths released this 22 Aug 04:40
release_1.5.1
a445157

Version 1.5.1

Added

  • python: Add wheels for Python 3.13, remove support for Python 3.8.

Fixed

  • python: Fix source builds for newer pip versions.
  • java: Fix tx_get_input_signature_hash to allow passing a null cache to disable caching.

Release 1.5.0

Choose a tag to compare

@jgriffiths jgriffiths released this 31 Jul 16:42
release_1.5.0
a90aa3c

Version 1.5.0

Added

  • psbt: add psbt_get_input_signature_type to get the type of signature required by an input.
  • descriptor: Add support for Elements el-prefixed descriptor builtins as used in rust-elements.
  • descriptor: Add support for parsing Elements ct descriptors with slip77(), elip150() and raw hex blinding keys.
  • descriptor: Add support for generating Elements confidential addresses from ct descriptors.
  • descriptor: Expose functions to perform ELIP-150 blinding key tweaking.
  • crypto: Add ec_public_key_tweak to tweak standard (non-xonly) pubkeys.
  • elements: Add asset_blinding_key_to_ec_public_key to compute the blinding pubkey from a blinding key.

Changed

  • psbt: Speed up p2tr signing slightly.
  • descriptor: Allow U type children for thresh() expressions.
  • build: Further extend CI coverage for scan-build/valgrind/asan checks.

Fixed

  • tx: Fix taproot cached hashing when using external sha256 implementations.
  • wasm: Fixes for es6 and cjs.
  • address_to_scriptpubkey: Correctly handle WALLY_NETWORK_BITCOIN_REGTEST.
  • amalgamation: Support all supported standard configurations. Minor improvements to make usage easier/more robust.
  • Various minor code and build fixes.

Version 1.4.0

Choose a tag to compare

@jgriffiths jgriffiths released this 11 Mar 19:13
release_1.4.0
12f5ac4

Version 1.4.0

Added

  • tx: Add caching to signature hash generation/PSBT signing making signing faster.
  • tx: Add support for generating Elements taproot signature hashes and signing Elements taproot inputs.
  • descriptor: Add support for "tr()/rawtr()" keyspend-only taproot descriptors.
  • descriptor: Add support for parsing Elements-core compatible descriptors, including taproot.
  • psbt: Add accessors for keypath/taproot related fields.
  • pset: Add support for ELIP-101 genesis hash.
  • psbt: Add support for serializing/parsing/combining signature-only PSBTs.
  • script: Add support for generating Elements p2tr scripts.
  • BIP85: Add support for deriving RSA keys via BIP85.
  • base64/psbt: Add support for parsing from known length (non-NUL terminated) strings.
  • build: Add Debian Bookworm docker build image.

Changed

  • tx: Re-implement signature hash generation to use less stack space and CPU independently of caching.
  • amalgamation: Provide the amalgamated build as a single source file, make it simpler to use.
  • build: CI improvements: New valgrind, scan-build and ubsan/addrcheck/etc builds. Add CI/test runs
    for builds with elements support disabled and minimal (embedded) builds.
  • build: Update/extend tests to make it easier to catch errors in the new CI builds.

Fixed

  • psbt: Fix detection of expired CSV inputs for v0 PSBTs.
  • psbt: Fix finalization of non-optimized CSV inputs (e.g. Green Liquid 2of2).
  • tx: Fix incorrect sighash masking for BTC taproot inputs.
  • build: Various fixes and test improvements for non-Elements builds.
  • Various minor code and build fixes.

Release 1.3.1

Choose a tag to compare

@jgriffiths jgriffiths released this 26 Sep 11:53
release_1.3.1
e04e8b3

Version 1.3.1

Added

  • Elements: Add wally_tx_get_elements_weight_discount for computing ELIP-0200 weight discounts.

Changed

  • Update JS dependencies.

Fixed

  • Minor build/CI fixes.

Release 1.3.0

Choose a tag to compare

@jgriffiths jgriffiths released this 20 Jul 22:02
release_1.3.0
11e1bf6

Version 1.3.0

Added

  • script: Add support for fetching the CSV block count for Green CSV scripts.
  • psbt_finalize: Add support for finalizing Green CSV inputs.

Changed

  • PSBT: Do not serialize witness data for input non-witness UTXOs, in order to match the current behaviour of Bitcoin core.
  • Java: Bump source version from 1.7 to 1.8 as 1.7 is no longer supported.

Fixed

  • psbt_sign_bip32: Fix signing with parent/master keys. Only already-derived keys would result in signed inputs previously.
  • PSET: Allow signing pre-segwit inputs.
  • PSET: Allow generating explicit proofs for inputs with only a non-witness UTXO.
  • wally_scriptpubkey_get_type: Mark all scripts starting with OP_RETURN as WALLY_SCRIPT_TYPE_OP_RETURN.
  • bip32: Fix/generalize Elements pubkey tweaking
  • Tx: Allow arbitrarily large transactions when constructing from hex/bytes.
  • Build: cmake fixes

Release 1.2.0

Choose a tag to compare

@jgriffiths jgriffiths released this 09 Feb 06:56
release_1.2.0
1e71763

Version 1.2.0

Added

  • Python: Add Python 3.12 wheels to the binary releases/PyPI.
  • tx: expose wally_tx_input_clone/wally_tx_input_clone_alloc for input cloning.
  • Build: Add new static analysis CI runs.

Changed

  • Javascript: The npm build now uses nodejs 20, as nodejs 16 is end-of-life.
  • Android: Update android NDK to version 26b.
  • libsecp256k1-zkp: The library has been updated to include the latest
    changes to its cmake infrastructure.
  • cmake: Now takes advantage of the new libsecp256k1-zkp cmake files to build
    experimental modules and export the project in cmake style. cmake now also
    builds test and collects coverage data.

Fixed

  • Build: Don't use which on Debian as it is now deprecated.
  • Various bug fixes from static analysis.
  • Various build and documentation fixes.

Release 1.1.0

Choose a tag to compare

@jgriffiths jgriffiths released this 28 Jan 21:42
release_1.1.0
4d38a6d

Added

  • PSBT: Allow extracting partially finalized transactions in wally_psbt_extract by passing a new WALLY_PSBT_EXTRACT_OPT_FINAL flag.
  • tx: Allow getting the number of items in a transactions input witness via wally_tx_input_get_witness_num_items / wally_tx_get_input_witness_num_items.

Fixed

  • tx: tx_input_get_witness now correctly returns 0 bytes written if passed a NULL input.