Week of Thursday, Nov 21

project release date
zap-desktop v0.6.2-beta

Bug Fixes

  • app: ensure wallet import finds local wallets (f3ae0cd)
  • wallet: ensure on-chain pay form shows correct amounts
  • wallet: ensure ln pay form autosubmits with lightning links
2019-11-16
zap-desktop v0.6.1-beta

Release notes

Zap 0.6.1 adds a ton of new features and improvements to existing ones…

LND

We now ship with LND 0.8.0-beta which delivers many improvements and enhancements. We continue to support connecting to external LND nodes that are running prior versions of LND, though we encourage all users to update their nodes.

For users running the built-in LND Neutrino client, we now allow you to specify your own list of bitcoin nodes to pull blockchain data from. For maximum privacy, you can choose whether you want to connect exclusively or inclusively to your custom node whitelist. We continue to provide our own nodes for you to use and by default, the app will connect to these.

lnurl support

Lnurl is an emerging standard that defines processes to simplify a number of standard scenarios such as requesting incoming channels, withdrawing funds, doing atomic swaps, etc.

In this release, we have added support for lnurl-withdraw which enables automated withdrawals directly to your wallet from services that support the standard without the need for you to manually create an invoice and supply to the service in question.

If you'd like to try out this feature, the excellent lightning.gifts service which supports this feature might be a good place to start.

Passwords and Security

We have added application-wide password protection that allows you to lock your app and protect against unwanted access to your wallets. When enabled, you will be required to enter your app password in order to open the app. This password is currently separate from and in addition to your individual wallet unlock passwords although in the future we plan to consolidate these so that you can have a single password to remember. This setting is disabled by default and can be enabled in the preferences page. We currently only support this on Mac and Linux.

When setting passwords for the app or for your individual wallets you can now click to show/hide the password in clear text so that you can verify that you haven't made any typos. Additionally will ask you to enter the password twice as a further safety net to help ensure that you haven't made any typos when setting your password.

Invoicing and Activity history

We now support lightning invoice fallback addresses. When enabled, a new on-chain address will be generated and used set as the fallback address for each new lightning invoice that you create. This feature is disabled by default and can be enabled in the preferences page.

We've added some additional sanity checks to our invoice creation and payment forms that provide instant feedback if you try to pay or create an invoice that can not be paid due to network liquidity issues.

The main wallet activity list now also features infinite scrolling, ensuring that you can view details of invoices and other activity items as far back in time as you need to (previously we would only fetch and display up to 2500 invoices). We've also improved the filtering abilities so that you can be more selective about which items you would like to see.

We've also added the ability to export a pdf receipt for your transactions which we hope will be useful for merchants using Zap to control their store's lightning nodes.

Message signing

We now support message signing and message signature verification, accessible from your wallet profile page. You can use this to sign messages with your public key as well as to verify the authenticity of messages that have been signed with another node's public key.

Channel Management

In the channel management page, we now include the channel reserve amounts in the channel detail view to help you better understand the current state of your channels. We've also made a few minor adjustments to the header display to make it easier to use the search and filter features.

Other noteworthy changes

We have tidied up the interface a little and now show a skeleton loading screen as your wallet loads. We hope that this will make the application feel a little more responsive when connecting to remote nodes.

The seed restores form now features auto-complete which will suggest words from the bip39 word list as you type. This greatly speeds up the time to enter your 24 words seed phrase in the event that you need to restore from seed.

We've added error boundaries throughout the app so that in the event of a critical error the application will no longer crash. Instead, we will show you details of the error as well as a quick link that you can use to report the error directly to us.

For any developers out there - you can now connect to and control lightning nodes that are running on the bitcoin Regtest and Simnet networks.

A nice little nugget for our power users - all modal screens can now be closed by pressing the escape key.

Bug Fixes

  • app: store temp wallets in os tmpdir (91060e0)
  • checkbox: react unctrolled component warning (e6bc8d9), closes #2828
  • db: wallet table sanitize routine (02ec893)
  • modals: crash when opening multiple modals (a5ae322), closes #2823
  • modals: move root modals higher in DOM tree (34a20ed)
  • ui: add intl support to pdf invoice notifications (6832e25)
  • ui: center seed confirm inputs (72299f7), closes #2730
  • ui: ensure request form amount autofocus (cb9ccb6)
  • ui: ensure select value from items list (f3423d4)
  • ui: make sure connection string visibility toggle is respected (ba4bd3a), closes #2785
  • ui: prevent Dropdown from overflowing bottom screen bound (79a8efe)
  • ui: prevent Dropmenu from overflowing bottom screen bound (9017473)
  • ui: prevent Select from overflowing bottom screen bound (0c0e7e6)
  • ui: smaller processing button spinner (0bab91a)
  • ui: use gray color for input placeholder (97aabfd)
  • wallet: ensure address generation works (64af2da)
  • issue with adding new LN invoice (74c5a08)
  • add App specific modalstack (8b7d3b2)
  • devtools: don't mutate frozen object (5f886ec)
  • grpc: ensure that protobuf has Long support (810c343)
  • grpc: remove redundant openChannel.data and closeChannel.data subs (48b71b0), closes #2920
  • i18n: add missing memo translation (f89cda9)
  • i18n: change open channel status label to "online" (5dbbe1c), closes #3045
  • i18n: enable jsx-no-hardcoded-content lint rule (de51b9d), closes #3065
  • i18n: externalize hardcoded UI strings into localization files (faf6fa3), closes #3065
  • i18n: extract pay form amount labels into own localizable string (c74ebef), closes #3045
  • i18n: remove hardcoded string from connection details view (e876168), closes #3045
  • i18n: replace hardcoded "Channels" dropdown title (ceafccf), closes #3045
  • i18n: replace hardcoded labels in pay form (01563df), closes #3045
  • lint: refactor eqeqeq issues (b791b2f)
  • lnurl: handle lnurl processing errors (a7e5e0d)
  • onboarding: retain wallet addresses in state (9742591), closes #3182
  • scheduler: correctly search function tasks (138ae63)
  • ui: add ability to submit onboarding steps with Return key (9b05d5e), closes #3172
  • ui: add error handler for create invoice (dec8bfe)
  • ui: add margins to labels in wallet settings and node info panel (4416f62), closes #3046
  • ui: add password field tooltip (a94fb9d)
  • ui: add scroll to onboarding screen if needed (12cd50a)
  • ui: center align dialog header headings (9451bce), closes #3046
  • ui: center failed payment error modal dialog (b08353c), closes #3183
  • ui: center WalletCreate content (c8795b0), closes #2918
  • ui: center-align wallet create card headers (7db59a9), closes #3046
  • ui: close channel modal on channel open completion (56fcafe)
  • ui: correct expire date for invoices with far future expiry (0121b5d), closes #3144
  • ui: correctly isWinPlatformSupported flag (b8867b9)
  • ui: crash when trying to save remote node updates (ac4936a)
  • ui: disable app password on windows platform (31d1695)
  • ui: disable sign message functionality for local wallets (d05c6ef)
  • ui: don't disable sent filter after sending payment (32cb6c9)
  • ui: don't open channel management modal when not needed (2dd0f10), closes #3035
  • ui: ensure failed payments marked as failed (c734b87), closes #3142
  • ui: ensure onboarding dialogs on top (14ebf05), closes #3119
  • ui: ensure pay form amount autofocus (07c6d7e)
  • ui: incorrect open btn placement in OpenDialogInput errorneus state (d12b5c6), closes #2987
  • ui: keep autocomplete within screen bounds (a2cec09)
  • ui: lightning invoice validation in Pay view (9aa6125)
  • ui: make sure activity filter label doesn't wrap on two lines (71e81ca), closes #3046
  • ui: make sure crypto amount values stay on one line (170fd90), closes #3065
  • ui: next button state after going back in Pay form (938ebdb), closes #3176
  • ui: no form error when form is empty (d029992), closes #3016
  • ui: only focus elements when they receive it through tab (f9b5da1), closes #3127
  • ui: open dialog inputs (ef5e6ff)
  • ui: remove sending avtivity from sent filter (79e471e)
  • ui: restore RadioGroup label mb (5427353), closes #2919
  • ui: show all activity by default (74d6cab)
  • ui: trim LN prs and onchain addresses in LightningInvoiceInput (44a028f)
  • ui: update misleading wallet unlock description (9625116), closes #2978
  • ui: update settings menu icon (cb90c01)
  • ui: update user profile menu icon (35b7a40)
  • wallet: ensure transaction sending error handled (b1722c6)
  • wallet: factor sent and received in channel capacity (3304ccb)
  • add Home error boundary (919be24)
  • add intl support to notifications (7978ad8)
  • add intl support to system notifications (369188e)
  • add Onboarding error boundary (2a7e559)
  • add Syncing error boundary (5cfc725)
  • cornercase of initial sync status polling (1618567)
  • dropmenu arrow layout (de2ced7)
  • ensure max and min fees are set or null (acfc2c8)
  • deps: update dependency rebass to v3.2.2 (c20b60c)
  • ui: use static positioning for dialogs (d69015e)
  • wallet: correctly handle protocol links on windows (11b7106)
  • wallet: improve address generation (579554e), closes #3116
  • wallet: increase fee limit on payment retries (b14d785)
  • wallet: no lndconnect links for tmp wallets (c9f80d9)
  • extract-messages issue introduced by 7b6a796 (d340171)
  • rebass imports (cdfe62e)
  • store font files locally (dc2f485), closes #2984
  • ui: add support for intl in reducers (4bbd0a3)
  • ui: disable html5 form validation (fa19987)
  • ui: display correct channel count when search or filter is applied (187dd5c)
  • ui: ensure fiat and crypto inputs in agroup are always updated (537c447), closes #2602
  • ui: ensure notifications are visible when modal is active (9f07a74)
  • ui: prevent Toggle from selecting text when clicked (8d15568)
  • ui: update fees when send all is used (29e4b81)
  • ui: use desc instead of placeholder in invoice input (cd4097a)
  • wallet: present correct fee when no route (8b0a351), closes #3154
  • return result from producer (31830ad)
  • update channel search input if state changes (cb7c69d)
  • update download icon in TransactionModal (c5526c0)
  • verify message box layout (e33dab0)

Features

  • app: basic password authentication (ef9e1ec), closes #1387
  • autopay: auto pay invoices based on autopay config (0726a3a)
  • autopay: show system notification when doing autopay (a3f30f4)
  • lnd: ability to enforce connection only to whitelisted peers (480f5f4), closes #3025
  • ui: add "show/hide password" buttons (e1435a1), closes #2731
  • ui: add ability to configure neutrino nodes for local wallets (eb9aee5)
  • ui: add ability to restore neutrino url defaults (b960781)
  • ui: add ability to specify fallback address in LN invoices (5960463), closes #2021
  • ui: add autosuggest for seed recovery (c9c175d), closes #2765
  • ui: add fallback address to RequestSummary (8095268)
  • ui: add lnurl withdraw prompt setting (f451eda)
  • ui: add password confirmation input to set password dialog (1a7ce72), closes #2969
  • ui: add PasswordInput component and use it (b311fa9)
  • ui: add sign message capability (0657932), closes #2023
  • ui: add verify message capability (ec37abb)
  • ui: allow changing and toggling app password via dialogs (892d592)
  • ui: close dialogs with Escape key (45e771f), closes #2677
  • ui: confirm password on wallet create (11f03c3)
  • ui: display non-mainnet node network name (a637467)
  • ui: highlight activity filter icon in non default state (1757bf5)
  • ui: implement activity item error dialog (c3b55ba), closes #2580
  • ui: implement better activity filtering (52d6a6b), closes #2278
  • ui: implement better channels filtering (86b57e8)
  • ui: implement lnurl withdrawal request handling (4cc1419)
  • ui: implement neutrino nodes sanity check (6e06104)
  • ui: implement skeleton loading screen (d1d5432), closes #2654
  • ui: implement unexpected error UI (e0631f7)
  • ui: prefill gh uncaught error issues (be85bf4), closes #1828
  • ui: prohibit login if secure storage is not available (56f2169)
  • ui: set password from preferences page (73422cd)
  • ui: show channel reserve amount in channel details view (dbb0581), closes #2910
  • ui: show memo in sent details if available (5880062), closes #2715
  • ui: show number of confs for incoming onchain txs in activity list (191ca76), closes #1685
  • ui: warn of potential liquidity issues when creating an invoice (5fa0e5a)
  • ui: warn of potential liquidity issues when paying an invoice (7e02644)
  • wallet: add ability to export on-chain tx invoices (8976efb), closes #1290
  • wallet: bolt11 invoices encoded in bip21 uri (1ebdb98), closes #200
  • wallet: regtest support (56e7e26)
  • wallet: simnet support (dec20f6)
  • add LN invoice creation date to summary modal (9802ddd)
  • improve channel search header (ea69bf9)

Performance Improvements

  • don't fetch onchain fees when paying LN invoice (d346f9f), closes #3175
  • wallet: prevent excessive getInfo calls (0062535)
  • don't re-render SeedConfirm on mount (b9a54e2), closes #2792
  • only update known/add fresh txs when polling (09454b6)
  • update only sending requests on completion (d657666)
  • activity: implement activity list pagination (f994d04), closes #2404
  • simplify activity list renderer (01584f9)

Changelog

The full list of changes since 0.5.4-beta can be found here:

https://github.com/LN-Zap/zap-desktop/compare/v0.5.4-beta...v0.6.1-beta

Verifying the Release

Please refer to our documentation for instructions on how to verify the release.

2019-11-15
lnd v0.8.1-beta

This release marks the first minor release in the v0.8.x series and contains no major new features. This release fixes an issue with building v0.8.0 for some users under a particular build configuration, and also updates lnd to be compatible with the upcoming bitcoind v0.19 release as well. Additionally, several bugs in projects that lnd depends on (btcd., neutrino, btcwallet) have been fixed. There are no database migrations in this release, so users are able to downgrade back to 0.8.0 if they choose to do so.

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 the keys that have signed this release if you haven't done so already:

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

Once you have the required PGP keys, you can verify the release (assuming manifest-v0.8.1-beta.txt and manifest-v0.8.1-beta.txt.sig are in the current directory) with:

gpg --verify manifest-v0.8.1-beta.txt.sig

You should see the following if the verification was successful:

gpg: assuming signed data in 'manifest-v0.8.1-beta.txt'
gpg: Signature made Thu Nov 14 17:08:07 2019 PST
gpg:                using RSA key 4AB7F8DA6FAEBB3B70B1F903BC13F65E2DC84465
gpg: Good signature from &#34;Olaoluwa Osuntokun <laolu32@gmail.com>&#34; [ultimate]

That will verify the signature of the manifest file, which ensures integrity and authenticity of the archive you've downloaded locally containing the binaries. Next, depending on your operating system, you should then re-compute the sha256 hash of the archive with shasum -a 256 <filename>, compare it with the corresponding one in the manifest file, and ensure they match exactly.

Verifying the Release Binaries

As of this release, our release binaries are fully reproducible thanks to go1.13! Third parties are now able to verify that the release binaries were produced properly without having to trust the release manager(s). See our reproducible builds guide for how this can be achieved. The release binaries are compiled with go1.13.4, which is required by verifiers to arrive at the same ones. They include the following build tags: autopilotrpc, signrpc, walletrpc, chainrpc, invoicesrpc, routerrpc, and watchtowerrpc. Note that these are already included in the release script, so they do not need to be provided.

Finally, you can also verify the tag itself with the following command:

git verify-tag v0.8.1-beta

Building the Contained Release

Users are able to rebuild the target release themselves without having to fetch any of the dependencies. In order to do so, assuming that vendor.tar.gz and lnd-source-v0.8.1-beta.tar.gz are in the current directory, follow these steps:

tar -xvzf vendor.tar.gz
tar -xvzf lnd-source-v0.8.1-beta.tar.gz
GO111MODULE=on go install -v -mod=vendor -ldflags &#34;-X github.com/lightningnetwork/lnd/build.Commit=v0.8.1-beta&#34; ./cmd/lnd
GO111MODULE=on go install -v -mod=vendor -ldflags &#34;-X github.com/lightningnetwork/lnd/build.Commit=v0.8.1-beta&#34; ./cmd/lncli

The -mod=vendor flag tells the go build command that it doesn't need to fetch the dependencies, and instead, they're all enclosed in the local vendor directory.

Additionally, it's now possible to use the enclosed release.sh script to bundle a release for a specific system like so:

LNDBUILDSYS=&#34;linux-arm64 darwin-amd64&#34; ./build/release/release.sh

⚡️⚡️⚡️ OK, now to the rest of the release notes! ⚡️⚡️⚡️

Release Notes

This release fixes an issue with certain build configuration that could cause lnd v0.8.0 to not build using the latest version of go.

With this release, lnd is now compatible with bitcoin v0.19.

Changelog

The full list of changes since v0.8.1-beta can be found here:

Contributors (Alphabetical Order)

Wilmer Paulino/laolu32@gmail.com

2019-11-15
rfc
type rfc # title date status
bip bip-0330 BIP 330: Transaction announcements reconciliation 2019-11-19 Closed
bip bip-0174 BIP174: Fix wrong description about Proprietary Use Type 2019-11-19 Update
bip bip-0008 BIP8: Fix spelling 2019-11-16 New PR
bip bip-0021 BIP21: Correct "Simpler syntax" link 2019-11-16 Closed
bolt messaging BOLT 1: Define custom message type range 2019-11-21 Update
bolt X Fix link to channel_id section 2019-11-20 New PR
bolt X Base AMP 2019-11-20 Update
bolt routing gossip bolt07: remove trailing tabs 2019-11-20 Merged
bolt routing gossip BOLT 7: be more aggressive about sending our own gossip. 2019-11-20 Update
bolt X remove `funding_locked` future section 2019-11-20 Merged
bolt X fix <id> tag 2019-11-20 Merged
bolt X Reflect legacy payload type handling implementation in BOLT 2019-11-18 Update
bolt X Setting channel closure fee in manual way 2019-11-18 New Issue
bolt X Waiting room for feature assignments 2019-11-18 Update
bolt X Specify that resolution of amount is msat 2019-11-17 Update
slip slip-0049 Mention that BIP49/84 *originally* had issues. 2019-11-21 Update
slip slip-0044 Add SPL and YCE to SLIP-0044 2019-11-21 New PR
slip slip-0022 slip-0022: Add algorithm field. 2019-11-20 Update
slip X Add FCH Network 2019-11-20 Merged
slip slip-0044 Add COCOS to SLIP-0044 2019-11-19 Merged
slip slip-0044 Add ABA to SLIP - 0044 2019-11-19 Merged
slip X Add Vitae 2019-11-17 Merged
slip slip-0044 slip-0044: add Hydra Token 2019-11-16 Merged
slip X adding constellation labs 2019-11-16 Merged