Skip to content
This repository was archived by the owner on Feb 23, 2021. It is now read-only.

v0.1.3-alpha

Pre-release
Pre-release

Choose a tag to compare

@Roasbeef Roasbeef released this 30 Nov 23:36
· 2877 commits to master since this release

This release is the third minor release for the application! Several bugs have been fixed on the backend. Additionally, the UI has received a few minimal updates.

NOTE: the version of lnd packaged includes a breaking change. As a result, before updating we recommend that users close out all their active channels, and also transfer any testnet coins they wish to hold onto to an external wallet before updating.

Before updating, users will need to remove all data from lnd's home data directory. This is required as there have been some breaking database changes within lnd itself. Depending on your operating system, the data directory will be found in a different location on the file system:

  • MacOS: $HOME/Library/Application Support/Lnd
  • Windows: %LOCALAPPDATA%\Lnd
  • Linux: ~/.lnd

This release is pinned against the following commit of lnd: lightningnetwork/lnd@c0b8c29

Verifying the Release

In order to verify the release, you'll need to have gpg or gpg2 installed on your system. Once you've obtained a copy (and hopefully verified that as well), you'll first need to import roasbeef's key if you haven't done so already:

curl https://keybase.io/roasbeef/pgp_keys.asc | gpg --import

The keybase page of roasbeef includes several attestations across distinct platforms in order to provoide a degree of confidence that this release was really signed by "roasbeef".

Once you have his PGP key you can verify the release (assuming manifest-v0.1.3-alpha.txt and manifest-v0.1.3-alpha.txt.sig are in the current directory) with:

gpg --verify manifest-v0.1.3-alpha.txt.sig

That will verify the signature on the main manifest page which ensures integrity and authenticity of the binaries you've downloaded locally. Next, depending on your operating system you should then re-calculate the sha256 sum of the binary, and compare that with the following hashes (which are included in the manifest file):

83159bb69c4eefc0670e250c29c275bd955e7d25b6a3a0fc1625a891c2127ee7  Lightning-darwin-x64v0.1.3.zip
04da4ddf32cb31b33c993d62213a7d97d92f1e6c58d7f54d73789bf938ed1492  Lightning-linux-x64v0.1.3.tar.gz
a15c39e642ed373610114def2352edebf4f92ff5fa4ac7863a96ed35959627c0  Lightning-win32-x64v0.1.3.zip

One can use the shasum -a 256 <file name here> tool in order to re-compute the sha256 hash of the target binary for your operating system. The produced hash should be compared with the hashes listed above and they should match exactly.

This release can also be found in roasbeef's public keybase folder.

Notable Fixes

UI

The scrolling logs section in the settings page will now properly

Channel Graph Maintenance

The ChannelRouter within lnd will now properly respond to re-orgs by pruning any newly unconfirmed existing channel edges from the channel graph. If we wake up on a stale branch, then we'll now detect this, walk backwards, and then scan forwards on the new brach in order to detect any recently close channels while we were away.

A bug has also been fixed wherein we wouldn't properly detect channel closures while we were down when scanning forwards within the chain.

Time Locked Output Handling

The utxonursery within lnd has been fully revamped. It has been heavily refactored, with several edge cases being handled along the way. Most importantly it is now able to properly handle timed out second layer HTLC's, meaning offered HTLC's that have had their absolute CLTV timelock expired. Several new tests have been added to ensure the utxonursery is able to handle all persistence edge cases.

Channel Update Retransmission

We now fully adhere to BOLT-0002 by implementing the full channel re establishment retransmission logic. Tis means that fi were were mid commitment update, and the connection died, upon reconnection we'll now resynchronize state with the remote party, with both sides sending any updates which weren't fully ACK'd by the remote party.

Channel Announcement Processing

Announcements will now be fully duplicated within the pending batched before being flushed out to peers. This saves bandwidth, and also means that peers won't need to do any unnecessary validation. Additionally, we'll now process incoming message in parallel, reducing the total validation time when processing a new batch of messages during initial sync to the network.

Protocol Compatibility

The recent, final changes to the specification have been implemented. As a result, a few of the wire messages have undergone backwards incompatible changes. Due to these changes, users of the application may find that they're unable to interact with certain peers on the network, as the protocol has deviated since they last update. On the side of cooperative channel closures, the internal fee negotiation algorithm within lnd has been re-written. The new logic will now properly compromise, whereas the old algo would become stubborn and refuse to budge on its desired fee at a certain point.

Fee handling has been completely revamped. lnd nodes connected to a full node will now sample the fee rate on the network, and update the commitment transaction accordingly.

Contributors (Alphabetical Order):

  • Brijan (DaReaper)
  • Bryan Vu