|
1 |
| -# 9.0.0 - November 5, 2022 |
| 1 | +# 0.2.0 - June 15, 2023 |
2 | 2 |
|
3 |
| -- Fixed a bug dealing with dissatisfying pkh inside thresh |
4 |
| -- Changed the signature of `Satisfier::lookup_raw_pkh_pk` API. Only custom implementations |
5 |
| - of `Satisfier` need to be updated. The psbt APIs are unchanged. |
6 |
| -- Fixed a bug related to display of `raw_pk_h`. These descriptors are experimental |
7 |
| - and only usable by opting via `ExtParams` while parsing string. |
8 |
| -# 8.0.0 - October 20, 2022 |
9 |
| - |
10 |
| -This release contains several significant API overhauls, as well as a bump |
11 |
| -of our MSRV from 1.29 to 1.41. Users are encouraged to update their compiler |
12 |
| -to 1.41 *before* updating to this version. |
13 |
| - |
14 |
| -It includes more Taproot support, but users should be aware that Taproot |
15 |
| -support for Miniscript is **not** standardized and is subject to change in |
16 |
| -the future. See [this gist](https://gist.github.com/sipa/06c5c844df155d4e5044c2c8cac9c05e) |
17 |
| -for our thinking regarding this at the time of release. |
18 |
| - |
19 |
| -- Works with bitcoin crate 0.29 |
20 |
| -- Correctly [return an error when `SortedMulti` is constructed with too many keys](https://github.com/rust-bitcoin/rust-miniscript/pull/366/) |
21 |
| -- Cleanly separate [`experimental/insane miniscripts`](https://github.com/rust-bitcoin/rust-miniscript/pull/461) from sane miniscripts. |
22 |
| -- allow disabling the checksum with [`alternate Display`](https://github.com/rust-bitcoin/rust-miniscript/pull/478) |
23 |
| -- Correct [`max_satisfaction_size` of `from_multi_a` fragment](https://github.com/rust-bitcoin/rust-miniscript/pull/346/) |
24 |
| -- [Add `PsbtInputExt` trait with `update_with_descriptor` method](https://github.com/rust-bitcoin/rust-miniscript/pull/339/) and [`PsbtOutputExt` trait](https://github.com/rust-bitcoin/rust-miniscript/pull/465/) |
25 |
| -- Rename [several descriptor types](https://github.com/rust-bitcoin/rust-miniscript/pull/376/) to reduce redundancy |
26 |
| -- [**Bump MSRV to 1.41** and edition to 2018](https://github.com/rust-bitcoin/rust-miniscript/pull/365/) |
27 |
| -- Rename [`as_public` to `to_public` on some descriptor key types](https://github.com/rust-bitcoin/rust-miniscript/pull/377/) |
28 |
| -- Split fully derived `DescriptorPublicKey`s [into their own type](https://github.com/rust-bitcoin/rust-miniscript/pull/345/) [followup](https://github.com/rust-bitcoin/rust-miniscript/pull/448/) |
29 |
| -- [Remove the `DescriptorTrait`](https://github.com/rust-bitcoin/rust-miniscript/pull/386/) in favor of the `Descriptor` enum |
30 |
| -- Fix signature costing [to account for ECDSA vs Schnorr](https://github.com/rust-bitcoin/rust-miniscript/pull/340/) |
31 |
| -- **Add a Taproot-enabled compiler** [v1](https://github.com/rust-bitcoin/rust-miniscript/pull/291/) [v2](https://github.com/rust-bitcoin/rust-miniscript/pull/342/) [v3](https://github.com/rust-bitcoin/rust-miniscript/pull/418/) |
32 |
| -- Rename [`stackelem` to `stack_elem`](https://github.com/rust-bitcoin/rust-miniscript/pull/411/) in the interpreter |
33 |
| -- Add [`no-std`](https://github.com/rust-bitcoin/rust-miniscript/pull/277) |
34 |
| -- Reworked the [`TranslatePk`](https://github.com/rust-bitcoin/rust-miniscript/pull/426) APIs. Add a Translator trait to cleanly allow downstream users without dealing with APIs that accept function pointers. Also provides `translate_assoc_clone` and `translate_assoc_fail` macros for helping in writing code. |
35 |
| -- Updated [`MiniscriptKey trait`](https://github.com/rust-bitcoin/rust-miniscript/pull/434),https://github.com/rust-bitcoin/rust-miniscript/pull/439 to accept associated types for Sha256, Hash256, Ripemd160 and |
36 |
| -Hash160. This allows users to write abstract miniscripts hashes as "sha256(H)" instead of specifying the entire hash in the string. |
37 |
| -that updates the psbt with descriptor bip32 paths. |
38 |
| -- Re-name [`as_public`](https://github.com/rust-bitcoin/rust-miniscript/pull/377) APIs -> `to_public` |
39 |
| -- Significantly improve the [timelock](https://github.com/rust-bitcoin/rust-miniscript/pull/414) code with new rust-bitcoin APIs. |
40 |
| -- rust-miniscript minor implementation detail: `PkH` fragment now has `Pk` generic instead of `Pk::Hash`. This only concerns users |
41 |
| -that operate with `MiniscriptKey = bitcoin::PublicKey` or users that use custom implementation of `MiniscriptKey`. Users that use |
42 |
| -`DescriptorPublicKey` need not be concerned. See [PR](https://github.com/rust-bitcoin/rust-miniscript/pull/431) for details. |
43 |
| - - To elaborate, "pkh(<20-byte-hex>)" is no longer parsed by the `MiniscriptKey = bitcoin::PublicKey`. |
44 |
| -This is consistent with the descriptor spec as defined. Parsing from `bitcoin::Script` for pkh<20-byte-hex> is still supported, but the library would not analyze them. These raw descriptors are still in spec discussions. Rust-miniscript will support them once they are completely specified. |
45 |
| - |
46 |
| -# 7.0.0 - April 20, 2022 |
47 |
| - |
48 |
| -- Support for `tr` descriptors with miniscript leaves and multi_a fragment |
49 |
| -- Changes to MiniscriptKey and ToPublicKey traits for x-only keys support |
50 |
| -- Add `PsbtExt` trait for psbt operations |
51 |
| - - `Psbt::update_desc` adds information from a descriptor to a psbt. This figures |
52 |
| - out the type of the descriptor and adds corresponding redeem script/witness script |
53 |
| - and tap tree information |
54 |
| -- Add `derived_descriptor` API to Descriptor so that users no longer need to use |
55 |
| -`translate` APIs. See examples/`xpub_descriptor` for usage |
56 |
| -- Update `DescriptorTrait`: `script_code` and `explicit_script` can now fail because |
57 |
| - of taproot descriptors |
58 |
| -- Add `PreTaprootDescriptor` and `PreTaprootDescriptorTrait` to support non-failing versions |
59 |
| - of `script_code` and `explicit_script` for non taproot descriptors |
60 |
| -- Overhaul the interpreter API to provide simpler APIs `iter(prevouts)` and `iter_assume_sig()` |
61 |
| - so that it no longer takes a closure input. |
62 |
| -- Add interpreter support for taproot transactions. |
63 |
| -- Works with rust-bitcoin 0.28.0-rc.1 |
64 |
| -# 6.0.1 - Aug 5, 2021 |
65 |
| - |
66 |
| -- The `lift` method on a Miniscript node was fixed. It would previously mix up |
67 |
| - the `X` and `Y` argument of an `andor` fragment. |
68 |
| - |
69 |
| -# 6.0.0 - Jul 29, 2021 |
70 |
| - |
71 |
| -- bump `rust-bitcoin` to 0.27 |
72 |
| -- several bugfixes |
73 |
| - |
74 |
| -# 5.0.0 - Jan 14, 2021 |
75 |
| - |
76 |
| -- Remove `PkCtx` from the API |
77 |
| -- Move descriptors into their own types, with an enum containing all of them |
78 |
| -- Move descriptor functionality into a trait |
79 |
| -- Remove `FromStr` bound from `MiniscriptKey`and `MiniscriptKey::Hash` |
80 |
| -- Various `DescriptorPublicKey` improvements |
81 |
| -- Allow hardened paths in `DescriptorPublicKey`, remove direct `ToPublicKey` implementation |
82 |
| -- Change `Option` to `Result` in all APIs |
83 |
| -- bump `rust-bitcoin` to 0.26 |
84 |
| - |
85 |
| -# 4.0.0 - Nov 23, 2020 |
86 |
| - |
87 |
| -- Add support for parsing secret keys |
88 |
| -- Add sortedmulti descriptor |
89 |
| -- Added standardness and other sanity checks |
90 |
| -- Cleaned up `Error` type and return values of most of the API |
91 |
| -- Overhauled `satisfied_constraints` module into a new `Iterpreter` API |
92 |
| - |
93 |
| -# 3.0.0 - Oct 13, 2020 |
94 |
| - |
95 |
| -- **Bump MSRV to 1.29** |
96 |
| - |
97 |
| -# 2.0.0 - Oct 1, 2020 |
98 |
| - |
99 |
| -- Changes to the miniscript type system to detect an invalid |
100 |
| - combination of heightlocks and timelocks |
101 |
| - - Lift miniscripts can now fail. Earlier it always succeeded and gave |
102 |
| - the resulting Semantic Policy |
103 |
| - - Compiler will not compile policies that contain at least one |
104 |
| - unspendable path |
105 |
| -- Added support for Descriptor PublicKeys(xpub) |
106 |
| -- Added a generic psbt finalizer and extractor |
107 |
| -- Updated Satisfaction API for checking time/height before setting satisfaction |
108 |
| -- Added a policy entailment API for more miniscript semantic analysis |
109 |
| - |
110 |
| -# 1.0.0 - July 6, 2020 |
111 |
| - |
112 |
| -- Added the following aliases to miniscript for ease of operations |
113 |
| - - Rename `pk` to `pk_k` |
114 |
| - - Rename `thresh_m` to `multi` |
115 |
| - - Add alias `pk(K)` = `c:pk_k(K)` |
116 |
| - - Add alias `pkh(K)` = `c:pk_h(K)` |
117 |
| -- Fixed Miniscript parser bugs when decoding Hashlocks |
118 |
| -- Added scriptContext(`Legacy` and `Segwitv0`) to Miniscript. |
119 |
| -- Miscellaneous fixes against DoS attacks for heavy nesting. |
120 |
| -- Fixed Satisfier bug that caused flipping of arguments for `and_v` and `and_n` and `and_or` |
| 3 | +- Still rapid iteration, very unstable. |
121 | 4 |
|
0 commit comments