Original release notes
What's Changed
- feat(model): add MintInfo.getMintMeltMethod and document offline rehydration by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/812
- feat(wallet): prefer stale keysets in default proof selection by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/813
- fix(wallet): widen exact-match trim bound for selection-level fee rounding by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/814
- refactor(wallet): make RGLI exFee an integer sort key by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/815
- feat(wallet): support u64 amounts in proof selection by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/822
- refactor(model): return snapshots from MintInfo accessors by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/824
- fix(model): preserve Amount instances through MintInfo snapshot by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/826
- fix(wallet): compute NUT-08 blank count in bigint by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/828
- fix(model): bound Amount.from to the u64 range by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/830
- fix(model): cap Amount at the u64 range by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/832
- feat!: nut-18 mint preferences (mp, sm) by @d4rp4t in https://github.com/cashubtc/cashu-ts/pull/683
- feat(nut18): add PaymentRequestBuilder by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/780
- feat(nut18): pay and validate payment requests end to end by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/787
- feat(wallet): prefer newest keyset version in getCheapestKeyset by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/835
- fix(wallet): return -1 from Keyset.version for unparseable ids by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/837
- fix(wallet): classify odd-length hex keyset ids as legacy by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/839
- fix(utils): return false from isValidHex for non-string input by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/843
- feat(utils): rename normalizeUrl to normalizeMintUrl and make it public by @KvngMikey in https://github.com/cashubtc/cashu-ts/pull/834
- feat(wallet): add getFeesToInclude fee helper by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/846
- fix(wallet): validate pubkey in locked mint quote responses by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/851
- fix(wallet): bound fee convergence loop by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/854
- fix(wallet): reject a missing pubkey in locked mint quotes by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/856
- docs(contributing): note runtime arg guards and untrusted mint input by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/858
- feat(model): encode and decode NUT-18 payment payloads by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/853
- fix(wallet): validate the lock pubkey in mint quote methods by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/861
- chore(docker): update NUT_IMAGE to cashubtc/nutshell:0.20.3 by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/860
- fix(wallet): bound keyset denomination count at ingest by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/864
- feat(crypto): public secp pubkey validation in curve_secp by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/863
- refactor(wallet): move MAX_KEYSET_DENOMINATIONS to limits by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/866
- fix(utils): bound splitAmount output count by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/859
- fix(wallet): compute keyset fees with integer arithmetic by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/869
- fix(wallet): throw from sendOffline when no offline selection matches by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/871
- fix(crypto): bound untrusted P2PK witness and CBOR decode input by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/874
- fix(wallet): verify the lock pubkey on generic mint quotes by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/875
- fix(crypto): harden P2PK witness edge cases by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/877
- fix(wallet): tidy diagnostic log output by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/879
- fix(wallet): more debug log tidy-up by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/881
- fix(auth): tidy the OIDC debug logging by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/883
- chore(main): release 5.0.0-rc.5 by @robwoodgate in https://github.com/cashubtc/cashu-ts/pull/817
Full Changelog: https://github.com/cashubtc/cashu-ts/compare/v5.0.0-rc.4...v5.0.0-rc.5

