Skip to content

Commit fab34ba

Browse files
committed
release 0.2.0
We haven't had a release in forever, let's do one.
1 parent 408cd3b commit fab34ba

File tree

2 files changed

+3
-120
lines changed

2 files changed

+3
-120
lines changed

CHANGELOG.md

Lines changed: 2 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -1,121 +1,4 @@
1-
# 9.0.0 - November 5, 2022
1+
# 0.2.0 - June 15, 2023
22

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.
1214

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "elements-miniscript"
3-
version = "0.1.0"
3+
version = "0.2.0"
44
authors = ["Andrew Poelstra <[email protected]>, Sanket Kanjalkar <[email protected]>"]
55
repository = "https://github.com/ElementsProject/elements-miniscript"
66
description = "Elements Miniscript: Miniscript, but for elements"

0 commit comments

Comments
 (0)