Skip to content

Commit b2c3048

Browse files
committed
create massive changelog for 13.0
1 parent 1fafde2 commit b2c3048

File tree

1 file changed

+90
-3
lines changed

1 file changed

+90
-3
lines changed

CHANGELOG.md

Lines changed: 90 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,99 @@
1-
# # 12.3.1 - April 1, 2025
1+
# 13.0.0 - October 22, 2025
2+
3+
This release is a pretty big one and includes several significant refactors:
4+
5+
- Eliminate recursion throughout (most of) the library, by writing iterative algorithms.
6+
Includes many small bugfixes.
7+
- Eliminate many of the stringly typed errors; refactor `PolicyError`
8+
- Rewrite the Taproot API based on feedback from Mike Tidwell's development of the "Capture
9+
the Bitcoin" competition at TABConf 6. (See [#766](https://github.com/rust-bitcoin/rust-miniscript/pull/766).)
10+
11+
The full changelog:
12+
13+
- fix multiple bugs in size estimation and limit enforcement for descriptors with uncompressed keys
14+
[#849](https://github.com/rust-bitcoin/rust-miniscript/pull/849)
15+
- fix size estimation for Taproot control blocks in satisfactions
16+
[#858](https://github.com/rust-bitcoin/rust-miniscript/pull/858)
17+
- Extend `GetKey` impls and fix some bugs
18+
[#851](https://github.com/rust-bitcoin/rust-miniscript/pull/851)
19+
[#861](https://github.com/rust-bitcoin/rust-miniscript/pull/861)
20+
[#862](https://github.com/rust-bitcoin/rust-miniscript/pull/862)
21+
[#863](https://github.com/rust-bitcoin/rust-miniscript/pull/863)
22+
(backport in [#860](https://github.com/rust-bitcoin/rust-miniscript/pull/860))
23+
- improve decoder from `Script` implementation and error type; rename `parse_with_ext` to `decode_with_ext`
24+
[#845](https://github.com/rust-bitcoin/rust-miniscript/pull/845)
25+
- enforce that xpubs in descriptors have the same network
26+
[#848](https://github.com/rust-bitcoin/rust-miniscript/pull/848)
27+
- fix malleability behavior in Taproot satisfier
28+
[#826](https://github.com/rust-bitcoin/rust-miniscript/pull/846)
29+
- Fix `DefiniteDescriptorKey::new` to forbid multipath keys and hardened derivations (which would cause assertion failures)
30+
[#830](https://github.com/rust-bitcoin/rust-miniscript/pull/830)
31+
[#839](https://github.com/rust-bitcoin/rust-miniscript/pull/839)
32+
(backports in
33+
[#831](https://github.com/rust-bitcoin/rust-miniscript/pull/831)
34+
[#832](https://github.com/rust-bitcoin/rust-miniscript/pull/832)
35+
[#833](https://github.com/rust-bitcoin/rust-miniscript/pull/833)
36+
[#833](https://github.com/rust-bitcoin/rust-miniscript/pull/843))
37+
- add `Descriptor::iter_pk` to iterate over pubkeys in an arbitrary descriptor
38+
[#823](https://github.com/rust-bitcoin/rust-miniscript/pull/823)
39+
- satisfy: pass public key to `lookup_tap_key_spend_sig` to remind satisfier of the keyspend key
40+
[#827](https://github.com/rust-bitcoin/rust-miniscript/pull/827)
41+
- plan: remove unused `AssetProvider::provider_lookup_tap_control_block_map` from trait
42+
[#826](https://github.com/rust-bitcoin/rust-miniscript/pull/826)
43+
- Add conversions from `XOnlyPublicKey` to rust-miniscript descriptor keytypes
44+
[#818](https://github.com/rust-bitcoin/rust-miniscript/pull/818)
45+
(backport in [#819](https://github.com/rust-bitcoin/rust-miniscript/pull/819))
46+
- Fix crash in `parse_descriptor`
47+
[#809](https://github.com/rust-bitcoin/rust-miniscript/pull/809)
48+
(backport in [#816](https://github.com/rust-bitcoin/rust-miniscript/pull/816))
49+
- Eliminate the stringly-typed errors from descriptor key parsing [#804](https://github.com/rust-bitcoin/rust-miniscript/pull/804)
50+
- Rewrite the expression parser to be non-recursive, have much better error messages, and
51+
to be more correct.
52+
[#773](https://github.com/rust-bitcoin/rust-miniscript/pull/773)
53+
[#775](https://github.com/rust-bitcoin/rust-miniscript/pull/775)
54+
[#778](https://github.com/rust-bitcoin/rust-miniscript/pull/778)
55+
[#780](https://github.com/rust-bitcoin/rust-miniscript/pull/780)
56+
[#784](https://github.com/rust-bitcoin/rust-miniscript/pull/784)
57+
- Remove the `no-std` and `actual-serde` features [#769](https://github.com/rust-bitcoin/rust-miniscript/pull/769)
58+
- Rewrite the Taproot API
59+
[#751](https://github.com/rust-bitcoin/rust-miniscript/pull/751)
60+
[#802](https://github.com/rust-bitcoin/rust-miniscript/pull/802)
61+
[#807](https://github.com/rust-bitcoin/rust-miniscript/pull/807)
62+
[#808](https://github.com/rust-bitcoin/rust-miniscript/pull/808)
63+
[#815](https://github.com/rust-bitcoin/rust-miniscript/pull/815)
64+
[#828](https://github.com/rust-bitcoin/rust-miniscript/pull/828) (includes bugfix for compiler crash with 0-probability policy fragments)
65+
- Separate out many distinct "max size exceeded" errors
66+
[#758](https://github.com/rust-bitcoin/rust-miniscript/pull/758)
67+
[#760](https://github.com/rust-bitcoin/rust-miniscript/pull/760)
68+
- Fix spelling of `MaxWitnessItemsExceeded` error variant [#759](https://github.com/rust-bitcoin/rust-miniscript/pull/759)
69+
- Support conversion of multi-Xprivs into multi-Xpubs [#757](https://github.com/rust-bitcoin/rust-miniscript/pull/757)
70+
- Split "witness size exceeded" error from "bare script size exceeded" [#756](https://github.com/rust-bitcoin/rust-miniscript/pull/756)
71+
- Fix decoding WIF privkeys with BIP32 origins [#753](https://github.com/rust-bitcoin/rust-miniscript/pull/753)
72+
- Allow compiling `pk` descriptors to keyspend-only `tr` descriptors [#677](https://github.com/rust-bitcoin/rust-miniscript/pull/677)
73+
- Reduce "maximum pubkeys in multi_a" limit to 999 [#746](https://github.com/rust-bitcoin/rust-miniscript/pull/746)
74+
- **Remove `PartialEq` from `Error`** and introduce `StaticDebugAndDisplay` trait to
75+
help with boxing errors
76+
[#741](https://github.com/rust-bitcoin/rust-miniscript/pull/741)
77+
[#801](https://github.com/rust-bitcoin/rust-miniscript/pull/801)
78+
- Fix lower limit of relative locktime [#740](https://github.com/rust-bitcoin/rust-miniscript/pull/740)
79+
- Remove `TranslatePk` trait; move generics on `Translator` to associated types [#733](https://github.com/rust-bitcoin/rust-miniscript/pull/733)
80+
- Fix upper limit of absolute locktime [#719](https://github.com/rust-bitcoin/rust-miniscript/pull/719)
81+
- Clean up Taproot compiler and policy errors [#732](https://github.com/rust-bitcoin/rust-miniscript/pull/732)
82+
- Eliminate recursion throughout the library; extend the `TreeLike` trait; remove `Liftable` for `Terminal`
83+
[#722](https://github.com/rust-bitcoin/rust-miniscript/pull/722)
84+
[#724](https://github.com/rust-bitcoin/rust-miniscript/pull/724)
85+
[#725](https://github.com/rust-bitcoin/rust-miniscript/pull/725)
86+
- **Update MSRV to Rust 1.63** [#719](https://github.com/rust-bitcoin/rust-miniscript/pull/719)
87+
88+
# 12.3.1 - April 1, 2025
289

390
- Silent fix for CVE-2025-43707 (crash on satisfaction of particularly crafted `thresh` fragments) [#798](https://github.com/rust-bitcoin/rust-miniscript/pull/798)
491

5-
# # 12.3.0 - August 31, 2024
92+
# 12.3.0 - August 31, 2024
693

794
- Fix incorrect string serialization of `and_b` [#735](https://github.com/rust-bitcoin/rust-miniscript/pull/735)
895

9-
# # 12.2.0 - July 20, 2024
96+
# 12.2.0 - July 20, 2024
1097

1198
- Fix panics while decoding large miniscripts from script [#712](https://github.com/rust-bitcoin/rust-miniscript/pull/712)
1299

0 commit comments

Comments
 (0)