Important
This release candidate is not meant to be used in production.
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.
New Features
Blind Authentication
- Limit mint access using Clear and Blind Authentication. Nutshell now supports NUT-21 and NUT-22, enabling the use of OAuth 2.0 identity providers like Keycloak (or any compatible provider). This allows you to create closed systems where only registered users of a service can access the mint.
- NUT-22 introduces Blind Authentication, which enhances user privacy by anonymizing authentication within the set of registered users.
Improved Multi-Nut Payments
- Multi-nut payments via LND are now more reliable. Nutshell queries multiple routes before failing, significantly improving payment success rates.
Additional Protocol Updates
SIG_ALL
Multisig Flag: Users can now lock ecash to specific destinations (outputs). PR #735- Mint and Melt Quote Enhancements: The update to NUT-04/05 introduces new fields (
amount
,unit
,request
) to mint and melt quotes. PR #719 - ToS URL: Mints now have the option to enter a Terms of Service (ToS) URL in the mint info settings.
Fixes and Improvements
- Wallet Un-reservation: Nutshell wallet now un-reserves ecash after a failed Lightning payment more reliably.
- Improved Keyset Rotation: Enhanced keyset rotation process for mints.
- Pending Melt Quotes: Mints now check pending melt quotes in the background every hour, ensuring more reliable processing of pending ecash.
- Balance Tracking for Keysets: Mints can now track balances for each keyset separately, offering better tracking and reporting.
What's Changed
- Blind authentication by @callebtc in #675
- Update Error Codes by @lollerfirst in #702
- Set correct blink min fee by @callebtc in #701
- Balance Views Grouped By Keyset by @lollerfirst in #652
- Add CLI Decode Command by @lollerfirst in #709
- Update README.md - Add Redis info? by @findingsov in #714
- Update README.md-install nutshell into nutshell dir by @findingsov in #713
- [FIX] NUT-15 mpp amount in millisats by @lollerfirst in #703
- Add LightningPaymentFailedError exception by @callebtc in #706
- [NUT-15] LND: Try Multiple Routes by @lollerfirst in #692
- Wallet: determine valid amounts from mint's keys response by @NonsoAmadi10 in #684
- Upgrade
coincurve
to version 21.0.0 by @ofek in #721 - NUT-04/05: add
amount
,unit
,request
to melt and mint quote responses by @callebtc in #719 - Fix mint migrations: Fill in missing keyset IDs in proofs and promises by @callebtc in #729
- Add terms of service URL to MintInformation class by @callebtc in #715
- Cjbeery24/mint copy: Invoice checker background tasks by @callebtc in #722
- Fix getting the invoice from LNbits API by @iWarpBTC in #732
SIG_ALL
signature flag for P2PK by @callebtc in #735- Mint Keyset Rotation by @lollerfirst in #734
- Wallet: add
Wallet.get_melt_proof()
, recoverreserved
state in failedWallet.melt()
by @callebtc in #730 - Chore: reorganize docker compose files for redis and keycloak by @callebtc in #736
- Wallet: Fix cli mpp off by @callebtc in #741
- Mint: add new init test to mint by @callebtc in #743
.env.example
update for mint TOS by @callebtc in #746- Testing: check if pipeline gets stuck because of startup task by @callebtc in #745
- Bump version to 0.16.6 by @callebtc in #747
- [PATCH] LND
use_mission_control
+ exclude failing channels by @lollerfirst in #738 - Tests: split wallet test from mint test pipeline by @callebtc in #748
- Mint: watchdog balance log and killswitch by @callebtc in #705
- Wallet: fix db migration 13 duplicate by @callebtc in #750
New Contributors
- @NonsoAmadi10 made their first contribution in #684
- @ofek made their first contribution in #721
- @iWarpBTC made their first contribution in #732
Full Changelog: 0.16.5...0.16.6-rc1