Releases: MutinyWallet/mutiny-node
v0.3.7
Overview
Mostly performance and fixes around force closures.
What's Changed
- Avoid 0 sat invoices or fees that go negative by @TonyGiorgio in #553
- Make last_updated optional for ActivityItem by @benthecarman in #555
- Encode LDK channel manager + monitor as hex by @benthecarman in #558
- Add force close channel balance to get_balance by @benthecarman in #557
- Background process error won't panic, more logging by @TonyGiorgio in #559
- Don't cache bdk keychain by @benthecarman in #560
Full Changelog: v0.3.6...v0.3.7
v0.3.6 - Performance and bug fixes
Overview
Notable changes:
- NWC fixes
- Channel data is now saved to to localstorage in addition to indexeddb in order to ensure state saves successfully. Should fix all force closure issues we have seen.
- Can open channel with max amount
- Syncing happens automatically
- New
ActivityItem
feed that shows condensed information about all bitcoin / lightning transactions in a list.
What's Changed
- Fix sweep psbt function by @benthecarman in #538
- Sweep max to channel by @benthecarman in #539
- Request NWC events every 10 seconds by @benthecarman in #540
- Move syncing to a background thread by @benthecarman in #545
- Unify activity into ActivityItem struct by @benthecarman in #544
- Don't keep extra network graph in memory by @benthecarman in #546
- Remove unused deps by @TonyGiorgio in #547
- No logging price cache hit by @TonyGiorgio in #550
- Write channel manager and monitor to LocalStorage by @benthecarman in #548
- sort activity newest first and don't include unpaid invoices by @futurepaul in #551
Full Changelog: v0.3.5...v0.3.6
v0.3.5 - Minor bug fixes
Mostly minor bug fixes, some notable changes:
- Reserve balance now shows as part of the lightning balance. Errors will now be returned upon payment initiation if there's not enough balance to pay, or the payment eats into the 1% reserve requirement on lightning.
- Some Nostr Wallet Connect improvements and now uses the Mutiny Blastr relay as the recommended relay for NWC events. We now persist these events until read from a client, making these ephemeral events more reliable for non-custodial zapping.
What's Changed
- Fixes for reset router by @benthecarman in #526
- Don't sync when stopped by @benthecarman in #527
- Use total outbound balance, make new errors for handling failed payments by @benthecarman in #528
- Add function for estimating channel open fee by @benthecarman in #530
- Handle restarts for redshifts properly by @benthecarman in #521
- De-wasm sleep by @benthecarman in #532
- De-wasm background tasks/spawn_local by @benthecarman in #533
- Remove some unused deps by @benthecarman in #534
- Log lnurl auth errors by @benthecarman in #535
- Get NWC events from 15 minutes ago by @benthecarman in #537
- Use blastr for Nostr Wallet Connect by @benthecarman in #531
Full Changelog: v0.3.4...v0.3.5
v0.3.4 - Nostr Wallet Connect & Storage Refactoring
Nostr Wallet Connect support has been added. A NWC connection string is made so that it may be imported into Nostr clients like Damus or Amethyst so that one-tap zaps can happen non-custodially. This requires eventually opening the wallet if it is not running in the background (ie, iOS).
The storage components have been refactored and all the web assembly related storage code has been moved out of mutiny-core
and live solely in mutiny-wasm
. This is for our continued effort to move to multi platform support besides just web browsers.
Some general improvements to network graph data and rapid gossip sync.
Allows opening channels directly with the LSP more seemlessly by default (minor API change to allow not passing in a pubkey manually when opening channel so it defaults to the connected LSP).
What's Changed
- Comment out pruning network graph no-std log by @benthecarman in #514
- Skip RGS on regtest by @benthecarman in #513
- Make storage not dependent on WASM by @benthecarman in #499
- Nostr Wallet Connect support by @benthecarman in #515
- Check we haven't paid this invoice before by @benthecarman in #516
- Update to rust-nostr v0.22, update NWC by @benthecarman in #517
- Small code cleanup in peer manager by @benthecarman in #518
- Update network graph with unsigned messages by @benthecarman in #519
- Remove RGS workarounds by @benthecarman in #523
- Await funding transaction on open channel by @benthecarman in #520
- Default to opening channel to LSP by @TonyGiorgio in #524
- Let users reset routing data by @benthecarman in #525
Full Changelog: v0.3.3...v0.3.4
v0.3.3 - Mainnet Touchups
Small bug fixes and touchups for improvements on mainnet.
What's Changed
- Add edit and archive contacts by @benthecarman in #503
- Disable inheriting of labels by @benthecarman in #502
- Add ability to estimate on-chain tx fee by @benthecarman in #504
- Peer reconnection improvements by @TonyGiorgio in #494
- Add confirmation info to MutinyChannel by @benthecarman in #505
- Implement Caching for Bitcoin Price API by @TonyGiorgio in #508
- Fix log to be more clear by @benthecarman in #510
- New channel config defaults by @TonyGiorgio in #511
Full Changelog: v0.3.2...v0.3.3
v0.3.3-beta
What's Changed
- Add edit and archive contacts by @benthecarman in #503
- Disable inheriting of labels by @benthecarman in #502
- Add ability to estimate on-chain tx fee by @benthecarman in #504
- Peer reconnection improvements by @TonyGiorgio in #494
Full Changelog: v0.3.2...v0.3.3-beta
v0.3.2 - Minor label updates
What's Changed
- Add wasm constructor for Contact by @TonyGiorgio in #495
- Add test for labeling on-chain tx by @benthecarman in #496
- Use TagItem struct everywhere by @benthecarman in #498
- Label paid invoices by @benthecarman in #500
Full Changelog: v0.3.1...v0.3.2
v0.3.1 Follow ups and bug fixes
A bunch of follow up changes from v0.3.0, mostly fixing some things missed in labeling as well as fixing up some of the new logging stuff to be more usable.
What's Changed
- Remove extra redshift start by @benthecarman in #474
- Use get_node() in start_redshifts() by @benthecarman in #476
- Add more tests around fee estimation by @benthecarman in #481
- Only log to storage if log is debug or higher by @TonyGiorgio in #484
- Segregate testing databases for concurrency runs by @TonyGiorgio in #485
- Label address properly in create_bip21 by @benthecarman in #487
- Expose get and set invoice labels by @benthecarman in #488
- Storage logging more by @TonyGiorgio in #489
- Add background logging with normal ldk logger by @TonyGiorgio in #490
- Send a keep alive to multisocket connector by @TonyGiorgio in #492
- Put labels in MutinyInvoice and transactionDetails by @benthecarman in #491
Full Changelog: v0.3.0...v0.3.1
v0.3.0 - Address Labeling, Contacts, & Logging
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
v0.2.8
Summary
LNURL Auth with multiple profiles have been added.
Try mempool's API scheme first in case the user configured to a mempool esplora instance.
Can now open channels to the CLN LSP.
Better syncing support fixing a crash related to check_address
What's Changed
- Better handle syncing transaction from check_address by @benthecarman in #420
- Simplify network checks by @benthecarman in #421
- Additional checks for LSP invoice amounts by @TonyGiorgio in #425
- Clippy tests by @TonyGiorgio in #422
- LnUrl Auth implementation by @benthecarman in #408
- Use mempool.space's fee rate api by @benthecarman in #428
- Better handle optional description for invoices by @benthecarman in #427
- Turn off scid alias for lsp open channels by @TonyGiorgio in #429
Full Changelog: v0.2.7...v0.2.8+1