Releases: lightninglabs/loop
Releases · lightninglabs/loop
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.
v0.10.0-beta
Version 0.10.0-beta
New Features
- Multi-path payment has been enabled for Loop In. This means that it is now possible
to replenish multiple channels via a single Loop In request and a single on-chain htlc.
This has to potential to greatly reduce chain fee costs. Note that it is not yet possible
to select specific peers to loop in through. - The daemon now sends a user agent string with each swap. This allows
developers to identify their fork or custom implementation of the loop client.
Updated Swap Suggestions
- The swap suggestions endpoint has been updated to be fee-aware. Swaps that
exceed the fee limits set by the liquidity manager will no longer be
suggested (seegetparams
for the current limits, and usesetparams
to
update these values). - Swap suggestions are now aware of ongoing and previously failed swaps. They
will not suggest swaps for channels that are currently being utilized for
swaps, and will not suggest any swaps if a swap that is not limited to a
specific peer or channel is ongoing. If a channel was part of a failed swap
within the last 24H, it will be excluded from our swap suggestions (this
value is configurable). - The
debug
logging level is recommended if using this feature.
Breaking Changes
-
Macaroon authentication has been enabled for the
loopd
gRPC and REST
connections. This makes it possible for the loop API to be exposed safely over
the internet as unauthorized access is now prevented.The daemon will write a default
loop.macaroon
in its main directory. For
mainnet this file will be picked up automatically by theloop
CLI tool. For
testnet you need to specify the--network=testnet
flag.
More information about TLS and macaroons. -
The
setparm
loopcli endpoint is renamed tosetrule
because this endpoint
is only used for setting liqudity rules (parameters can be set using the new
setparams
endpoint).
v0.9.0-beta
In this patch release:
Potentially Breaking Changes
- TLS encryption is introduced and is now required to communicate with the Loop daemon API
- Support is discontinued in binary releases for Darwin 386 (32 bit Mac)
New Features
- A liquidity management system is introduced to drive automated Loop actions based on desired liquidity
- Fully automated Loop actions are not yet included, this release introduces suggested actions that can be executed using the API, or in the future can be directed to be executed automatically.
- A rewrite of the on-chain script is introduced that is a bit cheaper on-chain in the successful case
Fixes
- The Docker image Go version is increased to Go 1.13
v0.8.1-beta
In this patch release:
- The Loop Out pathfinding timeout is increased to help discover lower fee routes for larger amounts
- The Loop Out default sweep confirmation target is extended to help lower on-chain fees for Loop Outs
- Preparatory support is included for an upcoming update to the on-chain script
- Support is added to choose your own directory for Loop's database and log files
v0.8.0-beta
In this minor release:
- More details into swap failure causes are surfaced to help better understand how to fix issues encountered with swap execution
- The new LND 0.11.0 chain transaction labeling feature is used to record in the LND db which txs are Loop-related
- You can now specify the number of confirmations to wait before considering the swap service's on-chain send to you to be confirmed