From 5e154afc86834a61fd629cedca5f866689d5db60 Mon Sep 17 00:00:00 2001 From: Benalleng Date: Wed, 30 Sep 2026 10:23:41 -0400 Subject: [PATCH 1/4] Prepare dart payjoin 0.3.0 for pub.dev This bump is not backwards compatible to is a minor bump instead of a patch release due to the `BuildReceiverError` and `BuildSenderError` renaming. --- payjoin-ffi/dart/CHANGELOG.md | 17 +++++++++++++++++ payjoin-ffi/dart/native/Cargo.toml | 2 +- payjoin-ffi/dart/pubspec.yaml | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/payjoin-ffi/dart/CHANGELOG.md b/payjoin-ffi/dart/CHANGELOG.md index 7169ee472..6c209115a 100644 --- a/payjoin-ffi/dart/CHANGELOG.md +++ b/payjoin-ffi/dart/CHANGELOG.md @@ -1,3 +1,20 @@ +## [0.3.0+payjoin-1.2.0] + +- Bindings for payjoin-1.2.0, which adds the non-blocking receive + interface and its related methods alongside the existing + callback-based ones +- Add FFI bindings for the non-blocking receive interface, including + session event replay, in favor of synchronous callbacks +- Paying a BIP 78-only (v1) receiver from a v2 `SenderBuilder` now + returns an `UnsupportedPjVersion` error instead of panicking across + the FFI boundary +- **Breaking:** builder errors are renamed to match the payjoin crate: + `SenderBuilderError` to `BuildSenderError` and + `ReceiverBuilderError` to `BuildReceiverError` +- Replace the `url` crate with payjoin's native Url type, validating + URLs as a precondition to URI validation +- Pin `yoke-derive` for pub.dev consumers to respect the MSRV + ## [0.2.2+payjoin-1.0.0] - Bindings for payjoin-1.0.0, the first stable payjoin release. No Dart diff --git a/payjoin-ffi/dart/native/Cargo.toml b/payjoin-ffi/dart/native/Cargo.toml index 4a18acbe9..494ba3dc8 100644 --- a/payjoin-ffi/dart/native/Cargo.toml +++ b/payjoin-ffi/dart/native/Cargo.toml @@ -18,7 +18,7 @@ name = "payjoin_ffi_wrapper" crate-type = ["staticlib", "cdylib"] [dependencies] -payjoin-ffi = { git = "https://github.com/payjoin/rust-payjoin.git", rev = "60d0adbf4ee8e60090209d55e9864893a4acc30e", features = [ +payjoin-ffi = { git = "https://github.com/payjoin/rust-payjoin.git", rev = "8e072970f74040832342369e6319a4db53cd2b6f", features = [ "dart", ] } # Not used directly. yoke-derive 0.8.3 needs Rust 1.87 but declares no rust-version, diff --git a/payjoin-ffi/dart/pubspec.yaml b/payjoin-ffi/dart/pubspec.yaml index 1e748798f..e84b56a02 100644 --- a/payjoin-ffi/dart/pubspec.yaml +++ b/payjoin-ffi/dart/pubspec.yaml @@ -1,6 +1,6 @@ name: payjoin description: Dart bindings for payjoin -version: 0.2.2+payjoin-1.0.0 +version: 0.3.0+payjoin-1.2.0 homepage: https://github.com/payjoin/rust-payjoin repository: https://github.com/payjoin/rust-payjoin From 3ba3f195b8f378c7c0f6a6dcc8f1b96292c08ca4 Mon Sep 17 00:00:00 2001 From: Benalleng Date: Wed, 30 Sep 2026 10:28:50 -0400 Subject: [PATCH 2/4] Prepare python payjoin 0.3.0 for PyPI This is a minor release and not a patch because of the breaking change caused by the `BuildReceiverError` and `BuildSenderError` renames. --- payjoin-ffi/python/CHANGELOG.md | 17 +++++++++++++++++ payjoin-ffi/python/pyproject.toml | 2 +- payjoin-ffi/python/uv.lock | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/payjoin-ffi/python/CHANGELOG.md b/payjoin-ffi/python/CHANGELOG.md index a78b0d5c8..d14b0b563 100644 --- a/payjoin-ffi/python/CHANGELOG.md +++ b/payjoin-ffi/python/CHANGELOG.md @@ -1,3 +1,20 @@ +## [0.3.0] + +- Bindings for payjoin-1.2.0, which adds the non-blocking receive + interface and its related methods alongside the existing + callback-based ones +- Add FFI bindings for the non-blocking receive interface, including + session event replay, in favor of synchronous callbacks +- Paying a BIP 78-only (v1) receiver from a v2 `SenderBuilder` now + returns an `UnsupportedPjVersion` error instead of panicking across + the FFI boundary +- **Breaking:** builder errors are renamed to match the payjoin crate: + `SenderBuilderError` to `BuildSenderError` and + `ReceiverBuilderError` to `BuildReceiverError` +- Replace the `url` crate with payjoin's native Url type, validating + URLs as a precondition to URI validation +- Update anyio to 4.15.1 + ## [0.2.0] - Bindings for payjoin-1.0.0, the first stable payjoin release diff --git a/payjoin-ffi/python/pyproject.toml b/payjoin-ffi/python/pyproject.toml index aad065392..33d8f00bc 100644 --- a/payjoin-ffi/python/pyproject.toml +++ b/payjoin-ffi/python/pyproject.toml @@ -8,7 +8,7 @@ description = "The Python language bindings for the Payjoin Dev Kit" readme = "README.md" requires-python = ">=3.10" license = "MIT" -version = "0.2.0" +version = "0.3.0" dependencies = ["httpx>=0.28.1,<1.0"] [tool.setuptools] diff --git a/payjoin-ffi/python/uv.lock b/payjoin-ffi/python/uv.lock index 83099208e..bbf696091 100644 --- a/payjoin-ffi/python/uv.lock +++ b/payjoin-ffi/python/uv.lock @@ -82,7 +82,7 @@ wheels = [ [[package]] name = "payjoin" -version = "0.2.0" +version = "0.3.0" source = { editable = "." } dependencies = [ { name = "httpx" }, From c71ba5b9a3865fd02d17fc87a900f3f4cf1ad58d Mon Sep 17 00:00:00 2001 From: Benalleng Date: Wed, 30 Sep 2026 10:41:29 -0400 Subject: [PATCH 3/4] Prepare javascript payjoin 0.3.0 for npm This is a minor release and not a patch because of the breaking change from the `BuildReceiverError` and `BuildSenderError` renames. --- payjoin-ffi/javascript/CHANGELOG.md | 16 ++++++++++++++++ payjoin-ffi/javascript/package-lock.json | 4 ++-- payjoin-ffi/javascript/package.json | 4 ++-- 3 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 payjoin-ffi/javascript/CHANGELOG.md diff --git a/payjoin-ffi/javascript/CHANGELOG.md b/payjoin-ffi/javascript/CHANGELOG.md new file mode 100644 index 000000000..9631fee1c --- /dev/null +++ b/payjoin-ffi/javascript/CHANGELOG.md @@ -0,0 +1,16 @@ +## [0.3.0] + +- Bindings for payjoin-1.2.0, which adds the non-blocking receive + interface and its related methods alongside the existing + callback-based ones +- Add FFI bindings for the non-blocking receive interface, including + session event replay, in favor of synchronous callbacks +- Paying a BIP 78-only (v1) receiver from a v2 `SenderBuilder` now + returns an `UnsupportedPjVersion` error instead of panicking across + the FFI boundary +- **Breaking:** builder errors are renamed to match the payjoin crate: + `SenderBuilderError` to `BuildSenderError` and + `ReceiverBuilderError` to `BuildReceiverError` +- Replace the `url` crate with payjoin's native Url type, validating + URLs as a precondition to URI validation +- Build bindings with a release build resolved against the lockfile diff --git a/payjoin-ffi/javascript/package-lock.json b/payjoin-ffi/javascript/package-lock.json index 7733b7940..77bf6f1c1 100644 --- a/payjoin-ffi/javascript/package-lock.json +++ b/payjoin-ffi/javascript/package-lock.json @@ -1,12 +1,12 @@ { "name": "payjoin", - "version": "0.2.0", + "version": "0.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "payjoin", - "version": "0.2.0", + "version": "0.3.0", "dependencies": { "@ubjs/core": "^0.31.0-3", "uniffi-bindgen-react-native": "github:spacebear21/uniffi-bindgen-react-native#d10f04d83299" diff --git a/payjoin-ffi/javascript/package.json b/payjoin-ffi/javascript/package.json index c14930214..6f76422b6 100644 --- a/payjoin-ffi/javascript/package.json +++ b/payjoin-ffi/javascript/package.json @@ -1,7 +1,7 @@ { "name": "payjoin", - "version": "0.2.0", - "releaseTag": "0.2.0+payjoin-1.0.0", + "version": "0.3.0", + "releaseTag": "0.3.0+payjoin-1.2.0", "description": "JavaScript/WASM bindings for rust-payjoin (EXPERIMENTAL)", "scripts": { "ubrn:nodejs": "ubrn build web --release --and-generate --config ubrn.nodejs.config.yaml", From 19cf2094fe52951f1339f040d0efb856ee2ed117 Mon Sep 17 00:00:00 2001 From: Benalleng Date: Wed, 30 Sep 2026 10:44:54 -0400 Subject: [PATCH 4/4] Prepare C# payjoin 0.2.0 for NuGet This is a minor release instead of a patch release because there is a breaking change with the `BuildReceiverError` and `BuildSenderError` renames. --- payjoin-ffi/csharp/Payjoin.csproj | 2 +- payjoin-ffi/csharp/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/payjoin-ffi/csharp/Payjoin.csproj b/payjoin-ffi/csharp/Payjoin.csproj index 5257adb08..66af6a92f 100644 --- a/payjoin-ffi/csharp/Payjoin.csproj +++ b/payjoin-ffi/csharp/Payjoin.csproj @@ -7,7 +7,7 @@ true true Payjoin - 0.1.0+payjoin-1.0.0 + 0.2.0+payjoin-1.2.0 Payjoin Payjoin Dev Kit Contributors C# bindings for payjoin-ffi, generated from rust-payjoin via UniFFI. diff --git a/payjoin-ffi/csharp/README.md b/payjoin-ffi/csharp/README.md index b6dce951a..15a593c1c 100644 --- a/payjoin-ffi/csharp/README.md +++ b/payjoin-ffi/csharp/README.md @@ -38,7 +38,7 @@ Sessions persist each step to an event log through a persister you implement ove ## Stability -The package is pre-1.0 while the C# API stabilizes; expect breaking changes between 0.x releases. The version's build metadata names the wrapped payjoin core release, so `0.1.0+payjoin-1.0.0` packages payjoin 1.0.0, the first stable payjoin release. +The package is pre-1.0 while the C# API stabilizes; expect breaking changes between 0.x releases. The version's build metadata names the wrapped payjoin core release, so `0.2.0+payjoin-1.2.0` packages payjoin 1.2.0. ## Documentation and help