Skip to content

Commit f5fa5ba

Browse files
committed
Merge commit 'fd9ef55f894e9de2705822e801ac08cc563fc06a' into update_2022_10
fd9ef55 (bitcoin-upstream/master) Merge rust-bitcoin/rust-miniscript#462: Release 8.0.0
2 parents 989f6c8 + fd9ef55 commit f5fa5ba

File tree

2 files changed

+43
-2
lines changed

2 files changed

+43
-2
lines changed

CHANGELOG.md

+39-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,42 @@
1-
# 7.0.0-rc.1 - March 14, 2022
1+
# 8.0.0 - October 20, 2022
2+
3+
This release contains several significant API overhauls, as well as a bump
4+
of our MSRV from 1.29 to 1.41. Users are encouraged to update their compiler
5+
to 1.41 *before* updating to this version.
6+
7+
It includes more Taproot support, but users should be aware that Taproot
8+
support for Miniscript is **not** standardized and is subject to change in
9+
the future. See [this gist](https://gist.github.com/sipa/06c5c844df155d4e5044c2c8cac9c05e)
10+
for our thinking regarding this at the time of release.
11+
12+
- Works with bitcoin crate 0.29
13+
- Correctly [return an error when `SortedMulti` is constructed with too many keys](https://github.com/rust-bitcoin/rust-miniscript/pull/366/)
14+
- Cleanly separate [`experimental/insane miniscripts`](https://github.com/rust-bitcoin/rust-miniscript/pull/461) from sane miniscripts.
15+
- allow disabling the checksum with [`alternate Display`](https://github.com/rust-bitcoin/rust-miniscript/pull/478)
16+
- Correct [`max_satisfaction_size` of `from_multi_a` fragment](https://github.com/rust-bitcoin/rust-miniscript/pull/346/)
17+
- [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/)
18+
- Rename [several descriptor types](https://github.com/rust-bitcoin/rust-miniscript/pull/376/) to reduce redundancy
19+
- [**Bump MSRV to 1.41** and edition to 2018](https://github.com/rust-bitcoin/rust-miniscript/pull/365/)
20+
- Rename [`as_public` to `to_public` on some descriptor key types](https://github.com/rust-bitcoin/rust-miniscript/pull/377/)
21+
- 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/)
22+
- [Remove the `DescriptorTrait`](https://github.com/rust-bitcoin/rust-miniscript/pull/386/) in favor of the `Descriptor` enum
23+
- Fix signature costing [to account for ECDSA vs Schnorr](https://github.com/rust-bitcoin/rust-miniscript/pull/340/)
24+
- **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/)
25+
- Rename [`stackelem` to `stack_elem`](https://github.com/rust-bitcoin/rust-miniscript/pull/411/) in the interpreter
26+
- Add [`no-std`](https://github.com/rust-bitcoin/rust-miniscript/pull/277)
27+
- 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.
28+
- 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
29+
Hash160. This allows users to write abstract miniscripts hashes as "sha256(H)" instead of specifying the entire hash in the string.
30+
that updates the psbt with descriptor bip32 paths.
31+
- Re-name [`as_public`](https://github.com/rust-bitcoin/rust-miniscript/pull/377) APIs -> `to_public`
32+
- Significantly improve the [timelock](https://github.com/rust-bitcoin/rust-miniscript/pull/414) code with new rust-bitcoin APIs.
33+
- rust-miniscript minor implementation detail: `PkH` fragment now has `Pk` generic instead of `Pk::Hash`. This only concerns users
34+
that operate with `MiniscriptKey = bitcoin::PublicKey` or users that use custom implementation of `MiniscriptKey`. Users that use
35+
`DescriptorPublicKey` need not be concerned. See [PR](https://github.com/rust-bitcoin/rust-miniscript/pull/431) for details.
36+
- To elaborate, "pkh(<20-byte-hex>)" is no longer parsed by the `MiniscriptKey = bitcoin::PublicKey`.
37+
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.
38+
39+
# 7.0.0 - April 20, 2022
240

341
- Support for `tr` descriptors with miniscript leaves and multi_a fragment
442
- Changes to MiniscriptKey and ToPublicKey traits for x-only keys support

Cargo.toml

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ authors = ["Andrew Poelstra <[email protected]>, Sanket Kanjalkar <sanket
55
repository = "https://github.com/ElementsProject/elements-miniscript"
66
description = "Elements Miniscript: Miniscript, but for elements"
77
license = "CC0-1.0"
8+
keywords = [ "crypto", "bitcoin", "miniscript", "script" ]
9+
readme = "README.md"
10+
homepage = "https://github.com/rust-bitcoin/rust-miniscript/"
811
edition = "2018"
912

1013
[features]
@@ -18,7 +21,7 @@ rand = ["bitcoin/rand"]
1821
[dependencies]
1922
bitcoin = "0.29.1"
2023
elements = "0.21.0"
21-
bitcoin-miniscript = {package = "miniscript", git = "https://github.com/rust-bitcoin/rust-miniscript", rev = "72dab64af741383d502cb2aad8c78d3a749e6d50"}
24+
bitcoin-miniscript = {package = "miniscript", git = "https://github.com/rust-bitcoin/rust-miniscript", rev = "fd9ef55f894e9de2705822e801ac08cc563fc06a"}
2225

2326
# Do NOT use this as a feature! Use the `serde` feature instead.
2427
actual-serde = { package = "serde", version = "1.0", optional = true }

0 commit comments

Comments
 (0)