- The
lift
method on a Miniscript node was fixed. It would previously mix up theX
andY
argument of anandor
fragment.
- bump
rust-bitcoin
to 0.27 - several bugfixes
- 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 fromMiniscriptKey
andMiniscriptKey::Hash
- Various
DescriptorPublicKey
improvements - Allow hardened paths in
DescriptorPublicKey
, remove directToPublicKey
implementation - Change
Option
toResult
in all APIs - bump
rust-bitcoin
to 0.26
- 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 newIterpreter
API
- Bump MSRV to 1.29
- 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
- Added the following aliases to miniscript for ease of operations
- Rename
pk
topk_k
- Rename
thresh_m
tomulti
- Add alias
pk(K)
=c:pk_k(K)
- Add alias
pkh(K)
=c:pk_h(K)
- Rename
- Fixed Miniscript parser bugs when decoding Hashlocks
- Added scriptContext(
Legacy
andSegwitv0
) to Miniscript. - Miscellaneous fixes against DoS attacks for heavy nesting.
- Fixed Satisfier bug that caused flipping of arguments for
and_v
andand_n
andand_or