Back to Freedom.Tech Back
All Cashu releasesAll versions
Release Fri, Jul 3, 2026 3 min read

Cashu 0.20.2

Original release notes

Nutshell 0.20.2

Nutshell 0.20.2 is mostly a hardening release for the mint and wallet.

Notable Changes

Mint

  • Hardened NUT-29 batched minting: batch minting endpoints now enforce authentication and apply stricter validation/length limits on incoming batch requests.
  • More reliable pending-proof and melt-quote resolution: fixed hangs from internal settlement failures.
  • Quote and subscription IDs now use UUIDv7 for improved uniqueness and sortability.
  • Websocket subscriptions clean up all filters when a client unsubscribes.
  • Docker Compose Redis now binds only to localhost.

Wallet

  • Added raw proofs listing to the wallet CLI.
  • handle_lnurl now validates the requested amount before proceeding.
  • Unsupported keyset versions are now gracefully filtered out when loading a mint.

Other

  • Added regression tests around fee handling and HTLC spending conditions without a preimage on the proof (NUT-14).

What's Changed

  • fix(mint): enforce validation and length limits on NUT-29 batch requests by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1034
  • remove lnbits by @callebtc in https://github.com/cashubtc/nutshell/pull/1033
  • fix(mint): enforce auth for NUT-29 batch minting endpoint by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1031
  • fix(mint): resolve pending proofs hang from internal settlement failure by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/967
  • fix(mint): move batch mint quote unset pending outside try block by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1035
  • fix(mint): round up fee_paid on pending melt quote resolution by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1037
  • fix: use UUIDv7 for quote and subscription IDs by @callebtc in https://github.com/cashubtc/nutshell/pull/1023
  • test(mint): test htlc spending conditions with no preimage on proof (Nut-14) by @edgarmuyomba in https://github.com/cashubtc/nutshell/pull/1039
  • tests: regression for fees by @callebtc in https://github.com/cashubtc/nutshell/pull/1038
  • chore(docker): restrict redis port binding to localhost by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1040
  • fix(mint): remove all subscription filters upon unsubscribe by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1043
  • fix(wallet): check amount in handle_lnurl by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1042
  • Revert "remove lnbits" by @callebtc in https://github.com/cashubtc/nutshell/pull/1048
  • feat(wallet): list raw proofs by @edgarmuyomba in https://github.com/cashubtc/nutshell/pull/1026
  • fix(wallet): gracefully handle and filter out unsupported keyset versions by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1047
  • fix(wallet): resolve hanging proof CLI tests in regtest by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1053
  • feat(crypto): align NUT-20/29 signatures with spec change by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1054
  • Revert "feat(crypto): align NUT-20/29 signatures with spec change" by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1056
  • fix(lightning): migrate LND backends to SendPaymentV2 (SendPaymentSync removed in lnd 0.21) by @robwoodgate in https://github.com/cashubtc/nutshell/pull/1050
  • fix(mint): handle background melt exceptions by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1060
  • fix(mint): resolve regtest lnbits, event loop teardown, and python 3.12 workflow updates by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1061
  • fix(mint): resolve auth ledger schema, audience validation, and rate limit issues by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1052
  • feat(crypto): deterministic DLEQ nonce derivation (NUT-12) by @robwoodgate in https://github.com/cashubtc/nutshell/pull/1010
  • chore(release): bump version to 0.20.2 by @callebtc in https://github.com/cashubtc/nutshell/pull/1064
  • fix(auth): allow OIDC tokens with non-client audience by @callebtc in https://github.com/cashubtc/nutshell/pull/1065
  • feat(core): add method name to mint and melt settings by @KvngMikey in https://github.com/cashubtc/nutshell/pull/1063
  • feat(mint): align NUT-04 with amount_paid/issued + updated_at by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1044
  • add more batch mint tests by @callebtc in https://github.com/cashubtc/nutshell/pull/1015
  • fix: persist and unify mint quote accounting fields on wallet and mint by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1068
  • Revert "fix: persist and unify mint quote accounting fields on wallet and mint" by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1069
  • fix(mint): align mint quote accounting and fix pending state priority by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1070
  • Bump setup 0.20.2 by @callebtc in https://github.com/cashubtc/nutshell/pull/1074

New Contributors

  • @edgarmuyomba made their first contribution in https://github.com/cashubtc/nutshell/pull/1039

Full Changelog: https://github.com/cashubtc/nutshell/compare/0.20.1...0.20.2