# 7.0.0 - April 20, 2022 - Fixed miniscript type system bug. This is a security vulnerability and users are strongly encouraged to upgrade. See this (link)[https://github.com/rust-bitcoin/rust-miniscript/pull/349/commits/db97c39afa4053c2c3917f04392f6e24964b3972] for details. - Support for `tr` descriptors with miniscript leaves and multi_a fragment - Changes to MiniscriptKey and ToPublicKey traits for x-only keys support - Add `PsbtExt` trait for psbt operations - `Psbt::update_desc` adds information from a descriptor to a psbt. This figures out the type of the descriptor and adds corresponding redeem script/witness script and tap tree information - Add `derived_descriptor` API to Descriptor so that users no longer need to use `translate` APIs. See examples/`xpub_descriptor` for usage - Update `DescriptorTrait`: `script_code` and `explicit_script` can now fail because of taproot descriptors - Add `PreTaprootDescriptor` and `PreTaprootDescriptorTrait` to support non-failing versions of `script_code` and `explicit_script` for non taproot descriptors - Overhaul the interpreter API to provide simpler APIs `iter(prevouts)` and `iter_assume_sig()` so that it no longer takes a closure input. - Add interpreter support for taproot transactions. - Works with rust-bitcoin 0.28.0 # 6.0.1 - Aug 5, 2021 - The `lift` method on a Miniscript node was fixed. It would previously mix up the `X` and `Y` argument of an `andor` fragment. # 6.0.0 - Jul 29, 2021 - bump `rust-bitcoin` to 0.27 - several bugfixes # 5.0.0 - Jan 14, 2021 - Remove `PkCtx` from the API - Move descriptors into their own types, with an enum containing all of them - Move descriptor functionality into a trait - Remove `FromStr` bound from `MiniscriptKey`and `MiniscriptKey::Hash` - Various `DescriptorPublicKey` improvements - Allow hardened paths in `DescriptorPublicKey`, remove direct `ToPublicKey` implementation - Change `Option` to `Result` in all APIs - bump `rust-bitcoin` to 0.26 # 4.0.0 - Nov 23, 2020 - Add support for parsing secret keys - Add sortedmulti descriptor - Added standardness and other sanity checks - Cleaned up `Error` type and return values of most of the API - Overhauled `satisfied_constraints` module into a new `Iterpreter` API # 3.0.0 - Oct 13, 2020 - **Bump MSRV to 1.29** # 2.0.0 - Oct 1, 2020 - Changes to the miniscript type system to detect an invalid combination of heightlocks and timelocks - Lift miniscripts can now fail. Earlier it always succeeded and gave the resulting Semantic Policy - Compiler will not compile policies that contain at least one unspendable path - Added support for Descriptor PublicKeys(xpub) - Added a generic psbt finalizer and extractor - Updated Satisfaction API for checking time/height before setting satisfaction - Added a policy entailment API for more miniscript semantic analysis # 1.0.0 - July 6, 2020 - Added the following aliases to miniscript for ease of operations - Rename `pk` to `pk_k` - Rename `thresh_m` to `multi` - Add alias `pk(K)` = `c:pk_k(K)` - Add alias `pkh(K)` = `c:pk_h(K)` - Fixed Miniscript parser bugs when decoding Hashlocks - Added scriptContext(`Legacy` and `Segwitv0`) to Miniscript. - Miscellaneous fixes against DoS attacks for heavy nesting. - Fixed Satisfier bug that caused flipping of arguments for `and_v` and `and_n` and `and_or`