Releases: litecoin-project/litecoin
Litecoin Core v0.21.4
Litecoin Core version 0.21.4 is now available from:
https://download.litecoin.org/litecoin-0.21.4/.
This is a new patch version release that includes, new features and important security updates.
Please report bugs using the issue tracker at GitHub:
https://github.com/litecoin-project/litecoin/issues
Notable changes
Important Security Updates
This release contains fixes for the following security vulnerabilities:
-
CVE-2024-35202,
which allows remote attackers to cause a denial of service (blocktxn message-handling assertion and node exit)
by including transactions in a blocktxn message that are not committed to in a block's merkle root.
FillBlock can be called twice for one PartiallyDownloadedBlock instance.5d4a2e5
: backported from Bitcoin Core (a8897f6
)
-
Hindered block propagation due to mutated blocks,
where a peer could send mutated blocks which could clear the download state of other peers that also announced block, hindering block propagation.dab3bb7
: backported from Bitcoin Core (dbfc748
)
-
Infinite loop bug in miniupnp dependency,
which could be exploited by an attacker on the local network to trigger an OOM.16ba8b8
: backported from Bitcoin Core (fa2a5b8
)
Bug fixes
0d04e75
: default -peerblockfilters and -blockfilterindex to off when pruning is enabled
Test related fixes
7d9fea0
: fix functional tests that were broken by changes in 0.21.3
Hashes for verification
These are the SHA-256 hashes of the released files:
517e3a9069e658eb92de98c934c61836589ee2410d99464a768a5698985926c9 litecoin-0.21.4-aarch64-linux-gnu.tar.gz
84fd40aff5f6ed745518c736e379900d6bf4e1197d7329e57c39e21c0f36137d litecoin-0.21.4-arm-linux-gnueabihf.tar.gz
1ae347f6e77c10f857d98a18b778ec4fc2449b7bb51c425bad726b02cb9ef876 litecoin-0.21.4-osx.dmg
fa299a683930ab3f6cf5c712599d6723d12a31ccbd8a92585a0a0e3a4e40860d litecoin-0.21.4-osx64.tar.gz
255e7ee3bf3af4131d0e1e9f0bf32d2df54f4944e99b1f3235214bf0654e085c litecoin-0.21.4-riscv64-linux-gnu.tar.gz
04433654eae1fe27faca79b193d0a31a4aa6f91b51207b88039f6ddae4918ad6 litecoin-0.21.4-win64-setup.exe
70a45828ef3042de9b8d07d4610b2714d2b0047689b2b0c65e035207284dfdc2 litecoin-0.21.4-win64.zip
857fc41091f2bae65c3bf0fd4d388fca915fc93a03f16dd2578ac3cc92898390 litecoin-0.21.4-x86_64-linux-gnu.tar.gz
ba0922213f69c1b1a1d6c3441c5ea3696b538437533555ab74268f075f0de5d3 litecoin-0.21.4.tar.gz
Credits
Thanks to everyone who directly contributed to this release:
Litecoin Core v0.21.3
Litecoin Core version 0.21.3 is now available from:
https://download.litecoin.org/litecoin-0.21.3/.
This is a new patch version release that includes, new features and important security updates.
Please report bugs using the issue tracker at GitHub:
https://github.com/litecoin-project/litecoin/issues
Notable changes
Important Security Updates
This release contains fixes for CVE-2023-33297, which allows attacker to cause a remote bandwidth and cpu denial of service. This attack has been exploited in the wild.
2170c24
: backported from Bitcoin Core v24.x
New MWEB features
215edcf
-1049218
: add MWEB light client p2p messages. This implements LIP006.4c3d4f2
: adds new NODE_MWEB_LIGHT_CLIENT service flag. Enables BIP157/158 blockfilters by default (opt-out by default).
Build changes
bf355d2
: rename the PID file to litecoind.pid5ac7814
: improve build instructions for unix systems24a0299
: fix building with Boost 1.77+a376e2e
-0698e23
: build changes for macOS. Primarily updates macOS build SDK to Xcode 12.1, increasing minimum macOS version to 10.15.6. These changes fix an issue where Litecoin-Qt UI may not appear as expected on macOS 14+.41b4c16
: fixes builds on Alpine Linux/musl.3b590e9
: hardened runtime build for signed macOS builds
Test related fixes
53dbe58
: fix tests, disabling unused test and missing expected values8e16ef3
: fixes macOS test, issue #942.260de84
: run secp256k1-zkp tests. fixes bench test and secp256k1 test.c2a4fc3
: fixes another secp256k1-zkp testc2a4fc3
: disabled run_schnorrsig_tests() in secp256k1-zkp.7e3c1f5
: disable secp256k1-zkp openssl test, fixingmake check
on macOS.
Qt
f1c0ecf
: reverts tempfix where macOS 14+ unexpectedly uses Fusion UI theme917312b
: Add context menu option for rebroadcasting unconfirmed transactions
Hashes for verification
These are the SHA-256 hashes of the released files:
e889ab7aaa514e1be7266ab335f82a7db1f5598ad514099a486023fe401808c7 litecoin-0.21.3-aarch64-linux-gnu.tar.gz
4ce97f1723cfa46a06f890309a0405ef9046a8c057d071506adf7937b8c77f43 litecoin-0.21.3-arm-linux-gnueabihf.tar.gz
9b36a5b59f2a1632d5ec39f266332648d9148ab2895f4b3fd9ec1a9a6c08ded9 litecoin-0.21.3-osx.dmg
3c8c5131135cda616f26e7bfa053da30dff42e26c3bb0ce7c2a751ab62861226 litecoin-0.21.3-osx64.tar.gz
a3310f2a07e02d181ff795a79dae61ececbcdcf1817a3d0e0ff42457437821cd litecoin-0.21.3-riscv64-linux-gnu.tar.gz
fd1d57fd880e1da2f4ef20c3f9d8f2868890ad6cb276c7b765ce8515cf847cd6 litecoin-0.21.3-win64-setup.exe
0e84ef9fea724c2c9e6b92a9934240eebd7ac0b0ac576f7a19406c470c38aef2 litecoin-0.21.3-win64.zip
ea231c630e2a243cb01affd4c2b95a2be71560f80b64b9f4bceaa13d736aa7cb litecoin-0.21.3-x86_64-linux-gnu.tar.gz
e08642fb1d4ca3891981e6fd39f8c9fbc995d0db8b6b1c3f8f8671de8e120f9a litecoin-0.21.3.tar.gz
Credits
Thanks to everyone who directly contributed to this release:
v0.21.3rc3
v0.21.3rc3
Litecoin Core v0.21.2.2
Litecoin Core v0.21.2.2 Release
Follow our Twitter for the latest dev news.
We are pleased to release Litecoin Core 0.21.2.2. This is a new minor version release, including an important security update affecting prior versions. It is recommended for all users to upgrade to this version.
Notable Changes
Important Security Updates
This release contains fixes that harden node and network security. These fixes are important for every node operator and wallet user.
Limit and tightly manage memory usage in events of high network traffic or when connected to extremely slow peers. This protects nodes on lower end hardware to not run out of memory in the face of increased network activity.
RPC API Changes
Added addconnection for use by functional tests.
getpeerinfo provides 2 new fields per peer, addr_processed and addr_rate_limited, that track addr message processing.
Download Binaries
To download, please visit the download page here. Alternatively, you can view the download folder here.
Please use GPG to verify the integrity of the release binaries. This ensures that the binary you have downloaded has not been tampered with. Linux, MacOS and Win32 cygwin command line GPG instructions are available here. Please also note that we GPG sign the binaries as a convenience to you, the ultimate way to verify the integrity of the builds is to build them yourself using Gitian. Instructions on how to perform these builds, can be found here.
For this release, the binaries have been signed with key identifier 0x3620e9d387e55666 (davidburkett38's key).
WARNING
Despite this version being heavily tested, this version may still contain bugs. Always backup your wallet.dat file before upgrading. If you encounter any issues, please let us know by posting to the bug reporting section below.
Source code & Build instructions
The master branch contains the latest commits to the next stable releases of Litecoin Core.
https://github.com/litecoin-project/litecoin/commits/master
Build instructions for Linux can be found here.
Build instructions for OSX can be found here.
Builds instructions for Windows can be found here.
Bug Reporting
Submit any issues you encounter here and one of the Litecoin developers will assist you.
Issues · litecoin-project/litecoin
Hashes for verification
These are the SHA-256 hashes of the released files:
debd14da7796dcf9bb96ca0e2c7ca3bc6a4d5907b5b9e2950e66d0980a96610b litecoin-0.21.2.2-arm-linux-gnueabihf.tar.gz
cd2fb921bdd4386380ea9b9cb949d37f17764eaac89b268751da5ac99e8003c1 litecoin-0.21.2.2-aarch64-linux-gnu.tar.gz
d53d429d4a0e36670df3d6c5c4eadfca6aac3d4b447a23106cfd490cfc77e9f2 litecoin-0.21.2.2-x86_64-linux-gnu.tar.gz
fb72a10459ba33b978e02539958449f1adf726ec3e3655ab2b83d5d31052ff8f litecoin-0.21.2.2-riscv64-linux-gnu.tar.gz
fe5b2a5f747972940bf4d6eb489c11f3c739bb443168c28b277c0130cc737d35 litecoin-0.21.2.2-win64-setup.exe
df4e4a2d3de2c4990274e9a8cd51adfe95b748014a60188877d5342929e462f3 litecoin-0.21.2.2-win64.zip
c04366711c27acb0196c40b83f833f40b5431ad35c15809aa7f93b84b96eb7ff litecoin-0.21.2.2.tar.gz
e65218b9309ce6edb288d618a0bc0b2edb37e0a429e2304c27a42788fa888c9f litecoin-0.21.2.2-osx64.tar.gz
c13c0e436e123d6593b55ded38feafffb3c23e94d7cbcfef03d65192e620d973 litecoin-0.21.2.2-osx.dmg
Credit
Thanks to everyone who directly contributed to this release:
- The Bitcoin Core Developers
- David Burkett
- Jon Atack
- Pieter Wuille
Litecoin Core v0.21.2.1
Litecoin Core v0.21.2.1 Release
Follow our Twitter for the latest dev news.
We are pleased to release Litecoin Core 0.21.2.1. This is a new minor version release, including a critical bug fix introduced in the previous release. It is recommended for all users to upgrade to this version.
Notable changes
An issue with MWEB key generation for older wallets that were upgraded was solved. Keys are now generated from the appropriate keypools, and coins sent to previously generated stealth addresses are recoverable. Use rescanblockchain after upgrading to recover any missing MWEB coins.
Download Binaries
To download, please visit the download page here. Alternatively, you can view the download folder here.
Please use GPG to verify the integrity of the release binaries. This ensures that the binary you have downloaded has not been tampered with. Linux, MacOS and Win32 cygwin command line GPG instructions are available here. Please also note that we GPG sign the binaries as a convenience to you, the ultimate way to verify the integrity of the builds is to build them yourself using Gitian. Instructions on how to perform these builds, can be found here.
For this release, the binaries have been signed with key identifier 0x3620e9d387e55666 (davidburkett38’s key).
WARNING
Despite this version being heavily tested, this version may still contain bugs. Always backup your wallet.dat file before upgrading. If you encounter any issues, please let us know by posting to the bug reporting section below.
Source code & Build instructions
The master branch contains the latest commits to the next stable releases of Litecoin Core.
Source code & Build instructions
The master branch contains the latest commits to the next stable releases of Litecoin Core.
https://github.com/litecoin-project/litecoin/commits/master
Build instructions for Linux can be found here.
Build instructions for OSX can be found here.
Builds instructions for Windows can be found here.
Bug Reporting
Submit any issues you encounter here and one of the Litecoin developers will assist you.
https://github.com/litecoin-project/litecoin/issues
Mailing Lists
Sign up for announcements only or development discussion.
https://groups.google.com/forum/#!forum/litecoin-announce
https://groups.google.com/forum/#!forum/litecoin-dev
Hashes for verification
These are the SHA-256 hashes of the released files:
95491d137527fc3c232cc482a223874f23960a70e624092a280c82540326e5a0 litecoin-0.21.2.1-aarch64-linux-gnu.tar.gz
ffa0c82d87624bb29dcaba6ebf55fd916c9981d5fbaa5627a3f1c07b47535270 litecoin-0.21.2.1-arm-linux-gnueabihf.tar.gz
ff6d6248aedda1248b1a33dabf828b06d559e909262199a5e305225f7b5b0f00 litecoin-0.21.2.1-riscv64-linux-gnu.tar.gz
6e545d1ef0842b9c4ecaf2e22b43f17fd3fba73599b0d6cc1db0c9310f1a74ff litecoin-0.21.2.1-x86_64-linux-gnu.tar.gz
3b05591f117d487de0323ad3aca30b64a086125c22992a4c528c789db75b5b81 litecoin-0.21.2.1-osx.dmg
d4462b58811bc35c3160c204cc85e94ebe27e57b816ed5bd607f7e22cf3d4131 litecoin-0.21.2.1-win64-setup.exe
Credits
Thanks to everyone who directly contributed to this release:
- The Bitcoin Core Developers
- David Burkett
Litecoin Core v0.21.2
Litecoin Core v0.21.2 Release
Follow our Twitter for the latest dev news.
We are pleased to release Litecoin Core 0.21.2. This is a new major version release, including new features, various bugfixes and performance improvements, as well as updated translations. This update includes full node, wallet and mining support for MWEB. It is recommended for all users to upgrade to this version.
How to upgrade:
Firstly, thank you for running Litecoin Core and helping secure the network!
As you’re running an older version of Litecoin Core, shut it down. Wait until it’s completely shut down - which might take a few minutes for older versions - then follow these simple steps:
For Windows: simply run the installer
For Mac: copy over to /Applications/Litecoin-Qt
For Linux: copy cover litecoind
/litecoin-qt
.
NB: upgrading directly from an ‘end of life’ version of Litecoin Core is possible, but it might take a while if the data directory needs to be migrated. Old wallet versions of Litecoin Core are generally supported.
Compatibility:
Litecoin Core is supported and extensively tested on operating systems using the Linux kernel, macOS 10.10+, Windows 7 and newer. It’s not recommended to use Litecoin Core on unsupported systems.
Litecoin Core should also work on most other Unix-like systems, but is not as frequently tested on them.
MWEB fields added to BlockIndex, and block serialization format has changed. Downgrading to older versions is unsafe.
If upgrading to 0.21.2 after MWEB has activated, you must resync to download MWEB blocks.
Notable changes
Consensus changes
P2P and network changes
-
A new service flag, NODE_MWEB (1 << 24), was added to signal to peers that the node supports MWEB.
When connected peers both advertise this capability, they are expected to provide all MWEB data when
sharing transactions, blocks, and compact blocks with each other. -
Nodes now announce compact block version 3 support, informing peers that they can provide MWEB data
in compact blocks.
Updated RPCs
-
getblockheader
now returns an additionalmweb_header
field containing
all of the MWEB header data, and anmweb_amount
field containing the total
number of coins pegged-in to the MWEB after applying the block. -
getblock
now returns an additionalmweb
field containing MWEB header info,
and all of the inputs, outputs, and kernels in the MWEB block. -
Added
mwebweight
,descendantmwebweight
,ancestormwebweight
, andmweb
fields togetrawmempool
,getmempoolancestors
,getmempooldescendants
,
andgetmempoolentry
. -
Added new fields to describe MWEB transaction inputs, outputs, and kernels
forgetrawtransaction
.
Changes to Wallet or GUI related RPCs can be found in the GUI or Wallet section below.
New settings
- Added "fMWEBFeatures" option for enabling the new "Advanced MWEB Features"
control.
Wallet Database
-
Added "mweb_coin" type which stores MWEB coins and their derived keys.
-
Added CHDChain version 4 which includes an MWEB key index counter and
the stealth address scan key. -
Added CKeyMetadata version 14 which includes the MWEB key index.
-
Added FEATURE_MWEB = 210000 minimum database version.
Wallet RPC changes
- Added 'listwallettransactions' which matches the transaction list display values.
GUI changes
- Added an "Advanced MWEB Features" control for testing. It’s only available
when the "-debug" argument is supplied, and the option is turned on in the
settings dialog.
Download Binaries
To download, please visit the download page here. Alternatively, you can view the download folder here.
Please use GPG to verify the integrity of the release binaries. This ensures that the binary you have downloaded has not been tampered with. Linux, MacOS and Win32 cygwin command line GPG instructions are available here. Please also note that we GPG sign the binaries as a convenience to you, the ultimate way to verify the integrity of the builds is to build them yourself using Gitian. Instructions on how to perform these builds, can be found here.
For this release, the binaries have been signed with key identifier 0x3620e9d387e55666 (davidburkett38’s key).
WARNING
Despite this version being heavily tested, this version may still contain bugs. Always backup your wallet.dat file before upgrading. If you encounter any issues, please let us know by posting to the bug reporting section below.
Source code & Build instructions
The master branch contains the latest commits to the next stable releases of Litecoin Core.
Source code & Build instructions
The master branch contains the latest commits to the next stable releases of Litecoin Core.
https://github.com/litecoin-project/litecoin/commits/master
Build instructions for Linux can be found here.
Build instructions for OSX can be found here.
Builds instructions for Windows can be found here.
Bug Reporting
Submit any issues you encounter here and one of the Litecoin developers will assist you.
https://github.com/litecoin-project/litecoin/issues
Mailing Lists
Sign up for announcements only or development discussion.
https://groups.google.com/forum/#!forum/litecoin-announce
https://groups.google.com/forum/#!forum/litecoin-dev
Hashes for verification
These are the SHA-256 hashes of the released files:
b5a0b5bdf45c5e1f26c73a0be751ceb90c93fad8679aebe22ed5f64f615aea6b litecoin-0.21.2-aarch64-linux-gnu.tar.gz
e15b4d9db8807706c3492c05287f04c44956e3cdb77ebf4f87e19a296aa3a06b litecoin-0.21.2-arm-linux-gnueabihf.tar.gz
cb2a1504f151646d735d198ce77a1c1e4fea3ff672ed60549d6aa9f1d4a19b09 litecoin-0.21.2-riscv64-linux-gnu.tar.gz
94a10a217d91d29e97e7a0088bc1545f34b188297c3ce5b87b07e775d8d00b12 litecoin-0.21.2-x86_64-linux-gnu.tar.gz
39d0df6aecace19e91c9849d09aaeb60c0bb73b34a97c7b8ccae402da634cfa2 litecoin-0.21.2-osx.dmg
b0ab5fc95d8b7cfe990cc6d90d0af6f6f2d447b6a0bca162a72d12c3df1676a7 litecoin-0.21.2-win64-setup.exe
Credits
Thanks to everyone who directly contributed to this release:
- The Bitcoin Core Developers
- DavidBurkett
- hectorchu
- losh11
v0.21.1rc1
Litecoin Core v0.18.1
Litecoin Core v0.18.1 Release
Follow our Twitter for the latest dev news.
We are pleased to release Litecoin Core 0.18.1. This is a new major version release, including new features, various bugfixes and performance improvements, as well as updated translations. It is recommended for all users to upgrade to this version.
How to Upgrade
If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), then run the installer (on Windows) or just copy over /Applications/Litecoin-Qt
(on Mac) or litecoind
/litecoin-qt
(on Linux).
The first time you run version 0.15.0 or newer, your chainstate database will be converted to a new format, which will take anywhere from a few minutes to half an hour, depending on the speed of your machine.
Note that the block database format also changed in version 0.8.0 and there is no automatic upgrade code from before version 0.8 to version 0.15.0 or later. Upgrading directly from 0.7.x and earlier without redownloading the blockchain is not supported. However, as usual, old wallet versions are still supported.
Compatibility
Litecoin Core is supported and extensively tested on operating systems using the Linux kernel, macOS 10.10+, and Windows 7 and newer. It is not recommended to use Litecoin Core on unsupported systems.
Litecoin Core should also work on most other Unix-like systems but is not as frequently tested on them.
From 0.17.0 onwards, macOS <10.10 is no longer supported. 0.17.0 is built using Qt 5.9.x, which doesn't support versions of macOS older than 10.10. Additionally, Litecoin Core does not yet change appearance when macOS "dark mode" is activated.
In addition to previously-supported CPU platforms, this release's pre-compiled distribution also provides binaries for the RISC-V platform.
Known issues
Wallet GUI
For advanced users who have both (1) enabled coin control features, and (2) are using multiple wallets loaded at the same time: The coin control input selection dialog can erroneously retain wrong-wallet state when switching wallets using the dropdown menu. For now, it is recommended not to use coin control features with multiple wallets loaded.
Notable changes
Mining
- Calls to
getblocktemplate
will fail if the segwit rule is not specified. Callinggetblocktemplate
without segwit specified is almost certainly a misconfiguration since doing so results in lower rewards for the miner. Failed calls will produce an error message describing how to enable the segwit rule.
Configuration option changes
- A warning is printed if an unrecognized section name is used in the configuration file. Recognized sections are
[test]
,[main]
, and[regtest]
. - Four new options are available for configuring the maximum number of messages that ZMQ will queue in memory (the "high water mark") before dropping additional messages. The default value is 1,000, the same as was used for previous releases. See the ZMQ documentation for details.
- The
rpcallowip
option can no longer be used to automatically listen on all network interfaces. Instead, therpcbind
parameter must be used to specify the IP addresses to listen on. Listening for RPC commands over a public network connection is insecure and should be disabled, so a warning is now printed if a user selects such a configuration. If you need to expose RPC in order to use a tool like Docker, ensure you only bind RPC to your localhost, e.g.docker run [...] -p 127.0.0.1:9332:9332
(this is an extra:9332
over the normal Docker port specification). - The
rpcpassword
option now causes a startup error if the password set in the configuration file contains a hash character (#), as it's ambiguous whether the hash character is meant for the password or as a comment. - The
whitelistforcerelay
option is used to relay transactions from whitelisted peers even when not accepted to the mempool. This option now defaults to being off, so that changes in policy and disconnect/ban behavior will not cause a node that is whitelisting another to be dropped by peers. Users can still explicitly enable this behavior with the command line option (and may want to consider contacting the Litecoin Core project to let us know about their use-case, as this feature could be deprecated in the future).
Wallet changes
When creating a transaction with a fee above -maxtxfee
(default 0.1 LTC), the RPC commands walletcreatefundedpsbt
and fundrawtransaction
will now fail instead of rounding down the fee. Beware that the feeRate
argument is specified in LTC per kilobyte, not litoshi per byte.
Documentation
- A new short document about the JSON-RPC interface describes cases where the results of an RPC might contain inconsistencies between data sourced from different subsystems, such as wallet state and mempool state. A note is added to the REST interface documentation indicating that the same rules apply.
- Further information is added to the JSON-RPC documentation about how to secure this interface.
- A new document about the
litecoin.conf
file describes how to use it to configure Litecoin Core. - A new document introduces Litecoin Core's BIP174 Partially-Signed Litecoin Transactions (PSBT) interface, which is used to allow multiple programs to collaboratively work to create, sign, and broadcast new transactions. This is useful for offline (cold storage) wallets, multisig wallets, coinjoin implementations, and many other cases where two or more programs need to interact to generate a complete transaction.
- The output script descriptor documentation has been updated with information about new features in this still-developing language for describing the output scripts that a wallet or other program wants to receive notifications for, such as which addresses it wants to know received payments. The language is currently used in multiple new and updated RPCs described in these release notes and is expected to be adapted to other RPCs and to the underlying wallet structure.
Build system changes
- A new
--disable-bip70
option may be passed to./configure
to prevent Litecoin-Qt from being built with support for the BIP70 payment protocol or from linking libssl. As the payment protocol has exposed Litecoin Core to libssl vulnerabilities in the past, builders who don't need BIP70 support are encouraged to use this option to reduce their exposure to future vulnerabilities. - The minimum required version of Qt (when building the GUI) has been increased from 5.2 to 5.5.1 (the depends system provides 5.9.7)
New RPCs
getnodeaddresses
returns peer addresses known to this node. It may be used to find nodes to connect to without using a DNS seeder.listwalletdir
returns a list of wallets in the wallet directory (either the default wallet directory or the directory configured by the-walletdir
parameter).getrpcinfo
returns runtime details of the RPC server. At the moment, it returns an array of the currently active commands and how long they've been running.deriveaddresses
returns one or more addresses corresponding to an output descriptor.getdescriptorinfo
accepts a descriptor and returns information about it, including its computed checksum.joinpsbts
merges multiple distinct PSBTs into a single PSBT. The multiple PSBTs must have different inputs. The resulting PSBT will contain every input and output from all of the PSBTs. Any signatures provided in any of the PSBTs will be dropped.analyzepsbt
examines a PSBT and provides information about what the PSBT contains and the next steps that need to be taken in order to complete the transaction. For each input of a PSBT,analyzepsbt
provides information about what information is missing for that input, including whether a UTXO needs to be provided, what pubkeys still need to be provided, which scripts need to be provided, and what signatures are still needed. Every input will also list which role is needed to complete that input, andanalyzepsbt
will also list the next role in general needed to complete the PSBT.analyzepsbt
will also provide the estimated fee rate and estimated virtual size of the completed transaction if it has enough information to do so.utxoupdatepsbt
searches the set of Unspent Transaction Outputs (UTXOs) to find the outputs being spent by the partial transaction. PSBTs need to have the UTXOs being spent to be provided because the signing algorithm requires information from the UTXO being spent. For segwit inputs, only the UTXO itself is necessary. For non-segwit outputs, the entire previous transaction is needed so that signers can be sure that they are signing the correct thing. Unfortunately, because the UTXO set only contains UTXOs and not full transactions,utxoupdatepsbt
will only add the UTXO for segwit inputs.
Updated RPCs
Note: some low-level R...
Litecoin Core v0.17.1
Litecoin Core v0.17.1 Release
Follow the Twitter for the latest dev news.
We are pleased to release Litecoin Core 0.17.1. This is a new major version
release, including new features, various bugfixes and performance improvements,
as well as updated translations. It is recommended for all users to upgrade to
this version.
How to Upgrade
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over /Applications/Litecoin-Qt
(on Mac) or
litecoind
/litecoin-qt
(on Linux).
If your node has a txindex, the txindex db will be migrated the first time you
run 0.17.1 or newer, which may take up to a few hours. Your node will not be
functional until this migration completes.
The first time you run version 0.15.0 or newer, your chainstate database will be
converted to a new format. This will take anywhere from a few minutes to half an
hour depending on the speed of your machine.
Note that the block database format also changed in version 0.8.0 and there is
no automatic upgrade code from before version 0.8 to version 0.15.0. Upgrading
directly from 0.7.x and earlier without redownloading the blockchain is not
supported. However, as usual, old wallet versions are still supported.
Downgrading warning
The chainstate database for this release is not compatible with previous
releases, so if you run 0.15 and then decide to switch back to any older
version, you will need to run the old release with the
-reindex-chainstate
option to rebuild the chainstate data structures in the old
format.
If your node has pruning enabled, this will entail re-downloading and processing
the entire blockchain.
Compatibility
Litecoin Core is extensively tested on multiple operating systems using the
Linux kernel, macOS 10.10+, and Windows 7 and newer (Windows XP is not
supported).
Litecoin Core should also work on most other Unix-like systems but is not
frequently tested on them.
From 0.17.1 onwards macOS <10.10 is no longer supported. 0.17.1 is built using
Qt 5.9.x, which doesn’t support versions of macOS older than 10.10.
Known issues
- Upgrading from 0.13.2 or older currently results in memory blow-up during the
roll-back of blocks to the SegWit activation point. In these cases, a full
-reindex
is necessary. - The GUI suffers from visual glitches in the new MacOS dark mode. This has to do
with our Qt theme handling impacting older versions of Litecoin Core, but is
expected to be resolved in 0.17.1.
listtransactions
label support
The listtransactions
RPC account
parameter has been renamed to label
.
When litecoin is configured with the -deprecatedrpc=accounts
setting,
specifying a label/account/dummy argument will return both outgoing and incoming
transactions. Without the -deprecatedrpc=accounts
setting, it will only return
incoming transactions (because it used to be possible to create transactions
spending from specific accounts, but this is no longer possiblewith labels).
When -deprecatedrpc=accounts
is set, it's possible to pass the empty string ""
to list transactions that don't have any label. Without
-deprecatedrpc=accounts
, passing the empty string is an error because
returning only non-labeled transactions is not generally useful behavior and can
cause confusion.
Changed configuration options
-
-includeconf=<file>
can be used to include additional configuration files.
Only works inside thelitecoin.conf
file, not inside included files or from
command-line. Multiple files may be included. Can be disabled from command- line
via-noincludeconf
. Note that multi-argument commands like-includeconf
will
override preceding-noincludeconf
, i.e.noincludeconf=1
includeconf=relative.conf
as litecoin.conf will still include relative.conf
.
GUI changes
- Block storage can be limited under Preferences, in the Main tab. Undoing this
setting requires downloading the full blockchain again. This mode is
incompatible with -txindex and -rescan.
External wallet files
The -wallet=<path>
option now accepts full paths instead of requiring wallets
to be located in the -walletdir directory.
Newly created wallet format
If -wallet=<path>
is specified with a path that does not exist, it will now
create a wallet directory at the specified location (containing a wallet.dat
data file, a db.log file, and database/log.?????????? files) instead of just
creating a data file at the path and storing log files in the parent directory.
This should make backing up wallets more straightforward than before because the
specified wallet path can just be directly archived without having to look in
the parent directory for transaction log files.
For backwards compatibility, wallet paths that are names of existing data files
in the -walletdir
directory will continue to be accepted and interpreted the
same as before.
Dynamic loading and creation of wallets
Previously, wallets could only be loaded or created at startup, by specifying
-wallet
parameters on the command line or in the litecoin.conf file. It is now
possible to load, create and unload wallets dynamically at runtime:
- Existing wallets can be loaded by calling the
loadwallet
RPC. The wallet can
be specified as file/directory basename (which must be located in the
walletdir
directory), or as an absolute path to a file/directory. - New wallets can be created (and loaded) by calling the
createwallet
RPC. The
provided name must not match a wallet file in thewalletdir
directory or the
name of a wallet that is currently loaded. - Loaded wallets can be unloaded by calling the
unloadwallet
RPC.
This feature is currently only available through the RPC interface.
Coin selection
Partial spend avoidance
When an address is paid multiple times the coins from those separate payments
can be spent separately which hurts privacy due to linking otherwise separate
addresses. A new -avoidpartialspends
flag has been added (default=false). If
enabled, the wallet will always spend existing UTXO to the same address together
even if it results in higher fees. If someone were to send coins to an address
after it was used, those coins will still be included in future coin selections.
Fee policy changes
The default minimum transaction fee -mintxfee
has been lowered to 0.0001
LTC/kB after relaxing the minimum relay and dust relay fee rates in prior
releases.
Configuration sections for testnet and regtest
It is now possible for a single configuration file to set different options for
different networks. This is done by using sections or by prefixing the option
with the network, such as:
If the following options are not in a section, they will only apply to mainnet:
addnode=
, connect=
, port=
, bind=
, rpcport=
, rpcbind=
and wallet=
.
The options to choose a network (regtest=
and testnet=
) must be specified
outside of sections.
‘label’ and ‘account’ APIs for wallet
A new ‘label’ API has been introduced for the wallet. This is intended as a
replacement for the deprecated ‘account’ API. The ‘account’ can continue to be
used in V0.17 by starting litecoind with the ‘-deprecatedrpc=accounts’ argument,
and will be fully removed in V0.18.
The label RPC methods mirror the account functionality, with the following
functional differences:
- Labels can be set on any address, not just receiving addresses. This
functionality was previously only available through the GUI. - Labels can be deleted by reassigning all addresses using the
setlabel
RPC
method. - There isn’t support for sending transactions from a label, or for determining
which label a transaction was sent from. - Labels do not have a balance.
Here are the changes to RPC methods:
BIP 174 Partially Signed Litecoin Transactions support
BIP 174 PSBT
is an interchange format for Litecoin transactions that are not fully signed
yet, together with relevant metadata to help entities work towards signing it.
It is intended to simplify workflows where multiple parties need to cooperate to
produce a transaction. Examples include hardware wallets, multisig setups, and
CoinJoin transactions.
For backend RPC convenience, the Litecoin devs have supported to keep the
acronym PSBT
instead of PSLT
to make crosschain application support easier.
Overall workflow
Overall, the construction of a fully signed Litecoin transaction goes through
the following steps:
- A Creator proposes a particular transaction to be created. He constructs a PSBT
that contains certain inputs and outputs, but no additional metadata. - For each input, an Updater adds information about the UTXOs being spent by the
transaction to the PSBT. - A potentially other Updater adds information about the scripts and public keys
involved in each of the inputs (and possibly outputs) of the PSBT. - Signers inspect the transaction and its metadata to decide whether they agree
with the transaction. They can use amount information from the UTXOs to assess
the values and fees involved. If they agree, they produce a partial signature
for the inputs for which they have relevant key(s). - A Finalizer is run for each input to convert the partial signatures and possibly
script information into a finalscriptSig
and/orscriptWitness
. - An Extractor produces a valid Litecoin transaction (in network format) from a
PSBT for which all inputs are finalized.
Generally, each of the above (excluding Creator and Extractor) will simply add
more and more data to a particular PSBT....
Litecoin Core v0.16.3
Litecoin Core version 0.16.3 is now available from:
https://download.litecoin.org/litecoin-0.16.3/
This is a new minor version release, with various bugfixes
as well as updated translations.
Please report bugs using the issue tracker at GitHub:
https://github.com/litecoin-project/litecoin/issues
To receive security and update notifications, please subscribe to:
https://groups.google.com/forum/#!forum/litecoin-dev
How to Upgrade
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over /Applications/Litecoin-Qt
(on Mac)
or litecoind
/litecoin-qt
(on Linux).
The first time you run version 0.15.0 or newer, your chainstate database will be converted to a
new format, which will take anywhere from a few minutes to half an hour,
depending on the speed of your machine.
Note that the block database format also changed in version 0.8.0 and there is no
automatic upgrade code from before version 0.8 to version 0.15.0 or higher. Upgrading
directly from 0.7.x and earlier without re-downloading the blockchain is not supported.
However, as usual, old wallet versions are still supported.
Downgrading warning
Wallets created in 0.16 and later are not compatible with versions prior to 0.16
and will not work if you try to use newly created wallets in older versions. Existing
wallets that were created with older versions are not affected by this.
Compatibility
Litecoin Core is extensively tested on multiple operating systems using
the Linux kernel, macOS 10.8+, and Windows Vista and later. Windows XP is not supported.
Litecoin Core should also work on most other Unix-like systems but is not
frequently tested on them.
Notable changes
Denial-of-Service vulnerability
A denial-of-service vulnerability exploitable by miners has been discovered in
Litecoin Core versions 0.14.0 up to 0.16.2. It is recommended to upgrade any of
the vulnerable versions to 0.16.3 as soon as possible.
0.16.3 change log
Consensus
- bitcoin#14249
696b936
Fix crash bug with duplicate inputs within a transaction (TheBlueMatt, sdaftuar)
Credits
Thanks to everyone who directly contributed to this release:
- The Bitcoin Core Developers
- Adrian Gallagher
- aunyks
- coblee
- cryptonexii
- gabrieldov
- jmutkawoa
- Martin Smith
- NeMO84
- ppm0
- romanornr
- shaolinfry
- spl0i7
- stedwms
- ultragtx
- VKoskiv
- voidmain
- wbsmolen
- xinxi
And to those that reported security issues:
- beardnboobies