Skip to content

Releases: payjoin/rust-payjoin

Release payjoin-directory 0.0.2

14 Apr 16:51
payjoin-directory-0.0.2
8456a6a
Compare
Choose a tag to compare
Pre-release

Summary

Use standard Oblivious HTTP Key Configuration bootstrapping and decentralize directory operation

Commit

8456a6a

Changelog

  • Do not log ERROR on directory validation errors #628
  • Use payjoin 0.23.0 (056a39b)
  • Announce allowed purposes (6282ffb)
  • Serve /.well-known/ohttp-gateway as per RFC 9540 (6282ffb)
  • Rely on payjoin/directory feature module #502
  • Introduce db-module-specific Result #488
  • Return bound port on listen for test stability (d4fa3d4)

What's Changed

Read more

Release payjoin-cli-0.1.0

02 Apr 21:25
payjoin-cli-0.1.0
3976ba1
Compare
Choose a tag to compare
Pre-release

Summary

Take the payjoin-cli out of alpha now that the wire protocol is presumed to be stable.

Changelog

  • Bump payjoin to 0.23.0 with stable wire protocol
  • Allow mixed input scripts #367 #505
  • Fix bug to propagate missing config parameter or argument error #441
  • Don't pause between long polling requests #463
  • Hide danger-local-https feature with _ prefix #423
  • Allow specifying a max-feerate for receivers #332
  • Fix e2e tests and coverage reporting #443 #497 #532
  • Handle recoverable receiver errors by replying to sender with error response #474 #526 #534
  • Make config.toml hierarchical #538
  • Make v1/v2 features additive #538

What's Changed

Read more

Release payjoin-0.23.0

02 Apr 21:12
payjoin-0.23.0
e2a6f45
Compare
Choose a tag to compare
Pre-release

Summary

This release features a first-class persistence abstraction, wire protocol changes for RFC 9540 support, and better compliance with the BIP78 specification. It also pays back a whole bunch of tech debt including enhanced error handling, expanded functionality with new modules and additive features, and improved test infrastructure. There are breaking API and protocol changes as a result.

It also introduces an experimental multiparty sender behind the hidden "_multiparty" feature gate.

Changelog

  • Make features additive #430 #466 #501 #518
  • Make receiver errors replyable to the sender #474 #506 #526 #606
  • Separate error modules #482
  • Introduce "directory" feature module #502
  • Expose test helpers via payjoin-test-utils crate #484
  • Accomodate updated BIP78 spec #505
  • Fallback to first candidate if avoid_uih fails #533
  • Use IntoUrl trait instead of Url in function signatures #520
  • Don't accept invalid certs even in tests #550
  • Introduce experimental multiparty sender behind the "_multiparty" feature flag #434
  • Add support for RFC 9540 #549 #570 #587
  • Fix the pjos BIP21 parameter to match the BIP78 spec #546
  • Introduce mutation testing #573
  • Add first-class persistence abstraction #552
  • Add many more tests, significantly improving test coverage

What's Changed

Read more

payjoin-0.22.0

27 Dec 02:13
payjoin-0.22.0
f202098
Compare
Choose a tag to compare
payjoin-0.22.0 Pre-release
Pre-release

Release payjoin-0.22.0

Summary

Payjoin V2 Sender now serializes reply_key so that it may resume after being persisted.

Changelog

  • Propagate uri Fragment parameter errors to their caller
  • Have Sender persist reply key so resumption listens where a previous send session left off

What's Changed

New Contributors

Full Changelog: payjoin-0.21.0...payjoin-0.22.0

payjoin-0.21.0

03 Dec 23:08
payjoin-0.21.0
0aef52e
Compare
Choose a tag to compare
payjoin-0.21.0 Pre-release
Pre-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.

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

What's Changed

New Contributors

Full Changelog: payjoin-0.20.0...payjoin-0.21.0

payjoin-cli-0.0.9-alpha

13 Aug 19:46
515e06a
Compare
Choose a tag to compare
Pre-release

Summary

Improved checking logic and backwards compatible sends for v2 users

Changelog

  • Fix output checks
  • Make backwards-compatible v2 to v1 sends possible

What's Changed

Full Changelog: payjoin-cli-0.0.8-alpha...payjoin-cli-0.0.9-alpha

payjoin-0.20.0

13 Aug 19:45
515e06a
Compare
Choose a tag to compare
payjoin-0.20.0 Pre-release
Pre-release

Summary

Improved checking logic and backwards compatible sends for v2 users

Changelog

  • remove contribute_non_witness_input because it was unused
  • Fix output checks
  • Make backwards-compatible v2 to v1 sends possible
  • Bump bitcoin to v0.32.2

What's Changed

Full Changelog: payjoin-0.19.0...payjoin-0.20.0

payjoin-cli-0.0.8-alpha

18 Jul 19:30
payjoin-cli-0.0.8-alpha
12e08ce
Compare
Choose a tag to compare
Pre-release

Summary

This release attempts to stabilize the Payjoin V2 Bitcoin URI format. That includes placing v2-specific parameters in the URI's pj parameter's fragment and including the exp expiration parameter.

Commit

Changelog

  • Update to payjoin-0.19.0
    • Error if send or receive session expires with exp parameter #299
    • Encode &ohttp= and &exp= parameters in the &pj= URL as a fragment instead of as URI params #298
    • Allow receivers to make payjoins out of sweep transactions #259

What's Changed

New Contributors

Full Changelog: payjoin-cli-0.0.7-alpha...payjoin-cli-0.0.8-alpha

payjoin-0.19.0

18 Jul 17:10
payjoin-0.19.0
941a679
Compare
Choose a tag to compare
payjoin-0.19.0 Pre-release
Pre-release

Summary

This release attempts to stabilize the Payjoin V2 Bitcoin URI format. That includes placing v2-specific parameters in the URI's pj parameter's fragment and including the exp expiration parameter.

Commit

941a679

Changelog

  • Error if send or receive session expires with exp parameter #299
  • Encode &ohttp= and &exp= parameters in the &pj= URL as a fragment instead of as URI params #298
  • Allow receivers to make payjoins out of sweep transactions #259
  • Fix: Correctly set v=2 query parameter for v2 senders #320

What's Changed

New Contributors

Full Changelog: payjoin-0.18.0...payjoin-0.19.0

payjoin-cli-0.0.7-alpha

27 Jun 20:57
payjoin-cli-0.0.7-alpha
b63b0ff
Compare
Choose a tag to compare
Pre-release

Summary

An upgraded asynchronous payjoin experience. This update includes a new resume subcommand to continue any prior session. It also stops using .json files to persist data opting for a sled database instead.

Changelog

  • Resume multiple payjoins easily with the resume subcommand. A repeat send
    subcommand will also resume an existing session (#283)
  • Normalize dash-separated long args (#295)
  • Use sled database. Old .json storage files will no longer be read and should be deleted.
  • read Network::from_core_arg (#304)
  • Don't needlessly substitute outputs for v2 receivers (#277)
  • Print instructions and info on interrupt (#303)

What's Changed

Full Changelog: payjoin-cli-0.0.6-alpha...payjoin-cli-0.0.7-alpha