Tags: payjoin/rust-payjoin
Tags
Release payjoin-0.25.0 Introduce monitoring typestates, replyable error handling, async persistence, WASM target support, and other updates for more robust session lifecycle management. Selected Improvements: Updates to Typestates and Session Event Log Replay: - Receiver Monitor Typestate (#1061) - Sender closed variant (#1129) - Rename sender session events (#1125, #1116) - Remove PollingForProposal from session event (#1128) - Return closed session state during replays (#1136) - Introduce SessionEvent::Closed (#1078) - Name multi-field SessionEvent variants (#1051) - Enforce handle_fatal_reject type safety (#1058) - Remove uninitialized session state (#1014) - Enforce that SessionHistory is created internally (#1062) - Reduce visibility of common recv abstractions (#1109) - Abstract V2 Sender over SenderContext and remove public Url (#1141) Improve Error Handling: - Handle fatal errors in receiver state machine (#1060) - Update sender process_res to parse and process error response (#1114) - HPKE encrypt error response (#1115) - Use HasReplyableErrorTransition in reply error typestate (#1130) - Use reply key for replyable errors to v2 senders (#981) - Improve receive error hierarchy (#1031) - Separate session replay & protocol operation (#1036) Async Persistence and WASM Support: - Introduce AsyncSessionPersister and replay_event_log_async (#1235, #1266) - Use web-time for WASM targets (#1190) API and Dependency Refinements: - Depend on url/serde with no default features (#1126) - Use String type instead of Url on Request Struct (#1122) - Remove use of payjoin::Url and url::Url in public methods (#1057) - Make payjoin::uri module public (#1048) - Replace psbt_with_fee_contributions with pub fn (#1120) - Refactor sender to validate PjParam by version (#901) - Remove ReceivedProposalPsbt in favor of session outcome (#1171) - Remove sequence param from InputPair constructors - Take cert_der by reference in fetch_ohttp_keys_with_cert - Bump MSRV to 1.85.0 (#957) Bug Fixes: - Fix identify_receiver_outputs (#1168) - Use full_relay_url in sender GET request (#1166) - Deduplicate PSBT inputs in contribute_inputs (#1254) - Return error on duplicate input contribution (#1257) - Derive P2TR input weight from witness data (#1200) - Skip check_payment in Receiver<Monitor> for non-segwit senders (#1218) - Add safe catch-all for secp256k1::Error conversion in HpkeError (#1298) - Fix avoid_uih method comment (#1411) Miscellaneous Cleanups: - Use tracing crate instead of log (#1020) - Remove redundant fields from WantsInputs, WantsOutputs, and WantsFeeRange events (#1106, #1102, #1092) - Remove mailbox from receiver session context (#1112) - Remove extraneous clones and redundant Vec clones in HPKE encrypt functions (#1089, #982, #845) - Use expiration instead of expiry (#1087) - Clarify request construction methods for sender and receiver (#814) - Take references in crate-internal HPKE API
Release payjoin-mailroom-0.1.1 - Implement Directory and its db as a tower-service (#1361) - Add ACME section for mailroom example config (#1382) - Add an example `systemd` service (#1393) - Add mailroom landing page (#1401) - Update mailroom README description (#1402) - Make git commit hash optional in landing page (#1408) - Fold ohttp relay into mailroom (#1409)
Release payjoin-mailroom-0.1.0 Initial release of payjoin-mailroom (combining payjoin-directory and ohttp-relay). - Implement unified service routing via axum (#1232) - Prevent relay/gateway self-loop detection (#1232) - Use tokio_listener for flexible binding (#1232) - Add testing coverage (#1285) - Add standalone metrics service (#1296) - Add ACME certificate management (#1315) - Fix metrics spawn in `serve_acme` (#1317) - Replace Prometheus metrics with OpenTelemetry API (#1327) - Add support for release tags when publishing a docker image (#1331) - Clear V1 payload from memory after first read (#1335) - Gate V1 protocol behind runtime feature flag (#1336) - Add GeoIP region filtering and address blocklist (#1337) - Add payjoin-mailroom to test_local.sh (#1339) - Add supported versions to /health response (#1348)
Release payjoin-1.0.0-rc.2 This release candidate introduces async persistence, WASM target support, improved taproot input weight derivation, and various bug fixes. - Introduce `AsyncSessionPersister` and `replay_event_log_async` (#1235, #1266) - Deduplicate PSBT inputs in `contribute_inputs` (#1254) - Return error on duplicate input contribution (#1257) - Derive P2TR input weight from witness data (#1200) - Skip `check_payment` in `Receiver<Monitor>` for non-segwit senders (#1218) - Use `web-time` for WASM targets (#1190)
Release payjoin-1.0.0-rc.1 This release candidate fixes a BIP78 spec compliance bug, and an issue with the BIP77 sender when polling an arbitrary relay via RFC9540. It also removes a redundant Sender SessionEvent. - Fix identify_receiver_outputs (#1168) - Use full_relay_url in sender GET request (#1166) - Remove `ReceivedProposalPsbt` infavor of session outcome (#1171)
payjoin-1.0.0-rc.0 Release payjoin-1.0.0-rc Introduce monitoring typestates, replyable error handling, and other updates for more robust session lifecycle management. Selected Improvements: - Receiver Monitor Typestate (#1061) - Sender closed variant (#1129) - Rename sender session events (#1125, #1116) - Remove `PollingForProposal` from session event (#1128) - Return closed session state during replays (#1136) - Introduce `SessionEvent::Closed` (#1078) - Name multi-field SessionEvent variants (#1051) - Enforce `handle_fatal_reject` type safety (#1058) - Remove uninitialized session state (#1014) - Enforce that `SessionHistory` is created internally (#1062) - Reduce visibility of common recv abstractions (#1109) - Abstract V2 Sender over SenderContext and remove public Url (#1141) - Handle fatal errors in receiver state machine (#1060) - Update sender `process_res` to parse and process error response (#1114) - HPKE encrypt error response (#1115) - Use `HasReplyableErrorTransition` in reply error typestate (#1130) - Use reply key for replyable errors to v2 senders (#981) - Improve `receive` error hierarchy (#1031) - Separate session replay & protocol operation (#1036) - Depend on `url/serde` with no default features (#1126) - Use String type instead of Url on Request Struct (#1122) - Remove the url crate dep from payjoin-test-utils (#1111) - Remove use of payjoin::Url and url::Url in public methods (#1057) - Make `payjoin::uri` module public (#1048) - Replace `psbt_with_fee_contributions` with pub fn (#1120) - Refactor sender to validate PjParam by version (#901) - Replace bitcoind with corepc_node (#1041) - Bump MSRV to 1.85.0 (#957) - Upgrade testcontainers (#970) - Run all tests in macOS CI (#1094) - Use tracing crate instead of log (#1020) - Add Pull Request Review Template (#967) - Add bug issue templates (#758, #784) - Add Feature Request, Good First Issue, and General Issue Templates (#891) - Enforce new AI Disclosure in PR Checklist (#1012) - Remove redundant fields from `WantsInputs`, `WantsOutputs`, and `WantsFeeRange` events (#1106, #1102, #1092) - Remove mailbox from receiver session context (#1112) - Remove extraneous clones and redundant Vec clones in HPKE encrypt functions (#1089, #982, #845) - Use `expiration` instead of `expiry` (#1087) - Clarify request construction methods for sender and receiver (#814)
Release payjoin-test-utils 0.0.1 Change log: - Export InMemoryTestPersister under _test-utils [#761](#761) - Introduce constructors for SegWit input pairs [#712](#712) - Move testing constants to payjoin-test-utils [#613](#613) - Specify the versions for deps more precisely in the cargo toml [#696](#696) - Extend tests for rest of receive module [#632](#632) - Fix uninline format clippy violations [#667](#667)
Release payjoin-ffi-0.24 Change log: Session Persister - Update to payjoin-0.24.0 - Replace PersisterTrait with SessionPersister Trait [#750](#750) [#789](#789) - 0.24 name audit [#803](#803), [#810](#810) - Sender Session Events [#777](#777) - Receiver Session Events [#760](#760) - Replace Persister with SessionPersister for v2 Sender [#789](#789) - Expose fallback tx off receiver session history [#799](#799) - Sender session history fallback [#805](#805) - Remove storage error wrapper [#781](#781) - Move extract_fallback_tx to MaybeInputsOwned [#801](#801) Misc. - Fix setup.py BIP number typo in description [#709](#709) - Remove unused Python callback classes [#725](#725) - README fixes [#732](#732) - Update links to reference BIP-77 document [#733](#733) - Remove unused imports in python int. tests [#779](#779) - Propagate error on loading Receiver [#720](#720) - Upgrade setuptools [#704](#704)
Release payjoin-cli-0.2.0 Change log: - Support sender and receiver being generic over their typestate ([#728](#728), [#719](#719)) - Remove existing persistence strategy and replace with new SessionPersister trait ([#789](#789), [#750](#750)) - Update references to BIP-77 ([#733](#733)) - Rename RelayState to RelayManager for clarity ([#727](#727)) - Refactor config to use proc macros over builder ([#703](#703)) - Create fallback ohttp-relay logic for payjoin-cli ([#607](#607)) - Separate v2 cli logic into mod and ohttp components ([#714](#714)) - Update Nigiri instructions ([#691](#691), [#682](#682)) - Dedupe ImplementationError ([#669](#669)) - Add Quick Start, Configuration, Reference to CLI README ([#624](#624))
PreviousNext