v3.1.5 - It's been a long, long time
Too many things happened since the last release to summarize in here.
Tldr: this release marks the begin of the habit of tagging releases again.
Bug Fixes
- Race condition in fee calculation of ERC20s
- Improve Web3 provider initialization
- Failure reason detection of SendPaymentV2
- Query lockup vout in database migration to v2
- Race condition which caused claim transactions not being detected
- Balance alerts of Ethereum wallets (#224)
- Set payment fee limit (#230)
- Harden Discord login logic
- LND max message length
- Set start height of LND transaction list call
- Timestamp of log messages (#236)
- Handle pending lightning HTLCs
- Pad log timestamps
- Convert amounts of lockefunds command to whole coins
- Retry of channel creation invoice payment
- Error when routing policy is not defined
- Handle failed requests to GasNow
- Double channel opening when connecting to remote node
- Check routability for disabled channel creations
- Harden ZMQ connection logic
- Harden Reverse Swap lockup confirmation logic (#246)
- Invoice cancellation on fresh regtest environments
- Show method of failed Web3 provider requests (#248)
- Handle rejections (#249)
- GasNow WebSocket timeouts
- Stuck GasNow WebSocket
- Handle invoices already cancelled by LND
- Foreign key of channel creations
- Handle GasNow WebSocket errors
- Still allow LND v0.12
- Update dependencies
- Redundant check for confirmed lock transactions
- Increase invoice payment timeout
- More verbose backup upload failure logs (#260)
- Endless channel backup reconnection loop
- Add missing port to startRegtest.sh (#280)
- Reject AMP invoices for swaps (#289)
- Prepay minerfee race condition
- Missing -f parameter to docker build (#296)
- Max CLTV delta for lightning payments
- CLTV delta for cross chain swaps
- Cross chain CLTV delta for Ethereum
- Add check for minimal CLTV limit
- ARM64 boltz-backend Docker build
- Parsing of invalid Bitcoin addresses
Documentation
- Update for v3.1.0
- Request authentication and querying referrals
- Add note that API is not accessible from browser (#295)
- Minor wording fix
Features
- Improve balance check notifications
- Add timeout to requests to web3 provider
- Group stats by year
- Split long Discord message in multiple parts
- Show ids of swaps for which coins are locked (#233)
- Add provider for Bitcoin Core wallet (#235)
- Allow client to request private routing hints
- Allow clients to fetch routing hints
- Update to swap contracts v2
- Add Ethereum prepay miner fee
- Cancel pending HTLCs for expired prepay invoices
- Allow to specify onchain amount when creating Reverse Swaps
- Add user/password RPC authentication again
- Improve invoice cancellation logic
- Switch to GasNow WebSocket (#247)
- Add mempool.space based fee estimates
- Adjust minimal limits based on miner fees (#253)
- Add referral fee
- Send Ethereum type 2 transactions
- Add referral API keys and secrets
- Add HMAC API authentication
- Add API endpoint to query referrals
- API endpoint to query swap timeouts
- Allow configuring ZMQ endpoints
- Add elements to docker regtest (#269)
- Set max payment fee ratio for LND (#299)
- SwapIn fee (#305)
- Allow setting feePerVbyte and timeoutBlockHeight in CLI tooling
Miscellaneous Tasks
- Update Zcash to v4.1.1
- Decrease LND payment timeout to 15 seconds
- Update GETH to v1.9.25
- Bump ini from 1.3.5 to 1.3.8 (#228)
- Bump node-notifier from 8.0.0 to 8.0.1 (#229)
- Bump date-and-time from 0.14.1 to 0.14.2 (#231)
- Update LND to v0.12.0
- Update Docker images
- Run Github actions only against Node v14
- Update to LND v0.12.1
- Update Zcash to v4.3.0
- Update GETH to v1.10.0
- Update GETH to v1.10.1
- Update dependencies
- Update Python dependencies
- Update dependencies (#251)
- Update NPM dependencies
- Update NPM dependencies
- Fix build (#256)
- Bump urllib3 from 1.26.4 to 1.26.5 in /tools (#255)
- Update dependencies
- Update dependencies
- Switch to grpc-js
- Update dependencies
- Dependency updates
- Update GETH to v1.10.9
- Update LND to v0.13.3-beta (#263)
- Update dependencies
- Fix lint errors
- Update c-lightning image to v0.10.2
- Bump mkdocs from 1.2.2 to 1.2.3 in /tools (#266)
- Update to Node v16 (#267)
- Update dependencies
- Update Docker images
- Update dependencies
- Docker images for linux/arm64
- Allow specifying organisation in Docker build script
- Update Docker images
- Update to LND 0.14.2-beta (#274)
- Add docker image for boltz-backend (#285)
- Add security.md (#287)
- Docker image updates
- NPM dependency updates
- Minor wording fixes
- Add docker aliases script (#282)
- Update LND to v0.15.0
- Update protos for LND 0.15.0
- Bump max LND version 0.15.1
- Update Docker images
- Update Dockerfile for Boltz backend
- Bump moment-timezone from 0.5.34 to 0.5.37 (#294)
- Update dependencies
- Update Docker images to LND 0.15.2-beta
- Show TX ID when it cannot be found
- Set max LND version to 0.15.3
- Update LND Docker image to v0.15.3
- Update LND to v0.15.4
- Update Docker images
- Update Docker images
- Update regtest Docker image
- Update vulnerable dependencies
- Update dependencies
- Bump http-cache-semantics from 4.1.0 to 4.1.1 (#306)
- Add SQL scripts to query stats
- Update dependencies
Refactor
- Remove all GasNow code
- Cache LND node URIs
- Switch from WebSocket to HTTP Web3 providers
- Remove native dependency for disk usage
- Use poetry for Python dependencies
Testing
- Add case for gRPC messages longer than the default limit
- Fetch contract addresses dynamically
- Comment out Binance price oracle test
- Add case for decoding of invalid addresses