Published: 2024-01-10 20:55:53 UTC
Published: 2024-01-10 19:33:19 UTC
Published: 2024-01-03 17:58:53 UTC
Full Changelog: https://github.com/vulpemventures/marina/compare/v0.6.2...v0.6.3
Go to Repo Go to ReleasePublished: 2024-01-02 21:59:38 UTC
Full Changelog: https://github.com/vulpemventures/marina/compare/v0.6.1...v0.6.2
Go to Repo Go to ReleasePublished: 2023-12-31 01:22:04 UTC
This release is a major release that includes several general bug fixes, security bug fixes (please update!), and also a series of performance improvements that dramatically reduce the time for initial block download from ~45 hours+ to around 6 hours! With this release,btcd
now also supports BIP 155 and has gained support for pruning (--prune=MiB
).
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://raw.githubusercontent.com/lightningnetwork/lnd/master/scripts/keys/roasbeef.asc | gpg --import
Once you have the required PGP keys, you can verify the release (assuming manifest-roasbeef-v0.24.0.sig
and manifest-v0.24.0.txt
are in the current directory) with:
gpg --verify manifest-roasbeef-v0.24.0.sig manifest-v0.24.0.txt
You should see the following if the verification was successful:
gpg: Signature made Sat Dec 30 17:11:22 2023 PST
gpg: using RSA key 60A1FA7DA5BFF08BDCBBE7903BBD59E99B280306
gpg: Good signature from "Olaoluwa Osuntokun <laolu32@gmail.com>" [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.
Full Changelog: https://github.com/btcsuite/btcd/compare/v0.23.4...v0.24.0
Go to Repo Go to ReleasePublished: 2023-12-31 01:22:04 UTC
This release is a major release that includes several general bug fixes, security bug fixes (please update!), and also a series of performance improvements that dramatically reduce the time for initial block download from ~45 hours+ to around 6 hours! With this release,btcd
now also supports BIP 155 and has gained support for pruning (--prune=MiB
).
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://raw.githubusercontent.com/lightningnetwork/lnd/master/scripts/keys/roasbeef.asc | gpg --import
Once you have the required PGP keys, you can verify the release (assuming manifest-roasbeef-v0.24.0.sig
and manifest-v0.24.0.txt
are in the current directory) with:
gpg --verify manifest-roasbeef-v0.24.0.sig manifest-v0.24.0.txt
You should see the following if the verification was successful:
gpg: Signature made Sat Dec 30 17:11:22 2023 PST
gpg: using RSA key 60A1FA7DA5BFF08BDCBBE7903BBD59E99B280306
gpg: Good signature from "Olaoluwa Osuntokun <laolu32@gmail.com>" [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.
Full Changelog: https://github.com/btcsuite/btcd/compare/v0.23.4...v0.24.0
Go to Repo Go to ReleasePublished: 2023-12-30 18:51:29 UTC
https://github.com/romanz/electrs/blob/master/RELEASE-NOTES.md#0102-dec-31-2023
Go to Repo Go to ReleasePublished: 2023-12-29 10:55:40 UTC
Published: 2023-12-22 16:03:07 UTC
This hotfix release re-introduces a temporary shim that includes the final CLTV delta in the invoice even if the default of 18 is used. This is necessary since the default changed, and for backwards compatibility we were always specifying it. We removed it expecting that all modern implementations had switched to 18 blocks by default, but some did not, and caused payments to fail if the sender still had a default of 9 configured.
Published: 2023-12-22 05:32:16 UTC
Published: 2023-12-22 02:00:14 UTC
Please also see v1.12.1 which was released at the same time.
Published: 2023-12-21 16:02:43 UTC
This release slightly increases the speed of the ECDH operation and significantly enhances the performance of many library functions when using the default configuration on x86_64.
For a list of changes, see the CHANGELOG.md.
Go to Repo Go to ReleasePublished: 2023-12-21 15:03:10 UTC
Recommended update for users using Boltcard with pull payments or Top-Up invoices.
Breaking change: Boltcards linked to pull payments in version 1.12.0 are not compatible with version 1.12.1.
Published: 2023-12-21 12:16:48 UTC
ADD: tool to generate last mnemonic word (#5722)
FIX: better tracking opt out (related #5688)
FIX: correct merge of params when navigating between screens
FIX: Lightning wallet CSV export does not differentiate between paid and expired invoices #5835
FIX: Sometimes would crash due to lack of initialParams
FIX: Wrong Suite was being targeted
FIX: Call dismiss on ActionSheet to avoid duplicate firing
FIX: Re-enable groups on watch app
FIX: Show alert with error message when a selected file isn't valid
FIX: Apple Watch app not working #5470
FIX: Wait for transitions to finish before showing sheet
Published: 2023-12-20 13:33:43 UTC
:window: Windows :green_apple: Apple M1/M2 :apple: Apple Intel :penguin: Ubuntu / Debian :penguin: Other Linux
🛒 Buy Anything Button
Purchase stuff inside Wasabi Wallet with bitcoin by using the Buy Anything Button:
Buying anything with bitcoin has never been more effortless. With the click of a button you can now request the purchase of physical and digital goods, while protecting your privacy and revealing as little information about you as possible. Let your personal team of butlers find, arrange and ship the products you are looking for. From phones, to cars, even hotels and flights, get it all with Wasabi's new Buy Anything Button.
To learn more, check out our blog post.
Download the operating system relevant software package and install Wasabi like you would with any other software on your computer. For a detailed installation guide, including signature verification, see the documentation.
:spiderweb: Website :onion: Tor onion site :orangebook: Documentation :grey_question: FAQ
If you want to build or update Wasabi from source code, check out these easy instructions.
Wasabi uses reproducible builds, which you can verify with this guide.
Full Changelog: https://github.com/zkSNACKs/WalletWasabi/compare/v2.0.4...v2.0.5
Published: 2023-12-20 13:15:25 UTC
ℹ️ 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.
This minor release fixes the Czech translation (#490, thanks @MasterixCZ) and English typos (#491 thanks @dluvian). It also bumps the feerate used for liquidity requests to help with the current high fees environment.
Full changelog: - phoenix: https://github.com/ACINQ/phoenix/compare/android-v2.1.0...android-v2.1.1
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-12-19 12:10:40 UTC
Published: 2023-12-18 15:12:41 UTC
Full Changelog: https://github.com/ACINQ/bitcoin-lib/compare/v0.30...v0.31
Go to Repo Go to ReleasePublished: 2023-12-16 12:49:39 UTC
This hotfix release addresses an issue where an unexpected message could be delivered to a subdaemon, causing it to abort.
closingd
by sending it a channeld
message (#6937)Published: 2023-12-15 16:45:57 UTC
ℹ️ 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.
Request inbound liquidity from your peer (#489) If you keep receiving funds over Lightning, you'll consume your inbound liquidity fast and may end up having to splice-in every incoming LN payments, which can be expensive because each splice is an on-chain transaction. By requesting liquidity from the peer, you can plan ahead and avoid future on-chain fees. This is now supported in Phoenix starting from 2.1.0, thanks to liquidity-ads (a new feature in the Lightning protocol).
Requesting liquidity is done manually (for now at least). A button to the liquidity screen has been added in the Home screen. Your inbound liquidity is also displayed in the channels view.
Full changelog: - phoenix: https://github.com/ACINQ/phoenix/compare/android-v2.0.15...android-v2.1.0 - lightning-kmp: https://github.com/ACINQ/lightning-kmp/compare/v1.5.12...v1.5.14
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-12-12 14:56:33 UTC
ℹ️ 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.
This release fixes an incorrect error message displayed when opening the Send screen (#487).
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-12-12 10:24:55 UTC
<lnbits-dynamic-fields>
by @dni in https://github.com/lnbits/lnbits/pull/2141Full Changelog: https://github.com/lnbits/lnbits/compare/0.11.2...0.11.3
Go to Repo Go to ReleasePublished: 2023-12-10 16:29:28 UTC
Bitcoin Knots version 25.1.knots20231115 is now available from:
https://bitcoinknots.org/files/25.x/25.1.knots20231115/
This release includes new features, various bug fixes and performance improvements, as well as updated translations.
Please report bugs using the issue tracker at GitHub:
https://github.com/bitcoinknots/bitcoin/issues
To receive security and update notifications, please subscribe to:
https://bitcoinknots.org/list/announcements/join/
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt
(on macOS)
or bitcoind
/bitcoin-qt
(on Linux).
Upgrading directly from very old versions of Bitcoin Core or Knots is possible, but it might take some time if the data directory needs to be migrated. Old wallet versions of Bitcoin Knots are generally supported.
Bitcoin Knots is supported on operating systems using the Linux kernel, macOS 10.15+, and Windows 7 and newer. It is not recommended to use Bitcoin Knots on unsupported systems.
In various locations, including the GUI's transaction details dialog, transaction
virtual sizes may not account for an unusually high number of sigops (ie, as
determined by the -bytespersigop
policy). This could result in reporting a
lower virtual size than is actually used for mempool or mining purposes.
In the interest of time, this release does not include updated translations. Please open an issue on GitHub if this is of particular importance to you or anyone you know. If nobody expresses interest in localization, it may continue to be skipped going forward.
Several security issues (CVEs CVE-2023-40257, CVE-2023-40258, and CVE-2023-40259)
were identified in the extended rpcauth
wallet-restriction syntax, which is
intended to enable semi-trusted local applications using the Bitcoin Knots API to
access only specific wallets (or none at all) and not others. The full details of
these issues will be disclosed at a future time, but they have all been fixed in
this release.
Whenever headers are received from a peer that have a total chainwork that is either
less than the node's -minimumchainwork
value or is sufficiently below the work at
the node's tip, a "presync" phase will begin, in which the node will download the
peer's headers and verify the cumulative work on the peer's chain, prior to storing
those headers permanently. Once that cumulative work is verified to be sufficiently high,
the headers will be redownloaded from that peer and fully validated and stored.
This may result in initial headers sync taking longer for new nodes starting up for
the first time, both because the headers will be downloaded twice, and because the effect
of a peer disconnecting during the presync phase (or while the node's best headers chain has less
than -minimumchainwork
), will result in the node needing to use the headers presync mechanism
with the next peer as well (downloading the headers twice, again). (#25717)
Enable parallel compact block downloads to mitigate temporary stalls from a slow peer. (#27626)
The rate limit on transaction relay has been doubled to 14 transactions per second (35 tx/s for outbound connections) to better adapt to present network conditions. (#28592)
Transactions of non-witness size 65 and above are now allowed by mempool and relay policy. This is to better reflect the actual afforded protections against CVE-2017-12842 and open up additional use-cases of smaller transaction sizes. (#26265)
With I2P connections, a new, transient address is used for each outbound
connection if -i2pacceptincoming=0
. (#25355)
A new net permission forceinbound
(set with -whitelist=forceinbound@...
or -whitebind=forceinbound@...
) is introduced that extends noban
permissions.
Inbound connections from hosts protected by forceinbound
will now be more
likely to connect even if maxconnections
is reached and the node's inbound
slots are full. This is achieved by attempting to force the eviction of a random,
inbound, otherwise unprotected peer. RPC getpeerinfo
will also now indicate
forced_inbound
. (#27600)
The -datacarriersize
policy limit has been updated to match newer style datacarrier
transactions. (#28408)
An additional -datacarriercost
option has also been added to avoid giving the "segwit
discount" to aribitrary data (and can be increased to require datacarrier transactions
to pay higher fees).
The spam filters limiting smart contract code sizes for pre-Segwit and Segwit
"v0" scripts have been expanded to also cover Taproot. Since the sizes were
inconsistent, the lower size of 1650 which actually had a rationale has been
used as the default for this release. The size limit can be adjusted with the
new -maxscriptsize
option. If you know of any legitimate scripts that are
larger than the default, please report a bug.
A new getprioritisedtransactions
RPC has been added. It returns a map of all fee deltas created by the
user with prioritisetransaction, indexed by txid. The map also indicates whether each transaction is
present in the mempool.
getaddrmaninfo
has been added to view the distribution of addresses in the
new and tried table of the node's address manager across different networks
(ipv4, ipv6, onion, i2p, cjdns). The RPC returns count of addresses in new
and tried table as well as their sum for all networks. (#27511, #28565)
The verifychain
RPC will now return false
if the checks didn't fail,
but couldn't be completed at the desired depth and level. This could be due
to missing data while pruning, due to an insufficient dbcache or due to
the node being shutdown before the call could finish. (#25574)
sendrawtransaction
has a new, optional argument, maxburnamount
with a default value of 0
.
Any transaction containing an unspendable output with a value greater than maxburnamount
will
not be submitted. At present, the outputs deemed unspendable are those with scripts that begin
with an OP_RETURN
code (known as 'datacarriers'), scripts that exceed the maximum script size,
and scripts that contain invalid opcodes.
The testmempoolaccept
RPC now returns 2 additional results within the "fees" result:
"effective-feerate" is the feerate including fees and sizes of transactions validated together if
package validation was used, and also includes any modified fees from prioritisetransaction. The
"effective-includes" result lists the wtxids of transactions whose modified fees and sizes were used
in the effective-feerate (#26646).
decodescript
may now infer a Miniscript descriptor under P2WSH context if it is not lacking
information. (#27037)
finalizepsbt
is now able to finalize a transaction with inputs spending Miniscript-compatible
P2WSH scripts. (#24149)
The -deprecatedrpc=softforks
configuration option has been removed. The
RPC getblockchaininfo
no longer returns the softforks
field, which was
previously deprecated in 23.0. (#23508) Information on soft fork status is
now only available via the getdeploymentinfo
RPC.
The deprecatedrpc=exclude_coinbase
configuration option has been removed.
The receivedby
RPCs (listreceivedbyaddress
, listreceivedbylabel
,
getreceivedbyaddress
and getreceivedbylabel
) now always return results
accounting for received coins from coinbase outputs, without an option to
change that behaviour. Excluding coinbases was previously deprecated in 23.0.
(#25171)
The deprecatedrpc=fees
configuration option has been removed. The top-level
fee fields fee
, modifiedfee
, ancestorfees
and descendantfees
are no
longer returned by RPCs getmempoolentry
, getrawmempool(verbose=true)
,
getmempoolancestors(verbose=true)
and getmempooldescendants(verbose=true)
.
The same fee fields can be accessed through the fees
object in the result.
The top-level fee fields were previously deprecated in 23.0. (#25204)
The getpeerinfo
RPC has been updated with a new presynced_headers
field,
indicating the progress on the presync phase mentioned in the
"P2P and network changes" section above.
RPC disconnectnode
now accepts a subnet into address
argument. (#26576)
The output from getmempoolinfo
is extended to include a rbf_policy
key
briefly describing the current replace-by-fee policy ("never", "optin", or
"always").
Changes to wallet related RPCs can be found in the Wallet section below.
--enable-upnp-default
and --enable-natpmp-default
options
have been removed. If you want to use port mapping, you can
configure it using a .conf file, or by passing the relevant
options at runtime. (#26896)If the -checkblocks
or -checklevel
options are explicitly provided by the
user, but the verification checks cannot be completed due to an insufficient
dbcache, Bitcoin Knots will now return an error at startup. (#25574)
Setting -blocksonly
will now reduce the maximum mempool memory
to 5MB (users may still use -maxmempool
to override). Previously,
the default 300MB would be used, leading to unexpected memory usage
for users running with -blocksonly
expecting it to eliminate
mempool memory usage.
As unused mempool memory is shared with dbcache, this also reduces
the dbcache size for users running with -blocksonly
, potentially
impacting performance.
- Setting -maxconnections=0
will now disable -dnsseed
and -listen
(users may still set them to override).
Changes to GUI or wallet related settings can be found in the GUI or Wallet section below.
The shutdownnotify
option is used to specify a command to execute synchronously
before Bitcoin Knots has begun its shutdown sequence. (#23395)
To assist in controlling access to the RPC "cookie" file on multiuser systems, a new
rpccookieperms
setting has been added to set the file permissions mode before
writing the access token.
Added a new next_index
field in the response in listdescriptors
to
have the same format as importdescriptors
(#26194)
RPC listunspent
now has a new argument include_immature_coinbase
to include coinbase UTXOs that don't meet the minimum spendability
depth requirement (which before were silently skipped). (#25730)
Rescans for descriptor wallets are now significantly faster if compact
block filters (BIP158) are available. Since those are not constructed
by default, the configuration option "-blockfilterindex=1" has to be
provided to take advantage of the optimization. This improves the
performance of the RPC calls rescanblockchain
, importdescriptors
and restorewallet
. (#25957)
RPC unloadwallet
now fails if a rescan is in progress. (#26618)
Wallet passphrases may now contain null characters. Prior to this change, only characters up to the first null character were recognized and accepted. (#27068)
Address Purposes strings are now restricted to the currently known values of "send",
"receive", and "refund". Wallets that have unrecognized purpose strings will have
loading warnings, and the listlabels
RPC will raise an error if an unrecognized purpose
is requested. (#27217)
In the createwallet
, loadwallet
, unloadwallet
, and restorewallet
RPCs, the
"warning" string field is deprecated in favor of a "warnings" field that
returns a JSON array of strings to better handle multiple warning messages and
for consistency with other wallet RPCs. The "warning" field will be fully
removed from these RPCs in v26. It can be temporarily re-enabled during the
deprecation period by launching bitcoind with the configuration option
-deprecatedrpc=walletwarningfield
. (#27279)
Descriptor wallets can now spend coins sent to P2WSH Miniscript descriptors. (#24149)
The -walletrbf
startup option will now default to true
. The
wallet will now default to opt-in RBF on transactions that it creates. (#25610)
The replaceable
option for the createrawtransaction
and
createpsbt
RPCs will now default to true
. Transactions created
with these RPCs will default to having opt-in RBF enabled. (#25610)
The wsh()
output descriptor was extended with Miniscript support. You can import Miniscript
descriptors for P2WSH in a watchonly wallet to track coins, but you can't spend from them using
the Bitcoin Core wallet yet.
You can find more about Miniscript on the reference website. (#24148)
The tr()
output descriptor now supports multisig scripts through the multi_a()
and
sortedmulti_a()
functions. (#24043)
The importdescriptors
RPC can now be used to import BIP 93 (codex32) seeds. (#27351)
To help prevent fingerprinting transactions created by the Bitcoin Core wallet, change output amounts are now randomized. (#24494)
The listsinceblock
, listtransactions
and gettransaction
output now contain a new
parent_descs
field for every "receive" entry. (#25504)
A new optional include_change
parameter was added to the listsinceblock
command. (#25504)
RPC importaddress
now supports watch-only descriptor wallets.
RPC walletprocesspsbt
return object now includes field hex
(if the transaction
is complete) containing the serialized transaction suitable for RPC sendrawtransaction
. (#28414)
The result of RPC getaddressinfo
adds an isactive
key which can be used to determine if
the address is derived from the currently active wallet seed. (#27216)
RPC getreceivedbylabel
now returns an error, "Label not found
in wallet" (-4), if the label is not in the address book. (#25122)
An experimental RPC migratewallet
has been added to migrate Legacy (non-descriptor) wallets to
Descriptor wallets. More information about the migration process is available in the
documentation.
The "Mask values" is a persistent option now. (gui#701)
The "Mask values" option affects the "Transaction" view now, in addition to the "Overview" one. (gui#708)
A new menu item to restore a wallet from a backup file has been added (gui#471).
Configuration changes made in the bitcoin GUI (such as the pruning setting,
proxy settings, UPNP preferences) are now saved to <datadir>/settings.json
file rather than to the Qt settings backend (windows registry or unix desktop
config files), so these settings will now apply to bitcoind, instead of being
ignored. (#15936, gui#602)
Also, the interaction between GUI settings and bitcoin.conf
settings is
simplified. Settings from bitcoin.conf
are now displayed normally in the GUI
settings dialog, instead of in a separate warning message ("Options set in this
dialog are overridden by the configuration file: -setting=value"). And these
settings can now be edited because settings.json
values take precedence over
bitcoin.conf
values. (#15936)
A new /rest/deploymentinfo
endpoint has been added for fetching various
state info regarding deployments of consensus changes. (#25412)
The /headers/
and /blockfilterheaders/
endpoints have been updated to use
a query parameter instead of path parameter to specify the result count. The
count parameter is now optional, and defaults to 5 for both endpoints. The old
endpoints are still functional, and have no documented behaviour change.
For /headers
, use
GET /rest/headers/<BLOCK-HASH>.<bin|hex|json>?count=<COUNT=5>
instead of
GET /rest/headers/<COUNT>/<BLOCK-HASH>.<bin|hex|json>
(deprecated)
For /blockfilterheaders/
, use
GET /rest/blockfilterheaders/<FILTERTYPE>/<BLOCK-HASH>.<bin|hex|json>?count=<COUNT=5>
instead of
GET /rest/blockfilterheaders/<FILTERTYPE>/<COUNT>/<BLOCK-HASH>.<bin|hex|json>
(deprecated)
(#24098)
The JSON-RPC server now rejects requests where a parameter is specified multiple times with the same name, instead of silently overwriting earlier parameter values with later ones. (#26628)
RPC listsinceblock
now accepts an optional label
argument
to fetch incoming transactions having the specified label. (#25934)
Previously setban
, addpeeraddress
, walletcreatefundedpsbt
, methods
allowed non-boolean and non-null values to be passed as boolean parameters.
Any string, number, array, or object value that was passed would be treated
as false. After this change, passing any value except true
, false
, or
null
now triggers a JSON value is not of expected type error. (#26213)
The deriveaddresses
, getdescriptorinfo
, importdescriptors
and scantxoutset
commands now
accept Miniscript expression within a wsh()
descriptor. (#24148)
The getaddressinfo
, decodescript
, listdescriptors
and listunspent
commands may now output
a Miniscript descriptor inside a wsh()
where a wsh(raw())
descriptor was previously returned. (#24148)
Published: 2023-12-07 19:53:00 UTC
Bitcoin Core version 26.0 is now available from:
https://bitcoincore.org/bin/bitcoin-core-26.0/
For the release notes please see the git repository:
https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-26.0.md
Do not use the links provided by GitHub, rather use the above download links, they are guaranteed to be generated deterministically and signed.
Go to Repo Go to ReleasePublished: 2023-12-07 13:37:14 UTC
ℹ️ 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.
Full changelog: - phoenix: https://github.com/ACINQ/phoenix/compare/android-v2.0.13...android-v2.0.14
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-12-06 21:26:54 UTC
This is a hot fix release that fixes multiple concurrency and memory related bugs. Memory consumption for lnd
nodes running with bitcoind
using the rpcpolling
has been significantly reduced (previously scaled with total mempool size).
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://raw.githubusercontent.com/lightningnetwork/lnd/master/scripts/keys/roasbeef.asc | gpg --import
Once you have the required PGP keys, you can verify the release (assuming manifest-roasbeef-v0.17.3-beta.sig
and manifest-v0.17.3-beta.txt
are in the current directory) with:
gpg --verify manifest-roasbeef-v0.17.3-beta.sig manifest-v0.17.3-beta.txt
You should see the following if the verification was successful:
gpg: Signature made Wed Dec 6 13:24:12 2023 PST
gpg: using RSA key 60A1FA7DA5BFF08BDCBBE7903BBD59E99B280306
gpg: Good signature from "Olaoluwa Osuntokun <laolu32@gmail.com>" [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.
From this new version onwards, in addition time-stamping the git tag with OpenTimestamps, we'll also now timestamp the manifest file along with its signature. Two new files are now included along with the rest of our release artifacts: manifest-roasbeef-v0.17.3-beta.txt.asc.ots
.
Assuming you have the opentimestamps client installed locally, the timestamps can be verified with the following commands:
ots verify manifest-roasbeef-v0.17.3-beta.sig.ots -f manifest-roasbeef-v0.17.3-beta.sig
Alternatively, the OpenTimestamps website can be used to verify timestamps if one doesn't have a bitcoind
instance accessible locally.
These timestamps should give users confidence in the integrity of this release even after the key that signed the release expires.
Our release binaries are fully reproducible. Third parties are 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.21.0
, which is required by verifiers to arrive at the same ones.
They include the following build tags: autopilotrpc
, signrpc
, walletrpc
, chainrpc
, invoicesrpc
, neutrinorpc
, routerrpc
, watchtowerrpc
, monitoring
, peersrpc
, kvdb_postrgres
, kvdb_etcd
and kvdb_sqlite
. Note that these are already included in the release script, so they do not need to be provided.
The make release
command can be used to ensure one rebuilds with all the same flags used for the release. If one wishes to build for only a single platform, then make release sys=<OS-ARCH> tag=<tag>
can be used.
Finally, you can also verify the tag itself with the following command:
$ git verify-tag v0.17.3-beta
gpg: Signature made Tue 05 Dec 2023 04:38:50 PM PST
gpg: using RSA key 60A1FA7DA5BFF08BDCBBE7903BBD59E99B280306
gpg: Good signature from "Olaoluwa Osuntokun <laolu32@gmail.com>" [ultimate]
To verify the lnd
and lncli
binaries inside the docker images against the signed, reproducible release binaries, there is a verification script in the image that can be called (before starting the container for example):
shell
$ docker run --rm --entrypoint="" lightninglabs/lnd:v0.17.3-beta /verify-install.sh v0.17.3-beta
$ OK=$?
$ if [ "$OK" -ne "0" ]; then echo "Verification failed!"; exit 1; done
$ docker run lightninglabs/lnd [command-line options]
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.17.3-beta.tar.gz
are in the current directory, follow these steps:
tar -xvzf vendor.tar.gz
tar -xvzf lnd-source-v0.17.3-beta.tar.gz
GO111MODULE=on go install -v -mod=vendor -ldflags "-X github.com/lightningnetwork/lnd/build.Commit=v0.17.3-beta" ./cmd/lnd
GO111MODULE=on go install -v -mod=vendor -ldflags "-X github.com/lightningnetwork/lnd/build.Commit=v0.17.3-beta" ./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:
make release sys="linux-arm64 darwin-amd64"
⚡️⚡️⚡️ OK, now to the rest of the release notes! ⚡️⚡️⚡️
https://github.com/lightningnetwork/lnd/blob/v0.17.3-beta/docs/release-notes/release-notes-0.17.3.md
Published: 2023-12-01 16:32:36 UTC
ℹ️ 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.
Full Changelog:
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-11-28 18:41:46 UTC
We're pleased to announce the 23.11 release of Core Lightning, named by @ShahanaFarooqui. For a list of all changes, please see the changelog.
check
command just got more powerful. Instead of only checking the parameters of a command, it will do all checks up to the point where something in the system would need to be altered now.per
for even more powerful access control. This also comes with a new field last_used
for the showrunes
command.decode
command.invoices-onchain-fallback
is set, Core-Lightning automatically adds a taproot fallback address to all invoices produced by invoice
. This allows for onchain payments as a fallback mechanism.large-channels
is now set by default.commitment_signed
now. This allows to continue the funding process after a temporary connection loss.--commit-fee-offset
allows to set an offset that can potentially reduce disagreements on feerate updates.wait
and pagination api got extended, one can now also wait for listsendpays
and listforwards
.recover
command can now be used to recover an unused node from a hsmsecret just as the --recover
flag would do. This currently only works for sqlite3
backends.datastoreusage
command will tell you.--developer-enabled
. To enable developer features use ./configure --enable-debugbuild
and set the config option --developer
instead.Since 23.08, we've had 499 commits by 29 authors in 97 days!
A special thanks to the 5 first time contributors: - Mariusz Kogen - dergoegge - Tony Giorgio - maxwedwards - hMsats
~ @nepet, @ShahanaFarooqui, @EndothermicDev, @cdecker, @niftynei and @RustyRussell
Go to Repo Go to ReleasePublished: 2023-11-28 17:37:13 UTC
This release includes the following changes:
* Brings Elements up to date with Bitcoin Core version 23.2. To see the Bitcoin 23.2 release notes please click here.
* Adds support for arm64 macos native builds.
* Fixes a problem in the getnewaddress rpc: getnewaddress will now return an unblinded bech32 address even when -blindedaddresses=1
in config (PR #1246, issue #1245).
* In contrast to Bitcoin, Elements is not changing the default wallet format from legacy to descriptors, this is because many things (like peg-ins and peg-outs) still work only on legacy wallets.
Published: 2023-11-27 14:57:41 UTC
.env
file or use the Admin-UI to enable this feature:
LNBITS_SERVICE_FEE
: the service fee (in percent)LNBITS_SERVICE_FEE_WALLET
: the wallet where fees go toLNBITS_SERVICE_FEE_MAX
: the maximum fee per transaction (in satoshis)LNBITS_SERVICE_FEE_IGNORE_INTERNAL
: disable fees for internal transactionslnbits-cli
can now manage extensions.env
file without Admin-UIlnbits-dynamic-fields
components by @motorina0 in https://github.com/lnbits/lnbits/pull/2053extension-settings
vue component by @dni in https://github.com/lnbits/lnbits/pull/2004SUPER_USER
field by @motorina0 in https://github.com/lnbits/lnbits/pull/2097/api
) by @motorina0 in https://github.com/lnbits/lnbits/pull/2120Full Changelog: https://github.com/lnbits/lnbits/compare/0.11.1...0.11.2
Go to Repo Go to ReleasePublished: 2023-11-22 15:01:40 UTC
:window: Windows :green_apple: Apple M1/M2 :apple: Apple Intel :penguin: Ubuntu / Debian :penguin: Other Linux
🛠️ Fix hardware wallets with updat to HWI 2.3.1 - Pull Request 🔧 Local Prison mitigation - Pull Request
This is a silent release aiming to fix two specific issues:
Download the operating system relevant software package and install Wasabi like you would any other software on your computer. For a detailed installation guide, including signature verification, see the documentation.
If you want to build or update Wasabi from source code, check out these easy instructions.
Wasabi uses reproducible builds, which you can verify with this guide.
:spiderweb: Website :onion: Tor onion site :greyquestion: FAQ
https://github.com/zkSNACKs/WalletWasabi/pull/11979 https://github.com/zkSNACKs/WalletWasabi/pull/11981 https://github.com/zkSNACKs/WalletWasabi/pull/11980
Go to Repo Go to ReleasePublished: 2023-11-22 09:46:51 UTC
Published: 2023-11-21 21:28:38 UTC
This is a hot fix release to fix a concurrency related bug in the peer/server that could lead to a panic. The only change included in this release is: https://github.com/lightningnetwork/lnd/pull/8186.
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://raw.githubusercontent.com/lightningnetwork/lnd/master/scripts/keys/roasbeef.asc | gpg --import
Once you have the required PGP keys, you can verify the release (assuming manifest-roasbeef-v0.17.2-beta.sig
and manifest-v0.17.2-beta.txt
are in the current directory) with:
gpg --verify manifest-roasbeef-v0.17.2-beta.sig manifest-v0.17.2-beta.txt
You should see the following if the verification was successful:
gpg: Signature made Mon Nov 20 18:56:09 2023 CST
gpg: using RSA key 60A1FA7DA5BFF08BDCBBE7903BBD59E99B280306
gpg: Good signature from "Olaoluwa Osuntokun <laolu32@gmail.com>" [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.
From this new version onwards, in addition time-stamping the git tag with OpenTimestamps, we'll also now timestamp the manifest file along with its signature. Two new files are now included along with the rest of our release artifacts: manifest-roasbeef-v0.17.2-beta.txt.asc.ots
.
Assuming you have the opentimestamps client installed locally, the timestamps can be verified with the following commands:
ots verify manifest-roasbeef-v0.17.2-beta.sig.ots -f manifest-roasbeef-v0.17.2-beta.sig
Alternatively, the OpenTimestamps website can be used to verify timestamps if one doesn't have a bitcoind
instance accessible locally.
These timestamps should give users confidence in the integrity of this release even after the key that signed the release expires.
Our release binaries are fully reproducible. Third parties are 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.21.0
, which is required by verifiers to arrive at the same ones.
They include the following build tags: autopilotrpc
, signrpc
, walletrpc
, chainrpc
, invoicesrpc
, neutrinorpc
, routerrpc
, watchtowerrpc
, monitoring
, peersrpc
, kvdb_postrgres
, kvdb_etcd
and kvdb_sqlite
. Note that these are already included in the release script, so they do not need to be provided.
The make release
command can be used to ensure one rebuilds with all the same flags used for the release. If one wishes to build for only a single platform, then make release sys=<OS-ARCH> tag=<tag>
can be used.
Finally, you can also verify the tag itself with the following command:
$ git verify-tag v0.17.2-beta
gpg: Signature made Mon 20 Nov 2023 12:32:30 PM PST
gpg: using RSA key 60A1FA7DA5BFF08BDCBBE7903BBD59E99B280306
gpg: Good signature from "Olaoluwa Osuntokun <laolu32@gmail.com>" [ultimate]
To verify the lnd
and lncli
binaries inside the docker images against the signed, reproducible release binaries, there is a verification script in the image that can be called (before starting the container for example):
shell
$ docker run --rm --entrypoint="" lightninglabs/lnd:v0.17.2-beta /verify-install.sh v0.17.2-beta
$ OK=$?
$ if [ "$OK" -ne "0" ]; then echo "Verification failed!"; exit 1; done
$ docker run lightninglabs/lnd [command-line options]
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.17.2-beta.tar.gz
are in the current directory, follow these steps:
tar -xvzf vendor.tar.gz
tar -xvzf lnd-source-v0.17.2-beta.tar.gz
GO111MODULE=on go install -v -mod=vendor -ldflags "-X github.com/lightningnetwork/lnd/build.Commit=v0.17.2-beta" ./cmd/lnd
GO111MODULE=on go install -v -mod=vendor -ldflags "-X github.com/lightningnetwork/lnd/build.Commit=v0.17.2-beta" ./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:
make release sys="linux-arm64 darwin-amd64"
⚡️⚡️⚡️ OK, now to the rest of the release notes! ⚡️⚡️⚡️
https://github.com/lightningnetwork/lnd/blob/v0.17.2-beta/docs/release-notes/release-notes-0.17.2.md
Published: 2023-11-21 19:34:28 UTC
cpupower frequency-info -g
by @dr-bonez in https://github.com/Start9Labs/start-os/pull/2523Full Changelog: https://github.com/Start9Labs/start-os/compare/v0.3.5...v0.3.5.1
BLAKE-3
5e3d6e4865fa3417bbe2a89d9a53181140abcfbc6b7f7eb1ad1be72067e8a73f startos-0.3.5.1-39de098_aarch64.iso
c8357d0e49962120960e843aa8a77b24bb6a98e2a2a7415902598736fd32d020 startos-0.3.5.1-39de098_aarch64-nonfree.iso
49d635fbcb3d8239a5550158acc21f6d9cd67f1bfc4fae124eac625673ec5a80 startos-0.3.5.1-39de098_raspberrypi.img.gz
afd33094c90faade9f7fa8df1752558d4c708287f3237e638975aceec302bc84 startos-0.3.5.1-39de098_x86_64.iso
92f1a6f88e4da72d081babf9a47bd09d1870ddfb624756f3cd8d1cf2440d9cbd startos-0.3.5.1-39de098_x86_64-nonfree.iso
SHA-256
aa3c70b411e5ad2c52ccf927e7bae0394d816d8e197511cbebf0503e23a1a964 startos-0.3.5.1-39de098_aarch64.iso
8ebae051ccff4a99b23326ac40e8c2ce85d40438f2093bb1be967e3aa2961178 startos-0.3.5.1-39de098_aarch64-nonfree.iso
daba5d01f93a53433db2347a81cf46accba9096711eccef9c90836ccc78a7e69 startos-0.3.5.1-39de098_raspberrypi.img.gz
181fec43a3b7287fe6c6cdb70bcba79a5596fc2be1dbe5a54e09a4c142272155 startos-0.3.5.1-39de098_x86_64.iso
29b0f1e0211568ea66d6b729536ff84aed3b6cbc1c38540a7c80a391fd01616e startos-0.3.5.1-39de098_x86_64-nonfree.iso
Published: 2023-11-14 18:58:32 UTC
This marks the first minor release in the 0.17.x cycle. This release includes a number of bug fixes and optimizations, including: a reduction in CPU utilization due to the new mempool scanning safety logic, enchantments to the CPFP logic for anchor outputs, a fix to a peer/server deadlock, and a bug fix for the new taproot channel type that may have otherwise caused a channel to show as inactive until reconnection.
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://raw.githubusercontent.com/lightningnetwork/lnd/master/scripts/keys/roasbeef.asc | gpg --import
Once you have the required PGP keys, you can verify the release (assuming manifest-roasbeef-v0.17.1-beta.sig
and manifest-v0.17.1-beta.txt
are in the current directory) with:
gpg --verify manifest-roasbeef-v0.17.1-beta.sig manifest-v0.17.1-beta.txt
You should see the following if the verification was successful:
gpg: Signature made Mon Nov 13 15:45:38 2023 PST
gpg: using RSA key 60A1FA7DA5BFF08BDCBBE7903BBD59E99B280306
gpg: Good signature from "Olaoluwa Osuntokun <laolu32@gmail.com>" [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.
From this new version onwards, in addition time-stamping the git tag with OpenTimestamps, we'll also now timestamp the manifest file along with its signature. Two new files are now included along with the rest of our release artifacts: manifest-roasbeef-v0.17.1-beta.txt.asc.ots
.
Assuming you have the opentimestamps client installed locally, the timestamps can be verified with the following commands:
ots verify manifest-roasbeef-v0.17.1-beta.sig.ots -f manifest-roasbeef-v0.17.1-beta.sig
Alternatively, the OpenTimestamps website can be used to verify timestamps if one doesn't have a bitcoind
instance accessible locally.
These timestamps should give users confidence in the integrity of this release even after the key that signed the release expires.
Our release binaries are fully reproducible. Third parties are 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.21.0
, which is required by verifiers to arrive at the same ones.
They include the following build tags: autopilotrpc
, signrpc
, walletrpc
, chainrpc
, invoicesrpc
, neutrinorpc
, routerrpc
, watchtowerrpc
, monitoring
, peersrpc
, kvdb_postrgres
, kvdb_etcd
and kvdb_sqlite
. Note that these are already included in the release script, so they do not need to be provided.
The make release
command can be used to ensure one rebuilds with all the same flags used for the release. If one wishes to build for only a single platform, then make release sys=<OS-ARCH> tag=<tag>
can be used.
Finally, you can also verify the tag itself with the following command:
$ git verify-tag v0.17.1-beta
gpg: Signature made Mon 13 Nov 2023 11:13:31 AM PST
gpg: using RSA key 60A1FA7DA5BFF08BDCBBE7903BBD59E99B280306
gpg: Good signature from "Olaoluwa Osuntokun <laolu32@gmail.com>" [ultimate]
To verify the lnd
and lncli
binaries inside the docker images against the signed, reproducible release binaries, there is a verification script in the image that can be called (before starting the container for example):
shell
$ docker run --rm --entrypoint="" lightninglabs/lnd:v0.17.1-beta /verify-install.sh v0.17.1-beta
$ OK=$?
$ if [ "$OK" -ne "0" ]; then echo "Verification failed!"; exit 1; done
$ docker run lightninglabs/lnd [command-line options]
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.17.1-beta.tar.gz
are in the current directory, follow these steps:
tar -xvzf vendor.tar.gz
tar -xvzf lnd-source-v0.17.1-beta.tar.gz
GO111MODULE=on go install -v -mod=vendor -ldflags "-X github.com/lightningnetwork/lnd/build.Commit=v0.17.1-beta" ./cmd/lnd
GO111MODULE=on go install -v -mod=vendor -ldflags "-X github.com/lightningnetwork/lnd/build.Commit=v0.17.1-beta" ./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:
make release sys="linux-arm64 darwin-amd64"
⚡️⚡️⚡️ OK, now to the rest of the release notes! ⚡️⚡️⚡️
Published: 2023-11-09 12:17:59 UTC
qtornado.com
f
on the UTXOs tablecmd+alt+arrow
on MacOS to switch tabs (ctrl+pageup/pagedown
already works on all platforms) Published: 2023-11-08 20:35:06 UTC
This release contains significant under-the-hood improvements to performance and reliability
unstable
by @dr-bonez in https://github.com/Start9Labs/start-os/pull/2461Full Changelog: https://github.com/Start9Labs/start-os/compare/v0.3.4.4...v0.3.5
BLAKE-3
3f330020dc3e0ca8ff0c819630f0364f8a1f1f7e2492fee913aba21aff8565df startos-0.3.5-871f78b_aarch64.iso
d06d99cae87e36236bcb62f0fe3ee400be8c369ef3bfb555c6cd282dcd152dcd startos-0.3.5-871f78b_aarch64-nonfree.iso
6cb626c802c8e0903bb0c1789036c22f20ada42c69853531f3ad629f58f864f9 startos-0.3.5-871f78b_raspberrypi.img.gz
3ca3a87c93eef1ba8399f3b1014c75d1a8f0889aef0b76a11e054b01febca9d0 startos-0.3.5-871f78b_x86_64.iso
19d4a6c8b96b12efe5009e2da9bf3513c2d7802d1f09af2287e736bdc62a0a00 startos-0.3.5-871f78b_x86_64-nonfree.iso
SHA-256
4bcdabe1421881873d00376f7e1d2efc197af2342854e4c8beba0911f12afcf9 startos-0.3.5-871f78b_aarch64.iso
3761da1e2b3d1bc3d68c48bd7bf985d1d333c6989fb11f9c0f4960a62607604d startos-0.3.5-871f78b_aarch64-nonfree.iso
00d1dc0c05f7b304a802d85505536a372efd0649160081d5daf963914e7cf38e startos-0.3.5-871f78b_raspberrypi.img.gz
d27f88f31e0d8d183b181f2629794d423fb777d9edfaefe406f8b3e478edab57 startos-0.3.5-871f78b_x86_64.iso
ed9b774d9ceae32e1ff8e765985d21fd05a83ca5e0caab9a245194ba4207da3d startos-0.3.5-871f78b_x86_64-nonfree.iso
Published: 2023-11-06 10:08:47 UTC
ℹ️ 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.
Full changelog: - phoenix: https://github.com/ACINQ/phoenix/compare/android-v2.0.11...android-v2.0.12 - lightning-kmp: https://github.com/ACINQ/lightning-kmp/compare/v1.5.10...v1.5.11
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-11-01 20:21:16 UTC
https://github.com/romanz/electrs/blob/master/RELEASE-NOTES.md#0101-nov-01-2023
Go to Repo Go to ReleasePublished: 2023-11-01 09:57:16 UTC
Bitcoin Core version 24.2 is now available from:
https://bitcoincore.org/bin/bitcoin-core-24.2/
For the release notes please see the git repository:
https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-24.2.md
Do not use the links provided by GitHub, rather use the above download links, they are guaranteed to be generated deterministically and signed.
Go to Repo Go to ReleasePublished: 2023-10-25 15:33:03 UTC
Published: 2023-10-24 01:34:52 UTC
ConfirmationTarget
has been rewritten to provide information about the
specific use LDK needs the feerate estimate for, rather than the generic
low-, medium-, and high-priority estimates. This allows LDK users to more
accurately target their feerate estimates (#2660). For those wishing to
retain their existing behavior, see the table below for conversion.ChainHash
is now used in place of BlockHash
where it represents the
genesis block (#2662).lightning-invoice
payment utilities now take a Deref
to
AChannelManager
(#2652).peel_onion
is provided to statelessly decode an OnionMessage
(#2599).ToSocketAddrs
+ Display
are now impl'd for SocketAddress
(#2636, #2670)Display
is now implemented for OutPoint
(#2649).Features::from_be_bytes
is now provided (#2640).For those moving to the new ConfirmationTarget
, the new variants in terms of
the old mempool/low/medium/high priorities are as follows:
* OnChainSweep
= HighPriority
* MaxAllowedNonAnchorChannelRemoteFee
= max(25 * 250, HighPriority * 10)
* MinAllowedAnchorChannelRemoteFee
= MempoolMinimum
* MinAllowedNonAnchorChannelRemoteFee
= Background - 250
* AnchorChannelFee
= Background
* NonAnchorChannelFee
= Normal
* ChannelCloseMinimum
= Background
ChannelManager::close_channel[_with_feerate_and_script]
on a
channel which did not exist would immediately hang holding several key
ChannelManager
-internal locks (#2657).NetworkGraph
. This prevents a node which we attempted to
route a payment through from being able to learn the sender of the payment.
In some rare cases, this may result in marginally reduced payment success
rates (#2666).update_fulfill_htlc
message for a forwarded HTLC,
then reconnects prior to sending a commitment_signed
(thus retransmitting
their update_fulfill_htlc
) may result in the channel stalling and being
unable to make progress (#2661).ChannelManager::pay_for_offer
or
ChannelManager::create_refund_builder
may prevent downgrading to LDK prior
to 0.0.118 until the payment times out and has been removed (#2039).channel_reestablish
message to peers when they ask to
resume an unknown channel. This should cause LND nodes to force-close and
broadcast the latest channel state to the chain. In order to trigger this
when we wish to force-close a channel, LDK now disconnects immediately after
sending a channel-closing error
message. This should result in cooperative
peers also working to confirm the latest commitment transaction when we wish
to force-close (#2658).0.0.118 expands mitigations against transaction cycling attacks to non-anchor channels, though note that no mitigations which exist today are considered robust to prevent the class of attacks. * In order to mitigate against transaction cycling attacks, non-anchor HTLC transactions are now properly re-signed before broadcasting (#2667).
In total, this release features 61 files changed, 3470 insertions, 1503 deletions in 85 commits from 12 authors, in alphabetical order: * Antonio Yang * Elias Rohrer * Evan Feenstra * Fedeparma74 * Gursharan Singh * Jeffrey Czyz * Matt Corallo * Sergi Delgado Segura * Vladimir Fomene * Wilmer Paulino * benthecarman * slanesuke
Go to Repo Go to ReleasePublished: 2023-10-23 21:23:28 UTC
Published: 2023-10-19 14:46:01 UTC
Bitcoin Core version 25.1 is now available from:
https://bitcoincore.org/bin/bitcoin-core-25.1/
For the release notes please see the git repository:
https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-25.1.md
Do not use the links provided by GitHub, rather use the above download links, they are guaranteed to be generated deterministically and signed.
Go to Repo Go to ReleasePublished: 2023-10-18 17:05:12 UTC
Published: 2023-10-18 11:08:00 UTC
Amount Due
and Recommended Fee
(#5390) @dennisreimannPublished: 2023-10-17 18:41:35 UTC
ADD: airdrop ms cosigner (#5682)
FIX: Only make call if watch is reachable
FIX: better tx list update when transactions actually changed (rel #5615)
FIX: pull-to-refresh while inside the wallet doesnt update the tx list (closes #5615)
FIX: incorrect fees occasionally (for some electrum servers); better fee estimation
FIX: unable to delete faulty wallet (rel #5661)
FIX: Settings was not fully visible on newer iPhone models
FIX: round circles on Multisig screen
FIX: stateURL default value
FIX: import single-sig wallet descriptor (closes #5637)
REF: Camera Authorization Request
Published: 2023-10-17 15:39:11 UTC
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.
Full changelog: - phoenix: https://github.com/ACINQ/phoenix/compare/android-v2.0.10...android-v2.0.11 - lightning-kmp: https://github.com/ACINQ/lightning-kmp/compare/v1.5.9...v1.5.10
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-10-17 11:50:32 UTC
This bugfix release fixes several issues with 0.11.0
Due to a mistake on the last merge into main, we had to revert some commits on it.
If you run into issues pulling from main
, reset your local main branch like this git reset origin/main --hard
NodePayment
by @jackstar12 in https://github.com/lnbits/lnbits/pull/2005lnbits-dynamic-fields
component by @motorina0 in https://github.com/lnbits/lnbits/pull/2018Published: 2023-10-14 20:30:14 UTC
cargo audit
. by @alekseysidorov in https://github.com/rust-bitcoin/rust-bitcoin/pull/29to_p2wsh()
and is_p2swsh()
functions by @apoelstra in https://github.com/rust-bitcoin/rust-bitcoin/pull/32bip143
module to create BIP143 signature hashes by @apoelstra in https://github.com/rust-bitcoin/rust-bitcoin/pull/38impl Display
to construct_uint
macro by @popzxc in https://github.com/rust-bitcoin/rust-bitcoin/pull/82FromStr
for Network constant by @alekseysidorov in https://github.com/rust-bitcoin/rust-bitcoin/pull/80data
method in impl_array_newtype
macro by @popzxc in https://github.com/rust-bitcoin/rust-bitcoin/pull/81Network
type. by @jeandudey in https://github.com/rust-bitcoin/rust-bitcoin/pull/121from_secret_key
by @dpc in https://github.com/rust-bitcoin/rust-bitcoin/pull/120Display
trait instead of implementing ToString
directly. by @jeandudey in https://github.com/rust-bitcoin/rust-bitcoin/pull/118From<T>
implementations for error types in Rustdoc. by @jeandudey in https://github.com/rust-bitcoin/rust-bitcoin/pull/127try!
macro usage and use the ?
operator instead. by @jeandudey in https://github.com/rust-bitcoin/rust-bitcoin/pull/119TxOutRef
to OutPoint
and use it in TxIn
. by @jeandudey in https://github.com/rust-bitcoin/rust-bitcoin/pull/139as_
,to_
,into_
conventions for array types. by @jeandudey in https://github.com/rust-bitcoin/rust-bitcoin/pull/143str::starts_with
method to check bech32 address prefixes. by @jeandudey in https://github.com/rust-bitcoin/rust-bitcoin/pull/144Display
instead of ToString
for Address
and PrivKey
. by @jeandudey in https://github.com/rust-bitcoin/rust-bitcoin/pull/141FromStr
for UDecimal
/Decimal
. by @jeandudey in https://github.com/rust-bitcoin/rust-bitcoin/pull/142pub use
a ton of stuff at the top level by @apoelstra in https://github.com/rust-bitcoin/rust-bitcoin/pull/157network::encodable
and network::serialize
by @dongcarl in https://github.com/rust-bitcoin/rust-bitcoin/pull/156secp256k1
keys with util::key
keys in BIP32 by @apoelstra in https://github.com/rust-bitcoin/rust-bitcoin/pull/238PublicKey
and PrivateKey
types; minor cleanups by @apoelstra in https://github.com/rust-bitcoin/rust-bitcoin/pull/247Builder
ability to verify-ify opcodes by @apoelstra in https://github.com/rust-bitcoin/rust-bitcoin/pull/286StreamReader
by @dr-orlovsky in https://github.com/rust-bitcoin/rust-bitcoin/pull/318construct_uint
macro by @dr-orlovsky in https://github.com/rust-bitcoin/rust-bitcoin/pull/395BlockHeader::u256_from_compact_target
function by @cloudhead in https://github.com/rust-bitcoin/rust-bitcoin/pull/429Clone
instance to RawNetworkMessage
by @cloudhead in https://github.com/rust-bitcoin/rust-bitcoin/pull/463from_be_bytes
by @dr-orlovsky in https://github.com/rust-bitcoin/rust-bitcoin/pull/436bip32::KeySource
: wrapper for (Fingerprint, DerivationPath)
by @dr-orlovsky in https://github.com/rust-bitcoin/rust-bitcoin/pull/480Clone
, Debug
etc. derives by @cloudhead in https://github.com/rust-bitcoin/rust-bitcoin/pull/500sighash_u32
handling by @dpc in https://github.com/rust-bitcoin/rust-bitcoin/pull/401recovery
of secp256k1
in the dependency declaration by @thomaseizinger in https://github.com/rust-bitcoin/rust-bitcoin/pull/545Amount
type for dust value calculation by @sgeisler in https://github.com/rust-bitcoin/rust-bitcoin/pull/616Block.get_strippedsize()
and Transaction.get_vsize()
by @visvirial in https://github.com/rust-bitcoin/rust-bitcoin/pull/626Sum
for amount types by @sgeisler in https://github.com/rust-bitcoin/rust-bitcoin/pull/615Uint256::increment
panics by @TheBlueMatt in https://github.com/rust-bitcoin/rust-bitcoin/pull/612LeafVersion
when building a Taproot ControlBlock
by @afilini in https://github.com/rust-bitcoin/rust-bitcoin/pull/703FusedIterator
for Instructions
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/733Denomination
string by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/731get_vsize
and standardness rules by @darosior in https://github.com/rust-bitcoin/rust-bitcoin/pull/665TapLeafHash
in sighash computation by @afilini in https://github.com/rust-bitcoin/rust-bitcoin/pull/722StreamReader
by @RCasatta in https://github.com/rust-bitcoin/rust-bitcoin/pull/680test_data
for big objects, add big block for benchmarking by @RCasatta in https://github.com/rust-bitcoin/rust-bitcoin/pull/750is_signed_by_address()
by @Shatnerz in https://github.com/rust-bitcoin/rust-bitcoin/pull/819act
by @Shatnerz in https://github.com/rust-bitcoin/rust-bitcoin/pull/833is_signed_by_address
by @Shatnerz in https://github.com/rust-bitcoin/rust-bitcoin/pull/825SchnorrSigHashType
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/903Write as _fmtWrite
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/965no_std
under 1.29 (MSRV) by @mcroad in https://github.com/rust-bitcoin/rust-bitcoin/pull/690blockdata::script::Instructions
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/673amount::Display
- make formatting configurable by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/716sighash
and psbt/mod.rs
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/956std::error::Error
for the new MSRV by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/987consensus_decode_from_finite_reader
optimization by @dpc in https://github.com/rust-bitcoin/rust-bitcoin/pull/1023use-serde
renamed to serde
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1006Display
implementations by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1003AddressType
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1011Txid
being displayed backwards by @dpc in https://github.com/rust-bitcoin/rust-bitcoin/pull/1037--all-targets
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1043serve_tcp
code by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1042must_use
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1063opcode::to_u8
a const function by @TheBlueMatt in https://github.com/rust-bitcoin/rust-bitcoin/pull/1072Witness
Serialization by @DanGould in https://github.com/rust-bitcoin/rust-bitcoin/pull/1071&mut
in consensus en/decoding by @dpc in https://github.com/rust-bitcoin/rust-bitcoin/pull/1035to_hex
when available by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1081bitcoin_hashes
dependency by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1065Witness
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1068Hash
-> secp256k1::Message
by @arturomf94 in https://github.com/rust-bitcoin/rust-bitcoin/pull/1118listener.accept()
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1119u8::try_from
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1121u16::to_be_bytes
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1120LockTime
type by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/994CommandString
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1137StreamReader
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1144MAX_SEQUENCE
constant by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1171serde
to 1.0.142 by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1178Transaction
's signature_hash
/encode_signing_data_to
methods by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1166address
out of util
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1170From<PublicKey>
for PubkeyHash
by @nlanson in https://github.com/rust-bitcoin/rust-bitcoin/pull/1248PublicKey
serialization code by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1250Borrow
trait bound for bip158 Iterator::Item
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1183bitcoin-internals
crate by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1239hex::BufEncoder
to accept owned arrays by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1273ChainHash
for each Network
by @jkczyz in https://github.com/rust-bitcoin/rust-bitcoin/pull/1283ChainHash::using_genesis_block
constant by @jkczyz in https://github.com/rust-bitcoin/rust-bitcoin/pull/1286user_enum
macro by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1291absolute::LockTime::is_satisfied_by_lock
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1258util::misc
module by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1259AsMut
impls for Magic
by @nlanson in https://github.com/rust-bitcoin/rust-bitcoin/pull/1301Script::builder
convenience function by @casey in https://github.com/rust-bitcoin/rust-bitcoin/pull/1312test_data
dir exclusion by @RCasatta in https://github.com/rust-bitcoin/rust-bitcoin/pull/1315Target
and Work
types by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1197Network::from_str
by @nlanson in https://github.com/rust-bitcoin/rust-bitcoin/pull/1314Transaction::weight
by @apoelstra in https://github.com/rust-bitcoin/rust-bitcoin/pull/1331internal_macros
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1293Script::push_verify
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1335opcodes::all
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1295impl IntoIterator for &'_ Witness
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1354hash
module to merkle_root
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1334no_std
when bitcoinconsensus
is enabled by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1344into_bytes
from impl_array_newtype
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1349all
module by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1339base58
module by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1264Witness
API improvements by @nlanson in https://github.com/rust-bitcoin/rust-bitcoin/pull/1380merkleblock
into merkle_tree
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1374Witness
conversion trait implementations by @nlanson in https://github.com/rust-bitcoin/rust-bitcoin/pull/1391merkle_tree
module by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1394util
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1169network
module by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1353crypto
module by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1260Script::p2pk_public_key(&self) -> Option<PublicKey>
by @connormullett in https://github.com/rust-bitcoin/rust-bitcoin/pull/1412base58
to the crate root by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1417max_money
to a constant. by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1410FromStrHex
for tuple structs with single u32
member by @connormullett in https://github.com/rust-bitcoin/rust-bitcoin/pull/1400Deref
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1450PackedLockTime
in favor of absolute::LockTime
by @apoelstra in https://github.com/rust-bitcoin/rust-bitcoin/pull/1330Script
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1155TxIn
and TxOut
by @danielabrozzoni in https://github.com/rust-bitcoin/rust-bitcoin/pull/1467hashes
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1419tapscript_leaf_hash()
to Script
by @jirijakes in https://github.com/rust-bitcoin/rust-bitcoin/pull/1485from_bytes(Vec<u8>)
to ScriptBuf
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1499ScriptBuf::extend
for short iterators by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1502Witness::tapscript()
return Script
instead of raw bytes by @jirijakes in https://github.com/rust-bitcoin/rust-bitcoin/pull/1512--locked
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1508U256::mul_u64
method by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1496locktime
module by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1513#[cfg(docsrs)]
to #[cfg(doc)]
on use
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1504Vec::from_hex
with hex!
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1438Encodable
/Decodable
Psbt Serialization by @DanGould in https://github.com/rust-bitcoin/rust-bitcoin/pull/988push_scriptint
and make it private by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1527ToHex
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1531TapLeafHash
and TapBranchHash
into TapNodeHash
while tree construction by @sanket1729 in https://github.com/rust-bitcoin/rust-bitcoin/pull/1479Address
's network by @jirijakes in https://github.com/rust-bitcoin/rust-bitcoin/pull/1489internals
crate by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1545pow
module by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1510Debug
for generic Address<V: NetworkValidation>
by @jirijakes in https://github.com/rust-bitcoin/rust-bitcoin/pull/1578sha256d::Hash
type for sighash encoding by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1567Into<secp256k1::PublicKey>
in PublicKey constructors by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1582Sequence::is_final
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1575hashes::hex::HexWriter
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1572psbt::Error
by @arturomf94 in https://github.com/rust-bitcoin/rust-bitcoin/pull/1591TweakedKeyPair
-> TweakedPublicKey
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1583FromHex
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1565rustv_1_53
in build script by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1608TaprootMerkleBranch
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1613SighashCache
API by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1625sighash
module documentation by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1624from_slice
methods to decode
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1621Weight
and FeeRate
newtypes by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1627merkle_tree::block
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1388script::read_uint
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1559From<Address>
for ScriptBuf
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1592minimal_non_dust
to TxOut
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1642psbt
cleanup by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1605hash_newtype
evocative of the output by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1659Magic
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1674hash_newtype
cleanup by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1670InputWeightPrediction
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1692pow::Target
for returning difficulty as an f64. by @junderw in https://github.com/rust-bitcoin/rust-bitcoin/pull/1707Work::log2
implementation for U256::to_f64
by @junderw in https://github.com/rust-bitcoin/rust-bitcoin/pull/1713const
context by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1710Denomination
as non_exhaustive
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1721rust-bitcoin
crate by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1434ChainHash::from_genesis_block_hash
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1753sha256t_hash_newtype!
evocative of the output. by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1773schemars
pin from manifest by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1696Weight
type by @RCasatta in https://github.com/rust-bitcoin/rust-bitcoin/pull/1826cfg(fuzzing)
weth cfg(bitcoin-hashes-fuzz)
. by @apoelstra in https://github.com/rust-bitcoin/rust-bitcoin/pull/1821min_value
and max_value
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1829InputWeightPrediction
by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1835FromHex
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1861ValidationError
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1874hashes::Error
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1873TaprootSpendInfo::as_script_map
to script_map
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1897crytpo::taproot
error type by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1895alloc
-free parse errors by @Kixunil in https://github.com/rust-bitcoin/rust-bitcoin/pull/1297Script::empty
to Script::new
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1925HashParse
error variant to InvalidHash
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1888RawNetworkMessage
encoding by @RCasatta in https://github.com/rust-bitcoin/rust-bitcoin/pull/1954hex-conservative
crate by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1833network
module and move/clean up types by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1854FeeRate
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1947opcodes::All
to Opcode
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1955small-hash
feature for bitcoin_hashes
by @afilini in https://github.com/rust-bitcoin/rust-bitcoin/pull/1990v0.13.0
by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1917bitcoinconsensus
error by @tcharding in https://github.com/rust-bitcoin/rust-bitcoin/pull/1978Full Changelog: https://github.com/rust-bitcoin/rust-bitcoin/commits/bitcoin-0.30.2
Go to Repo Go to ReleasePublished: 2023-10-10 11:42:51 UTC
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.
Full changelog: - phoenix: https://github.com/ACINQ/phoenix/compare/android-v2.0.9...android-v2.0.10 - lightning-kmp: https://github.com/ACINQ/lightning-kmp/compare/v1.5.8...v1.5.9
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-10-09 22:06:35 UTC
Note: We re-uploaded the binary for macOS on the 26th of October. The new binary fixes several issues that caused crashes on macOS.
In this release, we add MercadoPago as a new payment method for our Argentinian users. Moreover, the Bisq Price Index uses the blue dollar (free market rate) rate for the Argentine Pesos market. Other changes include an updated Java runtime, bug fixes, and performance improvements.
See https://github.com/bisq-network/bisq/milestone/82?closed=1 for more details.
For a detailed description on how to verify your Bisq installer please have a look at our wiki: https://bisq.wiki/Downloading_and_installing#Verify_installer_file
Url of the signing key (Alejandro García): https://bisq.network/pubkey/E222AA02.asc
Full fingerprint: B493 3191 06CC 3D1F 252E 19CB F806 F422 E222 AA02
Import the key:
curl https://bisq.network/pubkey/E222AA02.asc | gpg --import
GPG prints a confusion warning: "This key is not certified with a trusted signature!" - See https://serverfault.com/questions/569911/how-to-verify-an-imported-gpg-key for background information what it means.
How to verify signatures?
gpg --digest-algo SHA256 --verify BINARY{.asc*,}
Replace BINARY with the file you downloaded (e.g. Bisq-1.9.14.dmg)
Verify jar file inside binary: You can verify on OSX the jar file with: shasum -a256 [PATH TO BISQ APP]/Bisq.app/Contents/app/desktop-1.9.14-all.jar The output need to match the value from the Bisq-1.9.14.jar.txt file.
There are three hashes within the Bisq-1.9.14.jar.txt file (macOS, Windows, Linux). If you want to reproduce and verify the hash of the jar file locally, you need to do so on Windows or Linux using Java 15.0.9 and the v1.9.14 release tag. Because of the signing and notarization process that requires the developer certificate used for the build on macOS it is not possible to create the same jar on macOS.
Starting with v1.9.0 you can use pre-built versions of the Bisq cli (bisq-cli-v1.9.14.zip) and Bisq daemon (bisq-daemon-v1.9.14.zip) to use Bisq without touching the user interface.
Just download the archives and extract them locally. You have to run the daemon to access the local Bisq daemon API endpoints.
To run daemon.jar on Mainnet:
bash
$ java -jar daemon.jar --apiPassword=becareful
If you just want to control your headless daemon within your terminal you have to run the Bisq cli as well.
Again just download the bisq-cli archive and extract it locally.
To call getversion from cli.jar
bash
$ java -jar cli.jar --password=becareful getversion
You can use the Bisq API to access local Bisq daemon API endpoints, which provide a subset of the Bisq Desktop application's feature set: check balances, transfer BTC and BSQ, create payment accounts, view offers, create and take offers, and execute trades.
The Bisq API is based on the gRPC framework, and any supported gRPC language binding can be used to call Bisq API endpoints.
You'll find in-depth documentation and examples under following link: https://bisq-network.github.io/slate/#introduction
Bisq gRPC API reference documentation example source code is hosted on GitHub at https://github.com/bisq-network/bisq-api-reference. Java and Python developers interested in bot development may find this Intellij project useful for running the existing examples, and writing their own bots.
For additional developer support please join Development - Bisq v1 on Matrix.
We removed notarization from our build pipeline because of of the risk of Apple certification revocation (see https://github.com/bisq-network/bisq/discussions/6341). Unfortunately this will require extra steps when installing Bisq on macOS.
Please follow the guide at https://support.apple.com/en-us/HT202491 in the section If you want to open an app that hasn’t been notarized or is from an unidentified developer
If you are running already macOS Ventura (13.0+) you need to do following to be able to start Bisq:
enter following command in Apple Terminal sudo xattr -rd com.apple.quarantine /Applications/Bisq.app
hit enter and you will be prompted to enter your password to be able to execute the command as super user
After running this successfully you should be able to start Bisq as always.
We removed the developer code signing because of the same reason as with Apple. For Windows you just have to ignore the warning after you have verified the installation file yourself and proceed with the installation.
There is a known issue with Anti Virus software. We got several reports from users running into different problems. Either the AV software blocks Bisq or Tor, delete files in the data directory [2] or app directory [1]) or cause such a long delay at startup that Tor gets terminated and a file remains locked which can cause that Bisq cannot be started afterwards. To resolve that you need to restart Windows then the lock get released. We are working on solutions to fix those issues.
If you use Crypto currencies on your Windows system be aware that Windows is much more vulnerable to malware than Linux or OSX. Consider to use a dedicated non-Windows system when dealing with cryptocurrencies.
[1] Application directory (contains application installation files): C:\Users<username>\AppData\Local\Bisq
[2] Data directory (contains all Bisq data including wallet): C:\Users<username>\AppData\Roaming\Bisq\btc_mainnet\tor (you can delete everything except the hiddenservice directory)
Hint for Debian users:
If you have problems starting Bisq on Debian use: /opt/bisq/bin/Bisq
If your Linux distro does not support .deb files please follow this instruction:
cd ~/Downloads
mkdir tmp
cd tmp
ar x ../Bisq-64bit-1.9.14.deb
sudo tar Jxvf data.tar.xz
sudo cp -rp opt/Bisq /opt/
That instruction is not tested on many different distros. If you encounter problems please report it in a Github issue so we can improve it.
Thanks to everyone who directly contributed to this release:
A special thanks to our first time contributor: - @alyokaz - @rodvar
As well as to everyone that helped with translations on Transifex.
Go to Repo Go to ReleasePublished: 2023-10-05 10:38:53 UTC
This release's name is dedicated to Leo. Leo is easily one of the nicest people in Bitcoin and has been active in the LNbits chat since the beginning, helping people debug, and coming up with new great ideas such as his Bitcoin Laisee (red envelopes of bitcoin given to people on the Chinese New Year). Thank you Leo!
Among countless optimizations and stability improvements that make LNbits faster and more reliable, we are thrilled to announce a new exciting feature which we (with the incredible work of @jackstar12) have been working on for some time: The LNbits node manager.
This release introduces the LNbits node manager which allows you to manage your Lightning channels directly from within your LNbits. The node manager works with Core Lightning and LND and we plan to add support for more Lightning backends soon.
Manage your Lightning channels directly from within your LNbits.
View the transaction history on your node to see a list of all incoming and outgoing payments.
The node manager also offers a public node page that you can share with others who want to open a channel to your node.
You can activate the node UI in your LNbits admin panel.
We have upgraded the API framework that we use in LNbits. That means that most extensions need to be update to work with this release. Please log in as an admin user and update your extensions to the latest version after upgrading your LNbits. (Thank you @dni and @talvasconcelos grinding through and patching ALL the extensions)
.super_user
move it into data dir by @dni in https://github.com/lnbits/lnbits/pull/1900description_hash
validation by @callebtc in https://github.com/lnbits/lnbits/pull/1951Full Changelog: https://github.com/lnbits/lnbits/compare/0.10.10...0.11.0
Go to Repo Go to ReleasePublished: 2023-10-05 02:22:58 UTC
This update introduces several enhancements to the client's JSON-RPC interface, along with notable improvements in performance and the resolution of a few non-critical bugs.
Although this upgrade is not mandatory, we always recommend that users upgrade their nodes to the latest version available.
A non-comprehensive list of changes included in this version is:
blockNumber
and blockID
arguments in the eth_estimateGas
JSON-RPC method in #2080.eth_hashrate
JSON-RPC method in #2074.--help
and --version
command-line flags using the Picocli framework in #2027.rsk_protocolVersion
JSON-RPC method return value as hexadecimal in #2134.input
field in JSON-RPC requests for compatibility with the Web3js framework library in #2075.Full Changelog: https://github.com/rsksmart/rskj/compare/FINGERROOT-5.2.0...FINGERROOT-5.3.0
Fingerroot 5.3.0 Milestone: https://github.com/rsksmart/rskj/milestone/38
SHA256 (see Reproducible Build guide for further details): a9d5c6080aecd96c849e153dd4648072323c772f860c0c4fd812a321fc18ae90 rskj-core-5.4.0-FINGERROOT-all.jar
Go to Repo Go to ReleasePublished: 2023-10-04 02:29:10 UTC
ProbabilisticScorer
's internal models have been substantially improved,
including better decaying (#1789), a more granular historical channel
liquidity tracker (#2176) and a now-default option to make our estimate for a
channel's current liquidity nonlinear in the channel's capacity (#2547). In
total, these changes should result in improved payment success rates at the
cost of slightly worse routefinding performance.ChannelMonitor/Update
s (#2337).KVStorePersister
has been replaced with a more generic and featureful
KVStore
interface (#2472).MonitorUpdatingPersister
is provided which wraps a KVStore
and
implements Persist
by writing differential updates rather than full
ChannelMonitor
s (#2359).ChannelManager::batch_funding_transaction_generated
method (#2486).ChannelManager::send_preflight_probes
has been added to probe a payment's
potential paths while a user is providing approval for a payment (#2534).ChannelMonitor
updating is available as an alpha
preview. There remain a few known but incredibly rare race conditions which
may lead to loss of funds (#2112, #2169, #2562).ChannelMonitorUpdateStatus::PermanentFailure
has been removed in favor of a
new ChannelMonitorUpdateStatus::UnrecoverableError
. The new variant panics
on use, rather than force-closing a channel in an unsafe manner, which the
previous variant did (#2562). Rather than panicking with the new variant,
users may wish to use the new asynchronous ChannelMonitor
updating using
ChannelMonitorUpdateStatus::InProgress
.RouteParameters::max_total_routing_fee_msat
was added to limit the fees
paid when routing, defaulting to 1% + 50sats when using the new
from_payment_params_and_value
constructor (#2417, #2603, #2604).UtxoSource
are now provided in lightning-block-sync
.
Those running with a full node should use this to validate gossip (#2248).LockableScore
now supports read locking for parallel routefinding (#2197).ChannelMonitor::get_spendable_outputs
was added to allow for re-generation
of SpendableOutputDescriptor
s for a channel after they were provided via
Event::SpendableOutputs
(#2609, #2624).[u8; 32]
has been replaced with a ChannelId
newtype for chan ids (#2485).NetAddress
was renamed SocketAddress
(#2549) and FromStr
impl'd (#2134)no-std
users, parse_onion_address
was added which creates a
NetAddress
from a "...onion" string and port (#2134, #2633).Event::PaymentClaimed::htlcs
(#2478).historical_estimated_payment_success_probability
(#2466).RecentPaymentDetails::*::payment_id
has been added (#2567).Route
now contains a RouteParameters
rather than a PaymentParameters
,
tracking the original arguments passed to routefinding (#2555).Balance::*::claimable_amount_satoshis
was renamed amount_satoshis
(#2460)*Features::set_*_feature_bit
have been added for non-custom flags (#2522).channel_id
was added to SpendableOutputs
events (#2511).counterparty_node_id
and channel_capacity_sats
were added to
ChannelClosed
events (#2387).ChannelMonitor
now implements Clone
for Clone
able signers (#2448).create_onion_message
was added to build an onion message (#2583, #2595).HTLCDescriptor
now implements Writeable
/Readable
(#2571).SpendableOutputDescriptor
now implements Hash
(#2602).MonitorUpdateId
now implements Debug
(#2594).Payment{Hash,Id,Preimage}
now implement Display
(#2492).NodeSigner::sign_bolt12_invoice{,request}
were added for future use (#2432)KVStore
can use a concatentation of
[{primary_namespace}/[{secondary_namespace}/]]{key}
to build a key
compatible with the previous KVStorePersister
interface (#2472).Route
objects (including pending payments) written by LDK versions prior
to 0.0.117 won't be retryable after being deserialized by LDK 0.0.117 or
above (#2555).MonitorUpdatingPersister
can upgrade seamlessly from the
default KVStore
Persist
implementation, however the stored
ChannelMonitor
s are deliberately unreadable by the default Persist
. This
ensures the correct downgrade procedure is followed, which is: (#2359)
ChannelMonitorUpdate
s stored are fully applied to the
relevant ChannelMonitor
,ChannelMonitor
using your new Persist
impl.SpendableOutputs
event for our to_remote
(i.e. non-HTLC-encumbered)
balance. Those with such balances available should fetch the missing
SpendableOutputDescriptor
s using the new
ChannelMonitor::get_spendable_outputs
method (#2605).Balance
entries for HTLC
balances (#2610).ChannelManager::send_spontaneous_payment_with_retry
spuriously did not
provide the recipient with enough information to claim the payment, leading
to all spontaneous payments failing (#2475).
send_spontaneous_payment_with_route
was unaffected.keysend
feature on node announcements was spuriously un-set in 0.0.112
and has been re-enabled (#2465).ChannelManager
is persisted substantially less when it has not changed,
leading to substantially less I/O traffic for it (#2521, #2617).ChainMonitor
no longer results in all other
monitor operations being blocked until it completes (#2528).htlc_minimum
constraint on the path is now no longer included in
the amount we send in the retry (#2575).user_channel_id
passed to SignerProvider::generate_channel_keys_id
for inbound channels is now correctly using the one passed to
ChannelManager::accept_inbound_channel
rather than a default value (#2428).impl_writeable_tlv_based!
no longer have use requirements (#2506).channel_update
with a bogus htlc_minimum_msat
, which LND users can manually build (#2611).error
messages generated by LND in response to a
shutdown
message, avoiding force-closes due to LND bug 6039. This may
lead to non-trivial bandwidth usage with LND peers exhibiting this bug
during the cooperative shutdown process (#2507).0.0.117 fixes several loss-of-funds vulnerabilities in anchor output channels, support for which was added in 0.0.116, in reorg handling, and when accepting channel(s) from counterparties which are miners. * When a counterparty broadcasts their latest commitment transaction for a channel with anchor outputs, we'd previously fail to build claiming transactions against any HTLC outputs in that transaction. This could lead to loss of funds if the counterparty is able to eventually claim the HTLC after a timeout (#2606). * Anchor channels HTLC claims on-chain previously spent the entire value of any HTLCs as fee, which has now been fixed (#2587). * If a channel is closed via an on-chain commitment transaction confirmation with a pending outbound HTLC in the commitment transaction, followed by a reorg which replaces the confirmed commitment transaction with a different (but non-revoked) commitment transaction, all before we learn the payment preimage for this HTLC, we may previously have not generated a proper claiming transaction for the HTLC's value (#2623). * 0.0.117 now correctly handles channels for which our counterparty funded the channel with a coinbase transaction. As such transactions are not spendable until they've reached 100 confirmations, this could have resulted in accepting HTLC(s) which are not enforcible on-chain (#1924).
In total, this release features 121 files changed, 20477 insertions, 8184 deletions in 381 commits from 27 authors, in alphabetical order: * Alec Chen * Allan Douglas R. de Oliveira * Antonio Yang * Arik Sosman * Chris Waterson * David Caseria * DhananjayPurohit * Dom Zippilli * Duncan Dean * Elias Rohrer * Erik De Smedt * Evan Feenstra * Gabor Szabo * Gursharan Singh * Jeffrey Czyz * Joseph Goulden * Lalitmohansharma1 * Matt Corallo * Rachel Malonson * Sergi Delgado Segura * Valentine Wallace * Vladimir Fomene * Willem Van Lint * Wilmer Paulino * benthecarman * jbesraa * optout
Go to Repo Go to ReleasePublished: 2023-10-03 18:16:00 UTC
There is a single database migration in this release. This migration deletes some space on disk that previously stored the last sweep transaction in the sweeper.
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://raw.githubusercontent.com/lightningnetwork/lnd/master/scripts/keys/roasbeef.asc | gpg --import
Once you have the required PGP keys, you can verify the release (assuming manifest-roasbeef-v0.17.0-beta.sig
and manifest-v0.17.0-beta.txt
are in the current directory) with:
gpg --verify manifest-roasbeef-v0.17.0-beta.sig manifest-v0.17.0-beta.txt
You should see the following if the verification was successful:
gpg: Signature made Tue Oct 3 11:03:53 2023 PDT
gpg: using RSA key 60A1FA7DA5BFF08BDCBBE7903BBD59E99B280306
gpg: Good signature from "Olaoluwa Osuntokun <laolu32@gmail.com>" [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.
From this new version onwards, in addition time-stamping the git tag with OpenTimestamps, we'll also now timestamp the manifest file along with its signature. Two new files are now included along with the rest of our release artifacts: manifest-roasbeef-v0.17.0-beta.txt.asc.ots
.
Assuming you have the opentimestamps client installed locally, the timestamps can be verified with the following commands:
ots verify manifest-roasbeef-v0.17.0-beta.sig.ots -f manifest-roasbeef-v0.17.0-beta.sig
Alternatively, the OpenTimestamps website can be used to verify timestamps if one doesn't have a bitcoind
instance accessible locally.
These timestamps should give users confidence in the integrity of this release even after the key that signed the release expires.
Our release binaries are fully reproducible. Third parties are 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.21.0
, which is required by verifiers to arrive at the same ones.
They include the following build tags: autopilotrpc
, signrpc
, walletrpc
, chainrpc
, invoicesrpc
, neutrinorpc
, routerrpc
, watchtowerrpc
, monitoring
, peersrpc
, kvdb_postrgres
, kvdb_etcd
and kvdb_sqlite
. Note that these are already included in the release script, so they do not need to be provided.
The make release
command can be used to ensure one rebuilds with all the same flags used for the release. If one wishes to build for only a single platform, then make release sys=<OS-ARCH> tag=<tag>
can be used.
Finally, you can also verify the tag itself with the following command:
$ git verify-tag v0.17.0-beta
gpg: Signature made Tue 03 Oct 2023 05:22:22 PM UTC using RSA key ID 9B280306
gpg: Good signature from "Olaoluwa Osuntokun <laolu32@gmail.com>"
To verify the lnd
and lncli
binaries inside the docker images against the signed, reproducible release binaries, there is a verification script in the image that can be called (before starting the container for example):
shell
$ docker run --rm --entrypoint="" lightninglabs/lnd:v0.17.0-beta /verify-install.sh v0.17.0-beta
$ OK=$?
$ if [ "$OK" -ne "0" ]; then echo "Verification failed!"; exit 1; done
$ docker run lightninglabs/lnd [command-line options]
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.17.0-beta.tar.gz
are in the current directory, follow these steps:
tar -xvzf vendor.tar.gz
tar -xvzf lnd-source-v0.17.0-beta.tar.gz
GO111MODULE=on go install -v -mod=vendor -ldflags "-X github.com/lightningnetwork/lnd/build.Commit=v0.17.0-beta" ./cmd/lnd
GO111MODULE=on go install -v -mod=vendor -ldflags "-X github.com/lightningnetwork/lnd/build.Commit=v0.17.0-beta" ./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:
make release sys="linux-arm64 darwin-amd64"
⚡️⚡️⚡️ OK, now to the rest of the release notes! ⚡️⚡️⚡️
https://github.com/lightningnetwork/lnd/blob/master/docs/release-notes/release-notes-0.17.0.md
Published: 2023-10-03 11:55:34 UTC
Full Changelog: https://github.com/ACINQ/bitcoin-lib/compare/v0.29...v0.30
Go to Repo Go to ReleasePublished: 2023-09-29 08:54:35 UTC
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.
Full changelog: - phoenix: https://github.com/ACINQ/phoenix/compare/android-v2.0.8...android-v2.0.9 - lightning-kmp: https://github.com/ACINQ/lightning-kmp/compare/v1.5.6...v1.5.8
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-09-28 16:04:02 UTC
Based on new RaspiOS image, increased stability & much updates: Bitcoin 25.0.0, LND 0.16.4, Core Lightning 23.08.1 .. see CHANGES for details.
Go to Repo Go to ReleasePublished: 2023-09-27 08:35:24 UTC
An update is recommended if you share your server with many users. Your server could crash (Error HTTP 500) if you have a high number of users.
Published: 2023-09-22 14:49:08 UTC
Published: 2023-09-21 13:40:05 UTC
Please create a full backup before migrating or any major internal changes like switching to an electrum based installation. You can easily create a backup in Settings --> Backup Specter (zip file).
Specter is available in several forms: as a GUI application, as a binary that can be executed like a web app, and as a PyPI package. Additionally, Specter is available as a Docker image via the awesome Chiang Mai LN devs.
Signed hashsum files are available for all binaries.
This is a GUI application with a windowed interface, which includes the Specter server. Supported platforms: Windows, MacOS, Linux (x86_64)
Note on Linux: you need to set up udev rules (included in the archive). Check out the readme.
Note on macOS: The current build supports only macOS Catalina (10.15) or higher. If you'd like to run Specter on an older macOS version, you can install Specter from Pip.
Specterd is a command-line program that runs only the Specter server, behaving like a traditional web application. Supported platforms: Windows, MacOS, Linux (x86_64)
If you’re experienced Python user and/or developer, you might appreciate the pypi-packages which are also available on our github-release-page.
SHA256SUMS file contains sha256 hashes of all binary files and signed with "Specter Signer's" GPG key.
You can get the public key from here.
Fingerprint of the key is 785A 2269 EE3A 9736 AC1A 4F4C 864B 7CF9 A811 FEF7
This key has been signed by @k9ert's key. For more information about Verifying signatures, see, e.g. this video.
We fixed #2343 and that fix did, in some cases, cause trouble when signing transactions with Jades. If you're suffering that issue, you can enforce an hwi-initialisation which is known to fix that issue. This might then have the downside to with usb-devices being plugged in at startup. In order to do that, you need to setup the env-var ENFORCEHWIINITIALISATIONATSTARTUP to true. This is currently not that easy if you run Specter via an Application.
Go to Repo Go to ReleasePublished: 2023-09-20 17:35:10 UTC
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.
This is a bug fix release. - Fixed an issue where payment would be prevented when channels were in closing - Fixed an issue where swaps would not be attempted due to a race condition between the swap-in wallet and the peer connection.
Diff: - phoenix: https://github.com/ACINQ/phoenix/compare/android-v2.0.7...android-v2.0.8 - lightning-kmp: https://github.com/ACINQ/lightning-kmp/compare/v1.5.5...v1.5.6
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-09-19 08:45:45 UTC
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.
The Electrum connection logic has been improved. There should be less issues with Electrum connection, especially when connection fails and needs to be reestablished. See ACINQ/lightning-kmp#512 for details
The log file could be sometimes truncated by the SL4J rolling system which could result in less logs than available.
Phoenix can now use a different language than the rest of the device. This feature is only available on Android 13+.
Thanks @MasterixCZ for working on this.
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-09-13 20:30:34 UTC
Bugfix release for bad issues found since 23.08 which can't wait for 23.11, and some minor low-impact fixes (e.g. docker images, documentation, CI).
showrunes
on a specific rune would always say stored
: false. (#6640)clnrest
now works on MacOS (#6605) python3
or python
, rather than assuming python3
(#6630)renepay
: various minor fixes. (#6632)Published: 2023-09-13 13:28:11 UTC
For users upgrading from the legacy Phoenix Android app (1.x) to 2.x, a migration is needed. See the 2.0.0 release notes for details about the migration process.
lnurlp
, lnurlw
, keyauth
) are now properly parsed.Thanks @MasterixCZ and @margre8 for working on this.
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-09-11 10:07:28 UTC
lnbits-cli
for commands.py by @dni in https://github.com/lnbits/lnbits/pull/1890make test
by @dni in https://github.com/lnbits/lnbits/pull/1899lncli
subprocess and logging by @dni in https://github.com/lnbits/lnbits/pull/1910Full Changelog: https://github.com/lnbits/lnbits/compare/0.10.9...0.10.10
Go to Repo Go to ReleasePublished: 2023-09-09 00:34:30 UTC
Ionio
, liquidjs-lib
and @vulpemventures/secpk256k1-zkp
by @louisinger in https://github.com/vulpemventures/marina/pull/480marina.sendTransaction
: fix amount formatting by @louisinger in https://github.com/vulpemventures/marina/pull/491publicKey
member in Address by @louisinger in https://github.com/vulpemventures/marina/pull/492Full Changelog: https://github.com/vulpemventures/marina/compare/v0.5.2...v0.5.3
Go to Repo Go to ReleasePublished: 2023-09-05 16:04:59 UTC
This update establishes RocksDB as the default storage library, delivering relevant performance enhancements for database operations. It's important to emphasize that nodes currently utilizing LevelDB will remain unaffected by this update. To switch to RocksDB as the default database, users must take the following steps: delete their existing database files and restart the node to perform a complete blockchain synchronization.
Although this upgrade is not mandatory, we always recommend that users upgrade their nodes to the latest version available.
A non-comprehensive list of changes included in this version is:
RocksDb
the default database library in #2063.networkCidr
config value in #2070.Full Changelog: https://github.com/rsksmart/rskj/compare/FINGERROOT-5.1.0...FINGERROOT-5.2.0
Fingerroot 5.2.0 Milestone: https://github.com/rsksmart/rskj/milestone/37
SHA256 (see Reproducible Build guide for further details): 70ae5209720ad6477c1c32d8a8d94e29ebb0db25d57e9903546519d614eddf9f rskj-core-5.2.0-FINGERROOT-all.jar
Go to Repo Go to ReleasePublished: 2023-09-04 16:49:43 UTC
This release adds a new ellswift
module that implements ElligatorSwift encoding for public keys and x-only Diffie-Hellman key exchange for them.
For a list of changes, see the CHANGELOG.md.
Go to Repo Go to ReleasePublished: 2023-09-02 14:28:20 UTC
Minor update recommended for deployment stacks which were using MySQL/SQLite backend in the past such as Raspiblitz, Umbrel, Embassy OS.
We fix a migration to postgres error that has been introduced a few versions ago.
Published: 2023-09-01 19:04:07 UTC
For users upgrading from the legacy Phoenix Android app (1.x) to 2.x, a migration is needed. See the 2.0.0 release notes for details about the migration process.
Thanks @myxmaster for the help with German translation!
Spanish, Portuguese, and Czech localisation are partial, and may not be accurate. However, it's still better than just displaying English.
Also, LNURL payments made prior to this version should display the successAction
result correctly. See #404.
For users who migrate from v1.4.x, warnings have been added about reusing legacy swap-in addresses. These addresses should not be used anymore after migration. The new wallet will only support the new address displayed in the receive screen.
If an old legacy address has benn used after the migration is done, contact support: phoenix@acinq.co
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-08-31 11:25:46 UTC
ur:crypto-output
) QR codesmempoolFullRbf
config variable to enable RBF functionality on mempool transactions without checking sequence flags (default false)listwalletdir
returns empty results even when wallets are loadedControlPort auto
instead of UNIX socket for internal Tor control to avoid a bug where UNIX socket path is too longPublished: 2023-08-30 09:29:10 UTC
For users upgrading from the legacy Android app (1.x) to Android 2.x, a migration is needed. See the 2.0.0 release notes for details about the migration process.
This release fixes several issues and brings a few improvements in the app.
Previous versions required the app to be restarted in order to attempt pending swap-ins. This is not the case anymore, the app will attempt swaps at each new block. System notifications for failed swaps have been reduced to prevent spam.
Receiving funds over LNURL required users to click on Send in order to open the scanner, which is counterintuitive. This has been fixed by adding back the "Use LNURL link" button in the Receive screen, like in the legacy app.
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-08-26 12:16:21 UTC
Open with wallet
deep link in the checkout page wasn't working properly on some browsers. @dennisreimannPublished: 2023-08-24 13:09:28 UTC
This release bumps the minimal Android version to android 8+ to prevent installing the app on old, incompatible devices.
Users with Android 7.1 or older can still use version 1.4.27, but we strongly recommend upgrading to a recent Android version that receives security patches.
For users upgrading from the legacy app (1.x) to the new app, a migration is needed. See the 2.0.0 release notes for details about the migration process.
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-08-23 20:03:31 UTC
We're pleased to announce the 23.08 release of Core Lightning, named by Matt Morehouse.
For a list of all changes, please see the changelog
setconfig
command to change config lines dynamically without node restart: limited now, but more coming in future.renepay
plugin (and corresponding renepay
command) offers a much more sophisticated method of making payments (and much more experimental!).ignorefeelimits
setting for getting fee disagreements unstuck.experimental-splicing
option implements the new splicing draft to move funds in and out of live channels.wait
command supports invoices
, along with listinvoices
allowing ordering and pagination (with more commands to come!)Since 23.05, we've had 660 commits by 37 authors in 104 days!
A special thanks to the 12 first time contributors:
~ @rustyrussell, @ShahanaFarooqui, @EndothermicDev, @cdecker, and @niftynei
Go to Repo Go to ReleasePublished: 2023-08-21 14:38:35 UTC
:window: Windows :green_apple: Apple M1/M2 :apple: Apple Intel :penguin: Ubuntu / Debian :penguin: Other Linux
⏩ Faster wallet load 🚀 Speed up unconfirmed transactions 🛡️ Privacy warnings and improvement suggestions for payments 🐳 Cheaper coinjoins especially for whales 👻 Headless daemon and improved RPC interface 📸 QR code scanning on linux
This release optimizes the filter checking process to reduce wallet loading times by 90% thanks to code cleanup and a clever key prioritization process dubbed “Turbosync”. With Turbosync, internal addresses that have already been used are not checked for coins in new blocks until after unused addresses have been checked first.
Incoming funds can now be confirmed faster with Child Pays For Parent (CPFP) to self-spend an unconfirmed UTXO, and outgoing transactions can use Replace By Fee (RBF) to increase confirmation priority or cancel the payment entirely. You don't have to worry about the details, it just works magically under the hood.
New Privacy Warnings present users with one click fixes if they are attempting to construct a transaction that spends nonprivate funds or creates change. Notifications are provided when consolidating more than 10 UTXOs or spending unconfirmed funds, allowing users to avoid potential mistakes without restricting intentional usage.
The amount decomposer was refined to make the most effective use of scarce block space so that whales who set a high anonymity score target now need fewer coinjoin rounds to reach 100% privacy. The amount of outputs a client can create in a round has been increased from 8 to 10, and decompositions that produce change outputs are now rarely chosen. Adjustments to the anonymity score calculator and default settings additionally reduce the amount of coinjoining required before all coins are considered private. The anonymity score target of the “Maximize Privacy” coinjoin strategy setting was reduced from a random value between 50-100 to a less conservative range of 27-76, which brings the behavior closer in line with the two efficiency based strategies.
Wasabi now has a daemon! More experienced users can directly interact with core features of the wallet through an RPC (Remote Procedure Call) interface making it easy for developers to customize their experience and build features that are not available in the GUI version. This release bundles the Daemon, an executable called ‘wassabeed’ that runs the wallet without the graphical interface. The wallet can be run in the background by using the RPC interface, or the Wasabi command line interface allowing users to coinjoin, see their balance, and perform every other function of the wallet without the resource consumption of the graphical interface.
Wasabi can now scan QR codes on Linux computers. This makes importing an address from a phone a lot more private, easier and faster. This feature is now available for Linux and Windows, but not yet for macOS.
Wallet loading speed improved even more by storing the filters in an SQLite database instead of a plaintext file, reducing disk space requirements by about 1 GB and increasing resilience against file corruption.
Included are several updates to dependencies (HWI, Tor, Avalonia) and a lot of the usual bug squashing and UI polishing.
Read the related blog for more information.
Download the operating system relevant software package and install Wasabi like you would any other software on your computer. For a detailed installation guide, including signature verification, see the documentation.
If you want to build or update Wasabi from source code, check out these easy instructions.
Wasabi uses reproducible builds, which you can verify with this guide.
:spiderweb: Website :onion: Tor onion site :orangebook: Docs :grey_question: FAQ
ByteHelpers
: Fix namespace by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/9828Guard.NotNull
: Make sure analyzers will know that T was not null
by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/9829P2pBlockProvider
: Minor changes by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/9851CoreNode
: Add constructor by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/9880TorProcessManager
: Re-throw exception by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/9910BaseKeyChain
by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/9830IndexStore
: Simplify ForeachFiltersAsync
by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/9926ProcessAsync
: Cleanup by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/9961CoreNode
: Remove a few more warnings by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/9969GetBitcoinCoreVersionAsync
by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/9928TorProcessManager
: Check our permissions wrt Tor process by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/9960ConfigBase
with file read & write synchronization by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/8074Select(_ => Unit.Default)
with ToSignal()
by @soosr in https://github.com/zkSNACKs/WalletWasabi/pull/10000IdempotencyRequestCache
: Fix warnings by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10037CoinJoinClient
by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10052CoinJoinStateViewModel
- Cleanup by @soosr in https://github.com/zkSNACKs/WalletWasabi/pull/10026Config
: Merge load methods by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10077Config.TryEnsureBackwardsCompatibility
by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/9958IndexBuilderService
: nits by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10118AffiliateServerStatusUpdaterTests.GetStatusTestAsync
test by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10169SpecificNodeBlockProvider
by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10119IndexStore
: Unify CT param names and use test deadlines in tests by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10247IndexStore
: Remove always true
deleteAndCrashIfMature
parameter by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10250IndexStore
: Make it clear what locks are required by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10249IndexStore
: Remove WrongFilter
check by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10248IndexStore
: Remove CT params where not needed by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10267NBitcoinExtensions
: Remove unused methods by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10351HttpContentExtensions
: Cleanup + CoinVerifierApiClient
cleanup by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10349P2pNetwork
: Cleanup by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10383WalletManager
: Remove AnyWallet
which is referenced from only one place by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10414MempoolService
by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10413RoundParameters
in Arena instead of Config by @Szpoti in https://github.com/zkSNACKs/WalletWasabi/pull/10484IndexStore
. by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10272JsonRpcServer
: Use modern API by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10598JsonRpcServer
: Handle stop
command better + refactoring by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10577KeyManager
: minor refactoring by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10636AddressStringParserTests
from ParserTests
by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10692ConnectedNode
: Dispose node properly by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10674MainViewCanShutdown
in ShuttingDownViewModel
by @turbolay in https://github.com/zkSNACKs/WalletWasabi/pull/10671PayjoinTests
by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10693KeyManager
: Remove unused method (with a warning) by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10706SatoshiPerByte
by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10571blocks
to fee provider log message by @MarnixCroes in https://github.com/zkSNACKs/WalletWasabi/pull/10771SmartCoin.Secret
by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10797CoinsRegistry
: Minor cleanup by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10798HttpMessageHelper
: Remove dead code by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10793PasswordConsole
: Remove Win7 workaround by @yahiheb in https://github.com/zkSNACKs/WalletWasabi/pull/10835PlainTextElementFactory
: Fix nullability warning by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10853HttpMessageHelper
: Minor improvements by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10792HdPubKey.NonHardenedKeyPath
by @yahiheb in https://github.com/zkSNACKs/WalletWasabi/pull/10828RpcBasedTests
: Fix whitespace by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10854WabiSabiProtocolException
usage refactor in Alice-/CoinJoinClient by @Szpoti in https://github.com/zkSNACKs/WalletWasabi/pull/10658RPCClientExtensions
: Simplify by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10852Release
mode by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10883WasabiSynchronizer
: cleanup by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10895FilterDownloaderTestAsync
by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10933WalletManager
: Pass dependencies via ctor by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10905TorProcessManager
] Do not allow StartAsync
to be called without a cancellation token by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10930RegTestSetup
& stabilize reg tests by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10935ConfigureAwait
s by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10946PasswordFinderHelper
: Fix warnings by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10845while
by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10950CommitHash
to api/software/versions
by @lontivero in https://github.com/zkSNACKs/WalletWasabi/pull/11003FilterProcessor
: Remove lock by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/11058EnforceExtendedAnalyzerRules
to WalletWasabi.Fluent.Generators
project by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/11066WalletManager
: Avoid disposed exceptions while accessing CancelAllTasks.Token
by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/10909Wallet
: Remove NewBlockProcessed
event by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/11059FilterModel
: Nits by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/11091BlockFilterSqliteStorage
by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/11067TransactionProcessor
: Remove guards by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/11090IndexStoreTests
: Clean up the test by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/11088TorLogs.txt
when Tor starts by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/11185selectwallet
rpc call by @lontivero in https://github.com/zkSNACKs/WalletWasabi/pull/11182ContentArea
by @soosr in https://github.com/zkSNACKs/WalletWasabi/pull/11212synchronize
response by @lontivero in https://github.com/zkSNACKs/WalletWasabi/pull/11217AllFeeEstimate
: Fix parameter name by @kiminuo in https://github.com/zkSNACKs/WalletWasabi/pull/11223CoinJoinClient started
debug log level by @MarnixCroes in https://github.com/zkSNACKs/WalletWasabi/pull/11228Full Changelog: https://github.com/zkSNACKs/WalletWasabi/compare/v2.0.2.1...v2.0.4
Go to Repo Go to ReleasePublished: 2023-08-21 08:34:25 UTC
Full Changelog: https://github.com/ACINQ/bitcoin-lib/compare/v0.28...v0.29
Go to Repo Go to ReleasePublished: 2023-08-19 08:22:36 UTC
This release fixes an issue (see #394) with withdrawals/payments done through LNURL affecting the new 2.0.0 version (legacy app is not affected).
For users upgrading from the legacy app (1.x) to the new app, a migration is needed. See the 2.0.0 release notes for details about the migration process.
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-08-17 00:39:28 UTC
Also available on PyPi and can be installed with pip install -U hwi
Published: 2023-08-16 14:55:38 UTC
This is a major release that reworks most of the application. An automated migration is available for existing users.
Due to the changes in the LN engine and the switch to splicing (see below), existing channels created with v1.x cannot be used by the new app. A migration process merges them together resulting in a single channel.
Users with existing wallets will remain on the legacy app, until their funds are migrated. This migration is triggered manually by the user from the legacy app.
⚠️ Important notes - The migration process will only migrate channels that have at least 546 satoshi on the user's side. Channels with less than 546 sat cannot be migrated since their balance is below the Bitcoin dust limit, and funds are swiped by the miners. The app will display a warning when that's the case. - Once the app has migrated, the legacy swap-in address must not be used ever again. Contact support if you accidentally send funds to the legacy swap-in address. - The migration process may sometimes be disabled, usually when the mempool is congested. When that happens, the migration button is not available, and users can keep using the legacy app.
eclair
to lightning-kmp
Both eclair and lightning-kmp are implementations of a Lightning node and are developed by us (ACINQ). However eclair is written in scala, targets server use-cases (relaying payments) and only runs on Android. Lightning-kmp is written in kotlin multiplatform, targets mobile platforms, and can run on iOS and Android.
Phoenix Android used to be powered by eclair, and Phoenix iOS by lightning-kmp. With this new versions, both Android/iOS use lightning-kmp.
Splicing allows altering channels by adding or removing funds. Instead of managing multiple channels, the app only has one single channel, which will then be modified depending on usage. This brings significant improvements: - on-chain swaps (swap-in or swap-out) are now trustless. - the static 1% fee for incoming payments that need new channels has been removed. Instead users pay the mining fee for the splicing operation. - that fee cannot exceed the maximum fee set by the user (in settings > channels management). Default maximum is 5000 sat. - a notification is displayed when an incoming payment is rejected because of the fee. - the fee for outgoing Lightning payments is now static (0.4 %) and is displayed before sending the payment. - unconfirmed on-chain transactions can be accelerated.
See https://github.com/ACINQ/phoenix/pull/356 and https://acinq.co/blog/phoenix-splicing-update for more information, especially the fee comparison.
The Android app is now able to convert prices to 150+ currencies, including free market rates (like for the Argentine Peso). Exchange rates should also be more accurate.
Successful payments can now be exported to a CSV file.
The iOS and Android apps are not compatible yet, since the iOS app does not support splicing yet. Using the same seed on both iOS and Android Phoenix apps will lead to issues.
https://github.com/ACINQ/phoenix/compare/android-legacy-v1.4.27...android-v2.0.0
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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
Published: 2023-08-14 21:57:49 UTC
This update brings additions and enhancements to the JSON-RPC API and security and performance improvements. Although this upgrade is not mandatory, we highly recommend that users upgrade their nodes to the latest version.
A non-comprehensive list of changes included in this version is:
Full Changelog: https://github.com/rsksmart/rskj/compare/FINGERROOT-5.0.0...FINGERROOT-5.1.0
Fingerroot 5.1.0 Milestone: https://github.com/rsksmart/rskj/milestone/36
SHA256 (see Reproducible Build guide for further details): 0c0707d01d14c7bef5a53407aace8b2a637d42964f9847b14aa38e2088e5cf3b rskj-core-5.1.0-FINGERROOT-all.jar
Go to Repo Go to ReleasePublished: 2023-08-11 17:50:21 UTC
Published: 2023-08-11 01:30:37 UTC
Hotfix for compatibility with some DIY hardware
Full release details: https://github.com/Start9Labs/start-os/releases/tag/v0.3.4.4
Full Changelog: https://github.com/Start9Labs/start-os/compare/v0.3.4.4...v0.3.4.4-hotfix
BLAKE-3
ceeaacfb27d5b5e196e695a43413e1020f67c96df5b2606ec7087eb8ad8fe69e aarch64-nonfree.iso/startos-0.3.4.4-9322b3d-20230810_aarch64-nonfree.iso
b48047ea7df90ac07075a0aeda730ee656d9a6080731e651c255283d1fb9f8bd aarch64.iso/startos-0.3.4.4-9322b3d-20230810_aarch64.iso
dafece5f39df1a3fafd9ea3f30eb1d945e09e09a4929c3a0e7863f7b1d80d188 x86_64-nonfree.iso/startos-0.3.4.4-9322b3d-20230810_x86_64-nonfree.iso
4a599a5d4de198fd126c05dcb303d523d80a3d54ac5eb63c871991d8456a0a54 x86_64.iso/startos-0.3.4.4-9322b3d-20230810_x86_64.iso
d80711dda524b09a14c4be71d34e17c6820d6603007a09d7f030f7ed69fd9a31 raspberrypi.img/startos-0.3.4.4-9322b3d-20230810_raspberrypi.img.gz
SHA-256
e4615623a25cc2490e31d80ff0bed3cd960e8b08b65109a955e760a130e463c0 aarch64-nonfree.iso/startos-0.3.4.4-9322b3d-20230810_aarch64-nonfree.iso
693e7c4749bffb82f450f1ad291e738837402b9baf78874dd2c7afaba28be5d1 aarch64.iso/startos-0.3.4.4-9322b3d-20230810_aarch64.iso
3d85e0f55ac56745cb8722e84a2dfd295d33d3c69a23c36cac1d89abb08132dd x86_64-nonfree.iso/startos-0.3.4.4-9322b3d-20230810_x86_64-nonfree.iso
a6c5c874818f6d76147fc89e93d795d2c0d511451c6e5cd4354cb2499156c606 x86_64.iso/startos-0.3.4.4-9322b3d-20230810_x86_64.iso
1a809c06379ec2be65add56081747d8cfe6f5d004c1e8ebe9b4fb9e9030159fb raspberrypi.img/startos-0.3.4.4-9322b3d-20230810_raspberrypi.img.gz
Published: 2023-08-07 23:20:41 UTC
Full Changelog: https://github.com/Start9Labs/start-os/compare/v0.3.4.3...v0.3.4.4
aarch64.iso
to fix compatibility issue with UTM for macOSBLAKE-3
29f0a4f8a22072fc6f604e650eb3c47d6f9c60ae4312b8105a1b680f7c04b382 startos-0.3.4.4-9322b3d-20230809_aarch64.iso
1d8c6a896ee1d2755be444c483f93ab87a60d63cedc8b8a23c30cfb236757181 startos-0.3.4.4-55f5329-20230807_aarch64-nonfree.iso
51c1d466c0696390d5a0072808b8e65b5caf8d8d34c276da27f0f943bc00c6c0 startos-0.3.4.4-55f5329-20230807_raspberrypi.img.gz
e596d981407823eb2c1d7ebd1f83ac3d4afd9a23ebbd3b669b85cba7fe7daa17 startos-0.3.4.4-55f5329-20230807_x86_64.iso
112999b2ed3d86d9ae394aa3de08dbd78a04c95d19f8a68303bd99368a23fda2 startos-0.3.4.4-55f5329-20230807_x86_64-nonfree.iso
SHA-256
b8e099e011058532ffe95b76d067fe3cc27f2924873d9e193cf541d4557d3af9 startos-0.3.4.4-9322b3d-20230809_aarch64.iso
bfac354c9b8e8a619b9faafb5e9e5339b78a80e752aaf64a44d9bc0004a83448 startos-0.3.4.4-55f5329-20230807_aarch64-nonfree.iso
f61f90083abf0972990a6c982b803854d9d53d312bbfe1e28ceb0ad978249ec0 startos-0.3.4.4-55f5329-20230807_raspberrypi.img.gz
3e44c9a42773f2ab797f337efe2b8b9a3af0410f262e948d1dec4dd0452da3d9 startos-0.3.4.4-55f5329-20230807_x86_64.iso
4852b649f17328aad0e9725410d219d9edf9caff9bb9a3dc91e23743afb37c96 startos-0.3.4.4-55f5329-20230807_x86_64-nonfree.iso
Published: 2023-07-29 08:02:07 UTC
Published: 2023-07-27 13:21:02 UTC
Published: 2023-07-27 00:41:23 UTC
Published: 2023-07-25 02:54:41 UTC
Also available on PyPi and can be installed with pip install -U hwi
hwi
binary for MacOS 12.0+ (hwi-qt
cannot be built yet)Published: 2023-07-21 23:22:36 UTC
ChannelHandshakeConfig::negotiate_anchors_zero_fee_htlc_tx
should be
prepared to handle the new Event::BumpTransaction
, e.g. via the
BumpTransactionEventHandler
(#2089). Note that in order to do so you must
ensure you always have a reserve of available unspent on-chain funds to use
for CPFP. LDK currently makes no attempt to ensure this for you.ChannelHandshakeConfig::negotiate_anchors_zero_fee_htlc_tx
and wish to accept inbound anchor-based channels must do so manually by
setting UserConfig::manually_accept_inbound_channels
(#2368).lightning{,-invoice}
crates (#2416).Score
rs now have an associated type which represents a parameter passed
when calculating penalties. This allows for the same Score
r to be used with
different penalty calculation parameters (#2237).DefaultRouter
is no longer restrained to a Mutex
-wrapped Score
,
allowing it to be used in no-std
builds (#2383).CustomMessageHandler::provided_{node,init}_features
and various custom
feature bit methods on *Features
were added (#2204).UserConfig::accept_mpp_keysend
is set and when sending if specified in the
PaymentParameters
. Note that not all recipients support this (#2156).ConfirmationTarget::MempoolMinimum
has been added (#2415).SpendableOutputDescriptor::to_psbt_input
was added (#2286).ChannelManager::update_partial_channel_config
was added (#2330).ChannelDetails::channel_shutdown_state
was added (#2347).ChannelManager::close_channel_with_feerate_and_script
(#2219).BroadcasterInterface
now takes multiple transactions at once. While not
available today, in the future single calls should be passed to a full node
via a single batch/package transaction acceptance API (#2272).Balance::claimable_amount_satoshis
was added (#2333).payment_{hash,preimage}
have been added to some Balance
variants (#2217).lightning::chain::keysinterface
is now lightning::sign
(#2246).ChannelManager
(#2120).OffersMessageHandler
was added for offers-related onion messages (#2294).CustomMessageHandler
parameter to PeerManager
has moved to
MessageHandler
from PeerManager::new
explicitly (#2249).ChannelManager
(#1794)sign
interfaces can now return errors, see docs
for the implications of failing (#2213).data_loss_protect
option is now required when reading
channel_reestablish
messages, as many others have done (#2253).InFlightHtlcs::add_inflight_htlc
has been added (#2042).init
message networks
field is now written and checked (#2329).PeerManager
generics have been simplified with the introduction of the
APeerManager
trait (#2249).ParitalOrd
and Ord
are now implemented for Invoice
(#2279).ParitalEq
and Debug
are now implemented for InMemorySigner
(#2328).ParitalEq
and Eq
are now implemented for PaymentError
(#2316).NetworkGraph::update_channel_from_announcement_no_lookup
was added (#2222).lightning::routing::gossip::verify_{channel,node}_announcement
was added
(#2307).PaymentParameters
written with blinded path info using LDK 0.0.115 will not
be readable in LDK 0.0.116, and vice versa.Event::HTLCIntercepted::expected_outbound_amount_msat
in ChannelManager::forward_intercepted_htlc
may prevent the
ChannelManager
from being read by LDK prior to 0.0.116 (#2319)ChannelConfig::accept_underpaying_htlcs
may prevent the
ChannelManager
from being read by LDK prior to 0.0.116 and un-setting the
parameter between restarts may lead to payment failures (#2319).ChannelManager::create_inbound_payment{,_for_hash}_legacy
has been removed,
removing the ability to create inbound payments which are claimable after
downgrade to LDK 0.0.103 and prior. In the future handling such payments will
also be removed (#2351).ChannelDetails::next_outbound_htlc_limit_msat
was made substantially more
accurate and a corresponding next_outbound_htlc_minimum_msat
was added.
This resolves issues where unpayable routes were generated due to
overestimation of the amount which is payable over one of our channels as
the first hop (#2312).Event
s generated by
ChannelMonitor
s could lead to loss of those events in case of an untimely
crash. This could lead to the loss of an Event::SpendableOutputs
(#2369).PendingHTLCsForwardable
events
to be missed when processing phantom node receives. This caused such
payments to be delayed until a further, unrelated HTLC came in (#2395).ChannelManager::new
now requires the current time (either from a recent
block header or the system clock), ensuring invoices created immediately
after startup aren't already expired (#2372).ProbabilisticScorer
on some platforms
(e.g. iOS) can lead to a panic (#2322).ChannelConfig::max_dust_htlc_exposure
is now allowed to scale based on
current fees, and the default has been updated to do so. This substantially
reduces the chance of force-closure due to dust exposure. Note that existing
channels will retain their current value and you may wish to update the
value on your existing channels on upgrade (#2354).PeerManager::process_events
no longer blocks in any case. This fixes a bug
where reentrancy from PeerManager
into user code which eventually calls
process_events
could lead to a deadlock (#2280).lightning-background-processor
has been tweaked to provide more reliable
persistence after updates to either (#2226).lightning-invoice::utils
builders has been reduced to three to ensure
invoices can be represented in scan-able QR codes (#2044).ChannelManager
or
ChannelMonitor
is drop
ed (#2233).NetworkGraph::eq
was resolved (#2284).RouteHintHop::htlc_maximum_msat
is now enforced. Note that BOLT11 route
hints do not have such a field so this code is generally unused (#2305).0.0.116 fixes a denial-of-service vulnerability which is reachable from
untrusted input from channel counterparties if a 0-conf channel exists with
that counterparty.
* A premature announcement_signatures
message from a peer prior to a 0-conf
channel's funding transaction receiving any confirmations would panic in any
version since 0-conf channels were introduced (#2439).
In total, this release features 142 files changed, 21033 insertions, 11066 deletions in 327 commits from 21 authors, in alphabetical order: * Alec Chen * Andrei * Antoine Riard * Arik Sosman * Chad Upjohn * Daniel Granhão * Duncan Dean * Elias Rohrer * Fred Walker * Gleb Naumenko * Jeffrey Czyz * Martin Habovstiak * Matt Corallo * Tony Giorgio * Valentine Wallace * Vladimir Fomene * Willem Van Lint * Wilmer Paulino * benthecarman * ff * henghonglee
Go to Repo Go to ReleasePublished: 2023-07-21 13:40:17 UTC
https://github.com/romanz/electrs/blob/master/RELEASE-NOTES.md#0100-jul-22-2023
Go to Repo Go to ReleasePublished: 2023-07-18 21:39:13 UTC
Published: 2023-07-18 14:16:09 UTC
useZbar
config variable to disable zbar scanning (enabled by default)Want to add another project? Make a PR!