Litecoin Core Changelog

What's new in Litecoin Core 0.21.3

Mar 29, 2024
  • Important Security Updates:
  • This release contains fixes for CVE-2023–33297, which allows an 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.pid
  • 5ac7814: improve build instructions for unix systems
  • 24a0299: 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.
  • Test related fixes:
  • 53dbe58: fix tests, disabling unused test and missing expected values
  • 8e16ef3: fixes macOS test, issue #942.
  • 260de84: run secp256k1-zkp tests. fixes bench test and secp256k1 test.
  • c2a4fc3: fixes another secp256k1-zkp test
  • c2a4fc3: disabled run_schnorrsig_tests() in secp256k1-zkp.
  • 7e3c1f5: disable secp256k1-zkp openssl test, fixing `make check` on macOS.
  • Qt:
  • f1c0ecf: reverts tempfix where macOS 14+ unexpectedly uses Fusion UI theme —
  • 917312b: Add context menu option for rebroadcasting unconfirmed transactions

New in Litecoin Core 0.21.3 RC 3 (Mar 21, 2024)

  • Notable changes:
  • Important Security Updates:
  • This release contains fixes for CVE-2023–33297, which allows an attacker to cause a remote bandwidth and cpu denial of service. This attack has been exploited in the wild.
  • New MWEB features:
  • Add MWEB light client p2p messages. This implements LIP006.
  • Adds new NODE_MWEB_LIGHT_CLIENT service flag. Enables BIP157/158 blockfilters by default (opt-out by default).
  • Build changes:
  • Rename the PID file to litecoind.pid
  • Improve build instructions for unix systems
  • Fix building with Boost 1.77+
  • Test related fixes:
  • Fix tests, disabling unused test and missing expected values
  • Run secp256k1-zkp tests. fixes bench test and secp256k1 test.
  • Fixes another secp256k1-zkp test
  • Disabled run_schnorrsig_tests() in secp256k1-zkp.

New in Litecoin Core 0.21.2.2 (Mar 2, 2023)

  • 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.

New in Litecoin Core 0.18 RC 1 (May 5, 2020)

  • Notable changes:
  • Mining:
  • Calls to getblocktemplate will fail if the segwit rule is not specified. Calling getblocktemplate 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, the rpcbind 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.
  • 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, and analyzepsbt 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:
  • getpeerinfo now returns an additional minfeefilter field set to the peer's BIP133 fee filter. You can use this to detect that you have peers that are willing to accept transactions below the default minimum relay fee.
  • The mempool RPCs, such as getrawmempool with verbose=true, now return an additional "bip125-replaceable" value indicating whether the transaction (or its unconfirmed ancestors) opts-in to asking nodes and miners to replace it with a higher-feerate transaction spending any of the same inputs.
  • settxfee previously silently ignored attempts to set the fee below the allowed minimums. It now prints a warning. The special value of "0" may still be used to request the minimum value.
  • getaddressinfo now provides an ischange field indicating whether the wallet used the address in a change output.
  • importmulti has been updated to support P2WSH, P2WPKH, P2SH-P2WPKH, and P2SH-P2WSH. Requests for P2WSH and P2SH-P2WSH accept an additional witnessscript parameter.
  • importmulti now returns an additional warnings field for each request with an array of strings explaining when fields are being ignored or are inconsistent, if there are any.
  • getaddressinfo now returns an additional solvable boolean field when Litecoin Core knows enough about the address's scriptPubKey, optional redeemScript, and optional witnessScript in order for the wallet to be able to generate an unsigned input spending funds sent to that address.
  • The getaddressinfo, listunspent, and scantxoutset RPCs now return an additional desc field that contains an output descriptor containing all key paths and signing information for the address (except for the private key). The desc field is only returned for getaddressinfo and listunspent when the address is solvable.
  • importprivkey will preserve previously-set labels for addresses or public keys corresponding to the private key being imported. For example, if you imported a watch-only address with the label "cold wallet" in earlier releases of Litecoin Core, subsequently importing the private key would default to resetting the address's label to the default empty-string label (""). In this release, the previous label of "cold wallet" will be retained. If you optionally specify any label besides the default when calling importprivkey, the new label will be applied to the address.
  • See the Mining section for changes to getblocktemplate.
  • getmininginfo now omits currentblockweight and currentblocktx when a block was never assembled via RPC on this node.
  • The getrawtransaction RPC & REST endpoints no longer check the unspent UTXO set for a transaction. The remaining behaviors are as follows: 1. If a blockhash is provided, check the corresponding block. 2. If no blockhash is provided, check the mempool. 3. If no blockhash is provided but txindex is enabled, also check txindex.
  • unloadwallet is now synchronous, meaning it will not return until the wallet is fully unloaded.
  • importmulti now supports importing of addresses from descriptors. A "desc" parameter can be provided instead of the "scriptPubKey" in a request, as well as an optional range for ranged descriptors to specify the start and end of the range to import. Descriptors with key origin information imported through importmulti will have their key origin information stored in the wallet for use with creating PSBTs. More information about descriptors can be found here.
  • listunspent has been modified so that it also returns witnessScript, the witness script in the case of a P2WSH or P2SH-P2WSH output.
  • createwallet now has an optional blank argument that can be used to create a blank wallet. Blank wallets do not have any keys or HD seed. They cannot be opened in software older than 0.18. Once a blank wallet has a HD seed set (by using sethdseed) or private keys, scripts, addresses, and other watch only things have been imported, the wallet is no longer blank and can be opened in 0.17.x. Encrypting a blank wallet will also set a HD seed for it.
  • Deprecated or removed RPCs:
  • signrawtransaction is removed after being deprecated and hidden behind a special configuration option in version 0.17.0.
  • The ‘account’ API is removed after being deprecated in v0.17. The ‘label’ API was introduced in v0.17 as a replacement for accounts. See the release notes from v0.17 for a full description of the changes from the ‘account’ API to the ‘label’ API.
  • addwitnessaddress is removed after being deprecated in version 0.16.0.
  • generate is deprecated and will be fully removed in a subsequent major version. This RPC is only used for testing, but its implementation reached across multiple subsystems (wallet and mining), so it is being deprecated to simplify the wallet-node interface. Projects that are using generate for testing purposes should transition to using the generatetoaddress RPC, which does not require or use the wallet component. Calling generatetoaddress with an address returned by the getnewaddress RPC gives the same functionality as the old generate RPC. To continue using generate in this version, restart litecoind with the -deprecatedrpc=generate configuration option.
  • Be reminded that parts of the validateaddress command have been deprecated and moved to getaddressinfo. The following deprecated fields have moved to getaddressinfo: ismine, iswatchonly, script, hex, pubkeys, sigsrequired, pubkey, embedded, iscompressed, label, timestamp, hdkeypath, hdmasterkeyid.
  • The addresses field has been removed from the validateaddress and getaddressinfo RPC methods. This field was confusing since it referred to public keys using their P2PKH address. Clients should use the embedded.address field for P2SH or P2WSH wrapped addresses, and pubkeys for inspecting multisig participants.
  • REST changes:
  • A new /rest/blockhashbyheight/ endpoint is added for fetching the hash of the block in the current best blockchain based on its height (how many blocks it is after the Genesis Block).
  • Graphical User Interface (GUI):
  • A new Window menu is added alongside the existing File, Settings, and Help menus. Several items from the other menus that opened new windows have been moved to this new Window menu.
  • In the Send tab, the checkbox for “pay only the required fee” has been removed. Instead, the user can simply decrease the value in the Custom Feerate field all the way down to the node’s configured minimum relay fee.
  • In the Overview tab, the watch-only balance will be the only balance shown if the wallet was created using the createwallet RPC and the disable_private_keys parameter was set to true.
  • The launch-on-startup option is no longer available on macOS if compiled with macosx min version greater than 10.11 (use CXXFLAGS=”-mmacosx-version-min=10.11" CFLAGS=”-mmacosx-version-min=10.11" for setting the deployment sdk version)
  • Tools:
  • A new litecoin-wallet tool is now distributed alongside Litecoin Core's other executables. Without needing to use any RPCs, this tool can currently create a new wallet file or display some basic information about an existing wallet, such as whether the wallet is encrypted, whether it uses an HD seed, how many transactions it contains, and how many address book entries it has.
  • Deprecated P2P messages:
  • BIP 61 reject messages are now deprecated. Reject messages have no use case on the P2P network and are only logged for debugging by most network nodes. Furthermore, they increase bandwidth and can be harmful for privacy and security. It has been possible to disable BIP 61 messages since v0.17 with the -enablebip61=0 option. BIP 61 messages will be disabled by default in a future version, before being removed entirely.
  • Low-level changes:
  • This section describes RPC changes mainly useful for testing, mostly not relevant in production. The changes are mentioned for completeness.
  • RPC:
  • The submitblock RPC previously returned the reason a rejected block was invalid the first time it processed that block, but returned a generic "duplicate" rejection message on subsequent occasions it processed the same block. It now always returns the fundamental reason for rejecting an invalid block and only returns "duplicate" for valid blocks it has already accepted.
  • A new submitheader RPC allows submitting block headers independently from their block. This is likely only useful for testing.
  • The signrawtransactionwithkey and signrawtransactionwithwallet RPCs have been modified so that they also optionally accept a witnessScript, the witness script in the case of a P2WSH or P2SH-P2WSH output. This is compatible with the change to listunspent.
  • For the walletprocesspsbt and walletcreatefundedpsbt RPCs, if the bip32derivs parameter is set to true but the key metadata for a public key has not been updated yet, then that key will have a derivation path as if it were just an independent key (i.e. no derivation path and its master fingerprint is itself).
  • Configuration:
  • The -usehd configuration option was removed in version 0.16. From that version onwards, all new wallets created are hierarchical deterministic wallets. This release makes specifying -usehd an invalid configuration option.
  • Network:
  • This release allows peers that your node automatically disconnected for misbehavior (e.g. sending invalid data) to reconnect to your node if you have unused incoming connection slots. If your slots fill up, a misbehaving node will be disconnected to make room for nodes without a history of problems (unless the misbehaving node helps your node in some other way, such as by connecting to a part of the Internet from which you don’t have many other peers). Previously, Litecoin Core banned the IP addresses of misbehaving peers for a period of time (default of 1 day); this was easily circumvented by attackers with multiple IP addresses. If you manually ban a peer, such as by using the setban RPC, all connections from that peer will still be rejected.
  • Wallet:
  • The key metadata will need to be upgraded the first time that the HD seed is available. For unencrypted wallets this will occur on wallet loading. For encrypted wallets this will occur the first time the wallet is unlocked.
  • Newly encrypted wallets will no longer require restarting the software. Instead such wallets will be completely unloaded and reloaded to achieve the same effect.
  • A sub-project of Litecoin Core now provides Hardware Wallet Interaction (HWI) scripts that allow command-line users to use several popular hardware key management devices with Litecoin Core. See their project page for details.
  • Security:
  • This release changes the Random Number Generator (RNG) used from OpenSSL to Litecoin Core’s own implementation, although entropy gathered by Litecoin Core is fed out to OpenSSL and then read back in when the program needs strong randomness. This moves Litecoin Core a little closer to no longer needing to depend on OpenSSL, a dependency that has caused security issues in the past. The new implementation gathers entropy from multiple sources, including from hardware supporting the rdseed CPU instruction.

New in Litecoin Core 0.17.1 (May 7, 2019)

  • 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.
  • 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 the litecoin.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.
  • 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 the walletdirdirectory 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
  • ‘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.

New in Litecoin Core 0.16.3 (Sep 20, 2018)

  • This is a new minor version release, including a very important security update. It is recommended for all users to upgrade to this version as soon as possible.

New in Litecoin Core 0.16.2 RC1 (Aug 2, 2018)

  • Miner block size removed:
  • The -blockmaxsize option for miners to limit their blocks' sizes was deprecated in version 0.15.1, and has now been removed. Miners should use the -blockmaxweight option if they want to limit the weight of their blocks' weights.

New in Litecoin Core 0.16.0 (May 31, 2018)

  • WALLET CHANGES:
  • Segwit Wallet:
  • Litecoin Core 0.16.0 introduces full support for segwit in the wallet and user interfaces. A new -addresstype argument has been added, which supports legacy, p2sh-segwit (default), and bech32 addresses. It controls what kind of addresses are produced by getnewaddress, getaccountaddress, and createmultisigaddress. A -changetype argument has also been added, with the same options, and by default equal to -addresstype, to control which kind of change is used.
  • A new address_type parameter has been added to the getnewaddress and addmultisigaddress RPCs to specify which type of address to generate. A change_type argument has been added to the fundrawtransaction RPC to override the -changetype argument for specific transactions.
  • All segwit addresses created through getnewaddress or *multisig RPCs explicitly get their redeemscripts added to the wallet file. This means that downgrading after creating a segwit address will work, as long as the wallet file is up to date.
  • All segwit keys in the wallet get an implicit redeemscript added without it being written to the file. This means recovery of an old backup will work as long as you use new software.
  • All keypool keys that are seen used in transactions explicitly get their redeemscripts added to the wallet files. This means that downgrading after recovering from a backup that includes a segwit address will work
  • Note that some RPCs do not yet support segwit addresses. Notably, signmessage/verifymessage doesn't support segwit addresses, nor does importmulti at this time. Support for segwit in those RPCs will continue to be added in future versions.
  • P2WPKH change outputs are now used by default if any destination in the transaction is a P2WPKH or P2WSH output. This is done to ensure the change output is as indistinguishable from the other outputs as possible in either case.
  • BIP173 (Bech32) Address support (“ltc1…” addresses):
  • Full support for native segwit addresses (BIP173 / Bech32) has now been added. This includes the ability to send to BIP173 addresses (including non-v0 ones), and generating these addresses (including as default new addresses, see above).
  • A checkbox has been added to the GUI to select whether a Bech32 address or P2SH-wrapped address should be generated when using segwit addresses. When launched with -addresstype=bech32 it is checked by default. When launched with -addresstype=legacy it is unchecked and disabled.
  • HD-wallets by default:
  • Due to a backward-incompatible change in the wallet database, wallets created with version 0.16.0 will be rejected by previous versions. Also, version 0.16.0 will only create hierarchical deterministic (HD) wallets. Note that this only applies to new wallets; wallets made with previous versions will not be upgraded to be HD.
  • Wallets directory configuration (-walletdir):
  • Litecoin Core now has more flexibility in where the wallets directory can be located. Previously wallet database files were stored at the top level of the litecoin data directory. The behavior is now the following:
  • For new installations (where the data directory doesn’t already exist), wallets will now be stored in a new wallets/subdirectory inside the data directory by default.
  • For existing nodes (where the data directory already exists), wallets will be stored in the data directory root by default. If a wallets/ subdirectory already exists in the data directory root, then wallets will be stored in the wallets/ subdirectory by default.
  • The location of the wallets directory can be overridden by specifying a -walletdir=<path> option where <path> can be an absolute path to a directory or directory symlink.
  • Care should be taken when choosing the wallets directory location as funds may be lost if it becomes unavailable during operation.
  • Build: Minimum GCC bumped to 4.8.x:
  • The minimum version of the GCC compiler required to compile Litecoin Core is now 4.8. No effort will be made to support older versions of GCC. See discussion in issue #11732 for more information. The minimum version for the Clang compiler is still 3.3. Other minimum dependency versions can be found in doc/dependencies.md in the repository.
  • Support for signalling pruned nodes (BIP159):
  • Pruned nodes can now signal BIP159’s NODE_NETWORK_LIMITED using service bits, in preparation for full BIP159 support in later versions. This would allow pruned nodes to serve the most recent blocks. However, the current change does not yet include support for connecting to these pruned peers.
  • Performance: SHA256 assembly enabled by default:
  • The SHA256 hashing optimizations for architectures supporting SSE4, which lead to ~50% speedups in SHA256 on supported hardware (~5% faster synchronization and block validation), have now been enabled by default. In previous versions they were enabled using the --enable-experimental-asm flag when building, but are now the default and no longer deemed experimental.
  • GUI changes:
  • The option to reuse a previous address has now been removed. This was justified by the need to “resend” an invoice. But now that we have the request history, that need should be gone.
  • Support for searching by TXID has been added, rather than just address and label.
  • A “Use available balance” option has been added to the send coins dialog, to add the remaining available wallet balance to a transaction output.
  • A toggle for unblinding the password fields on the password dialog has been added.
  • RPC CHANGES:
  • New rescanblockchain RPC:
  • A new RPC rescanblockchain has been added to manually invoke a blockchain rescan. The RPC supports start and end-height arguments for the rescan, and can be used in a multiwallet environment to rescan the blockchain at runtime.
  • New savemempool RPC:
  • A new savemempool RPC has been added which allows the current mempool to be saved to disk at any time to avoid it being lost due to crashes / power loss.
  • Safe mode disabled by default:
  • Safe mode is now disabled by default and must be manually enabled (with -disablesafemode=0) if you wish to use it. Safe mode is a feature that disables a subset of RPC calls - mostly related to the wallet and sending - automatically in case certain problem conditions with the network are detected. However, developers have come to regard these checks as not reliable enough to act on automatically. Even with safe mode disabled, they will still cause warnings in the warnings field of the getneworkinfo RPC and launch the -alertnotify command.
  • Renamed script for creating JSON-RPC credentials:
  • The share/rpcuser/rpcuser.py script was renamed to share/rpcauth/rpcauth.py. This script can be used to create rpcauthcredentials for a JSON-RPC user.
  • Validateaddress improvements:
  • The validateaddress RPC output has been extended with a few new fields, and support for segwit addresses (both P2SH and Bech32). Specifically:
  • A new field iswitness is True for P2WPKH and P2WSH addresses ("ltc1..." addresses), but not for P2SH-wrapped segwit addresses (see below).
  • The existing field isscript will now also report True for P2WSH addresses.
  • A new field embedded is present for all script addresses where the script is known and matches something that can be interpreted as a known address. This is particularly true for P2SH-P2WPKH and P2SH-P2WSH addresses. The value for embedded includes much of the information validateaddress would report if invoked directly on the embedded address.
  • For multisig scripts a new pubkeys field was added that reports the full public keys involved in the script (if known). This is a replacement for the existing addresses field (which reports the same information but encoded as P2PKH addresses), represented in a more useful and less confusing way. The addresses field remains present for non-segwit addresses for backward compatibility.
  • For all single-key addresses with known key (even when wrapped in P2SH or P2WSH), the pubkey field will be present. In particular, this means that invoking validateaddress on the output of getnewaddress will always report the pubkey, even when the address type is P2SH-P2WPKH.
  • LOW-LEVEL CHANGES:
  • The deprecated RPC getinfo was removed. It is recommended that the more specific RPCs are used:
  • getblockchaininfo
  • getnetworkinfo
  • getwalletinfo
  • getmininginfo
  • The wallet RPC getreceivedbyaddress will return an error if called with an address not in the wallet.
  • The wallet RPC addwitnessaddress was deprecated and will be removed in version 0.17, set the address_type argument of getnewaddress, or option -addresstype=[bech32|p2sh-segwit] instead.
  • dumpwallet now includes hex-encoded scripts from the wallet in the dumpfile, and importwallet now imports these scripts, but corresponding addresses may not be added correctly or a manual rescan may be required to find relevant transactions.
  • The RPC getblockchaininfo now includes an errors field.
  • A new blockhash parameter has been added to the getrawtransaction RPC which allows for a raw transaction to be fetched from a specific block if known, even without -txindex enabled.
  • The decoderawtransaction and fundrawtransaction RPCs now have optional iswitness parameters to override the heuristic witness checks if necessary.
  • The walletpassphrase timeout is now clamped to 2^30 seconds.
  • Using addresses with the createmultisig RPC is now deprecated, and will be removed in a later version. Public keys should be used instead.
  • Blockchain rescans now no longer lock the wallet for the entire rescan process, so other RPCs can now be used at the same time (although results of balances / transactions may be incorrect or incomplete until the rescan is complete).
  • The logging RPC has now been made public rather than hidden.
  • An initialblockdownload boolean has been added to the getblockchaininfo RPC to indicate whether the node is currently in IBD or not.
  • minrelaytxfee is now included in the output of getmempoolinfo
  • OTHER CHANGED COMMAND-LINE OPTIONS:
  • -debuglogfile=<file> can be used to specify an alternative debug logging file.
  • litecoin-cli now has an -stdinrpcpass option to allow the RPC password to be read from standard input.
  • The -usehd option has been removed.
  • litecoin-cli now supports a new -getinfo flag which returns an output like that of the now-removed getinfo RPC.
  • TESTING CHANGES:
  • The default regtest JSON-RPC port has been changed to 19443 to avoid conflict with testnet’s default of 19332.
  • Segwit is now always active in regtest mode by default. Thus, if you upgrade a regtest node you will need to either -reindex or use the old rules by adding vbparams=segwit:0:999999999999 to your regtest litecoin.conf. Failure to do this will result in a CheckBlockIndex() assertion failure that will look like: Assertion `(pindexFirstNeverProcessed != nullptr) == (pindex->nChainTx == 0)' failed.

New in Litecoin Core 0.14.2 (Aug 1, 2017)

  • New Multisig Address Prefix:
  • Litecoin Core now supports P2SH addresses beginning with M on mainnet and Q on testnet. P2SH addresses beginning with 3 on mainnet and m or n on testnet will continue to be valid. Old and new addresses can be used interchangeably.
  • miniupnp CVE-2017–8798
  • Bundled miniupnpc was updated to 2.0.20170509. This fixes an integer signedness error (present in MiniUPnPc v1.4.20101221 through v2.0) that allows remote attackers (within the LAN) to cause a denial of service or possibly have unspecified other impact. This only affects users that have explicitly enabled UPnP through the GUI setting or through the -upnp option, as since the last UPnP vulnerability (in Litecoin Core 0.10.4) it has been disabled by default. If you use this option, it is recommended to upgrade to this version as soon as possible.
  • Reset Testnet:
  • Testnet3 has been deprecated and replaced with Testnet4. The server port has been changed to 19335 however the RPC port remains the same (19332).
  • Performance Improvements:
  • Validation speed and network propagation performance have been greatly improved, leading to much shorter sync and initial block download times.
  • The script signature cache has been reimplemented as a “cuckoo cache”, allowing for more signatures to be cached and faster lookups.
  • Assumed-valid blocks have been introduced which allows script validation to be skipped for ancestors of known-good blocks, without changing the security model. See below for more details.
  • In some cases, compact blocks are now relayed before being fully validated as per BIP152.
  • P2P networking has been refactored with a focus on concurrency and throughput. Network operations are no longer bottlenecked by validation. As a result, block fetching is several times faster than previous releases in many cases.
  • The UTXO cache now claims unused mempool memory. This speeds up initial block download as UTXO lookups are a major bottleneck there, and there is no use for the mempool at that stage.
  • Manual Pruning:
  • Litecoin Core has supported automatically pruning the blockchain since 0.13.2. Pruning the blockchain allows for significant storage space savings as the vast majority of the downloaded data can be discarded after processing so very little of it remains on the disk. Manual block pruning can now be enabled by setting -prune=1. Once that is set, the RPC command pruneblockchain can be used to prune the blockchain up to the specified height or timestamp.
  • getinfo Deprecated:
  • The getinfo RPC command has been deprecated. Each field in the RPC call has been moved to another command's output with that command also giving additional information that getinfo did not provide.
  • ZMQ On Windows:
  • Previously the ZeroMQ notification system was unavailable on Windows due to various issues with ZMQ. These have been fixed upstream and now ZMQ can be used on Windows. Please see this document for help with using ZMQ in general.
  • Nested RPC Commands in Debug Console:
  • The ability to nest RPC commands has been added to the debug console. This allows users to have the output of a command become the input to another command without running the commands separately. The nested RPC commands use bracket syntax (i.e. getwalletinfo()) and can be nested (i.e. getblock(getblockhash(1))). Simple queries can be done with square brackets where object values are accessed with either an array index or a non-quoted string (i.e. listunspent()[0][txid]). Both commas and spaces can be used to separate parameters in both the bracket syntax and normal RPC command syntax.
  • Network Activity Toggle:
  • A RPC command and GUI toggle have been added to enable or disable all p2p network activity. The network status icon in the bottom right hand corner is now the GUI toggle. Clicking the icon will either enable or disable all p2p network activity. If network activity is disabled, the icon will be grayed out with an X on top of it. Additionally the setnetworkactive RPC command has been added which does the same thing as the GUI icon. The command takes one boolean parameter, true enables networking and false disables it.
  • Out-of-sync Modal Info Layer:
  • When Litecoin Core is out-of-sync on startup, a semi-transparent information layer will be shown over top of the normal display. This layer contains details about the current sync progress and estimates the amount of time remaining to finish syncing. This layer can also be hidden and subsequently unhidden by clicking on the progress bar at the bottom of the window.
  • Support for JSON-RPC Named Arguments:
  • Commands sent over the JSON-RPC interface and through the litecoin-cli binary can now use named arguments. This follows the JSON-RPC specification for passing parameters by-name with an object. litecoin-cli has been updated to support this by parsing name=value arguments when the -named option is given. The order of arguments doesn’t matter in this case. Named arguments are also useful to leave out arguments that should stay at their default value. The rarely-used arguments comment and comment_to to sendtoaddress, for example, can be left out. However, this is not yet implemented for many RPC calls, this is expected to land in a later release. The RPC server remains fully backwards compatible with positional arguments.
  • Sensitive Data Is No Longer Stored In Debug Console History:
  • The debug console maintains a history of previously entered commands that can be accessed by pressing the Up-arrow key so that users can easily reuse previously entered commands. Commands which have sensitive information such as passphrases and private keys will now have a (...) in place of the parameters when accessed through the history.
  • Retaining the Mempool Across Restarts:
  • The mempool will be saved to the data directory prior to shutdown to a mempool.dat file. This file preserves the mempool so that when the node restarts the mempool can be filled with transactions without waiting for new transactions to be created. This will also preserve any changes made to a transaction through commands such as prioritisetransaction so that those changes will not be lost.
  • Final Alert:
  • The Alert System was disabled and deprecated in Litecoin Core 0.10.4 and removed in 0.13.2. The Alert System was retired with a maximum sequence final alert which causes any nodes supporting the Alert System to display a static hard-coded “Alert key compromised, upgrade required.” message which also prevents any other alerts from overriding it. This final alert is hard-coded into this release so that all old nodes receive the final alert.
  • GUI Changes:
  • After resetting the options by clicking the Reset Options button in the options dialog or with the -resetguioptionsstartup option, the user will be prompted to choose the data directory again. This is to ensure that custom data directories will be kept after the option reset which clears the custom data directory set via the choose datadir dialog.
  • Multiple peers can now be selected in the list of peers in the debug window. This allows for users to ban or disconnect multiple peers simultaneously instead of banning them one at a time.
  • An indicator has been added to the bottom right hand corner of the main window to indicate whether the wallet being used is a HD wallet. This icon will be grayed out with an X on top of it if the wallet is not a HD wallet.
  • Low-level RPC changes:
  • importprunedfunds only accepts two required arguments. Some versions accept an optional third arg, which was always ignored. Make sure to never pass more than two arguments.
  • The first boolean argument to getaddednodeinfo has been removed. This is an incompatible change.
  • RPC command getmininginfo loses the "testnet" field in favor of the more generic "chain" (which has been present for years).
  • A new RPC command preciousblock has been added which marks a block as precious. A precious block will be treated as if it were received earlier than a competing block.
  • A new RPC command importmulti has been added which receives an array of JSON objects representing the intention of importing a public key, a private key, an address and script/p2sh
  • Use of getrawtransaction for retrieving confirmed transactions with unspent outputs has been deprecated. For now this will still work, but in the future it may change to only be able to retrieve information about transactions in the mempool or if txindex is enabled.
  • A new RPC command getmemoryinfo has been added which will return information about the memory usage of Litecoin Core. This was added in conjunction with optimizations to memory management. See Pull #8753 for more information.
  • A new RPC command bumpfee has been added which allows replacing an unconfirmed wallet transaction that signaled RBF (see the -walletrbf startup option above) with a new transaction that pays a higher fee, and should be more likely to get confirmed quickly.
  • The first positional argument of createrawtransaction was renamed from transactions to inputs.
  • The argument of disconnectnode was renamed from node to address.
  • Client software using these calls with named arguments needs to be updated.
  • HTTP REST Changes:
  • UTXO set query (GET /rest/getutxos/<checkmempool>/<txid>-<n>/<txid>-<n> /.../<txid>-<n>.<bin|hex|json>) responses were changed to return status code HTTP_BAD_REQUEST (400) instead of HTTP_INTERNAL_SERVER_ERROR (500) when requests contain invalid parameters.
  • Minimum Fee Rate Policies:
  • Since the changes in 0.13 to automatically limit the size of the mempool and improve the performance of block creation in mining code it has not been important for relay nodes or miners to set -minrelaytxfee. With this release the following concepts that were tied to this option have been separated out
  • calculation of threshold for a dust output. (effectively 3 * 1000 satoshis/kB)
  • minimum fee rate of a package of transactions to be included in a block created by the mining code. If miners wish to set this minimum they can use the new -blockmintxfee option. (defaults to 1000 satoshis/kB)
  • The -minrelaytxfee option continues to exist but is recommended to be left unset
  • Fee Estimation Changes:
  • Since 0.13.2 fee estimation for a confirmation target of 1 block has been disabled. The fee slider will no longer be able to choose a target of 1 block. This is only a minor behavior change as there was often insufficient data for this target anyway. estimatefee 1 will now always return -1 and estimatesmartfee 1 will start searching at a target of 2.
  • The default target for fee estimation is changed to 6 blocks in both the GUI (previously 25) and for RPC calls (previously 2).
  • Removal of Priority Estimation:
  • Estimation of “priority” needed for a transaction to be included within a target number of blocks has been removed. The RPC calls are deprecated and will either return -1 or 1e24 appropriately. The format for fee_estimates.dat has also changed to no longer save these priority estimates. It will automatically be converted to the new format which is not readable by prior versions of the software.
  • Support for “priority” (coin age) transaction sorting for mining is considered deprecated in Core and will be removed in the next major version. This is not to be confused with the prioritisetransaction RPC which will remain supported by Core for adding fee deltas to transactions.
  • P2P connection management:
  • Peers manually added through the -addnode option or addnode RPC now have their own limit of eight connections which does not compete with other inbound or outbound connection usage and is not subject to the limitation imposed by the -maxconnections option
  • New connections to manually added peers are performed more quickly
  • Introduction of assumed-valid blocks:
  • A significant portion of the initial block download time is spent verifying scripts/signatures. Although the verification must pass to ensure the security of the system, no other result from this verification is needed: If the node knew the history of a given block were valid it could skip checking scripts for its ancestors.
  • A new configuration option ‘assumevalid’ is provided to express this knowledge to the software. Unlike the ‘checkpoints’ in the past this setting does not force the use of a particular chain: chains that are consistent with it are processed quicker, but other chains are still accepted if they’d otherwise be chosen as best. Also unlike ‘checkpoints’ the user can configure which block history is assumed true, this means that even outdated software can sync more quickly if the setting is updated by the user.
  • Because the validity of a chain history is a simple objective fact it is much easier to review this setting. As a result the software ships with a default value adjusted to match the current chain shortly before release. The use of this default value can be disabled by setting -assumevalid=0
  • Fundrawtransaction change address reuse:
  • Before 0.14, fundrawtransaction was by default wallet stateless. In almost all cases fundrawtransaction does add a change-output to the outputs of the funded transaction. Before 0.14, the used keypool key was never marked as change-address key and directly returned to the keypool (leading to address reuse). Before 0.14, calling getnewaddress directly after fundrawtransaction did generate the same address as the change-output address.
  • Since 0.14, fundrawtransaction does reserve the change-output-key from the keypool by default (optional by settingreserveChangeKey, default = true)
  • Users should also consider using getrawchangeaddress() in conjunction with fundrawtransaction's changeAddressoption.
  • Unused mempool memory used by coincache:
  • Before 0.14, memory reserved for mempool (using the -maxmempool option) went unused during initial block download, or IBD. In 0.14, the UTXO DB cache (controlled with the -dbcache option) borrows memory from the mempool when there is extra memory available. This may result in an increase in memory usage during IBD for those previously relying on only the -dbcache option to limit memory during that time.
  • Mining:
  • In previous versions, getblocktemplate required segwit support from downstream clients/miners once the feature activated on the network. In this version, it now supports non-segwit clients even after activation, by removing all segwit transactions from the returned block template. This allows non-segwit miners to continue functioning correctly even after segwit has activated.
  • Due to the limitations in previous versions, getblocktemplate also recommended non-segwit clients to not signal for the segwit version-bit. Since this is no longer an issue, getblocktemplate now always recommends signalling segwit for all miners. This is safe because ability to enforce the rule is the only required criteria for safe activation, not actually producing segwit-enabled blocks.
  • UTXO memory accounting:
  • Memory usage for the UTXO cache is being calculated more accurately, so that the configured limit (-dbcache) will be respected when memory usage peaks during cache flushes. The memory accounting in prior releases is estimated to only account for half the actual peak utilization.
  • The default -dbcache has also been changed in this release to 450MiB. Users who currently set -dbcache to a high value (e.g. to keep the UTXO more fully cached in memory) should consider increasing this setting in order to achieve the same cache performance as prior releases. Users on low-memory systems (such as systems with 1GB or less) should consider specifying a lower value for this parameter.
  • Additional information relating to running on low-memory systems can be found here, originally written for Bitcoin but can also be used for Litecoin

New in Litecoin Core 0.13.2 (Jan 13, 2017)

  • Some of the most notable features include:
  • Segregated Witness - to allow for greater transaction output and mitigation of transaction malleability.
  • Hierarchical Deterministic wallets - Litecoin Core will support hierarchical deterministic wallets also known as HD wallets.
  • Faster signature validation using the libsecp256k library developed by Bitcoin Core developers.
  • Wallet pruning to reduce block size storage.
  • Memory usage improvements including better mempool filtering of transactions.
  • Inbuilt Tor control socket API support if Tor is running and also stream isolation for Tor communication.
  • Functionality to reduce upload traffic.
  • ZMQ support - ZeroMQ is a high performance asynchronous messaging library, aimed at use in distributed concurrent connections. Litecoin will support ZMQ for broadcasting block and transaction data.
  • Obfuscated blockchain data - Several antivirus applications detect the Litecoin stored blockchain data as a malware threat. Litecoin 0.13 will obfuscate the blockchain data to rid these false positives.
  • This update will also see the inclusion of several BIPs which can be seen below:
  • BIP9 - This BIP allows multiple soft fork changes to be deployed in parallel.
  • BIP32 - This BIP allows Litecoin Core to support hierarchical deterministic wallets.
  • BIP68 - This BIP allows relative locktime enforcement through sequence numbers.
  • BIP111 - This BIP extends BIP 37, Connection Bloom filtering, by defining a service bit to allow peers to advertise that they support bloom filters explicitly. It also bumps the protocol version to allow peers to identify old nodes which allow bloom filtering of the connection despite lacking the new service bit.
  • BIP112 - This BIP is a proposal to redefine the semantics used in determining a time-locked transaction's eligibility for inclusion in a block. The median of the last 11 blocks is used instead of the block's timestamp, ensuring that it increases monotonically with each block.
  • BIP113 - This BIP describes a new opcode (CHECKSEQUENCEVERIFY) for the Litecoin scripting system that in combination with BIP68 allows execution pathways of a script to be restricted based on the age of the output being spent.
  • BIP130 - This BIP adds a new message, "sendheaders", which indicates that a node prefers to receive new block announcements via a "headers" message rather than an "inv".
  • BIP133 - This BIP adds a new message “feefilter”, which serves to instruct peers not to send “inv”s to the node for transactions with fees below the specified fee rate.
  • BIP141 - This BIP defines a new structure called a “witness” that is committed to blocks separated from the transaction merkle tree.
  • BIP143 - This BIP contains the logic for signature verification for version 0 witness program.
  • BIP144 - This BIP contains the logic for new messages and serialization formats for propagation of transactions and blocks committing to segregated witness structures.
  • BIP147 - This BIP contains changes to the transaction validity rules to fix a malleability vector.
  • BIP152 - This BIP add compact block relay to reduce the bandwidth required to propagate new blocks.

New in Litecoin Core 0.10.4.0 RC (Dec 28, 2015)

  • This release of Litecoin Core is an important update, featuring the BIP65 (CLTV) consensus change and bug fixes.
  • BIP65 soft fork to enforce OP_CHECKLOCKTIMEVERIFY opcode:
  • This release includes several changes related to the BIP65 soft fork which redefines the existing OP_NOP2 opcode as OP_CHECKLOCKTIMEVERIFY (CLTV) so that a transaction output can be made unspendable until a specified point in the future. This change paves the way for many new exciting features such as payment channels, time-locked refunds, escrow, two-factor wallets and is a major requirement for technologies like the lightning network.
  • This release will only relay and mine transactions spending a CLTV output if they comply with the BIP65 rules as provided in code.
  • This release will produce version 4 blocks by default.
  • Once 951 out of a sequence of 1,001 blocks on the local node's best block chain contain version 4 (or higher) blocks, this release will no longer accept new version 3 blocks and it will only accept version 4 blocks if they comply with the BIP65 rules for CLTV.

New in Litecoin Core 0.10.2.2 (Dec 23, 2015)

  • Added option -alerts’ to opt out of the network alert system. Please note that disabling network alerts should only be used by power users as this system is used for network emergencies and important security releases. The default behavior is that network alerts are enabled.
  • Detect and reject LibreSSL. This prevents a non-approved SSL library being used for compiling Litecoin Core, preventing potential consensus compatibility issues.
  • Improved getbalance RPC functionality to allow the user to display zero confirmation transactions (this works with watch-only addresses as well).
  • PID file bug fix for non-Windows based systems.
  • Bug fix for signing and verifying messages.

New in Litecoin Core 0.8.7.5 Beta (Jan 13, 2015)

  • Critical: Maintain consensus with openssl-1.0.1k+ or CVE-2014-8275.
  • If you are running the v0.8.7.4 binaries from litecoin.org you do not need to upgrade as that contained an older version of openssl before the consensus breaking change in openssl-1.0.1k. v0.8.7.5 was released primarily to remove all confusion about what version is safe to operate.

New in Litecoin Core 0.8.7.4 Beta (Sep 29, 2014)

  • Enforce v2 blocks at height 710000 on mainnet, 400000 on testnet
  • All miners must upgrade prior to this point or they run the risk of losing future block rewards.
  • Add `-maxorphantx=` option for control over the maximum orphan transactions and blocks
  • Don't poll showmyip.com, it doesn't exist anymore

New in Litecoin Core 0.8.7.2 Beta (Jun 18, 2014)

  • Mac and Windows Official Gitian Builds: upgrade to openssl-1.0.1h for CVE-2014-0224
  • Linux Gitian build uses Lucid 0.9.8k-7ubuntu8.18

New in Litecoin Core 0.8.7.1 Beta (Apr 24, 2014)

  • Mac and Windows: upgrade to openssl-1.0.1g for CVE-2014-0160
  • All past Linux binaries were not vulnerable due to Lucid's openssl-0.9.8k
  • Upgrade openssl, qt, miniupnpc, zlib, libpng, qrencode
  • Many bug fixes from Bitcoin 0.8.7rc stable branch including transaction malleability mitigation backports from 0.9
  • Add testnet checkpoints
  • Add new testnet seed

New in Litecoin Core 0.8.6.2 Beta (Jan 13, 2014)

  • Windows only: Fixes issue where network connectivity can fail
  • Minor fixes:
  • Display Litecoin instead of Bitcoin in the Coin Control change address dialog
  • Fix QT5 custom build
  • Cleanup of SSE2 scrypt detection.

New in Litecoin Core 0.8.6.1 Beta (Dec 16, 2013)

  • Bitcoin 0.8.6 Fixes:
  • Fixed rare issue involving relay of invalid transactions.
  • Fixed rare MacOS X crash during GUI send.
  • Fixed the MacOS X leveldb corruption issue.
  • More informative debug.log messages about peers and messages.
  • Timestamps enabled by default in debug.log.
  • Litecoin Changes:
  • Default mintxfee reduced by 20x to 0.001 LTC per kilobyte.
  • Dust thresholds reduced by 10x.
  • More fairness: High priority area reduced to 17KB per block. High priority tx size limit reduced to 5KB. See notes in commits to learn more.
  • Coin Control 0.8.5
  • SSE2 PoW validation
  • Disable Wallet Mode:
  • Optional advanced feature for relay-only or mining nodes where a wallet is not required. Operating litecoind with disablewallet saves between 40-200MB of RAM.
  • Disconnect nodes older than protocol version 70002 (Litecoin 0.8.3.7):
  • Disallow connections from clients that are a dangerously old. Along with the alerts this is to encourage those users to upgrade their client to better protect both themselves and the entire network.
  • Add verifychain and getbestblockhash
  • Fix MacOS X dock icon menu.

New in Litecoin Core 0.8.5.1 Beta (Sep 16, 2013)

  • Workaround negative version numbers serialization bug.
  • Fix out-of-bounds check. (Litecoin currently does not use this codepath so this change makes no difference, but we apply this patch just to match Bitcoin 0.8.5.)