Merge #9867: Replace remaining sprintf with snprintf
[bitcoinplatinum.git] / doc / release-notes / release-notes-0.11.1.md
blob799205691ed0f26322923693c2cbf523f0b6751e
1 Bitcoin Core version 0.11.1 is now available from:
3   <https://bitcoin.org/bin/bitcoin-core-0.11.1/>
5 This is a new minor version release, bringing security fixes. It is recommended
6 to upgrade to this version as soon as possible.
8 Please report bugs using the issue tracker at github:
10   <https://github.com/bitcoin/bitcoin/issues>
12 Upgrading and downgrading
13 =========================
15 How to Upgrade
16 --------------
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).
23 Downgrade warning
24 ------------------
26 Because release 0.10.0 and later makes use of headers-first synchronization and
27 parallel block download (see further), the block files and databases are not
28 backwards-compatible with pre-0.10 versions of Bitcoin Core or other software:
30 * Blocks will be stored on disk out of order (in the order they are
31 received, really), which makes it incompatible with some tools or
32 other programs. Reindexing using earlier versions will also not work
33 anymore as a result of this.
35 * The block index database will now hold headers for which no block is
36 stored on disk, which earlier versions won't support.
38 If you want to be able to downgrade smoothly, make a backup of your entire data
39 directory. Without this your node will need start syncing (or importing from
40 bootstrap.dat) anew afterwards. It is possible that the data from a completely
41 synchronised 0.10 node may be usable in older versions as-is, but this is not
42 supported and may break as soon as the older version attempts to reindex.
44 This does not affect wallet forward or backward compatibility. There are no
45 known problems when downgrading from 0.11.x to 0.10.x.
47 Notable changes
48 ===============
50 Fix buffer overflow in bundled upnp
51 ------------------------------------
53 Bundled miniupnpc was updated to 1.9.20151008. This fixes a buffer overflow in
54 the XML parser during initial network discovery.
56 Details can be found here: http://talosintel.com/reports/TALOS-2015-0035/
58 This applies to the distributed executables only, not when building from source or
59 using distribution provided packages.
61 Additionally, upnp has been disabled by default. This may result in a lower
62 number of reachable nodes on IPv4, however this prevents future libupnpc
63 vulnerabilities from being a structural risk to the network
64 (see https://github.com/bitcoin/bitcoin/pull/6795).
66 Test for LowS signatures before relaying
67 -----------------------------------------
69 Make the node require the canonical 'low-s' encoding for ECDSA signatures when
70 relaying or mining.  This removes a nuisance malleability vector.
72 Consensus behavior is unchanged.
74 If widely deployed this change would eliminate the last remaining known vector
75 for nuisance malleability on SIGHASH_ALL P2PKH transactions. On the down-side
76 it will block most transactions made by sufficiently out of date software.
78 Unlike the other avenues to change txids on transactions this
79 one was randomly violated by all deployed bitcoin software prior to
80 its discovery. So, while other malleability vectors where made
81 non-standard as soon as they were discovered, this one has remained
82 permitted. Even BIP62 did not propose applying this rule to
83 old version transactions, but conforming implementations have become
84 much more common since BIP62 was initially written.
86 Bitcoin Core has produced compatible signatures since a28fb70e in
87 September 2013, but this didn't make it into a release until 0.9
88 in March 2014; Bitcoinj has done so for a similar span of time.
89 Bitcoinjs and electrum have been more recently updated.
91 This does not replace the need for BIP62 or similar, as miners can
92 still cooperate to break transactions.  Nor does it replace the
93 need for wallet software to handle malleability sanely[1]. This
94 only eliminates the cheap and irritating DOS attack.
96 [1] On the Malleability of Bitcoin Transactions
97 Marcin Andrychowicz, Stefan Dziembowski, Daniel Malinowski, Łukasz Mazurek
98 http://fc15.ifca.ai/preproceedings/bitcoin/paper_9.pdf
100 Minimum relay fee default increase
101 -----------------------------------
103 The default for the `-minrelaytxfee` setting has been increased from `0.00001`
104 to `0.00005`.
106 This is necessitated by the current transaction flooding, causing
107 outrageous memory usage on nodes due to the mempool ballooning. This is a
108 temporary measure, bridging the time until a dynamic method for determining
109 this fee is merged (which will be in 0.12).
111 (see https://github.com/bitcoin/bitcoin/pull/6793, as well as the 0.11
112 release notes, in which this value was suggested)
114 0.11.1 Change log
115 =================
117 Detailed release notes follow. This overview includes changes that affect
118 behavior, not code moves, refactors and string updates. For convenience in locating
119 the code changes and accompanying discussion, both the pull request and
120 git merge commit are mentioned.
122 - #6438 `2531438` openssl: avoid config file load/race
123 - #6439 `980f820` Updated URL location of netinstall for Debian
124 - #6384 `8e5a969` qt: Force TLS1.0+ for SSL connections
125 - #6471 `92401c2` Depends: bump to qt 5.5
126 - #6224 `93b606a` Be even stricter in processing unrequested blocks
127 - #6571 `100ac4e` libbitcoinconsensus: avoid a crash in multi-threaded environments
128 - #6545 `649f5d9` Do not store more than 200 timedata samples.
129 - #6694 `834e299` [QT] fix thin space word wrap line break issue
130 - #6703 `1cd7952` Backport bugfixes to 0.11
131 - #6750 `5ed8d0b` Recent rejects backport to v0.11
132 - #6769 `71cc9d9` Test LowS in standardness, removes nuisance malleability vector.
133 - #6789 `b4ad73f` Update miniupnpc to 1.9.20151008
134 - #6785 `b4dc33e` Backport to v0.11: In (strCommand == "tx"), return if AlreadyHave()
135 - #6412 `0095b9a` Test whether created sockets are select()able
136 - #6795 `4dbcec0` net: Disable upnp by default
137 - #6793 `e7bcc4a` Bump minrelaytxfee default
139 Credits
140 =======
142 Thanks to everyone who directly contributed to this release:
144 - Adam Weiss
145 - Alex Morcos
146 - Casey Rodarmor
147 - Cory Fields
148 - fanquake
149 - Gregory Maxwell
150 - Jonas Schnelli
151 - J Ross Nicoll
152 - Luke Dashjr
153 - Pavel Janík
154 - Pavel Vasin
155 - Peter Todd
156 - Pieter Wuille
157 - randy-waterhouse
158 - Ross Nicoll
159 - Suhas Daftuar
160 - tailsjoin
161 - ฿tcDrak
162 - Tom Harding
163 - Veres Lajos
164 - Wladimir J. van der Laan
166 And those who contributed additional code review and/or security research:
168 - timothy on IRC for reporting the issue
169 - Vulnerability in miniupnp discovered by Aleksandar Nikolic of Cisco Talos
171 As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).