Skip to content

Commit 9358893

Browse files
committed
doc: Add historical release notes for 0.12.1 0.13.0
1 parent 41d8e78 commit 9358893

File tree

2 files changed

+1061
-0
lines changed

2 files changed

+1061
-0
lines changed
Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
1+
Bitcoin Core version 0.12.1 is now available from:
2+
3+
<https://bitcoin.org/bin/bitcoin-core-0.12.1/>
4+
5+
This is a new minor version release, including the BIP9, BIP68 and BIP112
6+
softfork, various bugfixes and updated translations.
7+
8+
Please report bugs using the issue tracker at github:
9+
10+
<https://github.com/bitcoin/bitcoin/issues>
11+
12+
Upgrading and downgrading
13+
=========================
14+
15+
How to Upgrade
16+
--------------
17+
18+
If you are running an older version, shut it down. Wait until it has completely
19+
shut down (which might take a few minutes for older versions), then run the
20+
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
21+
bitcoind/bitcoin-qt (on Linux).
22+
23+
Downgrade warning
24+
-----------------
25+
26+
### Downgrade to a version < 0.12.0
27+
28+
Because release 0.12.0 and later will obfuscate the chainstate on every
29+
fresh sync or reindex, the chainstate is not backwards-compatible with
30+
pre-0.12 versions of Bitcoin Core or other software.
31+
32+
If you want to downgrade after you have done a reindex with 0.12.0 or later,
33+
you will need to reindex when you first start Bitcoin Core version 0.11 or
34+
earlier.
35+
36+
Notable changes
37+
===============
38+
39+
First version bits BIP9 softfork deployment
40+
-------------------------------------------
41+
42+
This release includes a soft fork deployment to enforce [BIP68][],
43+
[BIP112][] and [BIP113][] using the [BIP9][] deployment mechanism.
44+
45+
The deployment sets the block version number to 0x20000001 between
46+
midnight 1st May 2016 and midnight 1st May 2017 to signal readiness for
47+
deployment. The version number consists of 0x20000000 to indicate version
48+
bits together with setting bit 0 to indicate support for this combined
49+
deployment, shown as "csv" in the `getblockchaininfo` RPC call.
50+
51+
For more information about the soft forking change, please see
52+
<https://github.com/bitcoin/bitcoin/pull/7648>
53+
54+
This specific backport pull-request can be viewed at
55+
<https://github.com/bitcoin/bitcoin/pull/7543>
56+
57+
[BIP9]: https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki
58+
[BIP68]: https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki
59+
[BIP112]: https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki
60+
[BIP113]: https://github.com/bitcoin/bips/blob/master/bip-0113.mediawiki
61+
62+
BIP68 soft fork to enforce sequence locks for relative locktime
63+
---------------------------------------------------------------
64+
65+
[BIP68][] introduces relative lock-time consensus-enforced semantics of
66+
the sequence number field to enable a signed transaction input to remain
67+
invalid for a defined period of time after confirmation of its corresponding
68+
outpoint.
69+
70+
For more information about the implementation, see
71+
<https://github.com/bitcoin/bitcoin/pull/7184>
72+
73+
BIP112 soft fork to enforce OP_CHECKSEQUENCEVERIFY
74+
--------------------------------------------------
75+
76+
[BIP112][] redefines the existing OP_NOP3 as OP_CHECKSEQUENCEVERIFY (CSV)
77+
for a new opcode in the Bitcoin scripting system that in combination with
78+
[BIP68][] allows execution pathways of a script to be restricted based
79+
on the age of the output being spent.
80+
81+
For more information about the implementation, see
82+
<https://github.com/bitcoin/bitcoin/pull/7524>
83+
84+
BIP113 locktime enforcement soft fork
85+
-------------------------------------
86+
87+
Bitcoin Core 0.11.2 previously introduced mempool-only locktime
88+
enforcement using GetMedianTimePast(). This release seeks to
89+
consensus enforce the rule.
90+
91+
Bitcoin transactions currently may specify a locktime indicating when
92+
they may be added to a valid block. Current consensus rules require
93+
that blocks have a block header time greater than the locktime specified
94+
in any transaction in that block.
95+
96+
Miners get to choose what time they use for their header time, with the
97+
consensus rule being that no node will accept a block whose time is more
98+
than two hours in the future. This creates a incentive for miners to
99+
set their header times to future values in order to include locktimed
100+
transactions which weren't supposed to be included for up to two more
101+
hours.
102+
103+
The consensus rules also specify that valid blocks may have a header
104+
time greater than that of the median of the 11 previous blocks. This
105+
GetMedianTimePast() time has a key feature we generally associate with
106+
time: it can't go backwards.
107+
108+
[BIP113][] specifies a soft fork enforced in this release that
109+
weakens this perverse incentive for individual miners to use a future
110+
time by requiring that valid blocks have a computed GetMedianTimePast()
111+
greater than the locktime specified in any transaction in that block.
112+
113+
Mempool inclusion rules currently require transactions to be valid for
114+
immediate inclusion in a block in order to be accepted into the mempool.
115+
This release begins applying the BIP113 rule to received transactions,
116+
so transaction whose time is greater than the GetMedianTimePast() will
117+
no longer be accepted into the mempool.
118+
119+
**Implication for miners:** you will begin rejecting transactions that
120+
would not be valid under BIP113, which will prevent you from producing
121+
invalid blocks when BIP113 is enforced on the network. Any
122+
transactions which are valid under the current rules but not yet valid
123+
under the BIP113 rules will either be mined by other miners or delayed
124+
until they are valid under BIP113. Note, however, that time-based
125+
locktime transactions are more or less unseen on the network currently.
126+
127+
**Implication for users:** GetMedianTimePast() always trails behind the
128+
current time, so a transaction locktime set to the present time will be
129+
rejected by nodes running this release until the median time moves
130+
forward. To compensate, subtract one hour (3,600 seconds) from your
131+
locktimes to allow those transactions to be included in mempools at
132+
approximately the expected time.
133+
134+
For more information about the implementation, see
135+
<https://github.com/bitcoin/bitcoin/pull/6566>
136+
137+
Miscellaneous
138+
-------------
139+
140+
The p2p alert system is off by default. To turn on, use `-alert` with
141+
startup configuration.
142+
143+
0.12.1 Change log
144+
=================
145+
146+
Detailed release notes follow. This overview includes changes that affect
147+
behavior, not code moves, refactors and string updates. For convenience in locating
148+
the code changes and accompanying discussion, both the pull request and
149+
git merge commit are mentioned.
150+
151+
### RPC and other APIs
152+
- #7739 `7ffc2bd` Add abandoned status to listtransactions (jonasschnelli)
153+
154+
### Block and transaction handling
155+
- #7543 `834aaef` Backport BIP9, BIP68 and BIP112 with softfork (btcdrak)
156+
157+
### P2P protocol and network code
158+
- #7804 `90f1d24` Track block download times per individual block (sipa)
159+
- #7832 `4c3a00d` Reduce block timeout to 10 minutes (laanwj)
160+
161+
### Validation
162+
- #7821 `4226aac` init: allow shutdown during 'Activating best chain...' (laanwj)
163+
- #7835 `46898e7` Version 2 transactions remain non-standard until CSV activates (sdaftuar)
164+
165+
### Build system
166+
- #7487 `00d57b4` Workaround Travis-side CI issues (luke-jr)
167+
- #7606 `a10da9a` No need to set -L and --location for curl (MarcoFalke)
168+
- #7614 `ca8f160` Add curl to packages (now needed for depends) (luke-jr)
169+
- #7776 `a784675` Remove unnecessary executables from gitian release (laanwj)
170+
171+
### Wallet
172+
- #7715 `19866c1` Fix calculation of balances and available coins. (morcos)
173+
174+
### Miscellaneous
175+
- #7617 `f04f4fd` Fix markdown syntax and line terminate LogPrint (MarcoFalke)
176+
- #7747 `4d035bc` added depends cross compile info (accraze)
177+
- #7741 `a0cea89` Mark p2p alert system as deprecated (btcdrak)
178+
- #7780 `c5f94f6` Disable bad-chain alert (btcdrak)
179+
180+
Credits
181+
=======
182+
183+
Thanks to everyone who directly contributed to this release:
184+
185+
- accraze
186+
- Alex Morcos
187+
- BtcDrak
188+
- Jonas Schnelli
189+
- Luke Dashjr
190+
- MarcoFalke
191+
- Mark Friedenbach
192+
- NicolasDorier
193+
- Pieter Wuille
194+
- Suhas Daftuar
195+
- Wladimir J. van der Laan
196+
197+
As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
198+

0 commit comments

Comments
 (0)