Skip to content

Releases: ACINQ/phoenix

Phoenix 1.4.0

20 Oct 15:05
c10e59b
Compare
Choose a tag to compare

Main changes

Background payment reception

The app can now wake up to process an incoming payment or a fulfilled HTLC. Users do not have to start their app manually to receive a payment, thus removing the synchronization requirement between sender and receiver. This feature uses Firebase Cloud Messaging. Messages relayed by FCM do not contain any details about payments.

When the wake up message arrives, a sticky notification is displayed. The peer will pause the payment and wait ~20/30 seconds for the app to accept the payment, or fail the payment downstream. If the payment succeeds, the notification will show the amount received.

Access control changes

The seed is now encrypted using a new improved format leveraging the Android Keystore to protect the seed and allowing the node to run background tasks. The device's TEE/SE will be used when possible. The legacy PIN used on existing wallets is deprecated and migrated to the new format after updating the app. Wallet is locked with the system screen lock (schema/PIN/fingerprint...).

An additional security setting is available, requiring users to authenticate with fingerprint each time the seed is decrypted. This setting may improve security on rooted device (*) but obviously disables background processing features.

(*) We don't recommend using Bitcoin wallets (except on Testnet) on a rooted phone.

Automatic channel creation

Channels are now created automatically. A setting lets users revert to the existing behaviour and manually confirm channel creation on a case-by-case basis. An Android notification is displayed if needed to let users react in time.

Custom default description

Default payment description is now empty, and can be changed by users.

Intro screens

A short intro has been added for new installs, with 3 screens containing information about the automatic channel creation mechanism (including price) and the seed.

Payment metadata

Payments for swap-in/swap-out, or payments that open/close channels will now contain a bit more information, like the on-chain address, or the fee cost for opening a channel.

Mempool.space on-chain explorer

Users can now use either Blockstream.info or Mempool.space (now the default explorer).

Faster start

Wallet will use its last known feerates when bootstrapping.

Complete list of changes

Thanks @ibertario @mautematico @bitcoinuser @fiatjaf for their contributions.

Verifying signatures

You will need gpg and our release signing key E434ED292E85643A. Note that you can get it:

To import our signing key:

$ gpg --import padioupm.asc

To verify the release file checksums and signatures:

$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped
$ sha256sum -c SHA256SUMS.stripped

Phoenix 1.3.2

01 Aug 13:22
6f42e54
Compare
Choose a tag to compare

Changes

Custom feerates for swapout (lightning -> on-chain address)

The app lets the user change the fee rate used when requesting a swapout to the peer, instead of using a hardcoded 6 blocks target. The user can now enter a sat/bytes fee rate after clicking on an Edit fees button, and the app estimates an ETA in hours when the fee rate changes.

Support for LNURL authentication

The app can now leverage its key to sign-in to services supporting LNURL-auth. More details are available here: https://xn--57h.bigsun.xyz/lnurl-auth.html

Note that the node key is not leaked by LNURL auth. See this PR for implementation details: #74

Opt-in SSL for electrum over Tor

When connecting to an .onion electrum server, the user can also force the app to check the server's certificate. This is opt-in.

Deterministic build

The APK is built deterministically using Docker. Follow these instructions to build the APK. This build system has been upgraded from v1.3.1 and is easier to user. Only Docker is required.

Note that it's strongly recommended on Windows at least to increase the memory allocated to Docker.

Complete list of changes

Verifying signatures

You will need gpg and our release signing key 7A73FE77DE2C4027. Note that you can get it:

To import our signing key:

$ gpg --import drouinf.asc

To verify the release file checksums and signatures:

$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped
$ sha256sum -c SHA256SUMS.stripped

Phoenix 1.3.1

16 Apr 12:34
6a88ef5
Compare
Choose a tag to compare

This release fixes several issues with the app startup that could trigger crashes.

Translations

This release also adds translations to Brazilian Portuguese and Dutch. Thanks @bitcoinuser, @M-BTC and @mautematico .

Deterministic build

The APK is built deterministically using Ubuntu 19.10. Follow these instructions to build the APK locally: https://github.com/ACINQ/phoenix/blob/master/BUILD.md

You should find this hash for the (unsigned) universal release:

bb0306f8f71b06fe4280152137fd9689c25e3e5d9706d5943cdd8a9611690787  outputs/apk/release/phoenix-11-1.3.1-mainnet-universal-release.apk

Complete list of changes

Verifying signatures

You will need gpg and our release signing key 7A73FE77DE2C4027. Note that you can get it:

To import our signing key:

$ gpg --import drouinf.asc

To verify the release file checksums and signatures:

$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped
$ sha256sum -c SHA256SUMS.stripped

Phoenix 1.3.0

07 Apr 10:18
a6aee6d
Compare
Choose a tag to compare

TOR support

The user can now connect to its Lightning peer/Electrum server over TOR. This feature is available from the Settings page. Note that some API calls (for example the API to retrieve the bitcoin/fiat exchange rate) will not use TOR. By default TOR is disabled.

The packaged tor libs (v0.4.2.5) are added to the project with the following checksum:

- arm64-v8a/libtor.so
9129f5184ac5b7da51345ca820c3bacd5fbe0e3586179028b186a4ea07de7e9a

- armeabi-v7a/libtor.so
9a33eeaeddd388f069bf39dd60c676e6016c39cbe1922a3fc19dd768a1814964

- x86/libtor.so
ecdf6d50989d0eb80aab7473430c06ca06df8aaefb9a0ac9e9761079a4df7129

- x86_64/libtor.so
4c4acd116985762e21438f2bd3168f506c7a5a250fd32e2619eda525b4b9d97c

Translations

This also brings translations to Czech, French, Italian, and Spanish. Thanks @pajasevi, @elkimek, @Mc33k, @simi, @Kixunil, @araspitzu and Javier L.M.

Deterministic build

The APK is built deterministically using Ubuntu 19.10. Follow these instructions to build the APK locally: https://github.com/ACINQ/phoenix/blob/master/BUILD.md

You should find this hash for the (unsigned) universal release:

8710aea2b1e90e4887464815495e5f0cf98146eb3e6db98a09e6168ff5c7b689  outputs/apk/release/phoenix-9-1.3.0-mainnet-universal-release.apk

Complete list of changes

Verifying signatures

You will need gpg and our release signing key 7A73FE77DE2C4027. Note that you can get it:

To import our signing key:

$ gpg --import drouinf.asc

To verify the release file checksums and signatures:

$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped
$ sha256sum -c SHA256SUMS.stripped

Phoenix 1.2.0

21 Feb 14:52
c9697ad
Compare
Choose a tag to compare

This release changes the fees mechanism used by the application to make it less expensive for smaller payments.

Lowered fees for on-the-fly channel opening and swap-in

The fees have been lowered down to 0.1%. This was made possible because we have:

  1. Increased the target confirmation for the funding tx from 6 blocks to 144 blocks. Note that this is a trust trade-off: funding tx will take more time to confirm, increasing the window during which we would be able to double spend it. However, note that during that window, you are still able to spend your entire balance with a LN transaction.
  2. Reduced the additional liquidity allocated on our side from 50% of the received amount to 30%.

Lightning fee retry mechanism

The app has switched from a pessimistic fee estimation to an optimistic one with a retry mechanism. Phoenix will now try to use as low fees as possible (1sat + 0.01%) when sending a payment, and if no route can be found on the network for this price, Phoenix will try again with a slightly increased fees, until reaching a maximum of 5sat + 0.12%.

Note that the given value may change in the future.

Complete list of changes

Verifying signatures

You will need gpg and our release signing key E434ED292E85643A. Note that you can get it:

To import our signing key:

$ gpg --import padioupm.asc

To verify the release file checksums and signatures:

$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped
$ sha256sum -c SHA256SUMS.stripped

Phoenix 1.1.1

05 Feb 14:00
d18387a
Compare
Choose a tag to compare

This release fixes a bug where balance did not show incoming funds, due to channels being stuck in state WAIT_FOR_FUNDING_CONFIRMED.

Complete list of changes:

Verifying signatures

You will need gpg and our release signing key E434ED292E85643A. Note that you can get it:

To import our signing key:

$ gpg --import padioupm.asc

To verify the release file checksums and signatures:

$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped
$ sha256sum -c SHA256SUMS.stripped

Phoenix 1.1.0

24 Jan 18:29
b9e8701
Compare
Choose a tag to compare

This release brings several fixes to the app, and adds support for LNURL withdraw: you can now easily withdraw funds from a service by swiping a QR code, if it supports LNURL.

Verifying signatures

You will need gpg and our release signing key 7A73FE77DE2C4027. Note that you can get it:

To import our signing key:

$ gpg --import drouinf.asc

To verify the release file checksums and signatures:

$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped
$ sha256sum -c SHA256SUMS.stripped

Phoenix 1.0.1

10 Dec 17:33
8f2da31
Compare
Choose a tag to compare

First release of Phoenix

This release targets the mainnet Bitcoin blockchain.

Verifying signatures

You will need gpg and our release signing key 7A73FE77DE2C4027. Note that you can get it:

To import our signing key:

$ gpg --import drouinf.asc

To verify the release file checksums and signatures:

$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped
$ sha256sum -c SHA256SUMS.stripped