Releases: ElementsProject/libwally-core
Releases · ElementsProject/libwally-core
Release list
Release 1.5.4
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
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-javascriptandterser-webpack-plugindependencies. - Various minor code and build fixes.
Release 1.5.2
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
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
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
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
Version 1.3.1
Added
- Elements: Add
wally_tx_get_elements_weight_discountfor computing ELIP-0200 weight discounts.
Changed
- Update JS dependencies.
Fixed
- Minor build/CI fixes.
Release 1.3.0
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
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_allocfor 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
whichon Debian as it is now deprecated. - Various bug fixes from static analysis.
- Various build and documentation fixes.
Release 1.1.0
Added
- PSBT: Allow extracting partially finalized transactions in
wally_psbt_extractby passing a newWALLY_PSBT_EXTRACT_OPT_FINALflag. - 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_witnessnow correctly returns 0 bytes written if passed aNULLinput.