Changelog
All notable changes to the subprojects will be documented in this file.
The format is based on Keep a Changelog.
[0.3.1] - 2025-07-14
Added
gl-client0.3.1 released, including the signer for CLN v.25.05. Upgrading the client and signer will trigger an upgrade on the server, and you will be using the latest and greatest CLN version going forward.- Added support to
trampoline_pay, a payment exection engine that delegates route selection and payment execution to the LSP node. - Several signer policies have been relaxed in order to prevent signer rejections. Some rejections are still happening due to a mismatch in CLN and VLS data models, but most should be fixed.
- A standalone
gl-testserversubproject allows testing non-python clients by spinning up a mock Greenlight system in a box, and then run tests against it. (#539) - A python-specific subprohect
gl-testingallows writing extensivepytesttests against Greenlight. If you are using Python, this is a great way to test your project - Added CLN v24.11 as supported version on the server.
- Added a rust-based
glclicommand line client replacing the pythonglcli
Changed
trampoline_payperforms a preflight check to see if we have enoughspendable_msatbefore attempting the trampoline payment. (#585)
Fixed
- Fixed a logic error relating to zeroconf channels, and forgetting channels that did not confirm for prolonged periods.
[0.3.0] - 2024-10-07
Added
- Capture and report signer rejections back to the node (#483, #484).
- Add trampoline client to delegate route finding to next node (#475, #489, #498, #505, #511).
- Add basic support for signer-less devices (#281).
Changed
- Ensure that signer doesn't exit on network change (#524)
- Signer reports the node id by itself (#520)
- Upgrade to VLS 0.12 (#504).
- Add .resources dir to all crates in repo. This is soley to make it possible to publish artefacts (#501)
Fixed
Removed
- The methods that used to be in
greenlight.protothat have been superseded with thenode.protoversion have been removed on the server side. The proto file now contains only Greenlight-specific functionality (#317.
[0.2.0]
Added
-
The Node Domain has been enabled. This means that ever node now has a unique URL at which the node can always be reached, without having to explicitly schedule it first. This allows bypassing of the scheduler, reducing the time required to start and connect to a node.
-
The plugin now wait for the node to complete its startup before forwarding RPC commands.
- Calls to
cln.Node/Invoicenow always include all possibleroutehints. Possible in this case refers to channels with peers that are currently in stateCHANNELD_NORMAL, both disconnected and connected. - The
gl-pluginwill now wait for both the initial gossip sync and the reconnection to the peers to complete, before allowingpaythrough. This cuts down on spurious payment failures due to missing peers or incomplete network view for routing. - The
gl-clientlibrary and the language bindings have keepalive messages enabled, with a timeout of 90 seconds. This ensures that clients and signers that have been silently disconnected, e.g., by suspending the device or losing network connectivity, will notice and reconnect. #220
Fixed
- An issue concerning reconnecting to peers, if the signer attaches before the underlying JSON-RPC has become available has been fixed. This issue would cause peers to remain disconnected despite a signer being attached. #210 & #204
Removed
- The JS bindings where clobbering the error messages due to incorrect context use. Now we return errors as they are emitted.
-
The scheduler no longer allows creating
regtestnodes, since they are unusable without a faucet to get coins for it. -
Temporarily removed the JS bindings. We will the bindings over to uniffi, and the JS bindings were outdated and unused. But they'll be back.
-
The API has been simplified by removing methods that were both in
greenlight.protoas well asnode.proto. The latter is from the autogeneratedcln-grpcwhich supercedes thegreenlight.protomethods. -
Payment optimizations: we are working on getting the success rate for payments up, and the time to completion down, focusing on success rate first.