Skip to content

Releases: ACINQ/phoenix

Phoenix Android v2.3.5

22 Jul 08:19
a0ea273
Compare
Choose a tag to compare

ℹ️ Migration for existing Android legacy wallets (v1.x)

Users upgrading from the legacy Android app (1.x) to 2.x will need to migrate to be able to use 2.x features. See the 2.0.0 release notes for details about the migration process. You can see what version you are currently using in Settings > About.

Changes

Fixed parsing issue with some BIP353 addresses

Additional parameters in the URI caused parsing issues.

Add new option of 1 hour and 1 day for the invoice expiry

Some services (e.g. the Kucoin CEX) require expiry below 3 days. The default value is still 1 week.

Full changelog

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 Android 2.3.4

17 Jul 10:28
4a4130f
Compare
Choose a tag to compare

ℹ️ Migration for existing Android legacy wallets (v1.x)

Users upgrading from the legacy Android app (1.x) to 2.x will need to migrate to be able to use 2.x features. See the 2.0.0 release notes for details about the migration process. You can see what version you are currently using in Settings > About.

Changes

Fixed compatibility issue with some BOLT12 offers

See ACINQ/lightning-kmp#686 #593

Improve Bip353 and Bip21 support

Several issues regarding Bip353 compliance have been fixed, including displaying or copying the prefix when relevant. When an address is prefixed with Phoenix will not fallback to LNURL.

Error messages for invalid bip353 addresses have been improved.

Also fixed support for Bip21 URIs containing a lno offer parameter. Behaviour now matches Bip21 URIs containing a lightning parameter (for Bolt11 invoices).

Payer-key behaviour is now set per contact

When creating (or editing) a contact, users can now choose whether a random payer key or their offer key should be used to pay this contact. The global option payer key in Settings > Payment options has been removed.

When paying an unknown offer, Phoenix always uses a random payer key.

Compatibility with Lightning address

Phoenix can still pay LNURL-based lightning addresses. If the user tries to pay an email-like address, Phoenix will first perform a DNS lookup, then if it fails, attempt a LNURL request.

Full changelog

Thanks @MasterixCZ and @escapedcat for the localisation update.

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 2.3.3

11 Jul 16:49
ec17413
Compare
Choose a tag to compare

ℹ️ Migration for existing Android legacy wallets (v1.x)

Users upgrading from the legacy Android app (1.x) to 2.x will need to migrate to be able to use 2.x features. See the 2.0.0 release notes for details about the migration process. You can see what version you are currently using in Settings > About.

Changes

Add support for BIP353 DNS addresses

Phoenix now support paying BIP353 DNS addresses. The lookup is done through the google dns resolver, and we'll add other resolvers soon.

For reference, BIP353 DNS addresses can allow users to store their offers as a DNS TXT record on a domain. A wallet can then perform a DNS lookup (DoH) on that domain and get the offer for a given user, without directly contacting the domain.

It allows users to have a user@domain email-like handle, which are much easier to share with friends or on social networks than a BOLT12 offer.

As an experimental feature, Phoenix can also create a random BIP353 address on a domain provided by the LSP (phoenixwallet.me). Users can also self-host their offer on their own domain, or use third-party services.

Compatibility with Lightning address

Phoenix can still pay LNURL-based lightning addresses. If the user tries to pay an email-like address, Phoenix will first perform a DNS lookup, then if it fails, attempt a LNURL request.

Full changelog

Thanks again @MasterixCZ and @jooray for the localisation update.

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 2.3.1

03 Jul 17:03
5fb0dce
Compare
Choose a tag to compare

ℹ️ Migration for existing Android legacy wallets (v1.x)

Users upgrading from the legacy Android app (1.x) to 2.x will need to migrate to be able to use 2.x features. See the 2.0.0 release notes for details about the migration process. You can see what version you are currently using in Settings > About.

Changes

Add support for BOLT12 offers

Offers are the Lightning equivalent to a Bitcoin address: it's a reusable, static payment request that can be used for donation use cases, or to easily pay/get paid by your friends.

Since BOLT12 is not yet well supported, Phoenix will keep displaying a BOLT11 invoice by default.

Custom messages

When paying an offer, the user can attach a custom message (max 64 chars) that will be delivered to the offer's recipient along with the funds.

Background processing limitation

Since offers are typically paid without the recipient being active on his device, a few warnings have been added so that users are made aware of limitations.

For example, Phoenix relies on Google FCM to deliver wake-up notifications to the recipient. If FCM is disabled or unavailable on the device (for example, on a GrapheneOS fresh installation), then the user will not be able to receive payments in the background. Same for Tor.

Contacts UI (Android only for now)

A new UI has been added to create, list and manage contacts, which are a way for Phoenix to attach an offer to a name. See #575 for screenshots.

Note : These contacts are isolated from the device's system contacts. If there's demand for it, a later update could let Phoenix link offers to the device's contacts, provided the user grants permissions.

Full changelog

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 Android 2.2.4/iOS 2.2.6

18 Jun 15:57
801e1b3
Compare
Choose a tag to compare

ℹ️ Migration for existing Android legacy wallets (v1.x)

Users upgrading from the legacy Android app (1.x) to 2.x will need to migrate to be able to use 2.x features. See the 2.0.0 release notes for details about the migration process. You can see what version you are currently using in Settings > About.

Changes

This release is a bug fix release, no new features have been added.

Fixed regression causing payment failures when on-the-fly liquidity is needed

This prevented receiving payments over Lightning with low liquidity, because the on-the-fly channel creation would fail.
See ACINQ/lightning-kmp#672 for details

Bug fix on connection establishment

Fixed a rare race-condition during connection establishment causing the app to stay disconnected. See ACINQ/lightning-kmp#668.

Full changelog:

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 Android v2.2.3

11 Jun 11:43
0179adf
Compare
Choose a tag to compare

ℹ️ Migration for existing Android legacy wallets (v1.x)

Users upgrading from the legacy Android app (1.x) to 2.x will need to migrate to be able to use 2.x features. See the 2.0.0 release notes for details about the migration process. You can see what version you are currently using in Settings > About.

Changes

Added +-5% buttons to easily add a tip when paying over Lightning

The user can also enable/disable overpayments in the app settings. See #541.

Improve payment error messages

See ACINQ/lightning-kmp#634 & ACINQ/lightning-kmp#616

Added new messages regarding liquidity

New disclaimers and confirmation messages have been added to detail how liquidity works (e.g., when sending a payment on-chain).

Also, the sanity check warning displayed when the total fee is more than 25% of the liquidity requested is more prominent.

See #539.

Added a screen to spend expired swap-ins

On-chain deposits that have not been swapped in time (~4 months) can now be recovered from within Phoenix, instead of having to perform a manual recovery. See #564.

Several improvements and fixes

A fee warning visible in the Receive screen is now also shown when performing a withdrawal over LNURL.

Thanks @MasterixCZ for updating the Czech translation.

Full changelog:

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 Android/iOS v2.2.2

10 Apr 14:15
97a7532
Compare
Choose a tag to compare

ℹ️ Migration for existing Android legacy wallets (v1.x)

Users upgrading from the legacy Android app (1.x) to 2.x will need to migrate to be able to use 2.x features. See the 2.0.0 release notes for details about the migration process. You can see what version you are currently using in Settings > About.

Changes

Update fee estimation for on-the-fly channel

The fee for on-the-fly channel is now 1% + mining fee, same as the fee for the manual liquidity request.

(ios) Support for importing localised seed

Phoenix can now import seeds in English, French, Spanish, Czech. Default is English. Using an alternative language for the seed is experimental, we recommend sticking to English for now.

(ios) Fix for background reception payment

Receiving payments with the app in the background has been improved, success rate should be higher.

Full changelog:

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 Android v2.2.1

07 Mar 09:58
a1e5663
Compare
Choose a tag to compare

ℹ️ Migration for existing Android legacy wallets (v1.x)

Users upgrading from the legacy app (1.x) to 2.x will need to migrate to be able to use 2.x features. See the 2.0.0 release notes for details about the migration process. You can see what version you are currently using in Settings > About.

Changes

This is mostly a bug fix release, with also some UI improvements and new localisations.

🇸🇰 Slovak and 🇻🇳 Vietnamese localisation

Thanks @jooray and Vân for their contribution.

Settle in-flight payments in the background

When needed, Phoenix will run a background job to try to settle in-flight payments (incoming or outgoing). The objective is to avoid payment timeouts when the wake-up push notification from the ACINQ node fails. This is especially useful for devices that don't support FCM notifications.

See #522 for details.

Full changelog:

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 Android/iOS v2.2.0

23 Feb 18:37
43bd103
Compare
Choose a tag to compare

ℹ️ Migration for existing Android legacy wallets (v1.x)

Users upgrading from the legacy app (1.x) to 2.x will need to migrate to be able to use 2.x features. See the 2.0.0 release notes for details about the migration process. You can see what version you are currently using in Settings > About.

Changes

Use taproot addresses by default, and rotate addresses

The address displayed by Phoenix for on-chain to Lightning swaps is now a Taproot address. This address is not static anymore. Phoenix will generate a new swap-in address upon receiving a transaction. This improves privacy, and also makes deposits cheaper.

See our blog post for more information: http://acinq.co/blog/phoenix-swaproot

Already used address are listed in Settings > Wallet info > Swap-in addresses.

If need be, users can switch back to the static, native segwit legacy address in Settings > Payment options (on Android) or Receive > on-chain > Edit (on iOS).

Support for quiescence

Phoenix can now splice (in/out) a channel while a Lightning payment is in-progress.

See ACINQ/lightning-kmp#568 and ACINQ/eclair@47e0b83 for details.

Upgrade of internal tools

This is not visible to the users but the app (and all the lightning/bitcoin dependency suite) has been upgraded to kotlin 1.9, and a new logging framework.

Full changelog:

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 Android v2.1.3

09 Feb 12:24
eacb4f0
Compare
Choose a tag to compare

ℹ️ Migration for existing legacy wallets (v1.x)

Users upgrading from the legacy app (1.x) to 2.x will need to migrate to be able to use 2.x features. See the 2.0.0 release notes for details about the migration process. You can see what version you are currently using in Settings > About.

Minor changes

  • The fee warning displayed in the Receive screen when creating a LN invoice is more prominent (see issue #507).
  • The feerate warning when sending an on-chain payment is skipped when the feerate is high enough.

Full changelog:

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