- Ignore inline comments in peerswap.conf
- Fix Docker building
- CLN: Fix compile bug
- Enable CT discounted vsize with Elements v23.02.03+ on testnet
- Correct swap fee estimates for CT discounted vsize
- Implement confidential joint peg-in claims for CT discounts
- Add option to fund peg-ins with an external transaction
- LND: Facilitate exact (to 0.001) fee rates for peg-ins and BTC withdrawals
- Change Custom Message serialization from JSON to GOB
- Change Custom Message type from 42067 to 42065
- Improve accounting for initiated swap outs and failed swaps
- Show circular rebalancing volumes and costs on main screen
- Advertised balances: cap at remote channel balance
- Advertised balances: round down to 0 if below 100k sats (min swap amount)
- Advertised balances: enabled by default to discourage brute force discovery
- CLN: Refactor psweb as a plugin to use hooks and notifications
- Update keysend invite message to prospective peers
- Hot Fix bitcoinswaps=true persisting in peerswap.conf on psweb restart
- AutoFees: do not change inbound fee during pending HTLCs
- AutoFees: bump Low Liq Rate of the channel's rule on failed HTLCs
- AutoFees: avoid redundant fee rate updates
- Fix telegram bot errors by escaping message text as MarkdownV2
- Fix AutoFees stop working bug
- Fix AutoFees applied on startup before forwards history has been downloaded
- LND 0.18: Fix AutoFees reacting to temporary balance increase due to pendinng HTLCs
- Highlight outputs to be used for pegging in or BTC withdrawal
- Warn when BTC swap-in amount is unlikely to cover chain fee
- Limit L-BTC swap-in amount to avoid excessive fee rate
- Allow advertising BTC balance to peers
- Retry polling peers for balances after peerswap initializes
- Fix peerswap config not updating
- Reduce frequency of balance announcements to daily unless changed
- Pre-fill 0 if possible swap amount is below 100,000
- Implement advertising L-BTC balance: LND send and receive, CLN send
- Pre-fill swap amount to return the channel closer to 50/50 if viable
- Persist NodeId per ChannelId map to avoid closed channel
- Apply AutoFees even while HTLC is pending
- Fix bug in accounting for non-peerswap related invoices
- Fix 'invalid asset' bug
- AutoSwap: disallow spending LBTC gained in the same channel
- AutoSwap: only consider channels with routed out > routed in
- AutoFee: add Update All to set paramereter(s) to all custom rules
- Fix forwards subscription to add channel IDs
- Make New Swap form inputs more intuitive
- AutoFee: add last forwards history
- Add peer fee rates display on peer page
- Add get BTC receiving address and send BTC with coin selection
- AutoFee: add column with days from the last outbound flow
- AutoFee: fix live outbound payments not registering for LND
- Ignore forwards < 1000 sats in statistics and autofees
- Show 7 day Fee Log for individual channels
- AutoFee: Fix enable/disable all individual channels
- AutoFee: Fix inbound fee management
- AutoSwap: Add max swap amount limit
- AutoSwap: Disable on error or swap failure
- Add cost of swaps failed with State_ClaimedCoop or State_ClaimedCsv
- Persist swap costs and rebates to db
- AutoFee: Add Fee Log table for the last 24 hours
- AutoFee: Draw current fee rate with a dotted line on chart
- Fix panic
- Add lines to AF chart for High/Normal/Low Liq rates
- Hide HTTPS option for Umbrel
- AutoFee: apply HTLC Fail Bumps only when Local % <= Low Liq %
- AutoFee: for HTLC Fails above Low Liq % allow increasing Low Liq % threshold
- AutoFee: log full fee changes history, including inbound
- AutoFee: reduce LND load when applying auto fees
- AutoFee: add realized PPM chart for the channel to help decide AF parameters
- Add automatic channel fees management
- Randomize serial number of CA to let install in Ubuntu/Firefox
- Increase Web UI password cookie expiry to 7 days
- Add NO_HTTPS env variable for Umbrel update
- Add navigation menu
- Allow HTTPS with single password client authentication
- Add -password key to configure PSWeb with HTTPS and password
- Enable setting fee rates, including inbound for LND 0.18+
- If failed on startup, keep trying to subscribe every minute
- Better UI colors (I think)
- Use hostname of the host in server.crt when run in Docker
- Fix HTTPS error when "PSWeb IPs" is blank
- Add HTTPS connection with mandatory TLS certificates
- Add swap statistics (Total amount, cost, PPM)
- Remove resthost from peerswap.conf
- Fix panic in appendInvoices
- Add revenue and costs to tooltips
- Estimate swap fees before submitting
- LND: Fix invoice subscription reconnections
- Auto swap: account for MaxHtlc settings
- Keysend: account for MinHtlc settings
- Fix swap-out fees missing for some swaps
- Add swap costs to home page
- Fix error reporting
- Fix panic in v1.4.3
- Add http retry middleware
- Add swap costs display
- Subscribe to LND events to reduce CPU overhead
- Account for paid and received invoices in channel flow statistics
- Show Lightning costs of paid invoices (excluding peerswap's)
- Enable viewing non-PeerSwap channels
- Enable keysend invitations to PeerSwap
- Fix the bug when PS RPC host was replaced with Elements'
- Enable automatic Liquid swap-ins
- Report fees paid via LN for initiated swap-outs
- Fix rotating hourglass
- Fix failed swaps shortening flow timeframe
- Fix Elements host and port values passed via Env
- Estimate peg-in transaction size, total fee and PPM
- Add peer fee revenue stats to the main page
- Display channel flows since their last swaps
- Allow filtering swaps history
- Speed up loading of pages
- Display current fee rates for channels
- Add help tooltips
- CLN: implement incremental forwards history polling
- LND 0.18+: exact fee when sending change-less peg-in tx (there was a bug in LND below 0.18)
- Add channel routing statistics on the peer screen
- Visual improvements for mobile browsers
- Add Bitcoin UTXOs selection for Liquid Peg-ins
- Allow deducting peg-in chain fee from the amount to avoid change output
- CLN: Can bump peg-in chain fees with RBF
- LND 0.18+: Can bump peg-in chain fees with RBF
- LND below 0.18: Can bump peg-in chain fees with CPFP
- Enable peg-in transaction fee bumping for CLN
- Add LND log link
- Various bug fixes
- Enable Core Lightning manual build
- Fix bug in conversion to millions
- Add Makefile, update installation instructions
- Bug fix for peg-in claim not working in v1.2.4
- Retry connecting to Telegram bot every minute if failed on start
- Display rpc connection error in plain English
- Add github workflow to build docker image
- Add fee rate estimate for peg-ins
- Allow fee bumping peg-in tx (first CPFP, then RBF)
- Fix bug causing log loading delay
- Add Tor proxy (socks5) parameter in config
- Use Tor proxy to connect to Bitcoin Core, Mempool and Telegram
- Use LND to search node aliases first, Mempool as backup
- Various UI style improvements
- Add Bitcoin balance and utxo list display
- Implement Liquid Peg-in functionality
- Fallback to getblock.io if local Bitcoin Core unreachable
!!! BREAKING CHANGES FOR DOCKER !!!
- Docker image can no longer be run by host's root user
- It must be run by the user with id 1000
- Running a non-root user "peerswap" with id 1000 inside the container
Migration steps:
- Create a non-root user if it does not exist, login with it. Otherwise, use user with id 1000 (the first one you created on your node).
- If your .peerswap folder is in /root/, copy it to /home/USER/
- Take ownershp of data folder with
sudo chown USER:USER ~/.peerswap -R
- Open peerswap.conf and pswebconfig.json for edit, search and replace all "/root/" with "/home/peerswap/"
- Run the image with the new parameters per Readme.
- Add link on Config page to see PS Web log
- Add basic menu to Telegram Bot
- Zip wallet backups with Elements RPC password
- Save master blinding key as .bak file name
- Enable automatic backups sent to a Telegram Bot
- Use Elements RPC to send Liquid
- Allow send max with subtractfeefromamount option
- Default swap direction depends on channel balance
- Add a peerswapd log page with a link from config page
- Disallow new swaps if there is an active swap already pending (to avoid peerswap bug 'already has an active swap on channel')
- Log text and liquid address are copied to clipboard when clicking on the respective fields
- Add Privacy mode to home page (for screen sharing etc)
- Add peerswapd log output if psweb cannot connect to it
- Add unspent outputs list on Liquid page
- Add logging to psweb.log file
- BREAKING CHANGE: remove outputs to psweb.log from psweb.service AND DELETE .peerswap/psweb.log before restarting the service!
- Add Liquid wallet backup (see README to configure)
- Add Docker support
- Default port number change from 8088 to 1984
- Add local mempool option for node alias and bitcoin tx lookups
- Change default links to mainnet
- Better format peer details
- Reuse header in swap.gohtml
- Dissolve utils package
- Disable autofill and autocomplete for the Liquid send to address
- New liquid receiving address now must be requested with a button
- Make amount a required field in the swap and send liquid forms
- Initial release into production