We should be able to release as soon as #386 and #373 are in.
the latter may require we release a new crate. @spacebear21 If you're willing to take this on, you should be able to edit this issue text directly. Let me know if you cannot.
Create a new minor release
Summary
This release enables transaction cut-through by allowing the receiver to add an arbitrary number of inputs and outputs, and allowing mixed input script types in Payjoin V2. Additionally, there are several changes to the payjoin directory API and the HPKE in an attempt to stabilize the V2 protocol. This release contains many breaking changes as a result.
Commit
0aef52e
Changelog
- Upgrade rustls v0.22.4
- Depend on bitcoin-ohttp
- Allow receiver to contribute multiple inputs and outputs
- Remove
contribute_witness_inputs and contribute_non_witness_inputs in favor of a single consolidated contribute_inputs function
- Make
InputPair public to facilitate working with inputs in coin selection and input contributions
- Enable receiver fee contributions in
apply_fee, which now requires a max_feerate parameter
- Fix weight estimations for nested segwit inputs
- Fix mixed input scripts receiver check in Payjoin V1 to only error if the receiver would introduce mixed types
- Allow mixed input scripts in Payjoin V2
- Implement client end-to-end encryption using HPKE using bitcoin-hpke
- Make session initialization implicit
- Make payloads uniform by removing sender auth key
- Shorten subdirectory IDs to 64 pseudorandom bits #386
- Clarify send and receive module documentation #407
- Pad ohttp messages to consistent 8192 bytes #395
- encode subdirectory IDs in bech32 and other QR optimizations #417
- Upgrade to bitcoin v0.32.5
- Work around '#' escaping bug in bip21 crate #373
- Hide
_danger-local-https feature behind _ prefix so it doesn't show up in docs #423
Checklist
Release numbering must follow Semantic Versioning. These steps assume the current master
branch development version is MAJOR.MINOR.0.
On the day of the feature freeze
Change the master branch to the next MINOR+1 version:
If any issues need to be fixed before the MAJOR.MINOR+1.0 version is released:
On the day of the release
Tag and publish new release:
We should be able to release as soon as #386 and #373 are in.
the latter may require we release a new crate. @spacebear21 If you're willing to take this on, you should be able to edit this issue text directly. Let me know if you cannot.
Create a new minor release
Summary
This release enables transaction cut-through by allowing the receiver to add an arbitrary number of inputs and outputs, and allowing mixed input script types in Payjoin V2. Additionally, there are several changes to the payjoin directory API and the HPKE in an attempt to stabilize the V2 protocol. This release contains many breaking changes as a result.
Commit
0aef52e
Changelog
contribute_witness_inputsandcontribute_non_witness_inputsin favor of a single consolidatedcontribute_inputsfunctionInputPairpublic to facilitate working with inputs in coin selection and input contributionsapply_fee, which now requires a max_feerate parameter_danger-local-httpsfeature behind_prefix so it doesn't show up in docs #423Checklist
Release numbering must follow Semantic Versioning. These steps assume the current
masterbranch development version is MAJOR.MINOR.0.
On the day of the feature freeze
Change the
masterbranch to the next MINOR+1 version:masterbranch.bump-CRATE-MAJOR-MINOR+1, eg.bump-CRATE-0-22.bump-CRATE-MAJOR-MINOR+1branch to the next development MINOR+1 version.Cargo.tomlversion value toMAJOR.MINOR+1.0.CHANGELOG.mdfile.bump-CRATE-MAJOR-MINOR+1branch tomaster.bump-CRATE-MAJOR-MINOR+1branch tomaster.If any issues need to be fixed before the MAJOR.MINOR+1.0 version is released:
masterbranch.bump-CRATE-MAJOR.MINOR+1branch.bump-CRATE-MAJOR.MINOR+1branch.On the day of the release
Tag and publish new release:
HEADcommit in themasterbranch.CRATE-MAJOR.MINOR+1.0--signflag.payjoin/rust-payjoinrepo.Release CRATE-MAJOR.MINOR+1.0.1.0.0release check the "Pre-release" box.