The v0 module was created so that downstream users of rust-bitcoin and rust-miniscript could have the same API by using this crate. Furthermore I imported the files frorm bitcoin and miniscript with minimal changes so devs could diff them and see what was different. This was all released as v0.2.
Over here we have reached consensus to rip out PSBT stuff from bitcoin and miniscript and have it all live in this crate. The open quesiton is do we track bitcoin v0.32 or bitcoin 0.33.0-beta?
My proposal is to track the beta releases (this will include miniscript beta releases). The reason is that if users want bitcoin v0.32 (and the original PSBT code) they can depend on that version (and the stable current latest miniscript version). Even if downstream at some stage wants to use beta releases (and later stable once beta becomes stable) they can still have two bitcoin deps if desired.
Furthermore I think we should:
- Delete the
v0 module (and remove the v2 module abstraction).
- Document that
v0.2 has bitcoin v0.32 and v0.3 onwards depends on later version of bitcoin.
- Depend on
bitcoin v0.33 soon as we can (needs corpec and miniscript upgrade PRs to be done still).
- Go absolutely wild on the API with no thought of backwards API compatibility.
- Provide a
serialize_as_v0 function alongsid serialize() that does v2 (example names only).
The
v0module was created so that downstream users ofrust-bitcoinandrust-miniscriptcould have the same API by using this crate. Furthermore I imported the files frormbitcoinandminiscriptwith minimal changes so devs could diff them and see what was different. This was all released asv0.2.Over here we have reached consensus to rip out PSBT stuff from
bitcoinandminiscriptand have it all live in this crate. The open quesiton is do we trackbitcoin v0.32orbitcoin 0.33.0-beta?My proposal is to track the beta releases (this will include
miniscriptbeta releases). The reason is that if users wantbitcoin v0.32(and the original PSBT code) they can depend on that version (and the stable current latestminiscriptversion). Even if downstream at some stage wants to use beta releases (and later stable once beta becomes stable) they can still have twobitcoindeps if desired.Furthermore I think we should:
v0module (and remove thev2module abstraction).v0.2hasbitcoin v0.32andv0.3onwards depends on later version ofbitcoin.bitcoin v0.33soon as we can (needscorpecandminiscriptupgrade PRs to be done still).serialize_as_v0function alongsidserialize()that does v2 (example names only).