<div dir="ltr"><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Wladimir J. van der Laan via bitcoin-dev</b> <span dir="ltr"><<a href="mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.linuxfoundation.org</a>></span><br>Date: Fri, Nov 13, 2015 at 3:13 PM<br>Subject: [bitcoin-dev] Bitcoin Core 0.11.2 released<br>To: Bitcoin development mailing list <<a href="mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.linuxfoundation.org</a>><br><br><br>-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA512<br>
<br>
Bitcoin Core version 0.11.2 is now available from:<br>
<br>
  <<a href="https://bitcoin.org/bin/bitcoin-core-0.11.2/" rel="noreferrer" target="_blank">https://bitcoin.org/bin/bitcoin-core-0.11.2/</a>><br>
<br>
Alternatively, through bittorrent:<br>
<br>
    magnet:?xt=urn:btih:d6d3387160f7e14f6f27dc40ae84cf566ebf631b&dn=bitcoin-core-0.11.2&tr=udp%3A%2F%<a href="http://2Ftracker.openbittorrent.com" rel="noreferrer" target="_blank">2Ftracker.openbittorrent.com</a>%3A80%2Fannounce&tr=udp%3A%2F%<a href="http://2Ftracker.publicbt.com" rel="noreferrer" target="_blank">2Ftracker.publicbt.com</a>%3A80%2Fannounce&tr=udp%3A%2F%<a href="http://2Ftracker.ccc.de" rel="noreferrer" target="_blank">2Ftracker.ccc.de</a>%3A80%2Fannounce&tr=udp%3A%2F%<a href="http://2Ftracker.coppersurfer.tk" rel="noreferrer" target="_blank">2Ftracker.coppersurfer.tk</a>%3A6969&tr=udp%3A%2F%<a href="http://2Fopen.demonii.com" rel="noreferrer" target="_blank">2Fopen.demonii.com</a>%3A1337&ws=https%3A%2F%2Fbitcoin.org%2Fbin%2F<br>
<br>
This is a new minor version release, bringing bug fixes, the BIP65<br>
(CLTV) consensus change, and relay policy preparation for BIP113. It is<br>
recommended to upgrade to this version as soon as possible.<br>
<br>
Please report bugs using the issue tracker at github:<br>
<br>
  <<a href="https://github.com/bitcoin/bitcoin/issues" rel="noreferrer" target="_blank">https://github.com/bitcoin/bitcoin/issues</a>><br>
<br>
Upgrading and downgrading<br>
=========================<br>
<br>
How to Upgrade<br>
- --------------<br>
<br>
If you are running an older version, shut it down. Wait until it has completely<br>
shut down (which might take a few minutes for older versions), then run the<br>
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or<br>
bitcoind/bitcoin-qt (on Linux).<br>
<br>
Downgrade warning<br>
- ------------------<br>
<br>
Because release 0.10.0 and later makes use of headers-first synchronization and<br>
parallel block download (see further), the block files and databases are not<br>
backwards-compatible with pre-0.10 versions of Bitcoin Core or other software:<br>
<br>
* Blocks will be stored on disk out of order (in the order they are<br>
received, really), which makes it incompatible with some tools or<br>
other programs. Reindexing using earlier versions will also not work<br>
anymore as a result of this.<br>
<br>
* The block index database will now hold headers for which no block is<br>
stored on disk, which earlier versions won't support.<br>
<br>
If you want to be able to downgrade smoothly, make a backup of your entire data<br>
directory. Without this your node will need start syncing (or importing from<br>
bootstrap.dat) anew afterwards. It is possible that the data from a completely<br>
synchronised 0.10 node may be usable in older versions as-is, but this is not<br>
supported and may break as soon as the older version attempts to reindex.<br>
<br>
This does not affect wallet forward or backward compatibility. There are no<br>
known problems when downgrading from 0.11.x to 0.10.x.<br>
<br>
Notable changes since 0.11.1<br>
============================<br>
<br>
BIP65 soft fork to enforce OP_CHECKLOCKTIMEVERIFY opcode<br>
- --------------------------------------------------------<br>
<br>
This release includes several changes related to the [BIP65][] soft fork<br>
which redefines the existing OP_NOP2 opcode as OP_CHECKLOCKTIMEVERIFY<br>
(CLTV) so that a transaction output can be made unspendable until a<br>
specified point in the future.<br>
<br>
1. This release will only relay and mine transactions spending a CLTV<br>
   output if they comply with the BIP65 rules as provided in code.<br>
<br>
2. This release will produce version 4 blocks by default. Please see the<br>
   *notice to miners* below.<br>
<br>
3. Once 951 out of a sequence of 1,001 blocks on the local node's best block<br>
   chain contain version 4 (or higher) blocks, this release will no<br>
   longer accept new version 3 blocks and it will only accept version 4<br>
   blocks if they comply with the BIP65 rules for CLTV.<br>
<br>
For more information about the soft-forking change, please see<br>
<<a href="https://github.com/bitcoin/bitcoin/pull/6351" rel="noreferrer" target="_blank">https://github.com/bitcoin/bitcoin/pull/6351</a>><br>
<br>
Graphs showing the progress towards block version 4 adoption may be<br>
found at the URLs below:<br>
<br>
- - Block versions over the last 50,000 blocks as progress towards BIP65<br>
  consensus enforcement: <<a href="http://bitcoin.sipa.be/ver-50k.png" rel="noreferrer" target="_blank">http://bitcoin.sipa.be/ver-50k.png</a>><br>
<br>
- - Block versions over the last 2,000 blocks showing the days to the<br>
  earliest possible BIP65 consensus-enforced block: <<a href="http://bitcoin.sipa.be/ver-2k.png" rel="noreferrer" target="_blank">http://bitcoin.sipa.be/ver-2k.png</a>><br>
<br>
**Notice to miners:** Bitcoin Core’s block templates are now for<br>
version 4 blocks only, and any mining software relying on its<br>
getblocktemplate must be updated in parallel to use libblkmaker either<br>
version 0.4.3 or any version from 0.5.2 onward.<br>
<br>
- - If you are solo mining, this will affect you the moment you upgrade<br>
  Bitcoin Core, which must be done prior to BIP65 achieving its 951/1001<br>
  status.<br>
<br>
- - If you are mining with the stratum mining protocol: this does not<br>
  affect you.<br>
<br>
- - If you are mining with the getblocktemplate protocol to a pool: this<br>
  will affect you at the pool operator’s discretion, which must be no<br>
  later than BIP65 achieving its 951/1001 status.<br>
<br>
[BIP65]: <a href="https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki" rel="noreferrer" target="_blank">https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki</a><br>
<br>
BIP113 mempool-only locktime enforcement using GetMedianTimePast()<br>
- ----------------------------------------------------------------<br>
<br>
Bitcoin transactions currently may specify a locktime indicating when<br>
they may be added to a valid block.  Current consensus rules require<br>
that blocks have a block header time greater than the locktime specified<br>
in any transaction in that block.<br>
<br>
Miners get to choose what time they use for their header time, with the<br>
consensus rule being that no node will accept a block whose time is more<br>
than two hours in the future.  This creates a incentive for miners to<br>
set their header times to future values in order to include locktimed<br>
transactions which weren't supposed to be included for up to two more<br>
hours.<br>
<br>
The consensus rules also specify that valid blocks may have a header<br>
time greater than that of the median of the 11 previous blocks.  This<br>
GetMedianTimePast() time has a key feature we generally associate with<br>
time: it can't go backwards.<br>
<br>
[BIP113][] specifies a soft fork (**not enforced in this release**) that<br>
weakens this perverse incentive for individual miners to use a future<br>
time by requiring that valid blocks have a computed GetMedianTimePast()<br>
greater than the locktime specified in any transaction in that block.<br>
<br>
Mempool inclusion rules currently require transactions to be valid for<br>
immediate inclusion in a block in order to be accepted into the mempool.<br>
This release begins applying the BIP113 rule to received transactions,<br>
so transaction whose time is greater than the GetMedianTimePast() will<br>
no longer be accepted into the mempool.<br>
<br>
**Implication for miners:** you will begin rejecting transactions that<br>
would not be valid under BIP113, which will prevent you from producing<br>
invalid blocks if/when BIP113 is enforced on the network. Any<br>
transactions which are valid under the current rules but not yet valid<br>
under the BIP113 rules will either be mined by other miners or delayed<br>
until they are valid under BIP113. Note, however, that time-based<br>
locktime transactions are more or less unseen on the network currently.<br>
<br>
**Implication for users:** GetMedianTimePast() always trails behind the<br>
current time, so a transaction locktime set to the present time will be<br>
rejected by nodes running this release until the median time moves<br>
forward. To compensate, subtract one hour (3,600 seconds) from your<br>
locktimes to allow those transactions to be included in mempools at<br>
approximately the expected time.<br>
<br>
[BIP113]: <a href="https://github.com/bitcoin/bips/blob/master/bip-0113.mediawiki" rel="noreferrer" target="_blank">https://github.com/bitcoin/bips/blob/master/bip-0113.mediawiki</a><br>
<br>
Windows bug fix for corrupted UTXO database on unclean shutdowns<br>
- ----------------------------------------------------------------<br>
<br>
Several Windows users reported that they often need to reindex the<br>
entire blockchain after an unclean shutdown of Bitcoin Core on Windows<br>
(or an unclean shutdown of Windows itself). Although unclean shutdowns<br>
remain unsafe, this release no longer relies on memory-mapped files for<br>
the UTXO database, which significantly reduced the frequency of unclean<br>
shutdowns leading to required reindexes during testing.<br>
<br>
For more information, see: <<a href="https://github.com/bitcoin/bitcoin/pull/6917" rel="noreferrer" target="_blank">https://github.com/bitcoin/bitcoin/pull/6917</a>><br>
<br>
Other fixes for database corruption on Windows are expected in the<br>
next major release.<br>
<br>
0.11.2 Change log<br>
=================<br>
<br>
Detailed release notes follow. This overview includes changes that affect<br>
behavior, not code moves, refactors and string updates. For convenience in locating<br>
the code changes and accompanying discussion, both the pull request and<br>
git merge commit are mentioned.<br>
<br>
- - #6124 `684636b` Make CScriptNum() take nMaxNumSize as an argument<br>
- - #6124 `4fa7a04` Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65)<br>
- - #6124 `6ea5ca4` Enable CHECKLOCKTIMEVERIFY as a standard script verify flag<br>
- - #6351 `5e82e1c` Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic<br>
- - #6353 `ba1da90` Show softfork status in getblockchaininfo<br>
- - #6351 `6af25b0` Add BIP65 to getblockchaininfo softforks list<br>
- - #6688 `01878c9` Fix locking in GetTransaction<br>
- - #6653 `b3eaa30` [Qt] Raise debug window when requested<br>
- - #6600 `1e672ae` Debian/Ubuntu: Include bitcoin-tx binary<br>
- - #6600 `2394f4d` Debian/Ubuntu: Split bitcoin-tx into its own package<br>
- - #5987 `33d6825` Bugfix: Allow mining on top of old tip blocks for testnet<br>
- - #6852 `21e58b8` build: make sure OpenSSL heeds noexecstack<br>
- - #6846 `af6edac` alias `-h` for `--help`<br>
- - #6867 `95a5039` Set TCP_NODELAY on P2P sockets.<br>
- - #6856 `dfe55bd` Do not allow blockfile pruning during reindex.<br>
- - #6566 `a1d3c6f` Add rules--presently disabled--for using GetMedianTimePast as end point for lock-time calculations<br>
- - #6566 `f720c5f` Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints<br>
- - #6917 `0af5b8e` leveldb: Win32WritableFile without memory mapping<br>
- - #6948 `4e895b0` Always flush block and undo when switching to new file<br>
<br>
Credits<br>
=======<br>
<br>
Thanks to everyone who directly contributed to this release:<br>
<br>
- - Alex Morcos<br>
- - ฿tcDrak<br>
- - Chris Kleeschulte<br>
- - Daniel Cousens<br>
- - Diego Viola<br>
- - Eric Lombrozo<br>
- - Esteban Ordano<br>
- - Gregory Maxwell<br>
- - Luke Dashjr<br>
- - Marco Falke<br>
- - Mark Friedenbach<br>
- - Matt Corallo<br>
- - Micha<br>
- - Mitchell Cash<br>
- - Peter Todd<br>
- - Pieter Wuille<br>
- - Wladimir J. van der Laan<br>
- - Zak Wilcox<br>
<br>
And those who contributed additional code review and/or security research.<br>
<br>
As well as everyone that helped translating on [Transifex](<a href="https://www.transifex.com/projects/p/bitcoin/" rel="noreferrer" target="_blank">https://www.transifex.com/projects/p/bitcoin/</a>).<br>
<br>
-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v1<br>
<br>
iQEcBAEBCgAGBQJWReHOAAoJEHSBCwEjRsmmTAAH/iZQGklLHLIM6a2tTOj4d/O6<br>
xHg5bJhXGjtzO284Uy3phTzvk+e4mqBTjI8BrSr4D+Vw7mJrfWihdTLlgZYCwso3<br>
AyAk8ud1H42QanAfUvciY5uXd7cyzr8tCnCIBkvwJT5O8tI3FFhSMM5Fs86WnsP1<br>
Y10+93sxaVJUave2xm1bmgiwApFZKQ2MNU1IVgFaW8agB59fuqtPRnBdKiK/j+AO<br>
Jn1LKsObsINYhjtkAFiC66mUOBZ2N3rdhbN3LFl+u7EriTLoYk1OtZZhlC+rOueo<br>
nxl1H5SHStjrD27vE9Hv2qD5Ckrwo3zib8hZNIVs6MJjFnWUCwNtNg0nqDEvpn4=<br>
=xXdY<br>
-----END PGP SIGNATURE-----<br>
_______________________________________________<br>
bitcoin-dev mailing list<br>
<a href="mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.linuxfoundation.org</a><br>
<a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" rel="noreferrer" target="_blank">https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev</a><br>
</div><br></div>