github bitcoinknots/bitcoin v27.1.knots20240621
Bitcoin Knots v27.1.knots20240621

latest release: v27.1.knots20240801
6 months ago

27.1 Release Notes

Bitcoin Knots version 27.1.knots20240621 is now available from:

https://bitcoinknots.org/files/27.x/27.1.knots20240621/

This release includes new features, various bug fixes, and performance
improvements.

Please report bugs using the issue tracker at GitHub:

https://github.com/bitcoinknots/bitcoin/issues

To receive security and update notifications, please subscribe to:

https://bitcoinknots.org/list/announcements/join/

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 in some cases), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on macOS)
or bitcoind/bitcoin-qt (on Linux).

Upgrading directly from very old versions of Bitcoin Core or Knots is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Knots are generally supported.

Compatibility

Bitcoin Knots is supported on operating systems using the Linux kernel,
macOS 11.0+, and Windows 7 and newer. It is not recommended to use
Bitcoin Knots on unsupported systems.

Known Bugs

In various locations, including the GUI's transaction details dialog and the
"vsize" result in many RPC results, transaction virtual sizes may not account
for an unusually high number of sigops (ie, as determined by the
-bytespersigop policy) or datacarrier penalties (ie, -datacarriercost).
This could result in reporting a lower virtual size than is actually used for
mempool or mining purposes.

Due to disruption of the shared Bitcoin Transifex repository, this release
still does not include updated translations, and Bitcoin Knots may be unable
to do so until/unless that is resolved.

Notable changes

P2P and network changes

  • As it has been several years since the last vulnerability in the port
    mapping frameworks used by Bitcoin Knots, both UPnP and NAT-PMP have been
    re-enabled by default when your node is configured to listen for incoming
    connections (which is also on by default). This helps automatically
    configure routers and VPNs to not block those incoming connections, making
    the network more resilient. If you wish to disable these, you can set
    -natpmp=0 and -upnp=0 - or you may prefer to disable incoming
    connections altogether with -listen=0.

  • Network-adjusted time has been removed from consensus code. It is replaced
    with (unadjusted) system time. The warning for a large median time offset
    (70 minutes or more) is kept. This reduces the implicit security assumption of
    requiring an honest majority of outbound peers, and increases the importance
    of the node operator ensuring their system time is (and stays) correct to not
    fall out of consensus with the network. (bitcoin#28956)

Node policy changes

  • Experimental support for Opt-in Topologically Restricted Until Confirmation
    (TRUC) Transactions policy (aka v3 transaction policy) is available. By
    setting the transaction version number to 3, TRUC transactions request some
    stricter relay filtering of themselves and related transactions. By default,
    Bitcoin Knots v27.1 will accept, relay, and mine v3 transactions without
    these additional restrictions. If you have configured -mempoolreplacement
    to require transactions to signal replacability, v3 transactions are
    considered replacable (as this is an explicit part of the TRUC request).
    The -mempooltruc option can be set to either enforce to impose the other
    requested restrictions, or to reject to restore the previous policy of
    rejecting v3 transactions entirely. (bitcoin#28948)

Wallet

  • The CoinGrinder coin selection algorithm has been introduced to mitigate unnecessary
    large input sets and lower transaction costs at high feerates. CoinGrinder
    searches for the input set with minimal weight. Solutions found by
    CoinGrinder will produce a change output. CoinGrinder is only active at
    elevated feerates (default: 30+ sat/vB, based on -consolidatefeerate×3). (bitcoin#27877)

Mining

  • The getblocktemplate RPC method's template request mode now accepts new
    parameters "blockmaxsize", "blockmaxweight", and "minfeerate" to override
    the configured parameters on a call-by-call basis. Setting these differently
    from their defaults will disable the internal template caching for now, so
    may be less efficient if you have multiple applications using
    getblocktemplate directly.

  • getblocktemplate (template request mode) also will now accept
    "skip_validity_test" in the list of client "capabilities". If this is
    specified, the internal template validity safety check is skipped, and the
    new template (if one isn't already cached) will not be cached for future
    calls. It is recommended that this feature is not used unless you plan to
    follow up with a template proposal getblocktemplate call (defined in BIP 23).

Updated RPCs

  • disconnectnode now supports disconnecting by IP (without specifying a port
    number or subnet).

  • getrawaddrman will no longer include a dummy "mapped_as" nor
    "source_mapped_as" when an AS map has not been enabled.

Updated settings

  • The rpccookieperms setting has been simplified to values "owner", "group",
    or "all". The old octal permissions may still be used, but are deprecated
    and may be removed in a future version.

mempool.dat compatibility

  • The mempool.dat file created by -persistmempool or the savemempool RPC will
    be written in a new format. This new format includes the obfuscation of
    transaction contents to mitigate issues where external programs (such as
    anti-virus) attempt to interpret and potentially quarantine the file.

    This new format can not be read by previous software releases. To allow for a
    downgrade, a temporary setting -persistmempoolv1 has been added to fall back
    to the legacy format. (bitcoin#28207)

Build System

  • A C++20 capable compiler is now required to build Bitcoin Knots. (bitcoin#28349)

Don't miss a new bitcoin release

NewReleases is sending notifications on new releases.