Skip to content

Latest commit

 

History

History
2196 lines (1860 loc) · 242 KB

File metadata and controls

2196 lines (1860 loc) · 242 KB

Changelog

All notable changes to this project will be documented in this file. See conventional commits for commit guidelines.


3.12.1 - 2026-01-09

Bug Fixes

  • Redis client throwing on exit - (1be61b6)
  • relative cltv delta for self payment (#1159) - (6bc2381)
  • listen to checked transactions in nursery - (d87b6e0)
  • handling of incorrect asset for 0-amount chain swaps (#1176) - (93dd935)
  • handle self payment failed lockups (#1178) - (677cb49)
  • refund from cli (#1183) - (9cb2536)
  • chain swap lock (#1184) - (8ff87d0)
  • WebSocket message injection deadlock (#1187) - (de57b89)

Documentation

  • improve MRH and swap restore (#1142) - (9c24357)
  • add about queued lightning payments (#1158) - (5fe006f)

Features

  • (cln) add cln.disableMpp config option (#1153) - (955f4f4)
  • rescue index cache (#1143) - (4a5a19e)
  • sync key index at database level (#1150) - (12a6c2a)
  • add missing functionality from boltzr-cli (#1165) - (22f9b52)
  • pagination in restore endpoint (#1160) - (f56c5bb)
  • fetch referral stats in CLI (#1169) - (2edf306)
  • custom routing fee config for destination - (c4d813d)
  • allow custom s3 region - (bafee13)
  • sponsor refunds for refunds of liquid assets - (b3beb5f)
  • expose supported contracts in API - (8b0247a)

Miscellaneous Chores

  • bring back Rust build CI cache (#1134) - (8f52a99)
  • bump body-parser from 2.2.0 to 2.2.1 (#1136) - (3abfa51)
  • bump Elements to v23.3.1 (#1137) - (40a3a89)
  • bump node-forge from 1.3.1 to 1.3.2 (#1139) - (b73258d)
  • bump express from 5.1.0 to 5.2.1 (#1145) - (9001a81)
  • bump hold to v0.3.3 (#1146) - (ee8e43e)
  • bump nodemailer from 7.0.10 to 7.0.11 (#1147) - (7398223)
  • bump mdast-util-to-hast from 13.2.0 to 13.2.1 (#1148) - (11cea21)
  • bump Node.js in Dockerfile to v24 (#1149) - (99d03d7)
  • bump validator from 13.15.20 to 13.15.23 (#1151) - (91107f8)
  • bump CLN to v25.12 (#1152) - (3628a61)
  • update to contracts v5 - (76b62bc)
  • make sidecar tests less flaky - (a38c000)
  • bump swagger-ui to v5.31.0 - (7da47fa)
  • update dependencies - (0e1a398)
  • bump version of GitHub Actions usages - (f20f1e3)
  • adjust RSK block times (#1157) - (68b2505)
  • add instrumentation to lightning cache - (8858408)
  • bump dependencies - (921abf0)
  • use redis instead of dragonfly (#1166) - (4d4e299)
  • add local source build option (#1167) - (de80138)
  • build ARM64 Docker images in CI - (ec56472)
  • check if swagger is up to date in CI - (6f05d1b)
  • bump dependencies - (1b570c4)
  • bump qs from 6.14.0 to 6.14.1 (#1175) - (9eb5266)
  • bump Bitcoin Core to v30.1 - (5a9d576)
  • more logging for Elements wallet (#1182) - (e65e6ef)
  • bump preact from 10.26.9 to 10.28.2 (#1186) - (686aa92)
  • remove testnet from swagger - (1931002)
  • bump @smithy/config-resolver from 4.1.5 to 4.4.5 (#1188) - (b4c0d1c)

Performance

  • cache for balance checks (#1135) - (f5be026)
  • optimize liquid transaction blinding - (1471066)
  • WebSocket queueing and status caching (#1179) - (8b2757e)

Refactoring

  • safer gRPC transaction status - (7905864)
  • confirmed transactions from block stream - (805503d)
  • script_pubkeys table primary key - (28a2c2e)
  • batch checking txs in blocks - (3d05d11)
  • self host swagger-ui - (8c0aa1c)
  • use swc as test transpiler - (9763001)
  • remove racy user lockup confirmation checks - (e6f68aa)
  • move claim and refund commands to Rust (#1162) - (56aec71)
  • move rest of boltz-cli to Rust - (e56b12e)
  • move boltz-ethereum cli to Rust - (142a3de)
  • LND gRPC connector implementation - (2e10c85)
  • batch claim transactions in Rust - (9ebf4b8)
  • transaction fee calculation logic - (83884b3)
  • return fee of constructed transactions - (5324a10)
  • optimize backup upload streaming - (4894132)
  • take pending asset rescue from cache - (4a086ec)
  • use rustls_pki_types instead of rustls_pemfile - (0d67200)
  • S3 multi part uploads (#1189) - (435cc0a)

Tests

  • fix self-equality assertions in event handler - (715f2de)

Reactor


3.12.0 - 2025-11-24

Bug Fixes

  • (config) update certificate path to follow datadir (#1078) - (d8fbd5d)
  • expose invoice payment hook (#940) - (1534001)
  • invoice payment hook with no preference (#952) - (2740fc4)
  • sanitize ZMQ wildcards (#965) - (b773b79)
  • check invoice of self payments - (c27b9ed)
  • handle pending payments in self payment client - (5e435c6)
  • check for blindingKey being defined (#967) - (0c003e6)
  • ZMQ channel warnings in sidecar (#969) - (5002ce9)
  • only allow submarine and reverse swaps with same preimage (#966) - (240e8d7)
  • use second routing hint in MRH (#975) - (dd8fa94)
  • exit handle for MRH watcher (#982) - (9f57672)
  • swap failed on double lockup (#984) - (31e3a92)
  • reset pending sweeps gauges to zero (#987) - (e762674)
  • encoding of MRH in swapinfo responses (#988) - (95b5c97)
  • API docs URL (#990) - (ab9d541)
  • cancel of reverse swap invoices for self payments (#995) - (7bab357)
  • honor cancellation in mempool reconnection loop - (ecb07b7)
  • handling of two lockups in same transaction (#1002) - (6f030a9)
  • abandon webhook when no status in database (#1003) - (24003ae)
  • fail self payments when reverse swap is refunded (#1006) - (501355b)
  • add database triggers for preimage hash checks (#1011) - (7d5a4de)
  • parsing of referral id for chain swaps (#1024) - (b315f12)
  • swap rescue key drift - (1defe13)
  • exclude RSK swaps from rescue endpoints - (5e53c98)
  • bump ZMQ inactivity timeout (#1038) - (f22546f)
  • flaky Elements transaction tests - (ff5ecf7)
  • harden Mattermost WebSocket - (8d5b502)
  • run Bitcoin transaction tests in serial - (c19f1b6)
  • make node selection optional in invoice payment hook (#1069) - (1f62409)
  • Docker version build args (#1074) - (e9dcd80)
  • lower quote output amount in EVM quote test (#1098) - (67a8456)
  • sidecar span exporter - (082fb93)
  • use Node v22 for docker images - (3e7398a)
  • do not fail self payment when invoice cannot be cancelled (#1111) - (19f63f6)
  • setInvoice race condition (#1117) - (f47ab4f)
  • include swaps to RSK in restore endpoint (#1124) - (b340d15)
  • only settle confirmed lockups when invoice is set (#1125) - (0106e8b)
  • parent propagation of OTEL spans (#1126) - (55806a2)
  • gap limit for public key iterators - (584240b)

Documentation

  • add support center to resources (#954) - (b29608c)
  • add referral payout terms (#964) - (f57947f)
  • clarify transactions and code samples (#955) - (790b1d1)
  • remove testnet (#971) - (c196c5c)
  • fix MRH example (#980) - (e159bc2)
  • rephrase MRH doc (#981) - (7c3508d)
  • fix typos - (d6a4c5f)
  • fix hint formatting - (5143e77)
  • transaction.direct WebSocket event - (89eee5a)
  • BOLT12 reverse swaps - (a01edb5)
  • fix misc issues (#997) - (099c874)
  • extra fees endpoint (#1000) - (13b5e47)
  • enable search detailed view (#1017) - (1024283)
  • swagger for token swaps quotes - (7d2b32c)
  • swagger for /v2/swap/restore endpoint - (5806a8b)
  • add boltz-rust Python bindings (#1042) - (b5916b7)
  • change warning boxes severity (#1046) - (4721270)
  • fetch latest Go examples on docs build, move websocket section lower (#1047) - (8c3802e)
  • add pro stats endpoint to swagger (#1064) - (fe2c12c)
  • fix typo in rescue key docs (#1070) - (e43222d)
  • swap restore and deprecate rescue endpoint - (0bd5540)
  • remove deprecated refund files - (f2b436b)
  • API authentication - (52fc07b)
  • reword swap restore docs based on feedback - (d812069)
  • add boltz-cli to the backend development page (#1113) - (059cd93)
  • Chain Swap renegotiation - (fdc0829)
  • BIP85 child seed derivation - (7dea7fe)
  • BIP85 rewording (#1122) - (59008e2)
  • claim covenant use cases (#1118) - (a8d42c9)
  • rewrite libraries section (#1121) - (7dff883)

Features

  • add invoice to submarine swap creation hook (#941) - (269d8da)
  • amount based batch sweep trigger (#944) - (3b0df0d)
  • make node preference in invoice payment hook optional (#949) - (567d47d)
  • fallback to Webhook BOLT12 invoice fetching after Websocket timeout (#953) - (1f3ef8c)
  • time preference in invoice payment hook (#958) - (b6d6e51)
  • add ZMQ client in sidecar (#960) - (4204678)
  • allow self payments in swaps - (7a25d92)
  • pending sweep metrics (#977) - (301c417)
  • magic routing hint watcher (#974) - (d5bf7f7)
  • offerinfo command - (bccb294)
  • refund watcher (#983) - (842e4da)
  • run MRH watcher through 0-conf API (#993) - (d22f149)
  • mempool.space WebSocket client - (151e127)
  • naive RBF bumping engine - (320de84)
  • cache getrawtransaction - (eef9787)
  • CLI command to scan funds locked in contract - (23e641d)
  • prevent allowing refunds when swap has pending HTLCs (#1007) - (51a2e53)
  • blocked domains for webhooks (#1008) - (e575d60)
  • Uniswap V3 EVM quoter - (3aed747)
  • Uniswap V3 calldata encoder - (a2790eb)
  • support multiple S3 backup providers (#1018) - (06363da)
  • /swap/restore endpoint (#1010) - (9328783)
  • swap update trigger (#1026) - (04ca367)
  • harden chain swaps lockup handling (#1028) - (54e2a26)
  • Taproot swaps in Rust - (12b30f8)
  • legacy swaps in Rust - (7242b34)
  • Liquid swaps in Rust - (9908de7)
  • allow sweeping to multiple destinations - (2b522ce)
  • add createdRefundSignature to swaps (#1030) - (cf46eab)
  • rescan after ZMQ reconnection - (79745d1)
  • API endpoint to fetch status of multiple swaps (#1043) - (130724d)
  • ability to disable cooperative signatures (#1044) - (dcf471c)
  • EVM quote on output (#1055) - (45a8a71)
  • nested referral stats - (569a945)
  • rescan last block when received (#1062) - (41fbb6f)
  • cltvDelta config option (#1076) - (69ada5d)
  • timeouts for async startup in sidecar - (8e60d4c)
  • include valid invoice expiration range in error - (7c84705)
  • API endpoint to fetch invoice expiry ranges - (c25f3bd)
  • explicit error when wrong asset is sent - (d3e7dce)
  • no coop claims for refunded chain swaps (#1104) - (4131f0e)
  • add alerts for batch claim failures (#1112) - (bf6976b)
  • swap restore with single public key - (f8275cb)
  • swap restore with batch of public keys - (77b7e82)
  • custom gap limit for swap restore - (1b1cfd4)
  • endpoint to get last used swap restore index - (80a62d5)
  • interval and amount batch sweep trigger - (12713b7)

Miscellaneous Chores

  • bump LND v0.19.0-beta (#942) - (bc2d15d)
  • switch Bitcoin and Elements Core to rpcauth (#943) - (729a77a)
  • bump version to v23.3.0 (#945) - (bdc919f)
  • remove cookie authentication from docker-scripts.sh (#947) - (3442af6)
  • bump hold to v0.3.1 (#948) - (f4ffc28)
  • update dependencies (#956) - (7e2c0cd)
  • bump tar-fs from 2.1.2 to 2.1.3 (#957) - (e837df0)
  • add extraFees to swagger doc (#962) - (75c79fc)
  • update LND to v0.19.1 (#968) - (3072281)
  • bump CLTV limit delta (#970) - (f54e5b6)
  • bump dependencies - (d2d2cf0)
  • bump CLN version to v25.05 - (3e0052d)
  • default boltz-cli API endpoint to mainnet (#978) - (55e8abd)
  • update regtest config file - (3422f7e)
  • add HTLCs to self payment client - (3701398)
  • parse whole coin amounts in boltz-cli - (f2e8cb1)
  • run prettier on docs - (e259350)
  • bump hold invoice plugin to v0.3.2 (#994) - (cd892b7)
  • update dependencies (#996) - (6fe0e5a)
  • run MRH watcher only on Liquid (#1001) - (daadf9f)
  • cleanup Transaction struct - (6aefbce)
  • fix CI build cache for hold invoice plugin (#1005) - (15475dd)
  • bump LND to v0.19.2 (#1012) - (6411311)
  • update dependencies (#1016) - (b8cf450)
  • bump max supported contract version - (7f15c57)
  • bump form-data from 4.0.0 to 4.0.4 (#1019) - (aa7d326)
  • bump axios from 1.10.0 to 1.11.0 (#1021) - (96343d5)
  • apply suggestions from rabbit - (30221da)
  • cleanup key extractor - (54caa71)
  • validate OpenAPI spec in CI (#1029) - (349f88f)
  • update dependencies - (8e377b7)
  • ignore tools for eslint and prettier - (b266c2a)
  • fix Rust 1.89.0 compiler warnings - (798b565)
  • bump dependencies - (7769616)
  • minor ZMQ cleanup (#1039) - (b3bebb2)
  • improve logging for offers - (4c674e2)
  • fix typos - (2d99b5c)
  • bump cipher-base from 1.0.4 to 1.0.6 (#1048) - (0064483)
  • bump sha.js from 2.4.11 to 2.4.12 (#1049) - (be745f5)
  • bump LND to v0.19.3 (#1050) - (f77368c)
  • update dependencies (#1051) - (4b9ff63)
  • update readme nostr link to Primal (#1053) - (08a65dc)
  • bump tracing-subscriber from 0.3.19 to 0.3.20 (#1054) - (fdd3860)
  • bump CLN to v25.09 (#1057) - (8397c2d)
  • bump dependencies - (4d90292)
  • bump Bitcoin Core v29.1 (#1061) - (5ef5a3b)
  • update NPM dependencies - (ac0613c)
  • bump Rust dependencies - (f7f7023)
  • bump eclair image - (9d37d88)
  • optimize Docker images - (4bc103c)
  • bump vite from 5.4.19 to 5.4.20 (#1066) - (0c26ce3)
  • address feedback RBF bumper review feedback - (d97743d)
  • use str references in RPC client - (bfaf106)
  • bump dependencies - (5267fc7)
  • update dependencies - (0e26ccc)
  • throw for unsupported db version (#1075) - (fd9deb0)
  • switch unit tests to USDT0 (#1080) - (f7936e2)
  • bump tar-fs from 2.1.3 to 2.1.4 (#1079) - (ebefc49)
  • add missing nginx config file (#1081) - (80c4f27)
  • bump dependencies - (1742004)
  • bump Bitcoin Core to v30.0 (#1089) - (a923b6c)
  • bump dependencies - (544f777)
  • bump CLN to v25.09.1 (#1094) - (6b757c0)
  • skip logging bad-txns-inputs-missingorspent errors (#1095) - (06f03d8)
  • bump vite from 5.4.20 to 5.4.21 (#1097) - (9fe5d57)
  • bump Eclair docker image version (#1100) - (21cb99b)
  • bump validator from 13.9.0 to 13.15.20 (#1103) - (ff26c2f)
  • add timeouts to sidecar node connections - (6795e9d)
  • update dependencies - (4aa29ed)
  • bump CLN to v25.09.3 (#1114) - (6b3b944)
  • update dependencies - (071e297)
  • bump js-yaml from 3.14.1 to 3.14.2 (#1119) - (5582ea3)
  • ignore errror when setting span parent (#1129) - (c55b45b)
  • bump dependencies - (11d1418)
  • remove Rust build cache from CI - (a96a976)
  • bump LND to v0.20.0-beta - (018945c)
  • bump version to v3.12.0 (#1133) - (22f861f)

Refactoring

  • extra percentage fee calculation (#959) - (26f4706)
  • wait with timeout for nursery to settle self payment - (91c80c8)
  • cancel invoice when we accept self payment - (9115b3a)
  • reverse hint schema (#963) - (991f2b5)
  • improve MRH watcher performance (#986) - (e5b1246)
  • switch to vitepress - (e45ba3f)
  • swap restore endpoint (#1023) - (8b153f9)
  • use Docker regtest for bitcoin tx tests - (36e1aba)
  • transaction input to enums - (02af386)
  • harden ZMQ disconnection logic - (bf5792d)
  • harden Rust ZMQ disconnection logic - (8bd1efc)
  • check against max configured contract version (#1041) - (859e5f6)
  • cleanup BOLT12 delete endpoint - (85980fc)
  • backup provider names - (c667dc6)
  • async Mattermost command handler - (4b12dd1)
  • RBF bump refund transactions in Rust - (c4b503c)
  • remove LND onchain wallet provider - (3cb1eb1)
  • reuse output address for replaced refunds - (55bf26e)
  • switch to docker compose regtest setup - (0221960)
  • more verbose webhook error logging - (eaf8298)
  • remove HTTP body from webhook error - (3a93c25)
  • deferred claimer interval trigger - (57177ff)

Tests

  • RpcClient error tests - (5f63db5)
  • Content-Type for webhook calls (#1101) - (07dd22b)

3.11.0 - 2025-05-20

Bug Fixes

  • drop B-Tree indexes on invoices column of swaps (#872) - (c86144f)
  • tests broken by BOLT12 reverse swaps - (6b741f4)
  • Docker build with new hold invoice plugin - (9293318)
  • missing status of chain swaps for mempool rescans (#873) - (165df3f)
  • prevent webhook channel send when no subscribers exist (#889) - (be45461)
  • magic routing hints for BOLT12 invoices (#904) - (23b4c2c)
  • GrpcServer test on MacOS (#914) - (84a5674)
  • blinding key parsing in CLI (#923) - (e4fa5b1)
  • avoid blocking onion messages with webhook calls - (ad72fb2)
  • consistent data directory paths in EthereumUtils (#932) - (23f05dd)
  • events being sent twice for multiple WS connections (#930) - (71f9306)

Documentation

  • Swagger API spec for BOLT12 offer endpoints - (fab56f4)
  • fix gitbook integration, make prettier ignore docs folder - (0ed75d6)
  • #545 #685, minor rewording - (a255e4c)
  • BOLT12 invoice subscription WebSocket - (3032015)
  • remove boltz-python from library section (#920) - (debc497)
  • add Boltz Client to Pro docs (#936) - (3a0e716)

Features

  • invoice timeout (#856) - (dc0434c)
  • configurable LND gRPC SSL name override - (0a22370)
  • generic Webhook caller - (a263a5a)
  • confirmation status in transaction endpoint (#869) - (3710c9c)
  • log failed HTTP requests in sidecar (#871) - (2961f0c)
  • BOLT12 invoice request webhooks - (954c739)
  • allow reverse swap creation with BOLT12 invoices - (bc2f175)
  • magic routing hints support for bolt12 - (25f1553)
  • allow updating BOLT12 offer webhook URL - (e59bc62)
  • check network of BOLT12 offers and invoices - (a492ae4)
  • BOLT12 fetch shortcut for registered offers - (953776b)
  • continue onion message hooks for unknown offers - (018f870)
  • allow empty reverse swap descriptions - (59a825b)
  • batch only submarine swaps (#880) - (0e3eb1f)
  • add offer to invoice requests - (2c8c856)
  • endpoint to delete BOLT12 offers - (0291937)
  • Email notifications for swaps (#893) - (108f952)
  • Webhook IP safety checks (#902) - (0924d72)
  • transaction hook action hold - (4a481f0)
  • gRPC method to check transaction - (b00600b)
  • BOLT12 invoice requests via WebSocket - (89a9a16)
  • fuzzy search for lightning node alias (#908) - (c82e4c9)
  • allow removing url when updating offer (#909) - (2f7fbc0)
  • add swap id to transaction hook (#913) - (581e334)
  • add swap type to transaction hook (#917) - (b316f09)
  • submarine payment retry timeout (#918) - (38facc3)
  • endpoint for lightning channel policies - (eef814b)
  • broadcast Elements transactions via all clients (#919) - (c80e096)
  • allow returning BOLT12 invoice errors (#921) - (2c34a12)
  • return MRH in BOLT12 fetch response (#922) - (fd8a287)
  • dynamic CLN invoice thresholds - (82a8119)
  • metrics for CLN invoice thresholds (#927) - (6ba3ddf)
  • invoice payment hook (#925) - (1433ada)
  • allow BOLT12 invoice request payer notes - (d53bf3d)

Miscellaneous Chores

  • Rust release builds in c-lightning image (#855) - (0e52eac)
  • fix open handles in unit tests - (1b3e9b3)
  • bump dependencies - (6267256)
  • include confirmation in transaction hook (#863) - (7e32d06)
  • bump tar-fs from 2.1.1 to 2.1.2 (#867) - (be23915)
  • bump Ubuntu version of Docker images (#866) - (c01a2e0)
  • include ca-certificates in CLN image - (792195d)
  • update dependencies (#870) - (af95b03)
  • minor cleanup - (41014fe)
  • update hold invoice plugin - (28c6ea3)
  • switch to upstream lightning dependency - (fd5d553)
  • bump max invoice description length to 500 (#876) - (06966c4)
  • bump elements to v23.2.7 (#878) - (ed58cb3)
  • bump ecpair and boltz-core to v3 - (f32d6bc)
  • eslint rule for type imports - (d99ad49)
  • add signet support (#874) - (2f412ac)
  • bump openssl from 0.10.70 to 0.10.72 in /boltzr (#881) - (6b8d9a8)
  • bump CLN to v25.02.1 (#883) - (46c3768)
  • add minimalBatched to swagger (#884) - (fe06c67)
  • bump tokio from 1.44.1 to 1.44.2 in /boltzr (#887) - (dc0ef38)
  • update Anvil Docker image (#896) - (8fcada5)
  • bump crossbeam-channel from 0.5.14 to 0.5.15 in /boltzr (#894) - (2d0191d)
  • bump Bitcoin Core to v29.0 (#903) - (fff8e34)
  • update Rust dependencies - (7030292)
  • bump alloy dependency - (66c5c89)
  • improve sidecar HTTP error logging - (9621a05)
  • bump dependencies - (eb77ad7)
  • resolve hooks with accept when not connected - (33aed50)
  • correct condition for hook rejection log - (2722d1f)
  • inline format args - (21e0975)
  • bump BOLT12 hook timeout (#911) - (fe90f14)
  • build hold in a container for non-Linux hosts (#916) - (f1f5810)
  • bump dependencies - (25aef77)
  • bump base-x dependency - (45a08af)
  • bump dependencies - (ab8ce6d)
  • remove Rust Nightly from CI (#935) - (216dd4c)
  • bump dependencies - (22ed16e)
  • bump version to v3.11.0 (#939) - (9dbb7bc)

Refactoring

  • transaction hooks (#862) - (811c197)
  • cache entire lightning gossip (#868) - (3eaa6a5)
  • allow HTTP webhooks on regtest - (1a1402a)
  • allow reading IP ranges from files (#886) - (a6652b6)
  • put lightning data in sets - (c0a1f6c)

Tests

  • added functionality for BOLT12 reverse swaps - (4697df1)

3.10.0 - 2025-03-12

Bug Fixes

  • blinding key derivation of wallet stub in CLI (#832) - (2219654)
  • skip mempool acceptance check on regtest (#848) - (8a8e45c)
  • successful swaps reverting status transaction.confirmed (#851) - (569cee7)

Documentation

  • add rescue endpoint to swagger - (fef5b5a)

Features

  • nested extra fees (#826) - (64fba5a)
  • add lockup tx param to refund-cooperative CLI (#828) - (3f47be3)
  • swap recovery rescan - (34ffa9d)
  • gRPC method to get pending EVM transactions - (7df8c87)
  • add EVM address to swapinfo command (#830) - (7048767)
  • swap creation hook - (b75863a)
  • add index on refund public key columns - (116bf9f)
  • directional premiums for referrals (#837) - (036923e)
  • 0-conf tool Prometheus metrics (#846) - (46149c2)
  • gRPC method to clear swap update cache (#849) - (454ff7f)
  • WebSocket JSON ping/pong (#850) - (c52fbf3)
  • add overpayment check for actual > expected * 2 - (e99d388)

Miscellaneous Chores

  • bump elliptic from 6.6.0 to 6.6.1 (#824) - (84a3f8c)
  • bump LND to v0.18.5 (#825) - (c8709c9)
  • minor Rust dependency updates - (ab5490d)
  • bump alloy Rust dependencies - (a02e162)
  • bump Rust edition to 2024 - (04b2253)
  • minor NPM dependency updates - (f89becc)
  • fix clippy on Rust nightly (#835) - (a0806e2)
  • bump NPM dependencies - (1ca6827)
  • update dependencies - (c02dfdb)
  • bump ring from 0.17.8 to 0.17.13 in /boltzr (#840) - (2ec9aa6)
  • bump axios from 1.8.1 to 1.8.2 (#841) - (6e55d27)
  • bump CLN to v25.02 (#842) - (b4bdfd3)
  • bump vulnerable dependencies - (b7b54e4)
  • bump hold to v0.2.2 - (4696ef4)
  • fix naming of NodePendingPaymentTracker (#845) - (ea8c9ee)
  • bump Eclair to v0.12.0 - (f4cd063)
  • bump dependencies - (4e9ab46)
  • bump version to v3.10.0 - (5171f2e)

Refactoring

  • migrate slip77 - (315771f)
  • rename swap recovery to rescue (#833) - (b886ffd)
  • Discount CT on mainnet - (aa291b3)
  • remove legacy blinding key derivation (#844) - (e728f90)
  • optional Redis swap update cache (#847) - (9fe80b1)

3.9.1 - 2025-02-13

Bug Fixes

  • throw error in cli when no swap output can be found (#764) - (efe6b8a)
  • round max routing to 4 decimal places (#778) - (7dd78ef)
  • timeout of submarine swaps without invoice (#786) - (a47bd78)
  • failure rates for custom expirations - (6818345)
  • correct version for EVM reverse swaps - (7cd3b9b)
  • failure rates for custom expirations in metrics - (e7d802f)
  • throw error when all CLN payment attempts failed - (2735e21)
  • forbid fetching 0 amount bolt12 invoices - (02783ec)
  • detect replaced rejected chain swap lockup txs (#800) - (6b9533e)
  • clippy on Rust nightly (#801) - (4d51493)
  • make xpay exit handling more reliable (#802) - (9c92159)
  • always watch temporarily failed xpay payments (#806) - (f79d53a)
  • Alchemy support on RSK - (6e3eb23)
  • 0-conf endpoint schema update (#822) - (79acc58)

Documentation

  • fix library section hint (#753) - (25442a8)
  • RSK swap code examples (#761) - (41f143e)
  • update Go examples (#777) - (edb48fb)
  • add new lightning information endpoints - (ff92ac4)
  • add orbstack hint for Apple Silicon Macs (#805) - (40e001f)
  • add pro API usage (#804) - (0794ed1)

Features

  • custom fees for referrals (#749) - (9713f2f)
  • gRPC method to calculate transaction fees (#760) - (b151680)
  • try all possible key extraction functions in CLI (#765) - (730e26b)
  • check submarine swaps for expired invoices (#762) - (9161e6a)
  • configurable referral values - (94356ff)
  • database migration to new referral premiums - (198902b)
  • gRPC methods to update referral configs - (d3eb0da)
  • make transaction optional in reverse claim endpoint (#771) - (3ed922d)
  • include max routing fee in submarine pairs when queried with ref (#774) - (9dd6d50)
  • expose pair details in metrics (#775) - (3c6a22a)
  • CPU profiling in sidecar (#783) - (9c442f1)
  • custom expiration for submarine swaps (#779) - (5d16749)
  • be gentler to xpay (#792) - (a13b5fe)
  • do not fail lightning payment when node disconnects (#793) - (15e15af)
  • API endpoints to query historical pair data (#791) - (6620d59)
  • Lightning channels API - (60337e5)
  • Lightning node info API - (343e961)
  • select node to pay invoices based on routing hints (#799) - (5fabaac)
  • different CLN amount switch for swap types (#807) - (ea4e60e)
  • rescan for missed RSK claims on interval (#808) - (1b2123f)
  • WebSocket inactivity timeout (#814) - (b7034db)
  • sanity check referral config values (#811) - (5771b32)
  • periodically rescan all EVM events - (8c5c7cc)
  • avoid EVM nonce reuse by checking db - (ab91169)
  • sequential EVM signer - (7b61162)

Miscellaneous Chores

  • bump CLN to v24.11.1 (#755) - (a6d6008)
  • remove Python backup plugin - (9965b2c)
  • minor dependency updates - (6741d0e)
  • bump hold invoice plugin to v0.2.1 (#763) - (097afa3)
  • nicer CLN error parsing (#766) - (adb8e6a)
  • cherry-pick maxdelay xpay parameter - (7124276)
  • nicer formatting for getreferrals CLI - (964bf25)
  • add executables to path in backend image (#772) - (a32ed36)
  • add Rust build cache in CI (#773) - (50cb625)
  • bump Bitcoin Core to v28.1 (#776) - (20ad9fd)
  • update dependencies (#780) - (4da9bdf)
  • do not strip sidecar release build (#784) - (61163ee)
  • bump elements to v23.2.5 (#785) - (121af9a)
  • log when enabling profiler - (8d4f715)
  • fix hold invoice plugin build - (287257f)
  • missing refundAddress in reverse swap swagger (#789) - (12661c1)
  • update dependencies (#794) - (5701065)
  • set failureReason to null when renegotiating chain swaps (#796) - (138f947)
  • bump openssl from 0.10.68 to 0.10.70 in /boltzr (#809) - (c652b4f)
  • bump chain swap timeout buffer to 50% (#812) - (d1665f5)
  • bump elements to v23.2.6 - (d5fbf23)
  • remove CORS from backend API - (17bfad0)
  • bump version to v3.9.1 (#823) - (2c3ab1e)

Refactoring

  • remove mpay for xpay - (a6f87c4)
  • clearer invoice parsing errors (#769) - (6db48fc)
  • handle duplicate transaction labels (#770) - (e04f3c0)
  • always renegotiate overpaid chain swaps - (ec5933d)
  • country IP ranges (#790) - (c804db3)
  • handle lightning payment error with correct node - (7dfeece)
  • move bolt12 invoice fetching to sidecar - (985599e)
  • include pings in WebSocket activity (#821) - (8e69f5b)

Tests

  • referral limit overrides - (608c63b)

3.9.0 - 2024-12-19

Bug Fixes

  • skip transaction confirmed swap update when succeeded - (9098457)
  • valid use of required swagger properties - (f766714)
  • set failureReason to null when invoice is paid (#733) - (a5bdb00)
  • CLN routing hints (#736) - (2adbe5e)
  • CLN invoice payment fee (#742) - (51e03ca)

Documentation

  • add library and referral section (#745) - (30f34d0)
  • minor rewording of library section description (#750) - (8a03aa8)

Features

  • unsubscribe from swap ids in WebSocket (#730) - (d273c04)
  • transaction rebroadcaster (#732) - (bdf43a6)
  • gRPC stop command (#738) - (2dc7b7d)
  • batch sweep EVM currencies - (3eb8acb)
  • support multiple contract versions (#739) - (4649072)
  • batch claim Chain Swaps (#741) - (8978a59)
  • coop claim Chain Swaps that send on EVM (#743) - (33f058c)

Miscellaneous Chores

  • bump sidecar version to v3.8.1 - (4c7063c)
  • minor dependency updates (#729) - (3e41c1c)
  • bump swagger-ui version - (ac9e1d0)
  • update Docker images (#735) - (135f55b)
  • bump path-to-regexp and express (#737) - (33f5bb4)
  • minor clippy fixes - (63ceb68)
  • bump CLN to v24.11 (#746) - (99f44a7)
  • bump max sidecar connect attempts - (2e5fe24)
  • minor dependency bumps - (1629b7c)
  • harden refunds - (58aa2dc)
  • bump LND to v0.18.4 (#748) - (9d31d87)
  • discount EVM server claims - (938becc)
  • bump version to v3.9.0 - (ce97285)
  • bump version in Swagger spec - (0daed0d)
  • bump changelog to v3.9.0 - (e45053f)

3.8.1 - 2024-11-28

Bug Fixes

  • config parsing with defaults - (c0886a9)
  • Core wallet unconfirmed classification - (09c70c5)
  • wording of limit exceeded error - (be0786b)
  • abandon failed Webhooks when status is not included (#717) - (54223af)
  • bolt12 invoice pay status (#722) - (8dca13c)
  • chunk batch claim transactions (#725) - (c1372b9)

Documentation

  • BOLT12 offer and BIP-353 fetching (#711) - (cddd661)
  • BOLT12 misc enhancements (#712) - (1ab9de7)
  • EVM clarifications - (fc0f47b)
  • remove "RSK Testnet Only" hint (#718) - (0b24836)

Features

  • gzip compression for CLN SCB backups (#706) - (42d1330)
  • 0-conf Prometheus metrics (#713) - (bb1a42f)
  • get status of pending CLN invoices on startup (#714) - (776613d)
  • save preimage of Submarine Swaps in database - (2357297)
  • preimage endpoint for Submarine Swaps - (2638f0a)
  • Liquid 0-conf checks via API (#721) - (69511de)
  • un-route-able nodes config - (43e5c48)
  • allow cooperative refunds with pending payments - (ea4c827)

Miscellaneous Chores

  • update changelog for v3.8.0 - (6131ab9)
  • fix fee clalculation for BOLT12 invoices - (2aa6820)
  • more verbose logging in ElementsWrapper - (3408300)
  • relax sidecar production version check - (26262e4)
  • trace deprecations in Docker container - (607331c)
  • minor logging improvements - (3c9e311)
  • bump cross-spawn from 7.0.3 to 7.0.6 (#726) - (41979d9)
  • fix minor logging typo - (c6b0f09)
  • bump version to v3.8.1 - (46b591c)

3.8.0 - 2024-11-04

Bug Fixes

  • mattermost alert channel selection - (14c9791)
  • revert axum prometheus collector update - (ba95034)
  • show lockup failure details only when status is lockup failed (#683) - (6433170)
  • set rate for Taproot only pairs (#686) - (ebb3a18)
  • 0-conf disabled alerts triggering every block (#689) - (3b7344c)
  • race condition sending chain swap lockup twice - (cefe35b)
  • do not crash when leftover batch claim fails - (94aa167)
  • CLN bolt12 invoice and offer destination parsing (#697) - (9661cf0)

Documentation

  • add missing status property to Webhook docs (#647) - (54ba6b7)
  • API v1 hint clarification (#681) - (0351ee2)

Features

  • (mpay) add pagination to mpay-list (#650) - (000fd5c)
  • add profiling for Node.js (#649) - (23f5315)
  • save full pending lockup transactions (#651) - (28b2343)
  • check 0-conf transaction is accepted by all nodes - (fba735c)
  • pending sweeps CLI command (#655) - (df32696)
  • get paystatus from mpay plugin - (5bc07c7)
  • add open SSE streams metric - (7358989)
  • renegotiation of over- and underpaid chain swaps (#657) - (b93f0e8)
  • chain swap creation with no amount (#659) - (b4c4447)
  • check balance before creating swap (#663) - (ce479fd)
  • different seed for EVM based chains (#667) - (c560000)
  • custom invoice expiry for reverse swaps (#669) - (d61eb05)
  • bolt12 support in submarine swaps (#664) - (e6d9318)
  • alerts via webhook call (#675) - (4c98b7f)
  • buffer fetching swap updates before backend connects - (4d4ee00)
  • allow configuring pairs as legacy - (1dec7eb)
  • improve deferred claim sweep commands (#684) - (3a98e1b)
  • max 0-conf risk tolerance (#690) - (d270edf)
  • mempool rescan - (cd4f4fb)
  • Discount CT support (#691) - (95e0f98)
  • gRPC to change log level (#693) - (5c95151)
  • check mempool acceptance of public node for 0-conf - (41fb616)
  • mempool.space liveliness check (#699) - (823e05c)
  • nicer invoice network check error (#704) - (5719736)
  • retry failed LND SCB backups - (f602da4)

Miscellaneous Chores

  • add CHANGELOG for v3.7.3 - (0b3f513)
  • bump elliptic from 6.5.6 to 6.5.7 (#646) - (d0a6847)
  • update Rust dependencies - (d6d333d)
  • include libpq-dev in CLN image - (d2d1236)
  • reduce verbosity of WebSocket logging - (f6834f7)
  • compile release script - (03f2cf5)
  • sidecar production env fixes - (a5a3f4c)
  • bump diesel from 2.2.2 to 2.2.3 in /boltzr (#654) - (3808455)
  • bump CLN to v24.08 (#658) - (96dfc8a)
  • minor dependency updates - (8f0451e)
  • update ZeroMQ dependency - (a98a871)
  • bump express - (e4568d1)
  • bump LND to v0.18.3 (#665) - (7caac56)
  • bump vulnerable dependencies (#666) - (684d768)
  • update CLN to v24.08.1 (#670) - (47636e7)
  • bump tonic from 0.12.2 to 0.12.3 in /boltzr (#671) - (3c898e7)
  • bump max invoice description length (#673) - (611bbff)
  • bump Bitcoin Core to v28.0 (#676) - (6e1e5d9)
  • update Rust dependencies - (3ad484d)
  • update NPM dependencies - (8f5d97d)
  • log when calling alert endpoint - (8bc2f79)
  • bump hold invoice plugin - (45ba641)
  • update dependencies - (13f5792)
  • reorder boltzr gRPC service - (20b9a74)
  • bump CLN to v24.08.2 (#692) - (7d8f2aa)
  • switch to upstream bolt11 library (#694) - (2109250)
  • update anvil to fix contract deployment (#701) - (d953560)
  • bump elliptic from 6.5.7 to 6.6.0 (#702) - (e0fc15b)
  • migrate to ESLint v9 - (544deea)
  • update NPM dependencies - (3b6be88)
  • update Rust dependencies - (49f5dcb)
  • bump version to v3.8.0 - (5131797)

Refactoring

  • use new hold plugin - (b283e37)
  • move SSE swap update streams to sidecar - (cf3071e)
  • cleanup shutdown (#677) - (5592233)
  • configurable 0-conf wait time (#696) - (27113a2)
  • move backups to sidecar - (a2c8a1b)
  • allow node connections to fail on startup - (30f7103)

3.7.3 - 2024-08-16

Bug Fixes

  • (cli) certificates type - (b86f475)
  • non lowball 0-conf broadcasts through API (#610) - (e38eb51)
  • enforce correct limit for chain swaps (#613) - (0d6f871)
  • make preimage optional in chain swap claim endpoint (#614) - (ffde577)
  • match logger job name with tracing service - (9e4f6f4)
  • try connect loop of sidecar - (b42f684)
  • persist swap failure reason (#621) - (a5b52eb)
  • coalesce sidecar certificate path - (2eb0746)
  • nicer error when chain swap already claimed - (d04f520)
  • lint errors for unused caught exceptions - (cea5974)
  • use TEXT column type for BIP-21 in magic routing hints (#644) - (4aa1955)
  • missing subscription ack message in WebSocket (#645) - (3f26a68)

Documentation

  • add webhook documentation - (f37091f)
  • add swap status change info (#618) - (fc3cfc3)
  • update description of how preimages are revealed with taproot swaps (#639) - (9c37770)

Features

  • open WebSocket and streams metrics - (546b202)
  • add OpenTelemetry - (084f701)
  • WebHook caller - (319205a)
  • implement WebHooks in API - (9cef596)
  • tracing in sidecar - (3b0ab89)
  • CLN backups to S3 compatible API - (7b578ae)
  • send notification when invoice fails to settle - (0d5698e)
  • custom Core RPC wallet names - (ae1a009)
  • Webhook status include list (#632) - (c9358b0)
  • configurable RSK network name (#633) - (12d8876)
  • EVM transaction labels (#637) - (ce5b487)
  • command to query transaction labels (#641) - (0fc173e)
  • description hashes for reverse swap invoices - (10c926f)
  • sign cooperative EVM refund by preimage hash (#643) - (96410c3)
  • include timestamp in WebSocket swap updates - (9a44944)

Miscellaneous Chores

  • add CHANGELOG for v3.7.2 - (f7ef24e)
  • move swap related non lowball tx logging - (a34d0d7)
  • update sidecar to changed config keys - (d683b8f)
  • allow slight version mismatch in dev - (a12561f)
  • bump openssl from 0.10.64 to 0.10.66 in /boltzr (#615) - (99deedb)
  • use prettier for Markdown files (#619) - (20027c1)
  • trace commands from mattermost - (0deaf40)
  • remove WebDav backup provider - (ca61096)
  • update dependencies - (9c52375)
  • make webhook config of sidecar optional - (b72aca4)
  • disable ARM64 builds in CI again - (c42a756)
  • bump fast-xml-parser from 4.3.2 to 4.4.1 (#629) - (9707526)
  • bump max custom invoice description length (#630) - (b488a3a)
  • change regtest chain id to 33 - (2954dbf)
  • remove disk usage checker - (8edc1b9)
  • get rid of dyn-clone - (fb9eef8)
  • bump axios to v1.7.4 - (c1819d0)
  • bump LND to v0.18.3 - (3b079df)
  • bump version to v3.7.3 - (aad3f28)

Refactoring

  • move sidecar child process logic - (a376a78)
  • improve API tracing - (beb6bc5)
  • remove Discord - (4b20209)
  • remove SQLite database backend - (e7f988e)
  • remove unused getWalletInfo method - (6663858)
  • remove WebDAV CLN backups - (22d08c6)
  • move EIP-712 signing to sidecar (#631) - (d86ea12)
  • move Mattermost to sidecar - (aa1cac3)
  • move WebSockets to sidecar - (69566b5)

Tests

  • sidecar database interactions and gRPC service - (815d60d)
  • Webhook integration in backend - (0de07fe)

3.7.2 - 2024-07-15

Bug Fixes

  • failed notitication for swap without invoice - (e1d3d6c)
  • failed Chain Swap notifications - (e781bc2)
  • brute force key order combinations in CLI (#603) - (a131e66)

Documentation

  • add TypeScript examples for Liquid swaps - (02532ab)
  • add Bitcoin -> Liquid Chain swap example - (291cdcb)
  • add chain swap lifecycle and transaction details - (1cc27fc)
  • add common problems page (#606) - (b06443f)

Features

  • sanity check invoice memos - (5f95d82)
  • custom reverse swap invoice description - (d218794)
  • gRPC server SSL encryption and authentication (#591) - (75a2037)
  • allow lowball lockup transactions in API (#598) - (f8ce827)
  • onchain overpayment protection (#599) - (61a3d91)
  • S3 compatible backup provider - (e24f2bf)
  • ListSwaps gRPC method (#607) - (c6e2e4b)

Miscellaneous Chores

  • add CHANGELOG for v3.7.1 - (a8b37c0)
  • bump certifi from 2024.6.2 to 2024.7.4 in /tools (#597) - (2261aa4)
  • remove Google Cloud bucket backup provider - (bc5af96)
  • optimize backend Dockerfile (#604) - (ee4c77b)
  • include swap id in invoice settlement error log (#608) - (3b652be)
  • minor dependency updates - (bbb992c)
  • bump Docker image versions - (08ed479)
  • apply docs review feedback - (f4260f5)

3.7.1 - 2024-07-02

Bug Fixes

  • put locks on cooperative swap settlement - (2a36576)
  • unconfirmed user lockup transaction error handling - (adfbb9c)
  • check prevout index for swap related broadcasts (#560) - (7cdd390)
  • also clear temporary exclude list when resetting mpay - (db7116a)
  • allow for cooperative refunds when CLN pay failed to pay an invoice (#567) - (293be5e)
  • cleanup Loki log format - (2a4725a)
  • missing status for cooperative chain swap refunds (#578) - (1ed17a8)
  • Mattermost max message length (#584) - (8c4a4e2)
  • lowball claim covenants (#585) - (ec4d5b2)
  • off by one in BIP-21 routing hint - (abde534)

Features

  • include user lockup transactions in swap updates - (939b889)
  • add details to failure reason of swap status - (48e120a)
  • throw error when setting expired invoice - (90d87cf)
  • return referral id in swap created response (#557) - (74e56ad)
  • configurable minimal swap size multipliers (#562) - (d86316d)
  • granular temporary and permanent mpay memory reset - (c65f5bb)
  • set labels for addresses and transactions - (a312595)
  • sanitize ZMQ address wildcards (#576) - (447e072)
  • detailed cooperative refund rejection error (#581) - (e08c854)
  • save permanent payment errors in database (#587) - (2b9a4e8)

Miscellaneous Chores

  • add CHANGELOG for v3.7.0 - (1c7636c)
  • minor dependency update - (5dcbe5e)
  • bump LND to v0.18.0-beta - (bf13d1f)
  • minor dependency updates - (d362dad)
  • set NODE_ENV to production in Docker build - (a433cea)
  • bump CLN to v24.05 (#559) - (358c9bf)
  • update CLN protos to v24.05 (#561) - (7239988)
  • update Python dependencies - (10b055f)
  • add logging for rescan command - (525c885)
  • bump @grpc/grpc-js from 1.10.8 to 1.10.9 (#568) - (47505ba)
  • bump braces from 3.0.2 to 3.0.3 (#569) - (8108cc6)
  • bump urllib3 from 2.2.1 to 2.2.2 in /tools (#571) - (ca491df)
  • bump ws and ethers (#572) - (41564aa)
  • bump Bitcoin Core to v27.1 (#575) - (3436b5a)
  • update NPM dependencies - (e9681fd)
  • change license to AGPL-3 (#574) - (1f61a44)
  • bump LND version to v0.18.1-beta (#582) - (bae070f)
  • include dependencies for clnrest in image - (cac6d0b)
  • bump CI action versions - (e7b18d0)
  • bump version to v3.7.1 - (0f7ded9)
  • include swap id in invoice payment tracking logs (#589) - (e52efbf)

Refactoring

  • improve transaction detection logging - (77d7f00)
  • swap status cache - (751077c)
  • make toHaveBeenCalledTimes in tests more readable - (e17185e)
  • tracking of pending invoice payments - (e7edd6a)

Tests

  • make tests more robust by waiting for CLN sync - (748e5f8)

3.7.0 - 2024-05-29

Bug Fixes

  • mpay override implementation (#541) - (22d3ddf)
  • chain swap errors in Swagger - (65680d0)
  • chain swap refund error - (48bd28a)
  • chain swap pair mapping - (eb6b30c)
  • CLI command to coop claim chain swaps - (1efdee9)
  • regression in getpairs endpoint - (4ee85b0)
  • increase chain swap min swap size multiplier - (1eb62d8)
  • chain swap expiry - (2a5f2af)
  • chain swap pending lockup transaction tracking - (101a12b)
  • lock when broadcasting cooperative claim - (21ae1f4)
  • include timeout ETA in chain swap transactions endpoint - (38f3351)
  • consistent 0-conf rejected status on restart - (323c30f)
  • ignore empty swap options when fetching ChainSwaps - (784a796)
  • use script path fee estimation for chain swaps - (ddc6878)

Documentation

  • add claim covenant and magic routing hints (#536) - (bc82896)
  • Swagger for chain swaps - (660bf3b)
  • add missing swapTypes for pairs config - (d80d13a)
  • add missing chain swap timeout in config - (24ff6bc)

Features

  • allow specifying referral via URL query (#543) - (8398fee)
  • chain swap POC - (02906af)
  • FeeProvider for chain swaps - (f444b11)
  • SQL queries for chain swaps - (86fc8b7)
  • recreate filters for chain swaps - (2ba0a92)
  • cooperative chain swap claims - (9ba1065)
  • cooperative chain swap refunds - (9dbcbf6)
  • query chain swap transactions - (c1f72d3)
  • EVM chain swaps - (25ef8dd)
  • separate timeout block delta for chain swaps - (76bcc4c)
  • allow configuring API endpoint of CLI - (fca6b06)
  • include reverse routing hints in swapinfo - (85cb218)
  • partialy cooperative chain swap claims - (520b921)
  • always include transaction in related events - (612540f)
  • chain swap fee per direction - (3319205)
  • separate swap amount limits for chain swaps - (d90c7b4)

Miscellaneous Chores

  • bump undici and @discordjs/rest (#542) - (05614cc)
  • move partners to license file (#546) - (c4f6287)
  • bump requests from 2.31.0 to 2.32.0 in /tools (#548) - (34d2c6d)
  • update dependencies - (945d5ef)
  • address review feedback - (f0ff23a)
  • update Docker images - (c69a575)
  • update NPM dependencies (#552) - (adf2f14)

Refactoring

  • rename chain swap response properties - (6b8ba97)
  • use isTxConfirmed function - (6ed7bd4)
  • wrapped swap repository for chain and reverse - (797bd1e)

Tests

  • add tests for chain swap related code - (fc0abe0)
  • fix broken test cases - (d249c05)

Mpay

  • add mpay-override-pay option to override pay command (default false, for now!) - (14fe5a0)

Tools/plugins/mpay

  • make the mpay-override-pay option dynamic where supported. - (5415e70)

3.6.0 - 2024-04-24

Bug Fixes

  • Docker build script backend version - (c3f6aaa)
  • flaky fee calculating integration test - (c375740)
  • remove lockup transaction table foreign contraint - (d149cc6)
  • use lowball config for second Elements client - (ee3d5be)
  • allow lowball for refunds (#533) - (f0aab1c)
  • bump Liquid claim transaction size estimation (#534) - (9df7beb)

Features

  • make CORS headers configurable (#529) - (efc463f)
  • use lowball for emitting unconfirmed transactions - (9621376)
  • 0-conf circuit breaker - (0c33029)
  • send alert notification when 0-conf is disabled - (b135ce6)
  • use lowball fees in ElementsWrapper (#531) - (add9ea5)

Miscellaneous Chores

  • address minor review feedback - (874abc9)
  • bump Bitcoin Core to v27.0 (#526) - (246cf7d)
  • prepare release v3.6.0 - (cc21c00)

Refactoring

  • simplify IChainClient generic - (493c04b)
  • only broadcast with public Elements client - (1459b1e)
  • move allSettled into PromiseUtils - (4937beb)
  • use tableName for all SQL tables - (50b1aa4)

3.5.0 - 2024-04-12

Bug Fixes

  • ElementsWalletProvider test flakiness - (3d8dee2)
  • Mattermost block formatting - (322db1e)
  • detection of already paid invoices - (b321af0)
  • improve LND HTLC acceptance logging - (ce4824b)
  • Bitcoin Core work queue exhaustion when fetching transactions - (029fb78)
  • mpay forbid self payments - (12bc09d)
  • wrong types in swagger (#485) - (3dab64b)
  • wrong onchainAmount swagger type - (e4db482)
  • CLN plugins for v24.02 - (eef0544)
  • mpay known routes (#503) - (492057a)
  • remove mpay exception traceback - (b2c14d6)
  • use right node for timeout query for invoices (#522) - (acd0b56)
  • harden Taproot signature generation - (622f291)
  • mpay error could not find a route error - (0bf3f06)

Documentation

  • update regtest and deployment configurations - (d180636)
  • Taproot scripting - (0390f90)
  • API v2 references - (0da625c)
  • refine Swagger spec - (a8b8c4b)
  • E2E examples for API V2 - (6891a75)
  • API v2 wording and style (#486) - (4972f31)
  • No subject - (b81e5a2)
  • typo in API v2 code sample (#497) - (2654e7b)
  • add state transaction.lockupFailed (#513) - (1e4a86a)

Features

  • referral API v2 - (5191b6d)
  • Mattermost notifications (#470) - (9e527c4)
  • block height API - (00556c2)
  • sanity check mpay invoice (#475) - (2027c13)
  • marked swaps (#477) - (57ee9a5)
  • address filter - (28855ee)
  • batched normal swap claims - (9cc7009)
  • cooperative Submarine claim transactions - (141542e)
  • API V2 WebSocket - (7620de2)
  • API V2 EVM contract data - (d2e3489)
  • get reverse swap lockup transaction endpoint - (c6a1f4c)
  • cooperative EVM refunds - (87f952a)
  • RSK in API V2 - (d0dbe53)
  • magic BIP-21 routing hints (#482) - (d82bc20)
  • rescan gRPC method (#489) - (8f3cf44)
  • Liquid claim covenant (#488) - (436245d)
  • mpay response compatibility with pay - (1ee2a15)
  • invoice expiry check (#498) - (b8b76ca)
  • gRPC to change swap status (#500) - (7853162)
  • gRPC to dump heap (#506) - (283d650)
  • add getLockedFunds gRPC call (#518) - (586c364)
  • getPendingSweeps gRPC (#520) - (1dc1c49)

Miscellaneous Chores

  • update dependencies - (71d49b6)
  • update dependencies - (4ad8a4f)
  • bump Docker image versions - (32dc1da)
  • update NPM dependencies - (43c725c)
  • update dependencies (#491) - (bdaa1fd)
  • update partnerships in README - (41d65ce)
  • bump @openzeppelin/contracts from 5.0.1 to 5.0.2 (#492) - (58dd311)
  • update Docker images - (e7ca60a)
  • update partnerships in readme (#502) - (1719bc2)
  • update CLN Docker image to v24.02.1 - (4d6e240)
  • bump follow-redirects from 1.15.4 to 1.15.6 (#505) - (6d3a1fc)
  • Swagger UI deep linking (#512) - (0d89dd2)
  • bump express from 4.18.3 to 4.19.2 (#515) - (d9134d6)
  • remove host networking from Docker setup (#517) - (d9031e4)
  • update Bitcoin Core to v26.1 (#519) - (8c1dbe2)
  • update CLN to v24.02.2 (#521) - (d48a489)
  • read backend image tag from package.json - (f9d956b)
  • bump tar from 6.1.13 to 6.2.1 (#523) - (38bb1f3)
  • update Python dependencies - (ae3fac3)
  • changelog for v3.5.0 - (432fc64)

Refactoring

  • strong typed EventEmitter - (808aea9)
  • simplify naming in DeferredClaimer - (b108bb2)
  • Reverse Swap BIP-21 query by invoice (#483) - (97e6328)
  • consistent endpoint in API V2 - (0308974)
  • use Sets for WebSocket mappings - (62ed227)

3.4.0 - 2024-01-25

Bug Fixes

  • forbid reverse swaps with same preimage hash - (f18c3bc)
  • race condition when setting invoices of swaps (#432) - (80809ae)
  • exclude most expensive route in mpay - (cdce890)
  • deduplicate already paid mpay invoices - (b66c44a)
  • mpay tests in CI - (32d5a24)
  • route hint delay on retries - (1d4c7ba)
  • order of mpay route stats - (8775df5)
  • gas price BigInt conversion error in FeeProvider - (e80a374)
  • locked funds prometheus metric with PostgreSQL - (6f0f46c)
  • make Anvil miner faster - (3ee2f45)
  • stats of first month of year - (e26e8bf)
  • Python plugin certificate creation test - (fd9ff9c)
  • allow modded versions of CLN - (ed7d81f)
  • CLN node URIs - (18de9ee)
  • handling of invoices with msat precision (#454) - (5ea0c82)
  • reset LND mission control on interval (#461) - (b76ce8f)
  • tests broken by Taproot swaps - (719f075)
  • wrong status event for eligible swap refund - (80d0a93)
  • remove "l" from swap id generator (#457) - (6618abf)
  • include RSK in API v2 pairs - (a3e31f3)
  • do not overwrite failure reason when expiring swap - (46d87df)
  • API v2 swap routes - (e9d1ee3)

Documentation

  • misc updates (#429) - (affd303)
  • fix P2SH nested P2WSH hashing - (0358881)
  • redeem script clarification (#463) - (1a93026)
  • swagger specs for API V2 endpoints - (798b4a7)

Features

  • PostgreSQL as database (#425) - (9b6fff3)
  • mpay plugin prototype - (e5557e9)
  • try direct channels first in mpay - (1c9d0ce)
  • mpay list command - (e6412f1)
  • reset path memory in mpay - (e841e32)
  • refactor route fee calculations - (8418b60)
  • gRPC for mpay - (aab13b4)
  • SQLite mpay database - (684c8bf)
  • getswaptransaction for Ethereum chains - (b354c06)
  • swap node config (#442) - (5143848)
  • mpay route cache (#447) - (da1b985)
  • add nodes API v2 (#451) - (a45d02b)
  • BIP-21 in invoice memo of reverse swaps (#458) - (53685a9)
  • PostgreSQL database backups (#462) - (13c9b4f)
  • Taproot submarine swaps - (d19bbc4)
  • cooperative Taproot submarine swap refunds - (f89e6c5)
  • Taproot reverse swaps - (f64d6ae)
  • uncooperative Taproot swap spend cli - (59d473b)
  • API v2 pairs - (b74c5af)
  • chain endpoints in API v2 - (bacf555)
  • API v2 get submarine swap transaction - (30ad5f0)
  • API v2 swap status - (85289bd)
  • mpay to pay invoices - (3ebed29)

GITBOOK-74

  • change request with no subject merged in GitBook - (57cbe4c)

Miscellaneous Chores

  • update changelog for v3.3.0 - (5bc1470)
  • update license for v3.3.0 release (#426) - (c3a39cf)
  • minor readme update (#428) - (3895c01)
  • API landing page favicon (#430) - (e4671c8)
  • update Python dependencies - (e23f35e)
  • put MIT license on CLN plugins - (c04faab)
  • update to LND v0.17.1-beta - (abb7973)
  • update dependencies - (acde2e9)
  • bump LND version to v0.17.2-beta - (17d6bb9)
  • bump cryptography from 41.0.5 to 41.0.6 in /tools (#438) - (7ebd2e6)
  • update dependencies - (6a4ec39)
  • bump max supported CLN version - (441da3b)
  • update Docker images (#444) - (7613e79)
  • bump CLN version to v23.11.1 - (b21739a)
  • bump CLN version to v23.11.2 - (e78529c)
  • bump follow-redirects from 1.15.2 to 1.15.4 (#456) - (c4eb4d2)
  • prettier import sorting - (f766032)
  • bump GETH Docker image version - (c5d3c18)
  • generate mpay TypeScript protos - (6e9fdab)
  • changelog for v3.4.0 - (90ff2bf)

Refactoring

  • cleanup Python project structure - (338101f)
  • use external SQLAlchemy sessions - (7777c85)
  • include exclude check in get_routes - (ec3eb73)
  • stats queries for PostgreSQL - (a92a51c)

Revert

Tests

  • add rudimentary tests for mpay - (b8adbb2)
  • add Taproot related tests - (a9af144)
  • MusigSigner integration test - (7e1ebed)

3.3.0 - 2023-10-30

Bug Fixes

  • custom integration test runner for CI - (3da45b0)
  • higher invoice CLTV offset for Reverse Swaps - (fbd6403)
  • connect nodes for hold invoice test - (1c1289c)
  • skipped hold invoice plugin tests - (d3b4614)
  • too short CLTV expiry hold plugin test - (efbcdbb)
  • Python plugin integration tests on CI - (e652ce3)
  • CLN to LND short channel id conversion - (3e1949d)
  • various CLN bugs (#378) - (793f05a)
  • CLN pay status gRPC - (f6960fd)
  • duplicate CLN pay calls - (de3a832)
  • startup without LND - (7bf3682)
  • route querying for CLN - (9eccb3d)
  • nested arrays in routing hints endpoint - (de614bc)
  • use correct lightning node to query route CLTV estimations - (af5c035)
  • check for paid invoices in paystatus - (5ad22ac)
  • check for temporary errors before pending - (9bfa55c)
  • improve detection of pending CLN payments - (79f8646)
  • filter configs with no min wallet balance for notifications - (9004cda)
  • reconnect to CLN subscription error on interval - (1489a3d)
  • retry SQLITE_BUSY error - (bc4fea9)
  • detect open invoice with only cancelled HTLCs - (a5a055d)
  • minor prometheus metric typo - (a734364)
  • payment error handling (#417) - (0a4901c)
  • handling of pending HTLCs for expired invoices (#419) - (d0c6385)
  • minor adjustments for RSK compatibility - (b027e63)
  • CI Docker build workflow - (852066f)
  • commit version in Docker image build - (c2816d0)
  • default metrics to 0 - (c7e1915)
  • logging of InjectedProvider - (d8c27af)

Documentation

  • minor wording adjustment (#415) - (9e5eade)
  • uncomment EVM RSK sections (#416) - (39ccdf3)
  • add API Onion address (#423) - (0155d52)
  • RSK related rewording (#424) - (a1a9751)

Features

  • increase routing offset based on amount (#372) - (5039127)
  • gRPC command to unblind outputs of a transaction (#373) - (2285372)
  • CLN hld invoice plugin - (8b9e209)
  • CLN SCB backup plugin - (e5e3077)
  • MPP support for CLN hold invoice plugin - (edd77aa)
  • gRPC for hold invoice plugin - (540df92)
  • improve hold gRPC error handling - (679b1e6)
  • track hold invoice state via gRPC - (b564f39)
  • hold gRPC steam to track all invoices - (24bf1fc)
  • routing hints in hold invoice plugin (#375) - (79a0999)
  • CLN integration in backend - (e3b8537)
  • save creation date of hold invoices - (ff0df0a)
  • gRPC SSL for hold invoice plugin - (2884344)
  • support for multiple wallets/nodes in gRPC - (3e83075)
  • upload SCB backup on plugin startup - (f86db5d)
  • switch between LND and CLN based on referral (#379) - (5da5cbc)
  • getRoute in hold plugin for specifying max CLTV - (f743cda)
  • apply CLTV exceptions to routing hints - (aac0c92)
  • query swapinfo by more columns (#399) - (05811c4)
  • fallback for timeouts when creating invoices (#398) - (a501908)
  • separate notification channel for alerts (#400) - (62eae87)
  • use satcomma to format notification amounts (#403) - (7e98a75)
  • max unused wallet balance alert (#405) - (7923ae6)
  • forbid swaps to our own lightning nodes - (95cb46c)
  • Loki transport for logger (#410) - (4fef5de)
  • race all locking lightning client calls - (5bc7249)
  • log and send notification for client status changes - (4c565cd)
  • prometheus metrics - (d6c2bea)
  • RSK integration - (d8b7a60)
  • configurable expiry of reverse swap invoices (#422) - (9cf91ff)
  • save hold HTLC information in datastore - (e1e08c7)
  • query listholdinvoices by invoice - (a0000d9)
  • prevent invoice overpayment in hold plugin - (8923b38)
  • throw error when creating invoices with hash length != 32 - (e0260d3)

Miscellaneous Chores

  • update changelog - (0ade83c)
  • speed up tests by disabling global type check - (5146528)
  • bump certifi from 2022.12.7 to 2023.7.22 in /tools (#368) - (dbf3bb1)
  • update NPM dependencies - (3c6e7ca)
  • harden regtest Docker image build - (b41add2)
  • enable fast gossip for CLN in regtest image - (54afef1)
  • fix shebang line in Python plugins - (bb021ec)
  • update geth Docker image to v1.12.2 - (e77ece3)
  • bump version to v3.3.0 - (5fbeef1)
  • bump CLN to v23.08 - (de89fae)
  • update dependencies - (e862b05)
  • update CLN Docker image - (03a8705)
  • bump max CLN version - (b6b47e1)
  • bump cryptography from 41.0.3 to 41.0.4 in /tools (#384) - (c386817)
  • update dependencies - (5ace4e1)
  • remove docs build status - (0c54391)
  • bump urllib3 from 2.0.4 to 2.0.6 in /tools (#392) - (0372a3c)
  • update LND to v0.17.0 (#397) - (7ded9c5)
  • update git-commit-template.txt (#393) - (b08b092)
  • README Update (#389) - (beae9c2)
  • push Docker image on push to master - (656836b)
  • push Docker images with latest tag by default (#404) - (7de4271)
  • remove unused mkdocs dependency - (66c17be)
  • bump urllib3 from 2.0.6 to 2.0.7 in /tools (#409) - (9b99f07)
  • bump @babel/traverse from 7.22.8 to 7.23.2 (#411) - (1870bb2)
  • update to Bitcoin Core v25.1 - (2728710)
  • update dependencies - (f6124c9)
  • dependency updates - (c16ca7d)
  • update dependencies - (3361b80)
  • fix .gitattributes - (c340fc1)
  • switch from black to ruff Python formatter - (32d8550)
  • Python format rule adjustments - (609c1b7)

Refactoring

  • use highest mempool.space fee estimation - (7c38088)
  • use bolt11 Python library - (8574b2c)
  • update bolt11 library - (fb79bb9)
  • move docs to gitbook - (33018b6)
  • getstats command (#402) - (0c38daf)
  • infer BaseClient log name from service name - (a6d80bd)

Style

Tests

  • integration test for hold invoice CLN plugin - (5cc4ffe)
  • fix broken tests - (5a1366c)
  • fix broken TimeoutDeltaProvider tests - (5149f02)
  • add missing tests for RSK integration - (26ef955)

Refator

  • remove last hardcoded usages of LND client - (c05f818)

3.2.1 - 2023-07-19

Bug Fixes

  • use correct Logger for NodeInfo - (dde81b9)
  • remove tslint config - (4a40c30)
  • mine block before generating invoices in integration test - (b727a15)

Features

  • send latest Swap status on SSE connect - (572f8db)
  • use queryRoutes to estimate timeout of swaps - (146f281)

Miscellaneous Chores

  • (deps) bump semver from 6.3.0 to 6.3.1 (#364) - (c7e8c13)
  • update CHANGELOG.md for v3.2.0 - (a9cd51a)
  • update LND to v0.16.4 (#362) - (6ab3fd6)
  • update ESLint TypeScript plugins - (0e11b4c)
  • update backend version - (ada8ad3)

3.2.0 - 2023-06-30

Bug Fixes

  • stringify of BigInt - (4553549)
  • show output index of Swap transactions - (1e34b3b)
  • handle cltv limit should be greater than errors - (c553bec)
  • allow disabling currencies gracefully - (2e1a7bc)
  • mininmal amount calculations on interval - (0552955)
  • Liquid testnet BIP21 - (f31b323)
  • Liquid transaction sizes - (8b8d2fc)
  • allow lower limits on Liquid - (3577b71)
  • do not throw when WebDAV backup fails - (f1919df)
  • increase estimated size for Liquid claim transactions - (136843f)
  • broken tests - (641dd2b)
  • crash after LND restart with invoice GC - (8e6a839)
  • missing initEccLib call to bitcoinjs-lib - (cd130ad)
  • handle invoice settlement error - (ced457f)
  • channel open after successful swap - (586717e)
  • CoreWalletProvider integration test - (0c1d3b7)
  • handling replaced swap transactions - (8ad3481)
  • chain ID serialization - (9dabe1c)
  • broken service test - (e928155)
  • Lightning payment reliability (#358) - (7f9628a)
  • swap timeout for cross chain - (fd59c9d)
  • buffer to reach routing hints - (0f71bed)

Documentation

  • rm ltc sample from /getnodes (#321) - (84cc573)
  • Markdown style fixes - (79f6db9)
  • update according to changes in Liquid branch - (395804d)
  • update config sample - (dd91827)

Features

  • LND v0.16.0-beta support (#316) - (af28583)
  • add boltz-cli command to hash hex values - (bdf2b72)
  • backups to WebDav (#330) - (9fe6b22)
  • Liquid integration - (3c07b34)
  • Liquid BIP21 - (8183325)
  • configurable wallet backend - (4f27cef)
  • Liquid 0.2 sat/vbyte floor - (85c0fe2)
  • mempool.space API fallbacks - (75ac107)
  • blinding key of swaps - (24e25ec)
  • use Taproot addresses by default in Bitcoin Core wallet - (7222fec)
  • node stats enpoint - (ca46cad)
  • deriving blinding keys via gRPC - (da44600)
  • API landing page - (b918a82)

Miscellaneous Chores

  • (deps) bump undici from 5.14.0 to 5.19.1 (#309) - (f09f862)
  • (deps) bump sequelize from 6.28.0 to 6.28.2 (#310) - (82c18a3)
  • (deps) bump sequelize from 6.28.2 to 6.29.0 (#311) - (00b536b)
  • (deps) bump minimist from 1.2.5 to 1.2.6 (#313) - (42f1637)
  • (deps) bump @openzeppelin/contracts from 4.8.2 to 4.8.3 (#320) - (3bcd9ae)
  • (deps) bump requests from 2.28.2 to 2.31.0 in /tools (#334) - (851fdd2)
  • (deps) bump @openzeppelin/contracts from 4.8.3 to 4.9.1 (#348) - (7f8d287)
  • (deps) bump dottie from 2.0.3 to 2.0.4 (#349) - (9088daf)
  • (deps) bump @openzeppelin/contracts from 4.9.1 to 4.9.2 (#352) - (711151d)
  • (deps) bump fast-xml-parser from 4.2.4 to 4.2.5 (#355) - (a533fb1)
  • update changelog - (e28033b)
  • update GitHub CI Action (#312) - (10a021c)
  • update Docker images - (cb7cdec)
  • update sqlite3 to 5.1.5 - (2c774c8)
  • update CLN Docker image to 23.02.2 - (c3ede74)
  • improve miner_fee script - (cf69d6f)
  • minor style fixes - (bf57bea)
  • update boltz Docker image - (65e42a1)
  • update LND to 0.16.1-beta (#324) - (78ad326)
  • update LND to 0.16.2-beta (#328) - (b80b3ca)
  • print version on startup - (50e7227)
  • increasize liquid fees - (bd2d40a)
  • bump boltz-core-liquid - (9ef6b89)
  • hardcode Liquid tx fee to 0.11 sat/vbyte - (6008308)
  • update regtest container - (2902981)
  • run prettier on whole project - (76659bf)
  • update Docker images - (8fdf0bb)
  • increase Mempool.space refresh interval - (c47dd07)
  • update Eclair Docker image - (7c3530d)
  • update dependencies - (3b4d573)
  • revert version to v3.2.0 - (fe37410)
  • bump CI Node.js version (#356) - (79554ce)
  • update CLN Docker image to v23.05.2 - (bdea464)

Refactoring

  • Dockerfile of backend for tagged image builds - (1a5d59e)
  • fee estimation preparation log - (b5cbcbd)
  • update to Ethers v6 - (7d45e27)
  • querying statistics - (72e9c9c)
  • make database repositories static - (cf1b3ef)
  • disable RBF for lockup transactions - (16289e4)
  • set limit of pairs in pair - (a4aa33a)

3.1.5 - 2023-02-11

Bug Fixes

  • race condition in fee calculation of ERC20s - (e99b1b9)
  • improve Web3 provider initialization - (65e6b23)
  • failure reason detection of SendPaymentV2 - (430d00a)
  • query lockup vout in database migration to v2 - (a3c5467)
  • race condition which caused claim transactions not being detected - (30dadfb)
  • balance alerts of Ethereum wallets (#224) - (7e62082)
  • set payment fee limit (#230) - (7973fab)
  • harden Discord login logic - (fdc546c)
  • LND max message length - (7a602f6)
  • set start height of LND transaction list call - (54f41b4)
  • timestamp of log messages (#236) - (07623ea)
  • handle pending lightning HTLCs - (1c9dc98)
  • pad log timestamps - (8c7ea40)
  • convert amounts of lockefunds command to whole coins - (75b81c4)
  • retry of channel creation invoice payment - (a144aaa)
  • error when routing policy is not defined - (4ed6c06)
  • handle failed requests to GasNow - (31ff40a)
  • double channel opening when connecting to remote node - (eae72d3)
  • check routability for disabled channel creations - (7028ebb)
  • harden ZMQ connection logic - (6d4096d)
  • harden Reverse Swap lockup confirmation logic (#246) - (6b37452)
  • invoice cancellation on fresh regtest environments - (080a373)
  • show method of failed Web3 provider requests (#248) - (fb14e7f)
  • handle rejections (#249) - (89152b1)
  • GasNow WebSocket timeouts - (c6b34e5)
  • stuck GasNow WebSocket - (d7a9c9e)
  • handle invoices already cancelled by LND - (b652b57)
  • foreign key of channel creations - (1d981f8)
  • handle GasNow WebSocket errors - (9d2fcd3)
  • still allow LND v0.12 - (8521707)
  • update dependencies - (1de1a5f)
  • redundant check for confirmed lock transactions - (1ec7464)
  • increase invoice payment timeout - (5c995bd)
  • more verbose backup upload failure logs (#260) - (bb25238)
  • endless channel backup reconnection loop - (f9bc5d7)
  • add missing port to startRegtest.sh (#280) - (10a94ca)
  • reject AMP invoices for swaps (#289) - (08bc278)
  • prepay minerfee race condition - (5d84fc7)
  • missing -f parameter to docker build (#296) - (0795dc8)
  • ARM64 boltz-backend Docker build - (e4f705a)
  • parsing of invalid Bitcoin addresses - (07fed7a)
  • max CLTV delta for lightning payments - (4b09d5b)
  • CLTV delta for cross chain swaps - (809a3a9)
  • cross chain CLTV delta for Ethereum - (22ac8ba)
  • add check for minimal CLTV limit - (c6a846b)

Documentation

  • update for v3.1.0 - (8373f13)
  • request authentication and querying referrals - (a77997a)
  • add note that API is not accessible from browser (#295) - (f14068b)
  • minor wording fix - (6edaa89)

Features

  • improve balance check notifications - (c4d9938)
  • add timeout to requests to web3 provider - (f2a2859)
  • group stats by year - (c244b3e)
  • split long Discord message in multiple parts - (9317666)
  • show ids of swaps for which coins are locked (#233) - (658476c)
  • add provider for Bitcoin Core wallet (#235) - (73131bf)
  • allow client to request private routing hints - (28f3856)
  • allow clients to fetch routing hints - (887e1f1)
  • update to swap contracts v2 - (e5cb02d)
  • add Ethereum prepay miner fee - (b646dbe)
  • cancel pending HTLCs for expired prepay invoices - (d736033)
  • allow to specify onchain amount when creating Reverse Swaps - (6f3cbf4)
  • add user/password RPC authentication again - (f0c7ec7)
  • improve invoice cancellation logic - (688a818)
  • switch to GasNow WebSocket (#247) - (a8dc34b)
  • add mempool.space based fee estimates - (7c4b90d)
  • adjust minimal limits based on miner fees (#253) - (c76971c)
  • add referral fee - (1b308d2)
  • send Ethereum type 2 transactions - (5722b07)
  • add referral API keys and secrets - (27a060d)
  • add HMAC API authentication - (7f671b8)
  • add API endpoint to query referrals - (0c812a9)
  • API endpoint to query swap timeouts - (c0f4cfb)
  • allow configuring ZMQ endpoints - (8c9eb7f)
  • add elements to docker regtest (#269) - (4e1466f)
  • set max payment fee ratio for LND (#299) - (c620679)
  • swapIn fee (#305) - (cc69389)
  • allow setting feePerVbyte and timeoutBlockHeight in CLI tooling - (3b99058)

Miscellaneous Chores

  • (deps) bump ini from 1.3.5 to 1.3.8 (#228) - (a381315)
  • (deps) bump node-notifier from 8.0.0 to 8.0.1 (#229) - (256fe20)
  • (deps) bump date-and-time from 0.14.1 to 0.14.2 (#231) - (498d2bc)
  • (deps) bump urllib3 from 1.26.4 to 1.26.5 in /tools (#255) - (75fc674)
  • (deps) bump mkdocs from 1.2.2 to 1.2.3 in /tools (#266) - (d88ac3d)
  • (deps) bump moment-timezone from 0.5.34 to 0.5.37 (#294) - (7efec83)
  • (deps) bump http-cache-semantics from 4.1.0 to 4.1.1 (#306) - (3d6257b)
  • decrease LND payment timeout to 15 seconds - (9a34643)
  • update GETH to v1.9.25 - (61684a7)
  • update LND to v0.12.0 - (1d76336)
  • update Docker images - (7895c5f)
  • run Github actions only against Node v14 - (3e6af5c)
  • update to LND v0.12.1 - (07d62eb)
  • update Zcash to v4.3.0 - (4455dd0)
  • update GETH to v1.10.0 - (d0c886f)
  • update GETH to v1.10.1 - (d625a30)
  • update dependencies - (97c4a2b)
  • update Python dependencies - (c8b02dc)
  • update dependencies (#251) - (ec72aee)
  • update NPM dependencies - (4f77051)
  • update NPM dependencies - (44d669d)
  • fix build (#256) - (59d7a3a)
  • update dependencies - (c8da59a)
  • update dependencies - (5999854)
  • switch to grpc-js - (a547c2c)
  • update dependencies - (f6f528a)
  • dependency updates - (cb3ff1e)
  • update GETH to v1.10.9 - (94f46e9)
  • update LND to v0.13.3-beta (#263) - (35e5730)
  • update dependencies - (d58cb65)
  • fix lint errors - (5527fbb)
  • update c-lightning image to v0.10.2 - (3a12239)
  • update to Node v16 (#267) - (f0524fd)
  • update dependencies - (bb8c850)
  • update Docker images - (0ddd1a4)
  • update dependencies - (a3f8571)
  • Docker images for linux/arm64 - (5a6b448)
  • allow specifying organisation in Docker build script - (1320014)
  • update Docker images - (490d2a6)
  • update to LND 0.14.2-beta (#274) - (f0f96da)
  • add docker image for boltz-backend (#285) - (fa95b8e)
  • add security.md (#287) - (e365e18)
  • Docker image updates - (66c6cd4)
  • NPM dependency updates - (5c1030a)
  • minor wording fixes - (fc99ed8)
  • add docker aliases script (#282) - (d41cdab)
  • update LND to v0.15.0 - (0efe103)
  • update protos for LND 0.15.0 - (6e90d44)
  • bump max LND version 0.15.1 - (1631b3c)
  • update Docker images - (5ff96a9)
  • update Dockerfile for Boltz backend - (d5f27f9)
  • update dependencies - (b0e3606)
  • update Docker images to LND 0.15.2-beta - (90a9029)
  • set max LND version to 0.15.3 - (7b999d7)
  • update LND Docker image to v0.15.3 - (4ba0847)
  • update LND to v0.15.4 - (5698f29)
  • update Docker images - (13e636a)
  • update Docker images - (8114473)
  • update regtest Docker image - (b226ca6)
  • update vulnerable dependencies - (bf33de0)
  • update dependencies - (c13d613)
  • add SQL scripts to query stats - (f0cf513)
  • show TX ID when it cannot be found - (20800d8)
  • update dependencies - (453f83a)

Refactoring

  • remove all GasNow code - (aa26f36)
  • cache LND node URIs - (63dc44b)
  • switch from WebSocket to HTTP Web3 providers - (0f6ae39)
  • remove native dependency for disk usage - (a80b2e1)
  • use poetry for Python dependencies - (4a14bc7)

Tests

  • add case for gRPC messages longer than the default limit - (9ab1380)
  • fetch contract addresses dynamically - (f2f16ad)
  • comment out Binance price oracle test - (3d72851)
  • add case for decoding of invalid addresses - (076c1bb)

2.4.3 - 2020-11-19

Bug Fixes

  • use miner fees shown in API - (95631d3)

Documentation

  • catch up with Ethereum branch - (34b3913)
  • add pairHash documentation - (f25bdf4)

Features

  • make swap status updates more consistent - (f837735)
  • improve injected web3 provider - (24c84d2)
  • add CLI command to derive keys - (f2071db)
  • return refund address for Ethereum Reverse Swaps - (154c0c7)
  • expose Ethereum network identifier in API - (78f4f8d)
  • add tests for UtxoNursery - (0faf2e2)
  • add CLI tool to migrate database - (00e7ad6)
  • group volume by month in stats command - (a0aa322)
  • add support for Infura as eth provider - (81de0d4)
  • use SendPaymentV2 with up to 3 parts - (f75d08e)
  • query routes in a MPP compatible way - (4a226ad)
  • remove ambiguous id possibilities - (a88df2c)
  • implement pair hash check - (f8cdcbe)

Miscellaneous Chores

Tests

  • add unit tests for LightningNursery - (b9ac67b)
  • add unit test for EthereumNursery - (42a1c18)
  • add ETH and USDT test cases to FeeProvider - (c196154)

2.4.2 - 2020-10-10

Bug Fixes

  • update to LND v0.11.1 - (acff8e7)

Features

  • expose token contracts addresses in API - (3fefc83)
  • query Ethereum Swap values from lockup transcation - (c939532)
  • add fallback web3 provider - (3fa8288)
  • switch to Bitcoin and Litecoin Core cookie authentication - (f77dbc3)

Miscellaneous Chores

  • fix publish script - (0d6ca2d)
  • update GETH to v1.9.22 - (ba47828)
  • update LND to v0.11.1-beta - (bd850c1)
  • switch from IERC20 to ERC20 ABI - (7965be0)
  • bump version to v2.4.2 - (fdd36a1)

2.4.1 - 2020-09-22

Bug Fixes

  • handle changed node locktime error - (f43e66a)
  • retry channel opening when remote node is syncing - (1c71e1b)
  • set rate for unconfirmed Swap outputs - (305c9bd)
  • broken unit tests - (eaa8dd9)
  • Channel Creation edge cases - (36024cc)
  • use GasNow only on mainnet - (bbd73b6)

Features

  • add ethereum tooling - (050c925)
  • add Ether and ERC20 wallets - (16cf7cf)
  • add Ether and ERC20 swaps - (f3e6b05)
  • rescan chains on startup - (a905176)
  • Ethereum Swap improvements - (1d13efc)
  • charge correct miner fee for USDT pairs - (16a9ca6)
  • add database migration for schema version 2 - (59a0d45)
  • add Channel Creation and Swap retry logic - (3041185)
  • set rate of Swaps created with preimage hash - (100fd7a)
  • events for failed lockup transactions in API - (feda384)
  • use GasNow for gas price predictions - (d50bc91)
  • improve sending from boltz-ethereum - (c3fc6ff)
  • add pending Ethereum transaction tracker - (139d8ff)
  • add 10 percent buffer to CLTV expiry for cross chain Reverse Swaps - (97d7ee3)

Miscellaneous Chores

  • add c-lightning and eclair images - (285319a)
  • switch from Ganache to GETH - (ab12fd8)
  • update dependencies - (b2f263b)
  • update dependencies - (0a1df20)
  • update dependencies - (f4b713c)
  • fund Ethereum wallets when starting Docker images - (5afe16b)
  • update zcash Docker image - (c213f4e)
  • update c-lightning to 0.9.1 - (20f7ee2)
  • update dependencies - (e8294ff)
  • update CHANGELOG.md - (d4d5f8f)

Tests

  • update and fix integration tests - (de4a703)

2.4.0 - 2020-08-18

Bug Fixes

  • relax invoice check in auto Channel Creation mode - (caa4fc2)

Features

  • add chain client and LND version checks - (25a0417)
  • try to connect by public key before opening channel - (6a32a72)
  • send notifications when LND stream errors (#217) - (f7ba741)

Miscellaneous Chores

  • switch to eslint - (5af7b13)
  • update to LND 0.10.3-beta - (35bbbca)
  • update vulnerable dependencies - (68038dc)
  • bump max supported versions - (cb6c059)

2.3.0 - 2020-07-05

Bug Fixes

  • invoice decoding library (#180) - (8a1dc47)
  • add scanned block height to GetInfo (#183) - (440cd5d)
  • update proto for LND version 0.9.0-beta - (b1477c7)
  • sweeping Ether - (d43a7e1)
  • Travis build - (5e875ec)
  • failed transactions included in pending swaps (#184) - (07f407b)
  • README.md update (#199) - (bbadb98)
  • pay invoice if set after transaction was sent - (297e140)
  • broken link in docs - (fc23163)
  • minor fixes - (44f3144)
  • LND race conditions - (6f0aa8f)
  • handle OP_RETURN outputs - (aea1683)
  • unit tests - (7ec9f1d)
  • Swap rate calculations - (accf2c8)
  • cross chain Channel Creations - (ee892d7)
  • peer online database query - (b1f7163)
  • recreating filters on restarts - (ad918e3)
  • invoice expiry check - (3624278)
  • Channel Creation Discord messages - (f8925b3)

Documentation

  • add channel creation docs - (3fbcd42)
  • add docs for deployments - (1a10c35)
  • finish deployment docs - (48b276c)
  • minor fixes and clarifications - (073ecb0)
  • add refund file standard - (e1bd1e3)
  • add scripting docs - (d54e460)

Features

  • add Ether and ERC20 wallet - (e8a2444)
  • set CLTV expiry of hold invoices - (e8e2591)
  • add endpoint to query lockup transaction of swap - (c81986e)
  • special error handling broadcasting refund transactions - (b953797)
  • add endpoint to query nodes - (0fa346f)
  • add channel creation logic - (f22fab7)
  • improve logging of failed requests - (8f5bfdb)
  • invoice and channel object sanity checks - (09809b9)
  • configurable address type for Submarine Swaps - (af9c7fe)
  • add prepay minerfee Reverse Swap protocol - (62a517a)
  • add "channel.created" event (#204) - (5666abf)
  • add database version schema (#205) - (257119a)
  • custom Discord notifications for Channel Creations - (eea7081)
  • abandon Swaps with expired invoices - (e11312a)

Miscellaneous Chores

  • prepare release v2.1.0-beta (#179) - (57360a0)
  • update LND to v0.9.0-beta - (c51ffa7)
  • rename newaddress Discord command - (9418555)
  • update dependencies - (4e9f027)
  • add script to calculate miner fee of transactions - (a10771a)
  • update discord.js client - (210ef5e)
  • update dependencies - (3864d0e)
  • update LND to v0.9.2-beta - (5175232)
  • update dependencies - (1110e52)
  • update dependencies - (b98f1fd)
  • update to LND 0.10 - (0d25e5d)
  • update dependencies - (c606040)
  • upgrade Bitcoin Core & Litecoin Core - (9348afe)
  • update LND to 0.10.1-beta - (787443a)
  • switch to GitHub actions - (c4421c3)
  • update build badge in README - (bc21d2b)
  • enable integration tests on GitHub actions - (c818ff2)
  • update dependencies - (02f9b04)
  • update Sequelize to v6 (#209) - (bd03efe)

Refactoring

  • swap flow to allow creation with preimage hash - (7e261ca)
  • retry logic - (c84a080)
  • reveal both invoices in prepay minerfee protocol (#201) - (20d59b1)

Tests

  • update test cases - (017fc90)
  • add cases for SwapNursery - (5db22d1)
  • fix and add test cases - (0d9f9de)
  • add tests for SwapManager - (c7b7265)

2.1.0-beta - 2020-01-14

Bug Fixes

  • error printing of chain client during initialization - (7fe33bd)
  • multiple messages of disk usage checker - (1af2887)
  • address and invoice encoding in LND Litecoin - (62e0bbb)
  • loading status of pending reverse swaps - (9104819)
  • Python linting warnings - (a346829)
  • update commands for new reverse swaps - (41460c0)
  • normal cross chain swaps - (7072765)
  • edge case of swap event handling - (68f9387)
  • invoice decoding on testnet - (bf21052)

Documentation

  • feedback changes (#139) - (5ef2ab5)
  • add aliases for executables in Docker image (#140) - (83259df)
  • add discord badge (#149) - (26e59a6)
  • add missing Discord link (#148) - (5e837da)

Features

  • add memo to invoice of reverse swaps - (556513f)
  • add script to fund Boltz wallet (#141) - (c0ff5ca)
  • add withdraw Discord command (#142) - (6fdc4d4)
  • add notification when disk is getting full (#146) - (47843ba)
  • add usage of single commands to Discord help - (63c6e8c)
  • show git commit hash in version (#151) - (f84a2f7)
  • add pendingswaps Discord command - (f192ea2)
  • add lockedfunds Discord command - (b034f25)
  • make timeouts configurable on a per chain basis (#153) - (14f7b80)
  • add tool to analyze failed swaps (#157) - (9138f3b)
  • accept invoices with upper case letters (#158) - (d2f08d4)
  • show onchainAmount in response of createreverseswap (#161) - (f1c784a)
  • add Dogecoin Core and Zcash Docker images - (9bec35d)
  • add support for Dogecoin - (2c9e9d6)
  • remove Boltz wallet - (6946bf3)
  • build LND docker image with all available tags - (d3ddba0)
  • add version API endpoint - (277d2c7)
  • reverse swaps with hold invoices - (6936fc2)
  • use new reverse swap script - (82d8860)
  • add timeouts of hold reverse swaps - (f4aae82)
  • cancel invoices of expired reverse swaps - (e6aef4f)
  • raw transaction in events of reverse swaps - (46b8d25)
  • default status for swaps - (531fd39)
  • add ETA to TransactionMempool events - (3a3a29d)
  • reword invoice memo (#178) - (fe7ca9d)

Miscellaneous Chores

  • update dependencies - (1505027)
  • switch from CircleCI to Travis (#144) - (15e1d83)
  • add Travis build badge - (c7897c8)
  • add Travis build on Windows - (d883428)
  • update dependencies - (3f118fd)
  • update dependencies and Docker images - (b9d0f1d)
  • update LND and regtest images to use LND 0.8.0-beta - (3f65516)
  • update dependencies - (0e2cfec)
  • disable CircleCI build (#168) - (722e910)
  • update Docker images - (b198f2d)
  • update NPM dependencies - (a01d043)
  • update LND to 0.8.2-beta - (8143355)
  • exclude TypeScript build info from NPM package - (84d4446)
  • bump amount of coins sent to LND wallet - (3c5a23a)
  • update Discord messages for new reverse swaps - (ee2e122)
  • update dependencies - (13fdee2)

Refactoring

  • reformat swap messages (#143) - (51ab0cc)
  • improve git commit hash script - (9bb7c8f)
  • readable swap Discord notifications - (f9503b3)
  • createswap API endpoint - (25744f1)

Tests

  • add and update unit tests - (c13ad8c)
  • fix remaining failing tests - (0c37daf)

2.0.0-beta - 2019-08-27

Bug Fixes

  • output type of NewAddress - (ca52f9c)
  • tests in different timezones - (af283ec)
  • minor improvements - (c3f19b4)
  • minor fee calculation fixes - (9075469)
  • not throwing exception if backup private key cannot be found - (ec84edc)
  • tests after renaming event to status - (335cac3)
  • race conditions in EventHandler - (9442a1e)
  • message of backup command (#131) - (b5f1676)
  • calculation of enforced limits of LTC/BTC pair - (e874595)
  • always use free port for ZMQ tests - (8eb6984)

Documentation

  • add readthedocs documentationn - (411ba18)
  • refactoring docs - (2e39bb5)
  • move Regtest Docker environment wiki page - (7f0d140)
  • document Server-Sent Events script - (4d73dcd)

Features

  • abort swaps after expiration (#123) - (5879a3b)
  • accept 0-conf for non RBF swap outputs (#118) - (66066ee)
  • add 0-conf limits to getPairs endpoint - (769b79f)
  • improve Docker image build process - (1c5c627)
  • add timeoutBlockHeight to response of createReverseSwap - (14b8314)
  • add list of images to builder script - (9a091f9)
  • add script to stream Server-Sent events - (14c72bd)

Miscellaneous Chores

  • update images - (ce3805f)
  • update dependencies - (86ae388)
  • update Bitcoin Core and LND images - (7d4fab8)
  • update vulnerable dependencies - (7f68075)
  • update vulnerable dependencies (#134) - (c1f08ed)
  • release v2.0.0-beta - (fd68e30)
  • link Read the Docs in README - (dcf7ac9)

Refactoring

  • move all fee and rate calculations to middleware (#124) - (f31cf0e)
  • move logic from middleware to backend - (d918534)
  • switch from TransactionBuilder to PSBT - (11dee91)
  • rescanning of missed blocks - (d197a25)

Tests

  • add tests from middleware - (3177ca3)
  • add tests - (18b3c88)
  • add unit test for service and swap manager - (6d6f2fb)

Rejactor

  • move test suite to jest - (b2c3b61)

1.0.0-beta.2 - 2019-05-15

Features

  • detection of chain reorganizations (#115) - (2d6a40f)
  • more verbose events for accounting in the middleware (#120) - (8c1e64d)

Miscellaneous Chores

  • switch to CircleCI workflows (#116) - (9d9a260)
  • update Docker images (#119) - (ff55b6e)
  • release v1.0.0-beta.2 (#121) - (321b3a9)

1.0.0-beta - 2019-04-29

Bug Fixes

  • claim swap after one confirmation (#26) - (bee35ea)
  • remove last usages of Networks.ts file (#30) - (ba02a69)
  • sending transaction on Litecoin - (358dc25)
  • rate of reverse swaps (#64) - (c5466e6)
  • improve logging of reverse swaps (#66) - (cd700c5)
  • emit invoice.paid event only if request succeeded (#70) - (5b41412)
  • outputs to wallet table relation - (aa36b76)
  • error message of broadcasting refund transactions (#80) - (1e1cbf7)
  • set max fee to 100 sat per vbyte (#82) - (14a8b7d)
  • correct timeout block height in map (#89) - (f6a2579)
  • config file parsing (#90) - (d82f518)
  • catch LND errors when paying invoices (#94) - (4b402a6)
  • fee calculation of reverse swaps (#101) - (aced8f5)
  • fee calculation (#111) - (575b4a5)
  • could not find route for private channels (#112) - (1eeb4ee)
  • route hint list length check (#113) - (345d584)

Features

  • (docker) add prepared simnet environment - (726f6f5)
  • (grpc) subscribe to confirmed transactions - (e029823)
  • (grpc) subscribe to paid invoices - (9290e38)
  • (grpc) improve CreateReverseSwap response - (134d43b)
  • (grpc) add events to SubscribeTransactions - (49809bb)
  • (grpc) add preimage to invoice settled events (#65) - (3abca51)
  • (grpc) add timeout height to swap commands (#57) - (61c7d44)
  • (wallet) check unconfirmed UTXOs on startup - (7aeb034)
  • add inquirer as optional input for boltz-cli (#24) - (8a61628)
  • detect multiple UTXOs per output - (c1d8b09)
  • mark transactions as spent - (635b9b6)
  • add channel balance to GetBalanceResponse (#71) - (c1af188)
  • emit event when invoice not settled (#60) - (69c5d99)
  • automatically refund failed swaps (#73) - (a7291a8)
  • reconnect to lnd if streaming calls are disconnected #48 (#59) - (7e524f5)
  • expose LND REST API on simnet image - (86bc8d1)
  • add error to status of connected nodes (#78) - (fe4499d)
  • add BTCD fee estimator - (525e75f)
  • add gRPC method to estimate fee - (985cb10)
  • add gRPC method to send coins - (0cb6f51)
  • add gRPC stream for refunds of reverse swaps - (e795c64)
  • add additional field for fee of swap (#84) - (768f539)
  • switch from BTCD to Bitcoin Core - (f9efe7a)
  • add fallback for pubrawblock ZMQ filter - (dd30930)
  • add lock to wallet to avoid double spending - (49232e8)
  • add event for not payable invoices - (98bfa5c)
  • add inbound balance to getbalance (#97) - (55401c1)
  • check whether invoice can be routed before creating swap - (be1600b)
  • send all funds of wallet (#108) - (63bcf46)
  • add gRPC stream for static channel backups - (6dc545b)

Miscellaneous Chores

  • use boltz-core library (#25) - (35cd8cb)
  • add NPM badge (#27) - (27064fe)
  • update Go versions in Docker images (#32) - (14076d4)
  • minor style improvements - (df98dd3)
  • disallow unused variables - (4d570b1)
  • update boltz-core to version 0.0.5 (#56) - (cc5bb86)
  • update dependencies - (32e5f4a)
  • move TODOs to issues (#55) - (3838a59)
  • cleanup of timeout naming scheme - (4efcaef)
  • remove unnecessary log statement (#74) - (f596149)
  • integrate CircleCI (#77) - (a24aa87)
  • update node version of CircleCI - (3b38e42)
  • move Berkeley DB build into own container (#87) - (5fa620a)
  • update boltz-core dependency to v0.0.6 (#91) - (de7b64c)
  • update dependencies - (21eca3e)
  • update Go alpine version (#107) - (94c69af)
  • update LND protobuf to version 0.6-beta - (0eaafee)
  • release v1.0.0-beta (#114) - (48e5a12)

Performance

  • more efficient handling of gRPC subscriptions - (402c764)

Refactoring

  • remove concept of trading pairs (#28) - (5250753)
  • update integration for new image - (92c4cb4)
  • remove generation of BIP21 payment requests (#39) - (2405678)
  • custom fee for sendToAddress method of wallet (#61) - (0e9e937)
  • parse currencies from config (#29) - (947bcbc)
  • update sequelize to v5 (#105) - (3b16e2d)

Tests

  • unit tests for chain and zmq clients (#98) - (8abeeba)

0.0.2 - 2018-12-03

Bug Fixes

  • database error on startup (#5) - (2113989)
  • export detectSwap method (#22) - (6b4f211)

Features

  • (grpc) add broadcasting of transactions (#6) - (5950bad)
  • (grpc) add retrieving transaction from its hash (#20) - (cb5d54c)
  • (grpc) add timeout to createswap (#21) - (bf4e1d9)
  • fee estimation for claim and refund transactions (#4) - (75afad8)

Miscellaneous Chores

  • bump version to 0.0.2 (#23) - (a1fecd7)

[0.0.1] - 2018-11-26

Miscellaneous Chores

  • add Travis badge to README.md - (e709ca8)
  • preparations for NPM package (#2) - (5d44183)
  • export claim and refund transaction in NPM module (#3) - (253544d)