Highlights
- CLN improvements: migrated payments to
xpay, route probing toaskrene/GetRoutes, and added subscription-based channel open/close events - Cross-implementation fixes: moveFunds and rebalances between CLN ↔ LND now work correctly (fixed correct CLTV expiry and payment_secret for the payment)
- Structured logging: HTTP request logs now ship as JSON with configurable format and status-based log levels
What's Changed
CLN
- Migrate CLN payments from
paytoxpay - Migrate CLN route probing from
getroutetoaskrene/GetRoutes - CLN channel open and close events driven by channel state changes
- Subscribe to CLN channel open notifications
- Fix CLN rebalancing and moveFunds: correct CLTV expiry and
payment_secrethandling - Resolve long-standing
PaymentSecret/PaymentAddress/Preimageterminology across protos, gRPC structs, DB schema, and TypeScript types- Involves changes in Torq API gRPC proto file
- Get payment hash from preimage in CLN xpay; handle "already paid" failures; map status 203 to
FailureReasonIncorrectPaymentDetails - Use
crypto/randfor preimage generation (full 256-bit entropy)
Logging & observability
- Standardize Gin request logs to structured JSON, with configurable format and status-based log levels
- Use JSON logging for the LSP server; refactor Gin middleware initialization
- Dereference
*stringpointers inBoltFailureCode/LndFailureDetaillog messages so values appear instead of addresses
Bug fixes
- Boolean filter on payments page now refetches correctly
- New payment modal broken under Vite 8
- Workflow log channel filter displayed correctly
- Store
NULL(not zero) settle date for unsettled invoices - Filter correctly by
is_rebalancein the payments table summary - Empty values written for empty fields on CLN channel updates
UI
- Data reloads on page changes (Default RTK Query
refetchOnMountOrArgChange: true)
Refactoring & dev experience
- Remove deprecated code
- LND unit tests and node-communication error refactor
- Tighten CLN/LND channel event handling and add
parseChannelStatetest - Improvements to the SL CLI tool; remove dev warnet and restore SL dev env
- Dockerfile fixes, small refactors and renames
Dependencies
- Package updates including React Router 7 → 8, gRPC, and CLN/LND proto updates
- Skip auditing npm dev dependencies in CI