Zap 0.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:
Verifying the Release
Please refer to our documentation for instructions on how to verify the release.