Download Latest Version OpenReceive v0.4.33 source code.zip (14.5 MB)
Home / v0.4.14
Name Modified Size InfoDownloads / Week
Parent folder
openreceive-0.4.14.gem 2026-10-04 140.3 kB
openreceive-provider-data-0.4.14.tgz 2026-10-04 358.2 kB
openreceive-rails-0.4.14.gem 2026-10-04 159.7 kB
openreceive-react-0.4.14.tgz 2026-10-04 168.0 kB
openreceive-server-0.4.14.gem 2026-10-04 163.8 kB
openreceive-svelte-0.4.14.tgz 2026-10-04 115.7 kB
openreceive-vue-0.4.14.tgz 2026-10-04 115.3 kB
standalone-checkout-0.4.14.tar.gz 2026-10-04 806.2 kB
openreceive-express-0.4.14.tgz 2026-10-04 116.5 kB
openreceive-fastify-0.4.14.tgz 2026-10-04 116.9 kB
openreceive-http-0.4.14.tgz 2026-10-04 155.7 kB
openreceive-next-0.4.14.tgz 2026-10-04 115.7 kB
openreceive-node-0.4.14.tgz 2026-10-04 171.1 kB
openreceive-0.4.14.tgz 2026-10-04 113.4 kB
openreceive-angular-0.4.14.tgz 2026-10-04 124.5 kB
openreceive-browser-0.4.14.tgz 2026-10-04 262.7 kB
openreceive-core-0.4.14.tgz 2026-10-04 144.2 kB
openreceive-elements-0.4.14.tgz 2026-10-04 970.0 kB
OpenReceive v0.4.14 source code.tar.gz 2026-10-04 8.3 MB
OpenReceive v0.4.14 source code.zip 2026-10-04 9.6 MB
README.md 2026-10-04 3.9 kB
Totals: 21 Items   22.3 MB 0
  • Fix a 0.4.13 regression in every engine (JS, Ruby, Python, PHP): a host-clock attempt could be skipped by reconciliation indefinitely. When one of the two scan-window slots was taken, the next selection moved its cursor past the whole batch, gave the free slot to the batch's wallet-timed attempts, and dropped its host-clock attempts. Those were read again only on the next lap, which could drop them the same way. With more than one batch of mixed pending attempts, a paid host-clock attempt could stay pending indefinitely. Selection now moves the cursor only past attempts it has queued, and an attempt with no free slot is read again by the next selection.
  • Let a wallet that answers only one history page per 9 s slice make progress, in every engine. A resumed slice first re-reads its last page as an overlap. When that was the only page answered before the deadline, the next slice re-read the same overlap again, forever. An overlap answered alone is now spent, and the next slice reads the unseen page first. Slices that answer more pages behave as before.
  • Two new spec/test-vectors/reconcile-progress.json vectors pin both fixes for every engine: mixed wallet- and host-timed batches, and one answered page per slice (run with a wallet-timed and a host-timed attempt).
  • BTCPay Server plugin source 0.4.13 fixes a 0.4.12 regression in its scan memo. An unbounded walk resumed after a failed page, and ending without finding a host-clock invoice, counted as a complete refresh. Past expiry plus grace, the memo then stopped watching that invoice and invoice recovery could close it as unpaid, even if it was paid while the walk was down. Such a hash now stays watched, counts as unreached, and gets a fresh unbounded walk on the next refresh. See packages/dotnet/CHANGELOG.md.
  • Ship the standalone checkout in the @openreceive/elements npm package. dist/standalone/ (the no-build-step openreceive-checkout.js and .css for plain-HTML pages) was missing from every published version since 0.4.10. The release packs each package right after its own build, and the elements build's tsup --clean emptied the directory that the standalone step had filled earlier. The standalone step is now the last step of the elements build, and the package smoke test fails if the tarball lacks it.
  • Fix npx openreceive doctor --db <sqlite file>, which crashed with "Cannot find package 'sqlite'". The build dropped the node: prefix from node:sqlite, a module that exists only under the prefix. On Node 22.5 to 22.12, where node:sqlite needs --experimental-sqlite, the database line now says so and gives the fix instead of failing. The package smoke test runs the packaged doctor --db against a migrated SQLite file.
  • Document the plain-HTML way back to a swap refund. <openreceive-checkout> takes sync-url, resume-path-prefix, route-reference, resumable and resume-payment-hash, and reports the swap's payment hash in the openreceive-state event at event.detail.state. Frontend checkout, Swap refunds, the API reference and every framework's agent directions now show them beside the React props.
  • The Buy a Button demos' Vue, Svelte and Angular tabs and the plain-HTML client read the state event's detail as the checkout state, so they never kept the swap's payment hash and a reload lost the way back to a refund. They now read detail.state, and a new e2e test reloads mid-swap and expects the deposit screen back without a click.
  • The swap deposit screen said "Send exactly the amount shown below." while the amount sits above it. It now says "Send exactly the amount shown."
  • The Node quickstarts now say to install @openreceive/http before importing paymentsSchemaSql from it on the no-ORM path, rather than relying on npm hoisting the adapter's dependency.
Source: README.md, updated 2026-10-04