Skip to content

Releases: lightninglabs/loop

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.

v0.10.0-beta

13 Oct 16:19
v0.10.0-beta
24523b5
Compare
Choose a tag to compare

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 (see getparams for the current limits, and use setparams 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 the loop CLI tool. For
    testnet you need to specify the --network=testnet flag.
    More information about TLS and macaroons.

  • The setparm loopcli endpoint is renamed to setrule because this endpoint
    is only used for setting liqudity rules (parameters can be set using the new
    setparams endpoint).

v0.9.0-beta

10 Sep 17:16
v0.9.0-beta
845f72c
Compare
Choose a tag to compare

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

28 Aug 17:19
v0.8.1-beta
10c7c34
Compare
Choose a tag to compare

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

11 Aug 18:05
v0.8.0-beta
261eb81
Compare
Choose a tag to compare

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