Lots of bug fixes, improvements, and new features.
Contacts and labeling! Huge feature by @benthecarman for labeling UTXOs, addresses, LN invoices, and payments. Works with the concept of a "payment reason" or "contact" in general. These concepts are merged together to more tightly associate payments with people and will be the base of more social features to come. Also reinforces tracking UTXOs used for particular reasons.
Logs have been cleaned up considerably and are now be saved to indexeddb by default. Not only does this persist the logs but they may be pulled and shown to the user. Only the most recent 1k lines of logs are saved and writing to disk happens once every 5s while it is running.
Preperation for a future Redshift feature for swapping UTXOs.
Graceful shutdown support. This allows for kindly stopping all of the nodes and node components to give them a chance to save to disk, disconnect from peers, stop background processes, closing the DB connection, etc. Can be started up as well. Useful before exporting the storage and/or importing to a new browser or instance.
Documentation updates for the rust and npm libraries.
Breaking Changes:
Instead of accessing NodeManager
directly, there's a new wrapper over it called MutinyWallet
that should be the main entrypoint for developers. This allows us to do more things than just holding and managing nodes.
Some key/value database changes were made so existing instances will not work with the new one.
What's Changed
- Logging and error clarification on closing channel by @TonyGiorgio in #432
- Add docs for nodemanager functions by @benthecarman in #434
- Filter out StaticOutput spendable outputs by @benthecarman in #435
- Persist failed SpendableOutputs events and retry on startup by @benthecarman in #437
- Add ability to sweep to a new channel by @benthecarman in #440
- Remove unused imports warning for proxy.rs tests by @benthecarman in #454
- Cleanup generate_seed by @benthecarman in #453
- Connect to lsp on start of node by @benthecarman in #452
- Fix invalid hash bug in list_payment_info by @benthecarman in #451
- Fix key for channel monitors by @benthecarman in #450
- Turn off upfront shutdown pubkey for channels by @benthecarman in #455
- Log serde_json errors when saving to db by @TonyGiorgio in #456
- Skip phantom invoices if LSP is involved by @TonyGiorgio in #457
- Add ability to archive node by @benthecarman in #439
- Reconnection improvements by @TonyGiorgio in #464
- Create MutinyWallet that holds a node manager, rename MutinyWallet to OnchainWallet by @benthecarman in #466
- Add utility function
get_node
by @benthecarman in #468 - List balance of all lightning channels by @benthecarman in #467
- Decrypt seed from indexeddb when password is set by @TonyGiorgio in #470
- Graceful shutdown by @TonyGiorgio in #436
- Small cleanup for stop by @benthecarman in #471
- Cleanup logging by @benthecarman in #472
- Redshifts by @benthecarman in #449
- Address labeling by @benthecarman in #462
- Fix test_websocket_proxy_init to work locally by @benthecarman in #480
- Log to storage and clean up tests by @TonyGiorgio in #479
Full Changelog: v0.2.8...v0.3.0