Skip to content

Releases: lightninglabs/loop

v0.14.0-beta

01 Jun 20:37
v0.14.0-beta
9d3d9ce
Compare
Choose a tag to compare

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

19 May 18:24
v0.13.0-beta
b8e1fb8
Compare
Choose a tag to compare

Breaking Changes

A breaking change is required due to poold changes.

  • Bumped the minimum required version of lnd to v0.11.1-beta.

v0.12.2-beta

29 Apr 16:20
v0.12.2-beta
db56b31
Compare
Choose a tag to compare

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 Loop bbolt DB fails.

v0.12.1-beta

26 Mar 00:08
v0.12.1-beta
8c3206c
Compare
Choose a tag to compare

New Features

  • A new flag, --verbose, or -v, is added to loop 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. Use loop in -v, loop out -v,
    loop quote in -v or loop 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 example docker-compose environment as well as
    documentation on how to use the regtest 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

06 Mar 17:36
v0.12.0-beta
0fa3625
Compare
Choose a tag to compare

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 in loopd.
  • A bug where loop in on-chain fees were not recorded properly has been
    addressed.

v0.11.4-beta

11 Feb 19:01
v0.11.4-beta
271215e
Compare
Choose a tag to compare
  • Default for --lnd.macaroonpath is set to the default path for the LND admin.macaroon (#336)

v0.11.3-beta

09 Feb 21:28
v0.11.3-beta
7d5e1a9
Compare
Choose a tag to compare
  • 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 the admin.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 and AutoOutBudgetStartSec fields in the
    LiquidityParameters message used in the experimental autoloop API have
    been renamed to Autoloop, AutoloopBudgetSat and AutoloopBudgetStartSec.
  • The autoout flag for enabling automatic dispatch of loop out swaps has been
    renamed to autoloop so that it can cover loop out and loop in.
  • The SuggestSwaps rpc call will now fail with a FailedPrecondition grpc
    error code if no rules are configured for the autolooper. Previously the rpc
    would return an empty response.

v0.11.2-beta

08 Dec 17:38
v0.11.2-beta
fbdda1e
Compare
Choose a tag to compare
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 the loop 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

12 Nov 20:00
v0.11.1-beta
86fc1b9
Compare
Choose a tag to compare

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

27 Oct 18:19
v0.11.0-beta
96a2187
Compare
Choose a tag to compare

New Features

  • The loop client now labels all its on-chain transactions to make them easily
    identifiable in lnd's listchaintxns output.

Introducing Autoloop

  • This release includes support for opt-in automatic dispatch of loop out swaps,
    based on the output of the Suggestions 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 the Suggestions endpoint
    can be used to view the exact set of swaps that the autolooper would make if
    enabled.