Caution
This release includes a database migration for the mint. Ensure you back up your database before upgrading your Nutshell instance to avoid data loss.
Keysets V2
Nutshell is now using the new keyset V2 format which due to its larger size prevents keyset ID collisions.
Notable changes
Mint
- management CLI improvements
- database optimizations
- USD support for Blink backend
Wallet
- create P2PK locked tokens with timelock and refund pubkey
Other
- improve testing pipeline
- legacy API cleanups
- updated NUT-21 and NUT-22 matching rules
What's Changed
- chore: verify version consistency in build workflows by @a1denvalu3 in #897
- fix: use -- before quote ID in management CLI tests by @b-l-u-e in #912
- Chore: ci modernize workflows by @b-l-u-e in #911
- fix: enable sqlite wal mode by @a1denvalu3 in #908
- feat(wallet): add 'lock p2pk' CLI command with --timelock and --refund by @ritoban23 in #914
- feat: keysets v2 by @a1denvalu3 in #798
- feat(lightning): add USD (Stablesats) support for Blink backend by @Forte11Cuba in #869
- docs: add AGENTS.md for AI/agent workflow guidance by @ye0man in #917
- Remove deprecated promises field from PostRestoreResponse by @coldbrewnosugar in #900
- fix: support both padded and unpadded base64url in AuthProof (NUT-22) by @KvngMikey in #920
- fix: prevent P2PK case-bypass by @a1denvalu3 in #923
- fix: add greenlet as an explicit dependency by @wqxoxo in #913
- ci: upload test results to codecov by @callebtc in #947
- fix(wallet): skip mpp test for LNbits in regtest by @a1denvalu3 in #948
- test(mint): add tests for gRPC server functions in management_rpc by @a1denvalu3 in #943
- tests: Increase test coverage by @callebtc in #949
- Remove paid & issued field in MintQuote by @KvngMikey in #838
- fix: use row lock select statements by @a1denvalu3 in #906
- feat: protected endpoint wildcard matching rules by @robwoodgate in #885
- Issue 789. Avoid the duplication of websocket messages that failed that test by @aaronmcdaid in #790
- Add GetQuoteTtl Method to Management RPC by @KvngMikey in #874
- feat: add fuzzing infrastructure and tests by @a1denvalu3 in #864
- fix: set/unset melt quote and associated proofs in same transaction by @a1denvalu3 in #880
- fix restore_promises derivation-path mismatch on subset restores by @b-l-u-e in #901
- feat: proxy-aware rate limiting with sane defaults by @asoltys in #910
- fix(mint): validate P2PK/HTLC sigflags and refactor verify_inputs_and_outputs by @callebtc in #959
New Contributors
- @ritoban23 made their first contribution in #914
- @Forte11Cuba made their first contribution in #869
- @ye0man made their first contribution in #917
- @coldbrewnosugar made their first contribution in #900
- @wqxoxo made their first contribution in #913
- @robwoodgate made their first contribution in #885
- @aaronmcdaid made their first contribution in #790
- @asoltys made their first contribution in #910
Full Changelog: 0.19.2...0.20.0