Releases: payjoin/rust-payjoin
Releases · payjoin/rust-payjoin
Release payjoin-0.25.0
Summary
Introduce monitoring typestates, replyable error handling, async
persistence, WASM target support, and other updates for more robust
session lifecycle management.
What's Changed
- Rename FFI error types to avoid naming conflicts by @spacebear21 in #830
- Serve a page on / for payjoin-directory by @zealsham in #824
- Shift cargo mutants inclusion files to be within the core module by @benalleng in #833
- Bump payjoin-ffi version to 0.24 by @arminsabouri in #842
- Bump payjoin-cli version to 0.2.0 by @arminsabouri in #838
- Remove to/from json methods on typestates by @arminsabouri in #835
- Bump payjoin-directory version to 0.0.3 by @arminsabouri in #840
- Bump payjoin-test-utils version to 0.0.1 by @arminsabouri in #841
- Add initial warnings against OHTTP request reuse by @0xZaddyy in #828
- Add bug issue templates (#758) by @thebrandonlucas in #784
- Fix ffi fmt and run
fmt --checkin CI by @arminsabouri in #832 - Remove python-bitcoinlib dependency for ffi by @benalleng in #849
- Session persister mutants by @benalleng in #791
- Helper method for optional parameters with docstring by @zealsham in #853
- Fix minor typo in README by @Mshehu5 in #858
- Setup Lint workflows for payjoin-ffi by @arminsabouri in #846
- Add
expected_weightfield toInputPairby @arturgontijo in #772 - Fragment parameter fixes by @nothingmuch in #852
- Update receiver typestate documentation for functions shared between v1 and v2 (and some InputPair documentation) by @mehmetefeumit in #769
- Prevent concurrent lockfile conflicts using flock and add backup by @0xZaddyy in #851
- Remove unnecessary payjoin-ffi dependencies by @spacebear21 in #866
- Remove redundant clones by @shinghim in #845
- Add mutant catch for incompatible mixed fragment by @benalleng in #871
- Fix
pjoshandling in v2 receiver and sender by @spacebear21 in #847 - Use tempfile for temporary e2e test directories by @spacebear21 in #868
- Clarify request construction methods for sender and receiver by @0xZaddyy in #814
- Derive weight from witness for p2wsh inputs by @arminsabouri in #862
- Uniffi dart by @spacebear21 in #829
- Remove commented out ffi reciever unit test by @arminsabouri in #887
- Enforce nightly rust toolchain by @spacebear21 in #885
- Separate out fee application into own typestate by @arminsabouri in #881
- Replaces 'flock' with mkdir locking by @Johnosezele in #886
- Add PartialEq/Eq to errors for easier comparison by @w3irdrobot in #768
- Add Feature Request, Good First Issue, and General Issue Templates by @thebrandonlucas in #891
- Use FnMut closures for receiver typestate checks by @benalleng in #883
- Abstract common sender functionality, not heirarchy by @DanGould in #884
- Remove mod/uni payjoin-ffi distinction by @DanGould in #899
- Cargo mutants version update by @benalleng in #882
- Remove unneeded PSBT fields when extracting request by @arminsabouri in #907
- Restore PSBT input field
witness_scriptby @arminsabouri in #908 - Restore original psbt output fields by @arminsabouri in #909
- Diff based cargo-mutants by @benalleng in #910
- e2e test concurrency fixes by @nothingmuch in #913
- refactor: introduce payjoin_directory::Service by @nothingmuch in #914
- Check ntxid after proposal finalization by @arminsabouri in #905
- Stale mutant exclusions by @benalleng in #918
- Remove NS1R from master by @arminsabouri in #923
- Add default directory to payjoin-cli by @zealsham in #874
- Reduce visibility of
JsonReply::newby @arminsabouri in #931 - Add coverage converting impl error to jsonreply by @arminsabouri in #936
- Remove
change_voutfromProvisionalProposalby @arminsabouri in #939 - Reduce FFI transition save boilerplate via macros by @arminsabouri in #944
- Add amount to recv session context by @arminsabouri in #920
- Decapsulate v1 provisional and payjoin typestate from v2 typestate by @arminsabouri in #938
- Rename
contexttosession_contextby @arminsabouri in #953 - Full mutant coverage by @benalleng in #928
- Replace bitcoincore-rpc with custom reqwest client by @bc1cindy in #945
- Reduce visibility of state transition types by @arminsabouri in #955
- Bump MSRV to 1.85.0 by @benalleng in #957
- Tests: optimize clone usage in integration tests by @bc1cindy in #960
- chore: Enhance JsonReply leakage test by @Prabhat1308 in #961
- Add Pull Request Review Template by @DanGould in #967
- Upgrade testcontainers by @spacebear21 in #970
- Optimize SessionPersister trait for better ownership semantics by @bc1cindy in #962
- Fix RPC error message regression in reqwest client by @bc1cindy in #971
- Decoupling v2 receiver typestates from v1 typestates by @arminsabouri in #951
- Add test cov for
WantsFeeRangeser/deserialization by @arminsabouri in #975 - Add dart github workflow by @spacebear21 in #876
- Add test to enforce v1 output substitution disabling in v2 by @Johnosezele in #963
- Add documentation builder to pre-commit hook recommendation by @mehmetefeumit in #820
- Remove redundant Vec clones in HPKE encrypt functions by @bc1cindy in #982
- Rename _danger-local-https to _manual-tls by @0xZaddyy in #763
- Enforce 1.85 toolchain in Dart/Python workflows by @spacebear21 in #986
- Optimize clone usage in receive module by @bc1cindy in #972
- Replace String clones with references in CLI RPC methods by @bc1cindy in #977
- Refactor sender to validate PjParam by version by @DanGould in #901
- Optimize the workflow for dart CI by @benalleng in #988
- Optimize the workflow for python CI by @benalleng in #989
- Reduce visibility of
session_contextmethod by @arminsabouri in #991 - Introduce metrics Collection via prometheus for payjoin directory by @zealsham in #848
- Migrate payjoin-cli from sled to rusqlite by @Mshehu5 in #873
- Simplify session id pj cli by @arminsabouri in #999
- Remove apt commands from bindings generate script by @arminsabouri in #1000
- Add missing uniffi exports by @spacebear21 in #1001
- Remove duplicate short id calculation code by @arminsabouri in #1004
- Update msrv deps by @benalleng in #959
- Fetching ohttp-keys should time out quickly by @zealsham in https://githu...
Release payjoin-mailroom-0.1.1
What's Changed
- Disable fail-on-error for coveralls workflow by @benalleng in #1360
- test: fetch ohttp keys by @ValeraFinebits in #1354
- Pin crane to fix weekly flake lock update by @benalleng in #1363
- Update uniffi-dart with named params by @spacebear21 in #1364
- Switch to upstream uniffi-bindgen-react-native by @spacebear21 in #1367
- Don't wait for workflows to publish Docker image by @spacebear21 in #1369
- Use tagged releases for uniffi dart and JS bindings by @spacebear21 in #1368
- chore: update flake.lock by @spacebear21 in #1375
- Add NixOS module for payjoin-mailroom by @spacebear21 in #1366
- Audit public API to take arguments by reference where possible by @DanGould in #1373
- Add ACME section for mailroom example config by @spacebear21 in #1382
- Add safe catch-all for secp256k1::Error conversion in HpkeError by @Mshehu5 in #1298
- Expose OHTTP key fetch for Python by @Mshehu5 in #1386
- Db service by @zealsham in #1361
- Add an example
systemdservice forpayjoin-mailroomby @luisschwab in #1393 - chore: update flake.lock by @spacebear21 in #1397
- Update mailroom README description by @spacebear21 in #1402
- Mailroom landing page by @spacebear21 in #1401
- Remove sequence param from InputPair constructors by @spacebear21 in #1405
- Add Python devshell by @Mshehu5 in #1400
- Allow publishing the mailroom image with a master tag pointing to a rev by @benalleng in #1407
- Fetch ohttp relay once before poll loop by @bc1cindy in #1398
- Make git commit hash optional in landing page by @spacebear21 in #1408
- Fix
avoid_uihmethod comment by @arminsabouri in #1411 - Fold ohttp relay into mailroom by @spacebear21 in #1409
- Bump payjoin-mailroom version to 0.1.1 by @spacebear21 in #1415
New Contributors
- @luisschwab made their first contribution in #1393
Full Changelog: payjoin-mailroom-0.1.0...payjoin-mailroom-0.1.1
Release payjoin-mailroom-0.1.0
What's Changed
- Unified payjoin service by @spacebear21 in #1232
- Add testing coverage for payjoin-service by @benalleng in #1285
- Add nix2container for reproducible Docker builds by @Mshehu5 in #1289
- Add data directory to gitignore by @zealsham in #1295
- Add standalone metrics service to Payjoin-service by @zealsham in #1296
- Add ACME certificate management to payjoin-service by @spacebear21 in #1315
- Fix metrics spawn in
serve_acmeby @spacebear21 in #1317 - Add nix2container workflows for creating payjoin-service docker images by @benalleng in #1321
- Allow container images for pull requests in fork branches by @benalleng in #1326
- Aggregated metrics for payjoin-service (with native OTLP) by @spacebear21 in #1327
- Rename payjoin-service to payjoin-mailroom by @spacebear21 in #1329
- Add support for release tags when publishing a docker image by @benalleng in #1331
- Add payjoin-mailroom to test_local.sh by @spacebear21 in #1339
- Clarify directory gateway handler by @spacebear21 in #1343
- Clear V1 payload from memory after first read by @DanGould in #1335
- Gate V1 protocol behind runtime feature flag by @DanGould in #1336
- Remove ignored v1 fallback code by @benalleng in #1345
- Add GeoIP region filtering and address blocklist by @DanGould in #1337
- Add supported versions to /health response by @spacebear21 in #1348
- Bump payjoin-mailroom version to 0.1.0 by @spacebear21 in #1359
New Contributors
- @ValeraFinebits made their first contribution in #1350
Full Changelog: payjoin-1.0.0-rc.1...payjoin-mailroom-0.1.0
Release payjoin-1.0.0-rc.2
What's Changed
- Resume command should not fail for expired sessions by @zealsham in #1175
- Add javascript language bindings by @spacebear21 in #1190
- Use nixos stable for nix flake by @benalleng in #1194
- Sort session events by auto-incrementing id by @arminsabouri in #1202
- Clean up FFI package names by @spacebear21 in #1207
- docs(payjoin): highlight {v1,v2}::{send,receive} as primary API entry by @Mshehu5 in #1183
- Cargo mutants filter diff only for rust files by @benalleng in #1212
- Switch dart bindings to use native assets by @spacebear21 in #1208
- Check for spendable UTXOs before payjoin operations by @0xZaddyy in #1071
- Nixos stable 25.11 by @benalleng in #1210
- Receiver integration tests for different script patterns and sender behaviors by @mehmetefeumit in #1211
- Fold ohttp-relay into rust-payjoin monorepo by @spacebear21 in #1215
- Make nginx available in nix flake check test runs by @nothingmuch in #1219
- Specify --tree-root to treefmt flake check by @nothingmuch in #1225
- Unused dependency flaged by nix check by @Mshehu5 in #1222
- Flake toolchain and check improvements by @nothingmuch in #1226
- Remove nightly toolchain flag from recommended precommit by @mehmetefeumit in #1220
- Introduce treefmt-nix as a universal formatter infra by @benalleng in #1221
- Skip check_payment in Receiver if the sender is using non-segwit address by @mehmetefeumit in #1218
- remove unnecessary #[inline] directives by @nothingmuch in #1229
- Stop suggesting broadcast-only check in check_payment docstrings by @mehmetefeumit in #1230
- Fix CONTRIBUTING.md formatting by @spacebear21 in #1233
- Derive P2TR input weight from witness data by @Mshehu5 in #1200
- Move the Default Payjoin FFI API to primitives by @chavic in #1191
- Update issue templates to include ohttp-relay by @benalleng in #1238
- Specifi nginx via environment variable or skip test by @zealsham in #1237
- Fix clippy lint warnings by @spacebear21 in #1251
- Upgrade
bitcoind-async-clientto 0.8.1 by @arminsabouri in #1252 - Audit serialization trait implementations by @0xZaddyy in #1223
- Refine Repo README and payjoin lib.rs by @mehmetefeumit in #1248
- Deduplicate PSBT inputs in contribute_inputs by @Mshehu5 in #1254
- flake: build dev profile instead of release by @nothingmuch in #1228
- Adding flake check and weekly flake.lock maintence job in git workflow by @Mshehu5 in #1224
- Async persistence by @spacebear21 in #1235
- Support ipv6 in the ohttp nginx config template by @zealsham in #1260
- Implement
replay_event_log_asyncby @spacebear21 in #1266 - Change GitHub token for flake maintenance workflow by @spacebear21 in #1278
- chore: update flake.lock by @spacebear21 in #1279
- Remove nix caching on flake checks by @benalleng in #1268
- Return error on duplicate input contribution by @Mshehu5 in #1257
- Print reverse proxy reminder in v1 CLI by @mehmetefeumit in #1255
- Unified payjoin service by @spacebear21 in #1232
- Add testing coverage for payjoin-service by @benalleng in #1285
- Add nix2container for reproducible Docker builds by @Mshehu5 in #1289
- Upgrade wheel to 0.46.3 by @spacebear21 in #1292
- Add data directory to gitignore by @zealsham in #1295
- Update uv lockfile by @spacebear21 in #1293
- chore: update flake.lock by @spacebear21 in #1299
- Pin
timedependency by @spacebear21 in #1302 - Fix failing cargo machete check by @spacebear21 in #1304
- chore: update flake.lock by @spacebear21 in #1309
- Add minimal fuzzer for payjoin by @benalleng in #1310
- Add standalone metrics service to Payjoin-service by @zealsham in #1296
- Add ACME certificate management to payjoin-service by @spacebear21 in #1315
- Fix metrics spawn in
serve_acmeby @spacebear21 in #1317 - Add library package to have missing packages available at runtime by @benalleng in #1281
- chore: update flake.lock by @spacebear21 in #1319
- Fuzzing enhancements: clean up README and add CI job by @DanGould in #1322
- Don't skip python integration test by @spacebear21 in #1301
- Expose async persistence in FFI by @spacebear21 in #1287
- Add nix2container workflows for creating payjoin-service docker images by @benalleng in #1321
- Allow container images for pull requests in fork branches by @benalleng in #1326
- Aggregated metrics for payjoin-service (with native OTLP) by @spacebear21 in #1327
- Rename payjoin-service to payjoin-mailroom by @spacebear21 in #1329
- Validate FFI primitive inputs + refresh bindings/tests by @chavic in #1263
- Add AGENTS.md for AI and contributor guidance by @DanGould in #1333
- Add treefmt and codespell (CI requirements) to nix dev shells by @DanGould in #1334
- Add support for release tags when publishing a docker image by @benalleng in #1331
- Add payjoin-mailroom to test_local.sh by @spacebear21 in #1339
- Use nix fmt instead of treefmt in devshell by @benalleng in #1341
- Add new ignores in codespell for local runs by @benalleng in #1340
- Fix flaky test_prune by using deterministic timestamp manipulation by @DanGould in #1338
- Clarify directory gateway handler by @spacebear21 in #1343
- Clear V1 payload from memory after first read by @DanGould in #1335
- Improve AGENTS.md guidance by @DanGould in #1344
- Gate V1 protocol behind runtime feature flag by @DanGould in #1336
- Remove ignored v1 fallback code by @benalleng in #1345
- Add GeoIP region filtering and address blocklist by @DanGould in #1337
- Add C# language bindings for payjoin-ffi by @chavic in #1318
- Add supported versions to /health response by @spacebear21 in #1348
- Update FFI readme by @spacebear21 in #1347
- Add async weekly standup automation by @DanGould in #1346
- test: add csharp integration test by @ValeraFinebits in #1350
- Pin wasm-bindgen-cli to 0.2.108 by @spacebear21 in #1349
- Bump payjoin version to 1.0.0-rc.2 by @spacebear21 in #1358
- Bump payjoin-mailroom version to 0.1.0 by @spacebear21 in #1359
New Contributors
- @ValeraFinebits made their first contribution in #1350
Full Changelog: payjoin-1.0.0-rc.1...payjoin-1.0.0...
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
ReceivedProposalPsbtinfavor of session outcome (#1171)
What's Changed
- Don't pub use Duration by @DanGould in #1150
- Assert reply_key for RetrievedOriginalPayload by @benalleng in #1152
- Directory cli fixes by @nothingmuch in #1157
- Support requesting certificates using ACME by @nothingmuch in #1026
- Update corepc-node to v0.10.0 by @benalleng in #1155
- FFI: Eliminate string fallbacks in error wrappers by @chavic in #1127
- Remove Docker mention in dart README by @spacebear21 in #1161
- Fix identify_receiver_outputs by @spacebear21 in #1168
- Use full_relay_url in sender GET request by @spacebear21 in #1166
- Add directory health check github action by @spacebear21 in #1170
- Fix directory metrics by @spacebear21 in #1173
- Fix rpc-error due to quick transaction lookup by @zealsham in #1159
- Force ffi workflow to use certain python version by @benalleng in #1176
- Remove
ReceivedProposalPsbtinfavor of session outcome by @arminsabouri in #1171 - Remove public /metrics endpoint from directory by @spacebear21 in #1178
- Remove extraneous destructuring by @arminsabouri in #1182
- Bump payjoin version to 1.0.0-rc.1 by @spacebear21 in #1186
Full Changelog: payjoin-1.0.0-rc.0...payjoin-1.0.0-rc.1
Release payjoin-1.0.0-rc.0
Change log
Introduce monitoring typestates, replyable error handling, 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
PollingForProposalfrom session event (#1128) - Return closed session state during replays (#1136)
- Introduce
SessionEvent::Closed(#1078) - Name multi-field SessionEvent variants (#1051)
- Enforce
handle_fatal_rejecttype safety (#1058) - Remove uninitialized session state (#1014)
- Enforce that
SessionHistoryis 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_resto parse and process error response (#1114) - HPKE encrypt error response (#1115)
- Use
HasReplyableErrorTransitionin reply error typestate (#1130) - Use reply key for replyable errors to v2 senders (#981)
- Improve
receiveerror hierarchy (#1031) - Separate session replay & protocol operation (#1036)
API and Dependency Refinements
- Depend on
url/serdewith 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::urimodule public (#1048) - Replace
psbt_with_fee_contributionswith 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)
Build, CI, and Workflow Enhancements
- 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)
Miscellaneous Cleanups
- Remove redundant fields from
WantsInputs,WantsOutputs, andWantsFeeRangeevents (#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
expirationinstead ofexpiry(#1087) - Clarify request construction methods for sender and receiver (#814)
What's Changed
- Rename FFI error types to avoid naming conflicts by @spacebear21 in #830
- Serve a page on / for payjoin-directory by @zealsham in #824
- Shift cargo mutants inclusion files to be within the core module by @benalleng in #833
- Bump payjoin-ffi version to 0.24 by @arminsabouri in #842
- Bump payjoin-cli version to 0.2.0 by @arminsabouri in #838
- Remove to/from json methods on typestates by @arminsabouri in #835
- Bump payjoin-directory version to 0.0.3 by @arminsabouri in #840
- Bump payjoin-test-utils version to 0.0.1 by @arminsabouri in #841
- Add initial warnings against OHTTP request reuse by @0xZaddyy in #828
- Add bug issue templates (#758) by @thebrandonlucas in #784
- Fix ffi fmt and run
fmt --checkin CI by @arminsabouri in #832 - Remove python-bitcoinlib dependency for ffi by @benalleng in #849
- Session persister mutants by @benalleng in #791
- Helper method for optional parameters with docstring by @zealsham in #853
- Fix minor typo in README by @Mshehu5 in #858
- Setup Lint workflows for payjoin-ffi by @arminsabouri in #846
- Add
expected_weightfield toInputPairby @arturgontijo in #772 - Fragment parameter fixes by @nothingmuch in #852
- Update receiver typestate documentation for functions shared between v1 and v2 (and some InputPair documentation) by @mehmetefeumit in #769
- Prevent concurrent lockfile conflicts using flock and add backup by @0xZaddyy in #851
- Remove unnecessary payjoin-ffi dependencies by @spacebear21 in #866
- Remove redundant clones by @shinghim in #845
- Add mutant catch for incompatible mixed fragment by @benalleng in #871
- Fix
pjoshandling in v2 receiver and sender by @spacebear21 in #847 - Use tempfile for temporary e2e test directories by @spacebear21 in #868
- Clarify request construction methods for sender and receiver by @0xZaddyy in #814
- Derive weight from witness for p2wsh inputs by @arminsabouri in #862
- Uniffi dart by @spacebear21 in #829
- Remove commented out ffi reciever unit test by @arminsabouri in #887
- Enforce nightly rust toolchain by @spacebear21 in #885
- Separate out fee application into own typestate by @arminsabouri in #881
- Replaces 'flock' with mkdir locking by @Johnosezele in #886
- Add PartialEq/Eq to errors for easier comparison by @w3irdrobot in #768
- Add Feature Request, Good First Issue, and General Issue Templates by @thebrandonlucas in #891
- Use FnMut closures for receiver typestate checks by @benalleng in #883
- Abstract common sender functionality, not heirarchy by @DanGould in #884
- Remove mod/uni payjoin-ffi distinction by @DanGould in #899
- Cargo mutants version update by @benalleng in #882
- Remove unneeded PSBT fields when extracting request by @arminsabouri in #907
- Restore PSBT input field
witness_scriptby @arminsabouri in #908 - Restore original psbt output fields by @arminsabouri in #909
- Diff based cargo-mutants by @benalleng in #910
- e2e test concurrency fixes by @nothingmuch in #913
- refactor: introduce payjoin_directory::Service by @nothingmuch in #914
- Check ntxid after proposal finalization by @arminsabouri in #905
- Stale mutant exclusions by @benalleng in #918
- Remove NS1R from master by @arminsabouri in #923
- Add default directory to payjoin-cli by @zealsham in #874
- Reduce visibility of
JsonReply::newby @arminsabouri in #931 - Add coverage converting impl error to jsonreply by @arminsabouri in #936
- Remove
change_voutfromProvisionalProposalby @arminsabouri in #939 - Reduce FFI transition save boilerplate via macros by @arminsabouri in #944
- Add amount to recv session context by @arminsabouri in #920
- Decapsulate v1 provisional and payjoin typestate from v2 typestate by @arminsabouri in #938
- Rename
contexttosession_contextby @arminsabouri in #953 - Full mutant coverage by @benalleng in #928
- Replace bitcoincore-rpc with custom reqwest client by @bc1cindy in #945
- Reduce visibility of state transition types by @arminsabouri in #955
- Bump MSRV to 1.85.0 by @benalleng in #957
- Tests: optimize clone usage in integration tests by @bc1cindy in #960
- chore: Enhance JsonReply leakage test by @Prabhat1308 in #961
- Add Pull Request Review Template by @DanGould in #967
- Upgrade testcontainers by @spacebear21 in #970
- Optimize SessionPersister trait for better ownership semantics by @bc1cindy in #962
- Fix RPC error message regression in reqwest client by @bc1cindy in #971
- Decoupling v2 receiver typestates from v1 typestates by @armin...
Release payjoin-test-utils 0.0.1
Change log
- Export InMemoryTestPersister under _test-utils #761
- Introduce constructors for SegWit input pairs #712
- Move testing constants to payjoin-test-utils #613
- Specify the versions for deps more precisely in the cargo toml #696
- Extend tests for rest of receive module #632
- Fix uninline format clippy violations #667
What's Changed
- Extend tests for rest of receive module by @benalleng in #632
- Remove rust docs reference to non-existent method by @arminsabouri in #655
- Persistence follow ups by @arminsabouri in #638
- Alter receiver session as_ref assert and persist::Value import for ReceiverToken by @benalleng in #658
- Update README title and add logo & badges by @thebrandonlucas in #665
- Fix uninline format clippy violations by @arminsabouri in #667
- Move persist sub module to root module by @arminsabouri in #656
- Duplicate proposals catch in ns1r by @benalleng in #642
- Add issue write permissions to mutants cron job workflow by @benalleng in #676
- Dedupe ImplementationError by @shinghim in #669
- payjoin-cli: Update README nigiri install instructions by @thebrandonlucas in #682
- Replace deprecated rustfmt.toml options by @benalleng in #687
- Introduce Payjoin version enum by @shinghim in #668
- Catch new match arm cargo mutants by @benalleng in #686
- Use
IntoUrlforohttp_relayargument by @DanGould in #692 - Clarify nigiri commands in the payjoin-cli README by @mehmetefeumit in #691
- Specify the versions for deps more precisely in the cargo toml by @benalleng in #696
- Create fallback ohttp-relay logic for payjoin-cli by @benalleng in #607
- Expose shortid method for SessionContext by @benalleng in #698
- Copy fields instead of clearing in prepare_psbt by @DanGould in #700
- Import payjoin-ffi by @spacebear21 in #701
- Upgrade setuptools by @spacebear21 in #704
- Add tests for BIP-78 sender checklist by @shinghim in #663
- Update READMEs for payjoin-ffi by @spacebear21 in #708
- Fix
setup.pyBIP number typo in description by @arminsabouri in #709 - Limit response sizes for v1 by @shinghim in #586
- Seperate v2 cli logic into mod and ohttp components by @benalleng in #714
- Update some test assertions to compare the invariant vs display string by @shinghim in #711
- Randomly pad OHTTP requests by @nothingmuch in #715
- Limit visibility of id method for SessionContext to the crate only by @benalleng in #713
- Add
SessionPersistertrait by @arminsabouri in #716 - Propagate error on loading Receiver by @shinghim in #720
- Expand Python CI trigger to all of payjoin-ffi by @arminsabouri in #722
- Remove unused Python callback classes by @arminsabouri in #725
- Make
Receivergeneric over its typestate by @arminsabouri in #719 - Refactor config to use proc macros over builder by @thebrandonlucas in #703
- Rename RelayState to RelayManager for clarity by @0xZaddyy in #727
- Add mutants for sender module by @benalleng in #717
- payjoin-ffi README fixes by @spacebear21 in #732
- update links to reference BIP-77 document by @0xZaddyy in #733
- Sender generic over typestate by @arminsabouri in #728
- Introduce constructors for SegWit input pairs by @shinghim in #712
- Remove redis from macos CI workflow by @benalleng in #744
- Move shared response processing code to ohttp.rs by @spacebear21 in #660
- Merge parallel feature flag local certificate logic in cli ohttp by @benalleng in #726
- Introduce constructors for legacy input pairs by @shinghim in #753
- Simplify v1 response processing function signatures by @spacebear21 in #745
- Lock cargo mutants version to 25.0.1 by @benalleng in #759
- Receiver Session Events by @arminsabouri in #760
- Export
InMemoryTestPersisterunder_test-utilsby @arminsabouri in #761 - Capture hpke reply key in session event by @arminsabouri in #762
- Full mutation coverage on send in the payjoin crate by @benalleng in #748
- Remove FinalizeResponseError in favor of using FinalizedError by @benalleng in #764
- Update README test checklist by @spacebear21 in #765
- Combine test_output_substitution with sender checklist test for clarity by @benalleng in #767
- Correct cargo mutants version locking in weekly workflow by @benalleng in #776
- Remove unused imports in python int. tests by @arminsabouri in #779
- Remove storage error wrapper by @arminsabouri in #781
- Sender Session Events by @arminsabouri in #777
- Add CONTRIBUTING.md by @thebrandonlucas in #782
- Replace
PersisterwithSessionPersisterfor v2 Sender by @arminsabouri in #789 - Remove MAX_CONTENT_LENGTH, validate content-length with body length by @GideonBature in #770
- Move
extract_fallback_txtoMaybeInputsOwnedby @arminsabouri in #801 - Fix import of OutputSubstition in send::v2 test by @DanGould in #802
- Exclude closed session from get session ids method by @arminsabouri in #806
- Expose fallback tx off receiver session history by @arminsabouri in #799
- Sender session history fallback by @arminsabouri in #805
- Name audit for 0.24 release by @DanGould in #803
- 0.24 name audit part 2 by @DanGould in #810
- Deduplicate payjoin URI creation logic by @spacebear21 in #817
- Clean up re-exports by @zealsham in #746
- Bump
payjoinversion to 0.24.0 by @DanGould in #827 - Rename FFI error types to avoid naming conflicts by @spacebear21 in #830
- Serve a page on / for payjoin-directory by @zealsham in #824
- Shift cargo mutants inclusion files to be within the core module by @benalleng in #833
- Bump payjoin-ffi version to 0.24 by @arminsabouri in #842
- Bump payjoin-cli version to 0.2.0 by @arminsabouri in #838
- Remove to/from json methods on typestates by @arminsabouri in #835
- Bump payjoin-directory version to 0.0.3 by @arminsabouri in #840
- Bump payjoin-test-utils version to 0.0.1 by @arminsabouri in #841
New Contributors
- @mehmetefeumit made their first contribution in #691
- @GideonBature made their first contribution in #770
- @zealsham made their first contribution in #746
...
Release payjoin-ffi-0.24
Change log
Session Persister
- Update to payjoin-0.24.0
- Replace PersisterTrait with SessionPersister Trait #750 #789
- 0.24 name audit #803, #810
- Sender Session Events #777
- Receiver Session Events #760
- Replace Persister with SessionPersister for v2 Sender #789
- Expose fallback tx off receiver session history #799
- Sender session history fallback #805
- Remove storage error wrapper #781
- Move extract_fallback_tx to MaybeInputsOwned #801
Misc.
- Fix setup.py BIP number typo in description #709
- Remove unused Python callback classes #725
- README fixes #732
- Update links to reference BIP-77 document #733
- Remove unused imports in python int. tests #779
- Propagate error on loading Receiver #720
- Upgrade setuptools #704
What's Changed
- Remove redundant sender imports by @arminsabouri in #626
- Propagate DbError as Internal by @DanGould in #630
- Add "Quick Start" minimal tutorial, "Configuration", and "Reference" to
payjoin-cliREADME by @thebrandonlucas in #624 - Bump payjoin-cli version to 0.1.0 by @spacebear21 in #629
- Update
payjoin-cliREADME.md by @thebrandonlucas in #633 - Directory docker-compose should not expose redis or payjoin directory ports by @arminsabouri in #634
- Do not log
ERRORon directory validation errors by @arminsabouri in #628 - Remove duplicate cli required_else_help method by @benalleng in #637
- Reduce visibility of receiver error by @arminsabouri in #639
- Bump payjoin directory 0.0.2 by @DanGould in #649
- Bump payjoin test utils 0.0.0 by @DanGould in #650
- Extend tests for rest of receive module by @benalleng in #632
- Remove rust docs reference to non-existent method by @arminsabouri in #655
- Persistence follow ups by @arminsabouri in #638
- Alter receiver session as_ref assert and persist::Value import for ReceiverToken by @benalleng in #658
- Update README title and add logo & badges by @thebrandonlucas in #665
- Fix uninline format clippy violations by @arminsabouri in #667
- Move persist sub module to root module by @arminsabouri in #656
- Duplicate proposals catch in ns1r by @benalleng in #642
- Add issue write permissions to mutants cron job workflow by @benalleng in #676
- Dedupe ImplementationError by @shinghim in #669
- payjoin-cli: Update README nigiri install instructions by @thebrandonlucas in #682
- Replace deprecated rustfmt.toml options by @benalleng in #687
- Introduce Payjoin version enum by @shinghim in #668
- Catch new match arm cargo mutants by @benalleng in #686
- Use
IntoUrlforohttp_relayargument by @DanGould in #692 - Clarify nigiri commands in the payjoin-cli README by @mehmetefeumit in #691
- Specify the versions for deps more precisely in the cargo toml by @benalleng in #696
- Create fallback ohttp-relay logic for payjoin-cli by @benalleng in #607
- Expose shortid method for SessionContext by @benalleng in #698
- Copy fields instead of clearing in prepare_psbt by @DanGould in #700
- Import payjoin-ffi by @spacebear21 in #701
- Upgrade setuptools by @spacebear21 in #704
- Add tests for BIP-78 sender checklist by @shinghim in #663
- Update READMEs for payjoin-ffi by @spacebear21 in #708
- Fix
setup.pyBIP number typo in description by @arminsabouri in #709 - Limit response sizes for v1 by @shinghim in #586
- Seperate v2 cli logic into mod and ohttp components by @benalleng in #714
- Update some test assertions to compare the invariant vs display string by @shinghim in #711
- Randomly pad OHTTP requests by @nothingmuch in #715
- Limit visibility of id method for SessionContext to the crate only by @benalleng in #713
- Add
SessionPersistertrait by @arminsabouri in #716 - Propagate error on loading Receiver by @shinghim in #720
- Expand Python CI trigger to all of payjoin-ffi by @arminsabouri in #722
- Remove unused Python callback classes by @arminsabouri in #725
- Make
Receivergeneric over its typestate by @arminsabouri in #719 - Refactor config to use proc macros over builder by @thebrandonlucas in #703
- Rename RelayState to RelayManager for clarity by @0xZaddyy in #727
- Add mutants for sender module by @benalleng in #717
- payjoin-ffi README fixes by @spacebear21 in #732
- update links to reference BIP-77 document by @0xZaddyy in #733
- Sender generic over typestate by @arminsabouri in #728
- Introduce constructors for SegWit input pairs by @shinghim in #712
- Remove redis from macos CI workflow by @benalleng in #744
- Move shared response processing code to ohttp.rs by @spacebear21 in #660
- Merge parallel feature flag local certificate logic in cli ohttp by @benalleng in #726
- Introduce constructors for legacy input pairs by @shinghim in #753
- Simplify v1 response processing function signatures by @spacebear21 in #745
- Lock cargo mutants version to 25.0.1 by @benalleng in #759
- Receiver Session Events by @arminsabouri in #760
- Export
InMemoryTestPersisterunder_test-utilsby @arminsabouri in #761 - Capture hpke reply key in session event by @arminsabouri in #762
- Full mutation coverage on send in the payjoin crate by @benalleng in #748
- Remove FinalizeResponseError in favor of using FinalizedError by @benalleng in #764
- Update README test checklist by @spacebear21 in #765
- Combine test_output_substitution with sender checklist test for clarity by @benalleng in #767
- Correct cargo mutants version locking in weekly workflow by @benalleng in #776
- Remove unused imports in python int. tests by @arminsabouri in #779
- Remove storage error wrapper by @arminsabouri in #781
- Sender Session Events by @arminsabouri in #777
- Add CONTRIBUTING.md by @thebrandonlucas in #782
- Replace
PersisterwithSessionPersisterfor v2 Sender by @arminsabouri in #789 - Remove MAX_CONTENT_LENGTH, validate content-length with body length by @GideonBature in https://github.com/p...
Release payjoin-directory 0.0.3
Changelog
- Update links to reference BIP-77 document #733
- Fix uninline format clippy violations #667
- Serve a page on / for payjoin-directory #824
What's Changed
- Bump payjoin test utils 0.0.0 by @DanGould in #650
- Extend tests for rest of receive module by @benalleng in #632
- Remove rust docs reference to non-existent method by @arminsabouri in #655
- Persistence follow ups by @arminsabouri in #638
- Alter receiver session as_ref assert and persist::Value import for ReceiverToken by @benalleng in #658
- Update README title and add logo & badges by @thebrandonlucas in #665
- Fix uninline format clippy violations by @arminsabouri in #667
- Move persist sub module to root module by @arminsabouri in #656
- Duplicate proposals catch in ns1r by @benalleng in #642
- Add issue write permissions to mutants cron job workflow by @benalleng in #676
- Dedupe ImplementationError by @shinghim in #669
- payjoin-cli: Update README nigiri install instructions by @thebrandonlucas in #682
- Replace deprecated rustfmt.toml options by @benalleng in #687
- Introduce Payjoin version enum by @shinghim in #668
- Catch new match arm cargo mutants by @benalleng in #686
- Use
IntoUrlforohttp_relayargument by @DanGould in #692 - Clarify nigiri commands in the payjoin-cli README by @mehmetefeumit in #691
- Specify the versions for deps more precisely in the cargo toml by @benalleng in #696
- Create fallback ohttp-relay logic for payjoin-cli by @benalleng in #607
- Expose shortid method for SessionContext by @benalleng in #698
- Copy fields instead of clearing in prepare_psbt by @DanGould in #700
- Import payjoin-ffi by @spacebear21 in #701
- Upgrade setuptools by @spacebear21 in #704
- Add tests for BIP-78 sender checklist by @shinghim in #663
- Update READMEs for payjoin-ffi by @spacebear21 in #708
- Fix
setup.pyBIP number typo in description by @arminsabouri in #709 - Limit response sizes for v1 by @shinghim in #586
- Seperate v2 cli logic into mod and ohttp components by @benalleng in #714
- Update some test assertions to compare the invariant vs display string by @shinghim in #711
- Randomly pad OHTTP requests by @nothingmuch in #715
- Limit visibility of id method for SessionContext to the crate only by @benalleng in #713
- Add
SessionPersistertrait by @arminsabouri in #716 - Propagate error on loading Receiver by @shinghim in #720
- Expand Python CI trigger to all of payjoin-ffi by @arminsabouri in #722
- Remove unused Python callback classes by @arminsabouri in #725
- Make
Receivergeneric over its typestate by @arminsabouri in #719 - Refactor config to use proc macros over builder by @thebrandonlucas in #703
- Rename RelayState to RelayManager for clarity by @0xZaddyy in #727
- Add mutants for sender module by @benalleng in #717
- payjoin-ffi README fixes by @spacebear21 in #732
- update links to reference BIP-77 document by @0xZaddyy in #733
- Sender generic over typestate by @arminsabouri in #728
- Introduce constructors for SegWit input pairs by @shinghim in #712
- Remove redis from macos CI workflow by @benalleng in #744
- Move shared response processing code to ohttp.rs by @spacebear21 in #660
- Merge parallel feature flag local certificate logic in cli ohttp by @benalleng in #726
- Introduce constructors for legacy input pairs by @shinghim in #753
- Simplify v1 response processing function signatures by @spacebear21 in #745
- Lock cargo mutants version to 25.0.1 by @benalleng in #759
- Receiver Session Events by @arminsabouri in #760
- Export
InMemoryTestPersisterunder_test-utilsby @arminsabouri in #761 - Capture hpke reply key in session event by @arminsabouri in #762
- Full mutation coverage on send in the payjoin crate by @benalleng in #748
- Remove FinalizeResponseError in favor of using FinalizedError by @benalleng in #764
- Update README test checklist by @spacebear21 in #765
- Combine test_output_substitution with sender checklist test for clarity by @benalleng in #767
- Correct cargo mutants version locking in weekly workflow by @benalleng in #776
- Remove unused imports in python int. tests by @arminsabouri in #779
- Remove storage error wrapper by @arminsabouri in #781
- Sender Session Events by @arminsabouri in #777
- Add CONTRIBUTING.md by @thebrandonlucas in #782
- Replace
PersisterwithSessionPersisterfor v2 Sender by @arminsabouri in #789 - Remove MAX_CONTENT_LENGTH, validate content-length with body length by @GideonBature in #770
- Move
extract_fallback_txtoMaybeInputsOwnedby @arminsabouri in #801 - Fix import of OutputSubstition in send::v2 test by @DanGould in #802
- Exclude closed session from get session ids method by @arminsabouri in #806
- Expose fallback tx off receiver session history by @arminsabouri in #799
- Sender session history fallback by @arminsabouri in #805
- Name audit for 0.24 release by @DanGould in #803
- 0.24 name audit part 2 by @DanGould in #810
- Deduplicate payjoin URI creation logic by @spacebear21 in #817
- Clean up re-exports by @zealsham in #746
- Bump
payjoinversion to 0.24.0 by @DanGould in #827 - Rename FFI error types to avoid naming conflicts by @spacebear21 in #830
- Serve a page on / for payjoin-directory by @zealsham in #824
- Shift cargo mutants inclusion files to be within the core module by @benalleng in #833
- Bump payjoin-ffi version to 0.24 by @arminsabouri in #842
- Bump payjoin-cli version to 0.2.0 by @arminsabouri in #838
- Remove to/from json methods on typestates by @arminsabouri in #835
- Bump payjoin-directory version to 0.0.3 by @arminsabouri in #840
- Bump payjoin-test-utils version to 0.0.1 by @arminsabouri in #841
- Add initial warnings against OHTTP request reuse by @0xZaddyy in #828
- Add bug issue templates (#758) by @thebrandonlucas in #784
New Contributors
- @mehmetefeumit made their first contribution in #691
- @0xZaddyy made their first contribution in #727
- @GideonBature made their first contribution in #770
- @zealsham made the...
Release payjoin-cli 0.2.0
Change log
- Support sender and receiver being generic over their typestate (#728, #719)
- Remove existing persistence strategy and replace with new SessionPersister trait (#789, #750)
- Update references to BIP-77 (#733)
- Rename RelayState to RelayManager for clarity (#727)
- Refactor config to use proc macros over builder (#703)
- Create fallback ohttp-relay logic for payjoin-cli (#607)
- Separate v2 cli logic into mod and ohttp components (#714)
- Update Nigiri instructions (#691, #682)
- Dedupe ImplementationError (#669)
- Add Quick Start, Configuration, Reference to CLI README (#624)
What's Changed
- Update
payjoin-cliREADME.md by @thebrandonlucas in #633 - Directory docker-compose should not expose redis or payjoin directory ports by @arminsabouri in #634
- Do not log
ERRORon directory validation errors by @arminsabouri in #628 - Remove duplicate cli required_else_help method by @benalleng in #637
- Reduce visibility of receiver error by @arminsabouri in #639
- Bump payjoin directory 0.0.2 by @DanGould in #649
- Bump payjoin test utils 0.0.0 by @DanGould in #650
- Extend tests for rest of receive module by @benalleng in #632
- Remove rust docs reference to non-existent method by @arminsabouri in #655
- Persistence follow ups by @arminsabouri in #638
- Alter receiver session as_ref assert and persist::Value import for ReceiverToken by @benalleng in #658
- Update README title and add logo & badges by @thebrandonlucas in #665
- Fix uninline format clippy violations by @arminsabouri in #667
- Move persist sub module to root module by @arminsabouri in #656
- Duplicate proposals catch in ns1r by @benalleng in #642
- Add issue write permissions to mutants cron job workflow by @benalleng in #676
- Dedupe ImplementationError by @shinghim in #669
- payjoin-cli: Update README nigiri install instructions by @thebrandonlucas in #682
- Replace deprecated rustfmt.toml options by @benalleng in #687
- Introduce Payjoin version enum by @shinghim in #668
- Catch new match arm cargo mutants by @benalleng in #686
- Use
IntoUrlforohttp_relayargument by @DanGould in #692 - Clarify nigiri commands in the payjoin-cli README by @mehmetefeumit in #691
- Specify the versions for deps more precisely in the cargo toml by @benalleng in #696
- Create fallback ohttp-relay logic for payjoin-cli by @benalleng in #607
- Expose shortid method for SessionContext by @benalleng in #698
- Copy fields instead of clearing in prepare_psbt by @DanGould in #700
- Import payjoin-ffi by @spacebear21 in #701
- Upgrade setuptools by @spacebear21 in #704
- Add tests for BIP-78 sender checklist by @shinghim in #663
- Update READMEs for payjoin-ffi by @spacebear21 in #708
- Fix
setup.pyBIP number typo in description by @arminsabouri in #709 - Limit response sizes for v1 by @shinghim in #586
- Seperate v2 cli logic into mod and ohttp components by @benalleng in #714
- Update some test assertions to compare the invariant vs display string by @shinghim in #711
- Randomly pad OHTTP requests by @nothingmuch in #715
- Limit visibility of id method for SessionContext to the crate only by @benalleng in #713
- Add
SessionPersistertrait by @arminsabouri in #716 - Propagate error on loading Receiver by @shinghim in #720
- Expand Python CI trigger to all of payjoin-ffi by @arminsabouri in #722
- Remove unused Python callback classes by @arminsabouri in #725
- Make
Receivergeneric over its typestate by @arminsabouri in #719 - Refactor config to use proc macros over builder by @thebrandonlucas in #703
- Rename RelayState to RelayManager for clarity by @0xZaddyy in #727
- Add mutants for sender module by @benalleng in #717
- payjoin-ffi README fixes by @spacebear21 in #732
- update links to reference BIP-77 document by @0xZaddyy in #733
- Sender generic over typestate by @arminsabouri in #728
- Introduce constructors for SegWit input pairs by @shinghim in #712
- Remove redis from macos CI workflow by @benalleng in #744
- Move shared response processing code to ohttp.rs by @spacebear21 in #660
- Merge parallel feature flag local certificate logic in cli ohttp by @benalleng in #726
- Introduce constructors for legacy input pairs by @shinghim in #753
- Simplify v1 response processing function signatures by @spacebear21 in #745
- Lock cargo mutants version to 25.0.1 by @benalleng in #759
- Receiver Session Events by @arminsabouri in #760
- Export
InMemoryTestPersisterunder_test-utilsby @arminsabouri in #761 - Capture hpke reply key in session event by @arminsabouri in #762
- Full mutation coverage on send in the payjoin crate by @benalleng in #748
- Remove FinalizeResponseError in favor of using FinalizedError by @benalleng in #764
- Update README test checklist by @spacebear21 in #765
- Combine test_output_substitution with sender checklist test for clarity by @benalleng in #767
- Correct cargo mutants version locking in weekly workflow by @benalleng in #776
- Remove unused imports in python int. tests by @arminsabouri in #779
- Remove storage error wrapper by @arminsabouri in #781
- Sender Session Events by @arminsabouri in #777
- Add CONTRIBUTING.md by @thebrandonlucas in #782
- Replace
PersisterwithSessionPersisterfor v2 Sender by @arminsabouri in #789 - Remove MAX_CONTENT_LENGTH, validate content-length with body length by @GideonBature in #770
- Move
extract_fallback_txtoMaybeInputsOwnedby @arminsabouri in #801 - Fix import of OutputSubstition in send::v2 test by @DanGould in #802
- Exclude closed session from get session ids method by @arminsabouri in #806
- Expose fallback tx off receiver session history by @arminsabouri in #799
- Sender session history fallback by @arminsabouri in #805
- Name audit for 0.24 release by @DanGould in #803
- 0.24 name audit part 2 by @DanGould in #810
- Deduplicate payjoin URI creation logic by @spacebear21 in https://github.com/payjoin/rust-payjoin/p...