Releases: lightninglabs/loop
Releases · lightninglabs/loop
v0.14.0-beta
New Features
- The loopd client reports off-chain routing failures for loop out swaps if it cannot find a route to the server for the swap's prepay or invoice payment. This allows the server to release accepted invoices, if there are any, earlier, reducing the amount of time that funds are held off-chain. If the swap failed on one of the loop server's channels, it will report failure location of its off-chain failure. If the failure occurred outside of the loop server's infrastructure, a generic failure will be used so that no information about the client's position in the network is leaked.
v0.13.0-beta
Breaking Changes
A breaking change is required due to poold changes.
- Bumped the minimum required version of
lnd
tov0.11.1-beta
.
v0.12.2-beta
New Features
- If the payment for an LSAT fails, it is now automatically re-tried.
Bug Fixes
- Instead of just blocking for forever without any apparent reason if another
Loop daemon process is already running, we now exit with an error after 5
seconds if acquiring the unique lock on the Loopbbolt
DB fails.
v0.12.1-beta
New Features
- A new flag,
--verbose
, or-v
, is added toloop in
,loop out
and
loop quote
. Responses from these commands are also updated to provide more
verbose info, giving users a more intuitive view about money paid
on/off-chain and fees incurred. Useloop in -v
,loop out -v
,
loop quote in -v
orloop quote out -v
to view the details. - A stripped down version of the Loop server is now provided as a
Docker image. A quick
start script and exampledocker-compose
environment as well as
documentation on how to use theregtest
Loop server
was added too.
Bug Fixes
- A bug that would not list autoloop rules set on a per-peer basis when they
were excluded due to insufficient budget, or the number of swaps in flight
has been corrected. These rules will now be included in the output of
suggestswaps
with other autoloop peer rules.
v0.12.0-beta
New Features
- Autoloop can now be configured on a per-peer basis, rather than only on an
individual channel level. This change allows desired liquidity thresholds
to be set for an individual peer, rather than a specific channel, and
leverages multi-loop-out to more efficiently manage liquidity. To configure
peer-level rules, provide the 'setrule' command with the peer's pubkey. - Autoloop's fee API has been simplified to allow setting a single percentage
which will be used to limit total swap fees to a percentage of the amount
being swapped, the default budget has been updated to reflect this. Use
loop setparams --feepercent={percentage}
to update this value. This fee
setting has been updated to the default for autoloop. - The default confirmation target for automated loop out swap sweeps has been
increased to 100 blocks. This change will not affect the time it takes to
acquire inbound liquidity, but will decrease the cost of swaps.
Bug Fixes
- The loop dockerfile has been updated to use the
make
command so that the
latest commit hash of the code being run will be included inloopd
. - A bug where loop in on-chain fees were not recorded properly has been
addressed.
v0.11.4-beta
- Default for
--lnd.macaroonpath
is set to the default path for the LNDadmin.macaroon
(#336)
v0.11.3-beta
- Fixed compile time compatibility with
lnd v0.12.0-beta
.
New Features
- If lnd is locked when the loop client starts up, it will wait for lnd to be
unlocked. Previous versions would exit with an error. - Loop will no longer need all
lnd
subserver macaroons to be present in the
--lnd.macaroondir
. Instead the new--lnd.macaroonpath
option can be
pointed to a single macaroon, for example theadmin.macaroon
or a custom
baked one with the exact permissions needed for Loop. If the now deprecated
flag/option--lnd.macaroondir
is used, it will fall back to use only the
admin.macaroon
from that directory. - The rules used for autoloop have been relaxed to allow autoloop to dispatch
swaps even if there are manually initiated swaps that are not limited to a
single channel in progress. This change was made to allow autoloop to coexist
with manual swaps. - The
SuggestSwaps
endpoint has been updated to include reasons that indicate
why the Autolooper is not currently dispatching swaps for the set of rules
that the client is configured with. See the autoloop documentation for a
detailed explanations of these reasons.
Breaking Changes
- The
AutoOut
,AutoOutBudgetSat
andAutoOutBudgetStartSec
fields in the
LiquidityParameters
message used in the experimental autoloop API have
been renamed toAutoloop
,AutoloopBudgetSat
andAutoloopBudgetStartSec
. - The
autoout
flag for enabling automatic dispatch of loop out swaps has been
renamed toautoloop
so that it can cover loop out and loop in. - The
SuggestSwaps
rpc call will now fail with aFailedPrecondition
grpc
error code if no rules are configured for the autolooper. Previously the rpc
would return an empty response.
v0.11.2-beta
Autoloop Swap Size
- Autoloop can now be configured with custom swap size limits. Previously,
autoloop would use the minimum/maximum swap amount set by the server (exposed
by theloop terms
command) to decide on swap size. - Setting a custom minimum swap amount is particularly useful for clients that
would like to perform fewer, larger swaps to save on fees. The trade-off when
setting a large minimum amount is that autoloop will wait until your channel is
at least the minimum amount below its incoming threshold amount before executing
a swap, which may result in channels staying under the threshold for longer. - These values can be set using the following command:
loop setparams --minamt={minimum in sats} --maxamt={maximum in sats}
. - The values set must fall within the limits set by the loop server.
v0.11.1-beta
NewFeatures
- When requesting a swap, a new
initiator
field can be set on the gRPC/REST
interface that is appended to the user agent string that is sent to the server
to give information about Loop usage. The initiator field is meant for user
interfaces to add their name to give the full picture of the binary used
(loopd
, LiT) and the method/interface used for triggering the swap (loop
CLI, autolooper, LiT UI, other 3rd party UI).
v0.11.0-beta
New Features
- The loop client now labels all its on-chain transactions to make them easily
identifiable inlnd
'slistchaintxns
output.
Introducing Autoloop
- This release includes support for opt-in automatic dispatch of loop out swaps,
based on the output of theSuggestions
endpoint. - To enable the autolooper, the following command can be used:
loop setparams --autoout=true --autobudget={budget in sats} --budgetstart={start time for budget}
- Automatically dispatched swaps are identified in the output of the
ListSwaps
with the label[reserved]: autoloop-out
. - If autoloop is not enabled, the client will log the actions that the
autolooper would have taken if it was enabled, and theSuggestions
endpoint
can be used to view the exact set of swaps that the autolooper would make if
enabled.