diff --git a/CHANGES.md b/CHANGES.md index 738c98d72..34fa20b9a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,40 @@ # Changes +## Version 1.0.0 +- The library now follows semantic versioning as per https://semver.org/. + The library version is available as compile time constants and at runtime + via wally_get_build_version(). +- Elements support is now enabled by default, reflecting the common library + usage. Please see the `configure --help` entries for `--disable-elements` + and `--disable-elements-abi` for details. +- The ABI of the library is now consistent by default regardless of whether + it is built with or without Elements support. +- When configured to build as a static library, linking to libwallycore.a + requires additionally linking to libsecp256k1.a. +- Wally can now be configured to build against a system-wide libsecp256k1. +- Support for wallet policies has been added (see https://github.com/bitcoin/bips/pull/1389). +- Support for iterating and querying keys in descriptor/policy expressions + has been added, including support for key origin information. +- A bug with signing PSBT taproot inputs was fixed. +- The library allocation functions (which may be overridden by the caller + at runtime) are now exposed as wally_[malloc|calloc|free|strdup|strdump_n]. + Libraries using wally that wish to respect the callers allocation strategy + can use these calls to avoid having to expose their own customizable allocators. +- Support for encrypted request/response protocols using ephemeral keys is + now available using aes_cbc_with_ecdh_key(). +- The Python wheel can now be built with standard Python tooling such as `build`, + and can be built from an uploaded source distribution. +- The PyPI wheel uploads now include an sdist source distribution, allowing + install on otherwise-unsupported architectures. +- libsecp256k1-zkp has been updated to the lastest master version as of releasing. +- Extern libsecp256k1-zkp linkage for windows static builds has been fixed. +- Some functions in the c++ header wally.hpp have changed interface slightly. + Note that this header is deprecated and will be replaced in an upcoming + release with higher level wrappers in the same manner as Python and JS. +- The docker-based builds have been streamlined and simplified. NPM builds in + particular are now much faster. +- Several build fixes/improvements and CI updates have been made. + ## Version 0.9.1 - PSET: When adding an Elements transaction output to a PSET, the nonce commitment was incorrectly mapped to the PSET output blinding key field. diff --git a/README.md b/README.md index 1ccca5782..1d3064b78 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ for cryptocurrency wallets. Read the API documentation at https://wally.readthedocs.io. -Note that library interfaces may change slightly while the library design matures. Please see the [CHANGES](./CHANGES.md) file to determine if the API has changed when upgrading. +Please see the [CHANGES](./CHANGES.md) for details of change (including ABI changes) when upgrading. Please report bugs and submit patches to [Our github repository](https://github.com/ElementsProject/libwally-core). If you wish to report a security issue, please read [Our security reporting guidelines](./SECURITY.md). @@ -88,6 +88,8 @@ $ brew install swig header files. This option *must not be given if wally is being installed as a system/shared library*. (default: no). - `--enabled-standard-secp`. Excludes support for features that are unavailable in the standard [libsecp256k1 library](https://github.com/bitcoin-core/secp256k1). +- `--with-system-secp256k1=`. Compile and link against a system-wide + install of libsecp256k1 instead of the in-tree submodule. (default: not enabled). - `--enable-mbed-tls`. Use mbed-tls hashing functions if available. This typically results in faster hashing via hardware on embedded platforms such as ESP32. Note that the caller must ensure that ``sdkconfig.h`` and ``soc/soc_caps.h``