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