]> Git Repo - VerusCoin.git/commitdiff
Auto merge of #1523 - bitcartel:master_1504_z_logging, r=bitcartel
authorzkbot <[email protected]>
Fri, 14 Oct 2016 15:11:26 +0000 (11:11 -0400)
committerzkbot <[email protected]>
Fri, 14 Oct 2016 15:11:26 +0000 (11:11 -0400)
Refine LogPrint debugging for z_* rpc calls

For #1504 ZCA011

128 files changed:
INSTALL
contrib/seeds/makeseeds.py
doc/REST-interface.md [deleted file]
doc/bitcoin-release-notes/release-notes-0.10.0.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.10.1.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.10.2.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.10.3.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.11.1.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.11.2.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.3.12.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.3.13.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.3.14.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.3.15.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.3.16.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.3.17.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.3.18.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.3.19.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.3.20.1.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.3.20.2.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.3.20.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.3.21.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.3.22.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.3.23.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.3.24.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.4.0.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.4.1.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.4.2.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.4.3.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.4.4.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.4.5.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.4.6.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.5.0.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.5.1.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.5.2.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.5.3.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.5.4.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.5.5.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.6.0.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.6.1.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.6.2.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.6.3.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.7.0.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.7.1.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.7.2.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.8.0.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.8.1.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.8.2.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.8.3.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.8.4.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.8.5.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.8.6.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.9.0.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.9.1.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.9.2.1.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.9.2.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.9.3.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.9.4.md [new file with mode: 0644]
doc/bitcoin-release-notes/release-notes-0.9.5.md [new file with mode: 0644]
doc/bitcoin_logo_doxygen.png [deleted file]
doc/build-unix.md [deleted file]
doc/release-notes.md [deleted file]
doc/release-notes/release-notes-0.10.0.md [deleted file]
doc/release-notes/release-notes-0.10.1.md [deleted file]
doc/release-notes/release-notes-0.10.2.md [deleted file]
doc/release-notes/release-notes-0.10.3.md [deleted file]
doc/release-notes/release-notes-0.11.1.md [deleted file]
doc/release-notes/release-notes-0.3.12.md [deleted file]
doc/release-notes/release-notes-0.3.13.md [deleted file]
doc/release-notes/release-notes-0.3.14.md [deleted file]
doc/release-notes/release-notes-0.3.15.md [deleted file]
doc/release-notes/release-notes-0.3.16.md [deleted file]
doc/release-notes/release-notes-0.3.17.md [deleted file]
doc/release-notes/release-notes-0.3.18.md [deleted file]
doc/release-notes/release-notes-0.3.19.md [deleted file]
doc/release-notes/release-notes-0.3.20.1.md [deleted file]
doc/release-notes/release-notes-0.3.20.2.md [deleted file]
doc/release-notes/release-notes-0.3.20.md [deleted file]
doc/release-notes/release-notes-0.3.21.md [deleted file]
doc/release-notes/release-notes-0.3.22.md [deleted file]
doc/release-notes/release-notes-0.3.23.md [deleted file]
doc/release-notes/release-notes-0.3.24.md [deleted file]
doc/release-notes/release-notes-0.4.0.md [deleted file]
doc/release-notes/release-notes-0.4.1.md [deleted file]
doc/release-notes/release-notes-0.4.2.md [deleted file]
doc/release-notes/release-notes-0.4.3.md [deleted file]
doc/release-notes/release-notes-0.4.4.md [deleted file]
doc/release-notes/release-notes-0.4.5.md [deleted file]
doc/release-notes/release-notes-0.4.6.md [deleted file]
doc/release-notes/release-notes-0.5.0.md [deleted file]
doc/release-notes/release-notes-0.5.1.md [deleted file]
doc/release-notes/release-notes-0.5.2.md [deleted file]
doc/release-notes/release-notes-0.5.3.md [deleted file]
doc/release-notes/release-notes-0.5.4.md [deleted file]
doc/release-notes/release-notes-0.5.5.md [deleted file]
doc/release-notes/release-notes-0.6.0.md [deleted file]
doc/release-notes/release-notes-0.6.1.md [deleted file]
doc/release-notes/release-notes-0.6.2.md [deleted file]
doc/release-notes/release-notes-0.6.3.md [deleted file]
doc/release-notes/release-notes-0.7.0.md [deleted file]
doc/release-notes/release-notes-0.7.1.md [deleted file]
doc/release-notes/release-notes-0.7.2.md [deleted file]
doc/release-notes/release-notes-0.8.0.md [deleted file]
doc/release-notes/release-notes-0.8.1.md [deleted file]
doc/release-notes/release-notes-0.8.2.md [deleted file]
doc/release-notes/release-notes-0.8.3.md [deleted file]
doc/release-notes/release-notes-0.8.4.md [deleted file]
doc/release-notes/release-notes-0.8.5.md [deleted file]
doc/release-notes/release-notes-0.8.6.md [deleted file]
doc/release-notes/release-notes-0.9.0.md [deleted file]
doc/release-notes/release-notes-0.9.1.md [deleted file]
doc/release-notes/release-notes-0.9.2.1.md [deleted file]
doc/release-notes/release-notes-0.9.2.md [deleted file]
doc/release-notes/release-notes-0.9.3.md [deleted file]
doc/release-notes/release-notes-0.9.4.md [deleted file]
doc/release-notes/release-notes-0.9.5.md [deleted file]
doc/security-warnings.md
doc/tor.md
doc/translation_strings_policy.md
src/clientversion.cpp
src/rpcnet.cpp
src/sendalert.cpp
src/test/alert_tests.cpp
src/test/data/alertTests.raw
src/test/rpc_wallet_tests.cpp
src/wallet/rpcdump.cpp
src/wallet/rpcwallet.cpp
src/wallet/wallet.cpp
src/wallet/wallet.h

diff --git a/INSTALL b/INSTALL
index 18626e1795fce58ad01c2473b1a100cd4d82b5ae..647c89a39d33460834bdc70acc34dded1d8cf7ad 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 Building Zcash
 
-See doc/build-*.md for instructions on building zcashd,
+See the Zcash github wiki (https://github.com/zcash/zcash/wiki) for instructions on building zcashd,
 the intended-for-services, no-graphical-interface, reference
 implementation of Zcash.
index 4072405ef509a80176bf7314b46eca525cffe1da..041f83e2b0bf332c4c641ba5f4e9871b8a260dff 100755 (executable)
@@ -27,7 +27,7 @@ import collections
 PATTERN_IPV4 = re.compile(r"^((\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})):(\d+)$")
 PATTERN_IPV6 = re.compile(r"^\[([0-9a-z:]+)\]:(\d+)$")
 PATTERN_ONION = re.compile(r"^([abcdefghijklmnopqrstuvwxyz234567]{16}\.onion):(\d+)$")
-PATTERN_AGENT = re.compile(r"^(\/Satoshi:0\.8\.6\/|\/Satoshi:0\.9\.(2|3|4|5)\/|\/Satoshi:0\.10\.\d{1,2}\/|\/Satoshi:0\.11\.\d{1,2}\/)$")
+PATTERN_AGENT = re.compile(r"^(\/MagicBean:([0-9a-z-.]+)\/)$")
 
 def parseline(line):
     sline = line.split()
diff --git a/doc/REST-interface.md b/doc/REST-interface.md
deleted file mode 100644 (file)
index ebd88ca..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-*** Warning: This document has not been updated for Zcash and may be inaccurate. ***
-
-Unauthenticated REST Interface
-==============================
-
-The REST API can be enabled with the `-rest` option.
-
-Supported API
--------------
-
-####Transactions
-`GET /rest/tx/<TX-HASH>.<bin|hex|json>`
-
-Given a transaction hash: returns a transaction in binary, hex-encoded binary, or JSON formats.
-
-For full TX query capability, one must enable the transaction index via "txindex=1" command line / configuration option.
-
-####Blocks
-`GET /rest/block/<BLOCK-HASH>.<bin|hex|json>`
-`GET /rest/block/notxdetails/<BLOCK-HASH>.<bin|hex|json>`
-
-Given a block hash: returns a block, in binary, hex-encoded binary or JSON formats.
-
-The HTTP request and response are both handled entirely in-memory, thus making maximum memory usage at least 2.66MB (1 MB max block, plus hex encoding) per request.
-
-With the /notxdetails/ option JSON response will only contain the transaction hash instead of the complete transaction details. The option only affects the JSON response.
-
-####Blockheaders
-`GET /rest/headers/<COUNT>/<BLOCK-HASH>.<bin|hex>`
-
-Given a block hash: returns <COUNT> amount of blockheaders in upward direction.
-
-JSON is not supported.
-
-####Chaininfos
-`GET /rest/chaininfo.json`
-
-Returns various state info regarding block chain processing.
-Only supports JSON as output format.
-* chain : (string) current network name as defined in BIP70 (main, test, regtest)
-* blocks : (numeric) the current number of blocks processed in the server
-* headers : (numeric) the current number of headers we have validated
-* bestblockhash : (string) the hash of the currently best block
-* difficulty : (numeric) the current difficulty
-* verificationprogress : (numeric) estimate of verification progress [0..1]
-* chainwork : (string) total amount of work in active chain, in hexadecimal
-
-####Query UTXO set
-`GET /rest/getutxos/<checkmempool>/<txid>-<n>/<txid>-<n>/.../<txid>-<n>.<bin|hex|json>`
-
-The getutxo command allows querying of the UTXO set given a set of outpoints.
-See BIP64 for input and output serialisation:
-https://github.com/bitcoin/bips/blob/master/bip-0064.mediawiki
-
-Example:
-```
-$ curl localhost:18232/rest/getutxos/checkmempool/b2cdfd7b89def827ff8af7cd9bff7627ff72e5e8b0f71210f92ea7a4000c5d75-0.json 2>/dev/null | json_pp
-{
-   "chaintipHash" : "00000000fb01a7f3745a717f8caebee056c484e6e0bfe4a9591c235bb70506fb",
-   "chainHeight" : 325347,
-   "utxos" : [
-      {
-         "scriptPubKey" : {
-            "addresses" : [
-               "mi7as51dvLJsizWnTMurtRmrP8hG2m1XvD"
-            ],
-            "type" : "pubkeyhash",
-            "hex" : "76a9141c7cebb529b86a04c683dfa87be49de35bcf589e88ac",
-            "reqSigs" : 1,
-            "asm" : "OP_DUP OP_HASH160 1c7cebb529b86a04c683dfa87be49de35bcf589e OP_EQUALVERIFY OP_CHECKSIG"
-         },
-         "value" : 8.8687,
-         "height" : 2147483647,
-         "txvers" : 1
-      }
-   ],
-   "bitmap" : "1"
-}
-```
-
-Risks
--------------
-Running a web browser on the same node with a REST enabled bitcoind can be a risk. Accessing prepared XSS websites could read out tx/block data of your node by placing links like `<script src="http://127.0.0.1:8232/rest/tx/1234567890.json">` which might break the nodes privacy.
diff --git a/doc/bitcoin-release-notes/release-notes-0.10.0.md b/doc/bitcoin-release-notes/release-notes-0.10.0.md
new file mode 100644 (file)
index 0000000..986b883
--- /dev/null
@@ -0,0 +1,762 @@
+Bitcoin Core version 0.10.0 is now available from:
+
+  https://bitcoin.org/bin/0.10.0/
+
+This is a new major version release, bringing both new features and
+bug fixes.
+
+Please report bugs using the issue tracker at github:
+
+  https://github.com/bitcoin/bitcoin/issues
+
+Upgrading and downgrading
+=========================
+
+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 for older versions), then run the
+installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
+bitcoind/bitcoin-qt (on Linux).
+
+Downgrading warning
+---------------------
+
+Because release 0.10.0 makes use of headers-first synchronization and parallel
+block download (see further), the block files and databases are not
+backwards-compatible with older versions of Bitcoin Core or other software:
+
+* Blocks will be stored on disk out of order (in the order they are
+received, really), which makes it incompatible with some tools or
+other programs. Reindexing using earlier versions will also not work
+anymore as a result of this.
+
+* The block index database will now hold headers for which no block is
+stored on disk, which earlier versions won't support.
+
+If you want to be able to downgrade smoothly, make a backup of your entire data
+directory. Without this your node will need start syncing (or importing from
+bootstrap.dat) anew afterwards. It is possible that the data from a completely
+synchronised 0.10 node may be usable in older versions as-is, but this is not
+supported and may break as soon as the older version attempts to reindex.
+
+This does not affect wallet forward or backward compatibility.
+
+
+Notable changes
+===============
+
+Faster synchronization
+----------------------
+
+Bitcoin Core now uses 'headers-first synchronization'. This means that we first
+ask peers for block headers (a total of 27 megabytes, as of December 2014) and
+validate those. In a second stage, when the headers have been discovered, we
+download the blocks. However, as we already know about the whole chain in
+advance, the blocks can be downloaded in parallel from all available peers.
+
+In practice, this means a much faster and more robust synchronization. On
+recent hardware with a decent network link, it can be as little as 3 hours
+for an initial full synchronization. You may notice a slower progress in the
+very first few minutes, when headers are still being fetched and verified, but
+it should gain speed afterwards.
+
+A few RPCs were added/updated as a result of this:
+- `getblockchaininfo` now returns the number of validated headers in addition to
+the number of validated blocks.
+- `getpeerinfo` lists both the number of blocks and headers we know we have in
+common with each peer. While synchronizing, the heights of the blocks that we
+have requested from peers (but haven't received yet) are also listed as
+'inflight'.
+- A new RPC `getchaintips` lists all known branches of the block chain,
+including those we only have headers for.
+
+Transaction fee changes
+-----------------------
+
+This release automatically estimates how high a transaction fee (or how
+high a priority) transactions require to be confirmed quickly. The default
+settings will create transactions that confirm quickly; see the new
+'txconfirmtarget' setting to control the tradeoff between fees and
+confirmation times. Fees are added by default unless the 'sendfreetransactions' 
+setting is enabled.
+
+Prior releases used hard-coded fees (and priorities), and would
+sometimes create transactions that took a very long time to confirm.
+
+Statistics used to estimate fees and priorities are saved in the
+data directory in the `fee_estimates.dat` file just before
+program shutdown, and are read in at startup.
+
+New command line options for transaction fee changes:
+- `-txconfirmtarget=n` : create transactions that have enough fees (or priority)
+so they are likely to begin confirmation within n blocks (default: 1). This setting
+is over-ridden by the -paytxfee option.
+- `-sendfreetransactions` : Send transactions as zero-fee transactions if possible 
+(default: 0)
+
+New RPC commands for fee estimation:
+- `estimatefee nblocks` : Returns approximate fee-per-1,000-bytes needed for
+a transaction to begin confirmation within nblocks. Returns -1 if not enough
+transactions have been observed to compute a good estimate.
+- `estimatepriority nblocks` : Returns approximate priority needed for
+a zero-fee transaction to begin confirmation within nblocks. Returns -1 if not
+enough free transactions have been observed to compute a good
+estimate.
+
+RPC access control changes
+--------------------------
+
+Subnet matching for the purpose of access control is now done
+by matching the binary network address, instead of with string wildcard matching.
+For the user this means that `-rpcallowip` takes a subnet specification, which can be
+
+- a single IP address (e.g. `1.2.3.4` or `fe80::0012:3456:789a:bcde`)
+- a network/CIDR (e.g. `1.2.3.0/24` or `fe80::0000/64`)
+- a network/netmask (e.g. `1.2.3.4/255.255.255.0` or `fe80::0012:3456:789a:bcde/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff`)
+
+An arbitrary number of `-rpcallow` arguments can be given. An incoming connection will be accepted if its origin address
+matches one of them.
+
+For example:
+
+| 0.9.x and before                           | 0.10.x                                |
+|--------------------------------------------|---------------------------------------|
+| `-rpcallowip=192.168.1.1`                  | `-rpcallowip=192.168.1.1` (unchanged) |
+| `-rpcallowip=192.168.1.*`                  | `-rpcallowip=192.168.1.0/24`          |
+| `-rpcallowip=192.168.*`                    | `-rpcallowip=192.168.0.0/16`          |
+| `-rpcallowip=*` (dangerous!)               | `-rpcallowip=::/0` (still dangerous!) |
+
+Using wildcards will result in the rule being rejected with the following error in debug.log:
+
+    Error: Invalid -rpcallowip subnet specification: *. Valid are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24).
+
+
+REST interface
+--------------
+
+A new HTTP API is exposed when running with the `-rest` flag, which allows
+unauthenticated access to public node data.
+
+It is served on the same port as RPC, but does not need a password, and uses
+plain HTTP instead of JSON-RPC.
+
+Assuming a local RPC server running on port 8332, it is possible to request:
+- Blocks: http://localhost:8332/rest/block/*HASH*.*EXT*
+- Blocks without transactions: http://localhost:8332/rest/block/notxdetails/*HASH*.*EXT*
+- Transactions (requires `-txindex`): http://localhost:8332/rest/tx/*HASH*.*EXT*
+
+In every case, *EXT* can be `bin` (for raw binary data), `hex` (for hex-encoded
+binary) or `json`.
+
+For more details, see the `doc/REST-interface.md` document in the repository.
+
+RPC Server "Warm-Up" Mode
+-------------------------
+
+The RPC server is started earlier now, before most of the expensive
+intialisations like loading the block index.  It is available now almost
+immediately after starting the process.  However, until all initialisations
+are done, it always returns an immediate error with code -28 to all calls.
+
+This new behaviour can be useful for clients to know that a server is already
+started and will be available soon (for instance, so that they do not
+have to start it themselves).
+
+Improved signing security
+-------------------------
+
+For 0.10 the security of signing against unusual attacks has been
+improved by making the signatures constant time and deterministic.
+
+This change is a result of switching signing to use libsecp256k1
+instead of OpenSSL. Libsecp256k1 is a cryptographic library
+optimized for the curve Bitcoin uses which was created by Bitcoin
+Core developer Pieter Wuille.
+
+There exist attacks[1] against most ECC implementations where an
+attacker on shared virtual machine hardware could extract a private
+key if they could cause a target to sign using the same key hundreds
+of times. While using shared hosts and reusing keys are inadvisable
+for other reasons, it's a better practice to avoid the exposure.
+
+OpenSSL has code in their source repository for derandomization
+and reduction in timing leaks that we've eagerly wanted to use for a
+long time, but this functionality has still not made its
+way into a released version of OpenSSL. Libsecp256k1 achieves
+significantly stronger protection: As far as we're aware this is
+the only deployed implementation of constant time signing for
+the curve Bitcoin uses and we have reason to believe that
+libsecp256k1 is better tested and more thoroughly reviewed
+than the implementation in OpenSSL.
+
+[1] https://eprint.iacr.org/2014/161.pdf
+
+Watch-only wallet support
+-------------------------
+
+The wallet can now track transactions to and from wallets for which you know
+all addresses (or scripts), even without the private keys.
+
+This can be used to track payments without needing the private keys online on a
+possibly vulnerable system. In addition, it can help for (manual) construction
+of multisig transactions where you are only one of the signers.
+
+One new RPC, `importaddress`, is added which functions similarly to
+`importprivkey`, but instead takes an address or script (in hexadecimal) as
+argument.  After using it, outputs credited to this address or script are
+considered to be received, and transactions consuming these outputs will be
+considered to be sent.
+
+The following RPCs have optional support for watch-only:
+`getbalance`, `listreceivedbyaddress`, `listreceivedbyaccount`,
+`listtransactions`, `listaccounts`, `listsinceblock`, `gettransaction`. See the
+RPC documentation for those methods for more information.
+
+Compared to using `getrawtransaction`, this mechanism does not require
+`-txindex`, scales better, integrates better with the wallet, and is compatible
+with future block chain pruning functionality. It does mean that all relevant
+addresses need to added to the wallet before the payment, though.
+
+Consensus library
+-----------------
+
+Starting from 0.10.0, the Bitcoin Core distribution includes a consensus library.
+
+The purpose of this library is to make the verification functionality that is
+critical to Bitcoin's consensus available to other applications, e.g. to language
+bindings such as [python-bitcoinlib](https://pypi.python.org/pypi/python-bitcoinlib) or
+alternative node implementations.
+
+This library is called `libbitcoinconsensus.so` (or, `.dll` for Windows).
+Its interface is defined in the C header [bitcoinconsensus.h](https://github.com/bitcoin/bitcoin/blob/0.10/src/script/bitcoinconsensus.h).
+
+In its initial version the API includes two functions:
+
+- `bitcoinconsensus_verify_script` verifies a script. It returns whether the indicated input of the provided serialized transaction 
+correctly spends the passed scriptPubKey under additional constraints indicated by flags
+- `bitcoinconsensus_version` returns the API version, currently at an experimental `0`
+
+The functionality is planned to be extended to e.g. UTXO management in upcoming releases, but the interface
+for existing methods should remain stable.
+
+Standard script rules relaxed for P2SH addresses
+------------------------------------------------
+
+The IsStandard() rules have been almost completely removed for P2SH
+redemption scripts, allowing applications to make use of any valid
+script type, such as "n-of-m OR y", hash-locked oracle addresses, etc.
+While the Bitcoin protocol has always supported these types of script,
+actually using them on mainnet has been previously inconvenient as
+standard Bitcoin Core nodes wouldn't relay them to miners, nor would
+most miners include them in blocks they mined.
+
+bitcoin-tx
+----------
+
+It has been observed that many of the RPC functions offered by bitcoind are
+"pure functions", and operate independently of the bitcoind wallet. This
+included many of the RPC "raw transaction" API functions, such as
+createrawtransaction.
+
+bitcoin-tx is a newly introduced command line utility designed to enable easy
+manipulation of bitcoin transactions. A summary of its operation may be
+obtained via "bitcoin-tx --help" Transactions may be created or signed in a
+manner similar to the RPC raw tx API. Transactions may be updated, deleting
+inputs or outputs, or appending new inputs and outputs. Custom scripts may be
+easily composed using a simple text notation, borrowed from the bitcoin test
+suite.
+
+This tool may be used for experimenting with new transaction types, signing
+multi-party transactions, and many other uses. Long term, the goal is to
+deprecate and remove "pure function" RPC API calls, as those do not require a
+server round-trip to execute.
+
+Other utilities "bitcoin-key" and "bitcoin-script" have been proposed, making
+key and script operations easily accessible via command line.
+
+Mining and relay policy enhancements
+------------------------------------
+
+Bitcoin Core's block templates are now for version 3 blocks only, and any mining
+software relying on its `getblocktemplate` must be updated in parallel to use
+libblkmaker either version 0.4.2 or any version from 0.5.1 onward.
+If you are solo mining, this will affect you the moment you upgrade Bitcoin
+Core, which must be done prior to BIP66 achieving its 951/1001 status.
+If you are mining with the stratum mining protocol: this does not affect you.
+If you are mining with the getblocktemplate protocol to a pool: this will affect
+you at the pool operator's discretion, which must be no later than BIP66
+achieving its 951/1001 status.
+
+The `prioritisetransaction` RPC method has been added to enable miners to
+manipulate the priority of transactions on an individual basis.
+
+Bitcoin Core now supports BIP 22 long polling, so mining software can be
+notified immediately of new templates rather than having to poll periodically.
+
+Support for BIP 23 block proposals is now available in Bitcoin Core's
+`getblocktemplate` method. This enables miners to check the basic validity of
+their next block before expending work on it, reducing risks of accidental
+hardforks or mining invalid blocks.
+
+Two new options to control mining policy:
+- `-datacarrier=0/1` : Relay and mine "data carrier" (OP_RETURN) transactions
+if this is 1.
+- `-datacarriersize=n` : Maximum size, in bytes, we consider acceptable for
+"data carrier" outputs.
+
+The relay policy has changed to more properly implement the desired behavior of not 
+relaying free (or very low fee) transactions unless they have a priority above the 
+AllowFreeThreshold(), in which case they are relayed subject to the rate limiter.
+
+BIP 66: strict DER encoding for signatures
+------------------------------------------
+
+Bitcoin Core 0.10 implements BIP 66, which introduces block version 3, and a new
+consensus rule, which prohibits non-DER signatures. Such transactions have been
+non-standard since Bitcoin v0.8.0 (released in February 2013), but were
+technically still permitted inside blocks.
+
+This change breaks the dependency on OpenSSL's signature parsing, and is
+required if implementations would want to remove all of OpenSSL from the
+consensus code.
+
+The same miner-voting mechanism as in BIP 34 is used: when 751 out of a
+sequence of 1001 blocks have version number 3 or higher, the new consensus
+rule becomes active for those blocks. When 951 out of a sequence of 1001
+blocks have version number 3 or higher, it becomes mandatory for all blocks.
+
+Backward compatibility with current mining software is NOT provided, thus miners
+should read the first paragraph of "Mining and relay policy enhancements" above.
+
+0.10.0 Change log
+=================
+
+Detailed release notes follow. This overview includes changes that affect external
+behavior, not code moves, refactors or string updates.
+
+RPC:
+- `f923c07` Support IPv6 lookup in bitcoin-cli even when IPv6 only bound on localhost
+- `b641c9c` Fix addnode "onetry": Connect with OpenNetworkConnection
+- `171ca77` estimatefee / estimatepriority RPC methods
+- `b750cf1` Remove cli functionality from bitcoind
+- `f6984e8` Add "chain" to getmininginfo, improve help in getblockchaininfo
+- `99ddc6c` Add nLocalServices info to RPC getinfo
+- `cf0c47b` Remove getwork() RPC call
+- `2a72d45` prioritisetransaction <txid> <priority delta> <priority tx fee>
+- `e44fea5` Add an option `-datacarrier` to allow users to disable relaying/mining data carrier transactions
+- `2ec5a3d` Prevent easy RPC memory exhaustion attack
+- `d4640d7` Added argument to getbalance to include watchonly addresses and fixed errors in balance calculation
+- `83f3543` Added argument to listaccounts to include watchonly addresses
+- `952877e` Showing 'involvesWatchonly' property for transactions returned by 'listtransactions' and 'listsinceblock'. It is only appended when the transaction involves a watchonly address
+- `d7d5d23` Added argument to listtransactions and listsinceblock to include watchonly addresses
+- `f87ba3d` added includeWatchonly argument to 'gettransaction' because it affects balance calculation
+- `0fa2f88` added includedWatchonly argument to listreceivedbyaddress/...account
+- `6c37f7f` `getrawchangeaddress`: fail when keypool exhausted and wallet locked
+- `ff6a7af` getblocktemplate: longpolling support
+- `c4a321f` Add peerid to getpeerinfo to allow correlation with the logs
+- `1b4568c` Add vout to ListTransactions output
+- `b33bd7a` Implement "getchaintips" RPC command to monitor blockchain forks
+- `733177e` Remove size limit in RPC client, keep it in server
+- `6b5b7cb` Categorize rpc help overview
+- `6f2c26a` Closely track mempool byte total. Add "getmempoolinfo" RPC
+- `aa82795` Add detailed network info to getnetworkinfo RPC
+- `01094bd` Don't reveal whether password is <20 or >20 characters in RPC
+- `57153d4` rpc: Compute number of confirmations of a block from block height
+- `ff36cbe` getnetworkinfo: export local node's client sub-version string
+- `d14d7de` SanitizeString: allow '(' and ')'
+- `31d6390` Fixed setaccount accepting foreign address
+- `b5ec5fe` update getnetworkinfo help with subversion
+- `ad6e601` RPC additions after headers-first
+- `33dfbf5` rpc: Fix leveldb iterator leak, and flush before `gettxoutsetinfo`
+- `2aa6329` Enable customising node policy for datacarrier data size with a -datacarriersize option
+- `f877aaa` submitblock: Use a temporary CValidationState to determine accurately the outcome of ProcessBlock
+- `e69a587` submitblock: Support for returning specific rejection reasons
+- `af82884` Add "warmup mode" for RPC server
+- `e2655e0` Add unauthenticated HTTP REST interface to public blockchain data
+- `683dc40` Disable SSLv3 (in favor of TLS) for the RPC client and server
+- `44b4c0d` signrawtransaction: validate private key
+- `9765a50` Implement BIP 23 Block Proposal
+- `f9de17e` Add warning comment to getinfo
+
+Command-line options:
+- `ee21912` Use netmasks instead of wildcards for IP address matching
+- `deb3572` Add `-rpcbind` option to allow binding RPC port on a specific interface
+- `96b733e` Add `-version` option to get just the version
+- `1569353` Add `-stopafterblockimport` option
+- `77cbd46` Let -zapwallettxes recover transaction meta data
+- `1c750db` remove -tor compatibility code (only allow -onion)
+- `4aaa017` rework help messages for fee-related options
+- `4278b1d` Clarify error message when invalid -rpcallowip
+- `6b407e4` -datadir is now allowed in config files
+- `bdd5b58` Add option `-sysperms` to disable 077 umask (create new files with system default umask)
+- `cbe39a3` Add "bitcoin-tx" command line utility and supporting modules
+- `dbca89b` Trigger -alertnotify if network is upgrading without you
+- `ad96e7c` Make -reindex cope with out-of-order blocks
+- `16d5194` Skip reindexed blocks individually
+- `ec01243` --tracerpc option for regression tests
+- `f654f00` Change -genproclimit default to 1
+- `3c77714` Make -proxy set all network types, avoiding a connect leak
+- `57be955` Remove -printblock, -printblocktree, and -printblockindex
+- `ad3d208` remove -maxorphanblocks config parameter since it is no longer functional
+
+Block and transaction handling:
+- `7a0e84d` ProcessGetData(): abort if a block file is missing from disk
+- `8c93bf4` LoadBlockIndexDB(): Require block db reindex if any `blk*.dat` files are missing
+- `77339e5` Get rid of the static chainMostWork (optimization)
+- `4e0eed8` Allow ActivateBestChain to release its lock on cs_main
+- `18e7216` Push cs_mains down in ProcessBlock
+- `fa126ef` Avoid undefined behavior using CFlatData in CScript serialization
+- `7f3b4e9` Relax IsStandard rules for pay-to-script-hash transactions
+- `c9a0918` Add a skiplist to the CBlockIndex structure
+- `bc42503` Use unordered_map for CCoinsViewCache with salted hash (optimization)
+- `d4d3fbd` Do not flush the cache after every block outside of IBD (optimization)
+- `ad08d0b` Bugfix: make CCoinsViewMemPool support pruned entries in underlying cache
+- `5734d4d` Only remove actualy failed blocks from setBlockIndexValid
+- `d70bc52` Rework block processing benchmark code
+- `714a3e6` Only keep setBlockIndexValid entries that are possible improvements
+- `ea100c7` Reduce maximum coinscache size during verification (reduce memory usage)
+- `4fad8e6` Reject transactions with excessive numbers of sigops
+- `b0875eb` Allow BatchWrite to destroy its input, reducing copying (optimization)
+- `92bb6f2` Bypass reloading blocks from disk (optimization)
+- `2e28031` Perform CVerifyDB on pcoinsdbview instead of pcoinsTip (reduce memory usage)
+- `ab15b2e` Avoid copying undo data (optimization)
+- `341735e` Headers-first synchronization
+- `afc32c5` Fix rebuild-chainstate feature and improve its performance
+- `e11b2ce` Fix large reorgs
+- `ed6d1a2` Keep information about all block files in memory
+- `a48f2d6` Abstract context-dependent block checking from acceptance
+- `7e615f5` Fixed mempool sync after sending a transaction
+- `51ce901` Improve chainstate/blockindex disk writing policy
+- `a206950` Introduce separate flushing modes
+- `9ec75c5` Add a locking mechanism to IsInitialBlockDownload to ensure it never goes from false to true
+- `868d041` Remove coinbase-dependant transactions during reorg
+- `723d12c` Remove txn which are invalidated by coinbase maturity during reorg
+- `0cb8763` Check against MANDATORY flags prior to accepting to mempool
+- `8446262` Reject headers that build on an invalid parent
+- `008138c` Bugfix: only track UTXO modification after lookup
+
+P2P protocol and network code:
+- `f80cffa` Do not trigger a DoS ban if SCRIPT_VERIFY_NULLDUMMY fails
+- `c30329a` Add testnet DNS seed of Alex Kotenko
+- `45a4baf` Add testnet DNS seed of Andreas Schildbach
+- `f1920e8` Ping automatically every 2 minutes (unconditionally)
+- `806fd19` Allocate receive buffers in on the fly
+- `6ecf3ed` Display unknown commands received
+- `aa81564` Track peers' available blocks
+- `caf6150` Use async name resolving to improve net thread responsiveness
+- `9f4da19` Use pong receive time rather than processing time
+- `0127a9b` remove SOCKS4 support from core and GUI, use SOCKS5
+- `40f5cb8` Send rejects and apply DoS scoring for errors in direct block validation
+- `dc942e6` Introduce whitelisted peers
+- `c994d2e` prevent SOCKET leak in BindListenPort()
+- `a60120e` Add built-in seeds for .onion
+- `60dc8e4` Allow -onlynet=onion to be used
+- `3a56de7` addrman: Do not propagate obviously poor addresses onto the network
+- `6050ab6` netbase: Make SOCKS5 negotiation interruptible
+- `604ee2a` Remove tx from AlreadyAskedFor list once we receive it, not when we process it
+- `efad808` Avoid reject message feedback loops
+- `71697f9` Separate protocol versioning from clientversion
+- `20a5f61` Don't relay alerts to peers before version negotiation
+- `b4ee0bd` Introduce preferred download peers
+- `845c86d` Do not use third party services for IP detection
+- `12a49ca` Limit the number of new addressses to accumulate
+- `35e408f` Regard connection failures as attempt for addrman
+- `a3a7317` Introduce 10 minute block download timeout
+- `3022e7d` Require sufficent priority for relay of free transactions
+- `58fda4d` Update seed IPs, based on bitcoin.sipa.be crawler data
+- `18021d0` Remove bitnodes.io from dnsseeds.
+
+Validation:
+- `6fd7ef2` Also switch the (unused) verification code to low-s instead of even-s
+- `584a358` Do merkle root and txid duplicates check simultaneously
+- `217a5c9` When transaction outputs exceed inputs, show the offending amounts so as to aid debugging
+- `f74fc9b` Print input index when signature validation fails, to aid debugging
+- `6fd59ee` script.h: set_vch() should shift a >32 bit value
+- `d752ba8` Add SCRIPT_VERIFY_SIGPUSHONLY (BIP62 rule 2) (test only)
+- `698c6ab` Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4) (test only)
+- `ab9edbd` script: create sane error return codes for script validation and remove logging
+- `219a147` script: check ScriptError values in script tests
+- `0391423` Discourage NOPs reserved for soft-fork upgrades
+- `98b135f` Make STRICTENC invalid pubkeys fail the script rather than the opcode
+- `307f7d4` Report script evaluation failures in log and reject messages
+- `ace39db` consensus: guard against openssl's new strict DER checks
+- `12b7c44` Improve robustness of DER recoding code
+- `76ce5c8` fail immediately on an empty signature
+
+Build system:
+- `f25e3ad` Fix build in OS X 10.9
+- `65e8ba4` build: Switch to non-recursive make
+- `460b32d` build: fix broken boost chrono check on some platforms
+- `9ce0774` build: Fix windows configure when using --with-qt-libdir
+- `ea96475` build: Add mention of --disable-wallet to bdb48 error messages
+- `1dec09b` depends: add shared dependency builder
+- `c101c76` build: Add --with-utils (bitcoin-cli and bitcoin-tx, default=yes). Help string consistency tweaks. Target sanity check fix
+- `e432a5f` build: add option for reducing exports (v2)
+- `6134b43` Fixing condition 'sabotaging' MSVC build
+- `af0bd5e` osx: fix signing to make Gatekeeper happy (again)
+- `a7d1f03` build: fix dynamic boost check when --with-boost= is used
+- `d5fd094` build: fix qt test build when libprotobuf is in a non-standard path
+- `2cf5f16` Add libbitcoinconsensus library
+- `914868a` build: add a deterministic dmg signer 
+- `2d375fe` depends: bump openssl to 1.0.1k
+- `b7a4ecc` Build: Only check for boost when building code that requires it
+
+Wallet:
+- `b33d1f5` Use fee/priority estimates in wallet CreateTransaction
+- `4b7b1bb` Sanity checks for estimates
+- `c898846` Add support for watch-only addresses
+- `d5087d1` Use script matching rather than destination matching for watch-only
+- `d88af56` Fee fixes
+- `a35b55b` Dont run full check every time we decrypt wallet
+- `3a7c348` Fix make_change to not create half-satoshis
+- `f606bb9` fix a possible memory leak in CWalletDB::Recover
+- `870da77` fix possible memory leaks in CWallet::EncryptWallet
+- `ccca27a` Watch-only fixes
+- `9b1627d` [Wallet] Reduce minTxFee for transaction creation to 1000 satoshis
+- `a53fd41` Deterministic signing
+- `15ad0b5` Apply AreSane() checks to the fees from the network
+- `11855c1` Enforce minRelayTxFee on wallet created tx and add a maxtxfee option
+
+GUI:
+- `c21c74b` osx: Fix missing dock menu with qt5
+- `b90711c` Fix Transaction details shows wrong To:
+- `516053c` Make links in 'About Bitcoin Core' clickable
+- `bdc83e8` Ensure payment request network matches client network
+- `65f78a1` Add GUI view of peer information
+- `06a91d9` VerifyDB progress reporting
+- `fe6bff2` Add BerkeleyDB version info to RPCConsole
+- `b917555` PeerTableModel: Fix potential deadlock. #4296
+- `dff0e3b` Improve rpc console history behavior
+- `95a9383` Remove CENT-fee-rule from coin control completely
+- `56b07d2` Allow setting listen via GUI
+- `d95ba75` Log messages with type>QtDebugMsg as non-debug
+- `8969828` New status bar Unit Display Control and related changes
+- `674c070` seed OpenSSL PNRG with Windows event data
+- `509f926` Payment request parsing on startup now only changes network if a valid network name is specified
+- `acd432b` Prevent balloon-spam after rescan
+- `7007402` Implement SI-style (thin space) thoudands separator
+- `91cce17` Use fixed-point arithmetic in amount spinbox
+- `bdba2dd` Remove an obscure option no-one cares about
+- `bd0aa10` Replace the temporary file hack currently used to change Bitcoin-Qt's dock icon (OS X) with a buffer-based solution
+- `94e1b9e` Re-work overviewpage UI
+- `8bfdc9a` Better looking trayicon
+- `b197bf3` disable tray interactions when client model set to 0
+- `1c5f0af` Add column Watch-only to transactions list
+- `21f139b` Fix tablet crash. closes #4854
+- `e84843c` Broken addresses on command line no longer trigger testnet
+- `a49f11d` Change splash screen to normal window
+- `1f9be98` Disable App Nap on OSX 10.9+
+- `27c3e91` Add proxy to options overridden if necessary
+- `4bd1185` Allow "emergency" shutdown during startup
+- `d52f072` Don't show wallet options in the preferences menu when running with -disablewallet
+- `6093aa1` Qt: QProgressBar CPU-Issue workaround
+- `0ed9675` [Wallet] Add global boolean whether to send free transactions (default=true)
+- `ed3e5e4` [Wallet] Add global boolean whether to pay at least the custom fee (default=true)
+- `e7876b2` [Wallet] Prevent user from paying a non-sense fee
+- `c1c9d5b` Add Smartfee to GUI
+- `e0a25c5` Make askpassphrase dialog behave more sanely
+- `94b362d` On close of splashscreen interrupt verifyDB
+- `b790d13` English translation update
+- `8543b0d` Correct tooltip on address book page
+
+Tests:
+- `b41e594` Fix script test handling of empty scripts
+- `d3a33fc` Test CHECKMULTISIG with m == 0 and n == 0
+- `29c1749` Let tx (in)valid tests use any SCRIPT_VERIFY flag
+- `6380180` Add rejection of non-null CHECKMULTISIG dummy values
+- `21bf3d2` Add tests for BoostAsioToCNetAddr
+- `b5ad5e7` Add Python test for -rpcbind and -rpcallowip
+- `9ec0306` Add CODESEPARATOR/FindAndDelete() tests
+- `75ebced` Added many rpc wallet tests
+- `0193fb8` Allow multiple regression tests to run at once
+- `92a6220` Hook up sanity checks
+- `3820e01` Extend and move all crypto tests to crypto_tests.cpp
+- `3f9a019` added list/get received by address/ account tests
+- `a90689f` Remove timing-based signature cache unit test
+- `236982c` Add skiplist unit tests
+- `f4b00be` Add CChain::GetLocator() unit test
+- `b45a6e8` Add test for getblocktemplate longpolling
+- `cdf305e` Set -discover=0 in regtest framework
+- `ed02282` additional test for OP_SIZE in script_valid.json
+- `0072d98` script tests: BOOLAND, BOOLOR decode to integer
+- `833ff16` script tests: values that overflow to 0 are true
+- `4cac5db` script tests: value with trailing 0x00 is true
+- `89101c6` script test: test case for 5-byte bools
+- `d2d9dc0` script tests: add tests for CHECKMULTISIG limits
+- `d789386` Add "it works" test for bitcoin-tx
+- `df4d61e` Add bitcoin-tx tests
+- `aa41ac2` Test IsPushOnly() with invalid push
+- `6022b5d` Make `script_{valid,invalid}.json` validation flags configurable
+- `8138cbe` Add automatic script test generation, and actual checksig tests
+- `ed27e53` Add coins_tests with a large randomized CCoinViewCache test
+- `9df9cf5` Make SCRIPT_VERIFY_STRICTENC compatible with BIP62
+- `dcb9846` Extend getchaintips RPC test
+- `554147a` Ensure MINIMALDATA invalid tests can only fail one way
+- `dfeec18` Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule
+- `2b62e17` Clearly separate PUSHDATA and numeric argument MINIMALDATA tests
+- `16d78bd` Add valid invert of invalid every numeric opcode tests
+- `f635269` tests: enable alertnotify test for Windows
+- `7a41614` tests: allow rpc-tests to get filenames for bitcoind and bitcoin-cli from the environment
+- `5122ea7` tests: fix forknotify.py on windows
+- `fa7f8cd` tests: remove old pull-tester scripts
+- `7667850` tests: replace the old (unused since Travis) tests with new rpc test scripts
+- `f4e0aef` Do signature-s negation inside the tests
+- `1837987` Optimize -regtest setgenerate block generation
+- `2db4c8a` Fix node ranges in the test framework
+- `a8b2ce5` regression test only setmocktime RPC call
+- `daf03e7` RPC tests: create initial chain with specific timestamps
+- `8656dbb` Port/fix txnmall.sh regression test
+- `ca81587` Test the exact order of CHECKMULTISIG sig/pubkey evaluation
+- `7357893` Prioritize and display -testsafemode status in UI
+- `f321d6b` Add key generation/verification to ECC sanity check
+- `132ea9b` miner_tests: Disable checkpoints so they don't fail the subsidy-change test
+- `bc6cb41` QA RPC tests: Add tests block block proposals
+- `f67a9ce` Use deterministically generated script tests
+- `11d7a7d` [RPC] add rpc-test for http keep-alive (persistent connections)
+- `34318d7` RPC-test based on invalidateblock for mempool coinbase spends
+- `76ec867` Use actually valid transactions for script tests
+- `c8589bf` Add actual signature tests
+- `e2677d7` Fix smartfees test for change to relay policy
+- `263b65e` tests: run sanity checks in tests too
+
+Miscellaneous:
+- `122549f` Fix incorrect checkpoint data for testnet3
+- `5bd02cf` Log used config file to debug.log on startup
+- `68ba85f` Updated Debian example bitcoin.conf with config from wiki + removed some cruft and updated comments
+- `e5ee8f0` Remove -beta suffix
+- `38405ac` Add comment regarding experimental-use service bits
+- `be873f6` Issue warning if collecting RandSeed data failed
+- `8ae973c` Allocate more space if necessary in RandSeedAddPerfMon
+- `675bcd5` Correct comment for 15-of-15 p2sh script size
+- `fda3fed` libsecp256k1 integration
+- `2e36866` Show nodeid instead of addresses in log (for anonymity) unless otherwise requested
+- `cd01a5e` Enable paranoid corruption checks in LevelDB >= 1.16
+- `9365937` Add comment about never updating nTimeOffset past 199 samples
+- `403c1bf` contrib: remove getwork-based pyminer (as getwork API call has been removed)
+- `0c3e101` contrib: Added systemd .service file in order to help distributions integrate bitcoind
+- `0a0878d` doc: Add new DNSseed policy
+- `2887bff` Update coding style and add .clang-format
+- `5cbda4f` Changed LevelDB cursors to use scoped pointers to ensure destruction when going out of scope
+- `b4a72a7` contrib/linearize: split output files based on new-timestamp-year or max-file-size
+- `e982b57` Use explicit fflush() instead of setvbuf()
+- `234bfbf` contrib: Add init scripts and docs for Upstart and OpenRC
+- `01c2807` Add warning about the merkle-tree algorithm duplicate txid flaw
+- `d6712db` Also create pid file in non-daemon mode
+- `772ab0e` contrib: use batched JSON-RPC in linarize-hashes (optimization)
+- `7ab4358` Update bash-completion for v0.10
+- `6e6a36c` contrib: show pull # in prompt for github-merge script
+- `5b9f842` Upgrade leveldb to 1.18, make chainstate databases compatible between ARM and x86 (issue #2293)
+- `4e7c219` Catch UTXO set read errors and shutdown
+- `867c600` Catch LevelDB errors during flush
+- `06ca065` Fix CScriptID(const CScript& in) in empty script case
+
+Credits
+=======
+
+Thanks to everyone who contributed to this release:
+
+- 21E14
+- Adam Weiss
+- Aitor Pazos
+- Alexander Jeng
+- Alex Morcos
+- Alon Muroch
+- Andreas Schildbach
+- Andrew Poelstra
+- Andy Alness
+- Ashley Holman
+- Benedict Chan
+- Ben Holden-Crowther
+- Bryan Bishop
+- BtcDrak
+- Christian von Roques
+- Clinton Christian
+- Cory Fields
+- Cozz Lovan
+- daniel
+- Daniel Kraft
+- David Hill
+- Derek701
+- dexX7
+- dllud
+- Dominyk Tiller
+- Doug
+- elichai
+- elkingtowa
+- ENikS
+- Eric Shaw
+- Federico Bond
+- Francis GASCHET
+- Gavin Andresen
+- Giuseppe Mazzotta
+- Glenn Willen
+- Gregory Maxwell
+- gubatron
+- HarryWu
+- himynameismartin
+- Huang Le
+- Ian Carroll
+- imharrywu
+- Jameson Lopp
+- Janusz Lenar
+- JaSK
+- Jeff Garzik
+- JL2035
+- Johnathan Corgan
+- Jonas Schnelli
+- jtimon
+- Julian Haight
+- Kamil Domanski
+- kazcw
+- kevin
+- kiwigb
+- Kosta Zertsekel
+- LongShao007
+- Luke Dashjr
+- Mark Friedenbach
+- Mathy Vanvoorden
+- Matt Corallo
+- Matthew Bogosian
+- Micha
+- Michael Ford
+- Mike Hearn
+- mrbandrews
+- mruddy
+- ntrgn
+- Otto Allmendinger
+- paveljanik
+- Pavel Vasin
+- Peter Todd
+- phantomcircuit
+- Philip Kaufmann
+- Pieter Wuille
+- pryds
+- randy-waterhouse
+- R E Broadley
+- Rose Toomey
+- Ross Nicoll
+- Roy Badami
+- Ruben Dario Ponticelli
+- Rune K. Svendsen
+- Ryan X. Charles
+- Saivann
+- sandakersmann
+- SergioDemianLerner
+- shshshsh
+- sinetek
+- Stuart Cardall
+- Suhas Daftuar
+- Tawanda Kembo
+- Teran McKinney
+- tm314159
+- Tom Harding
+- Trevin Hofmann
+- Whit J
+- Wladimir J. van der Laan
+- Yoichi Hirai
+- Zak Wilcox
+
+As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
+
diff --git a/doc/bitcoin-release-notes/release-notes-0.10.1.md b/doc/bitcoin-release-notes/release-notes-0.10.1.md
new file mode 100644 (file)
index 0000000..8f59f1f
--- /dev/null
@@ -0,0 +1,143 @@
+Bitcoin Core version 0.10.1 is now available from:
+
+  <https://bitcoin.org/bin/bitcoin-core-0.10.1/>
+
+This is a new minor version release, bringing bug fixes and translation 
+updates. It is recommended to upgrade to this version.
+
+Please report bugs using the issue tracker at github:
+
+  <https://github.com/bitcoin/bitcoin/issues>
+
+Upgrading and downgrading
+=========================
+
+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 for older versions), then run the
+installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
+bitcoind/bitcoin-qt (on Linux).
+
+Downgrade warning
+------------------
+
+Because release 0.10.0 and later makes use of headers-first synchronization and
+parallel block download (see further), the block files and databases are not
+backwards-compatible with pre-0.10 versions of Bitcoin Core or other software:
+
+* Blocks will be stored on disk out of order (in the order they are
+received, really), which makes it incompatible with some tools or
+other programs. Reindexing using earlier versions will also not work
+anymore as a result of this.
+
+* The block index database will now hold headers for which no block is
+stored on disk, which earlier versions won't support.
+
+If you want to be able to downgrade smoothly, make a backup of your entire data
+directory. Without this your node will need start syncing (or importing from
+bootstrap.dat) anew afterwards. It is possible that the data from a completely
+synchronised 0.10 node may be usable in older versions as-is, but this is not
+supported and may break as soon as the older version attempts to reindex.
+
+This does not affect wallet forward or backward compatibility.
+
+Notable changes
+===============
+
+This is a minor release and hence there are no notable changes.
+For the notable changes in 0.10, refer to the release notes for the
+0.10.0 release at https://github.com/bitcoin/bitcoin/blob/v0.10.0/doc/release-notes.md
+
+0.10.1 Change log
+=================
+
+Detailed release notes follow. This overview includes changes that affect external
+behavior, not code moves, refactors or string updates.
+
+RPC:
+- `7f502be` fix crash: createmultisig and addmultisigaddress
+- `eae305f` Fix missing lock in submitblock
+
+Block (database) and transaction handling:
+- `1d2cdd2` Fix InvalidateBlock to add chainActive.Tip to setBlockIndexCandidates
+- `c91c660` fix InvalidateBlock to repopulate setBlockIndexCandidates
+- `002c8a2` fix possible block db breakage during re-index
+- `a1f425b` Add (optional) consistency check for the block chain data structures
+- `1c62e84` Keep mempool consistent during block-reorgs
+- `57d1f46` Fix CheckBlockIndex for reindex
+- `bac6fca` Set nSequenceId when a block is fully linked
+
+P2P protocol and network code:
+- `78f64ef` don't trickle for whitelisted nodes
+- `ca301bf` Reduce fingerprinting through timestamps in 'addr' messages.
+- `200f293` Ignore getaddr messages on Outbound connections.
+- `d5d8998` Limit message sizes before transfer
+- `aeb9279` Better fingerprinting protection for non-main-chain getdatas.
+- `cf0218f` Make addrman's bucket placement deterministic (countermeasure 1 against eclipse attacks, see http://cs-people.bu.edu/heilman/eclipse/)
+- `0c6f334` Always use a 50% chance to choose between tried and new entries (countermeasure 2 against eclipse attacks)
+- `214154e` Do not bias outgoing connections towards fresh addresses (countermeasure 2 against eclipse attacks)
+- `aa587d4` Scale up addrman (countermeasure 6 against eclipse attacks)
+- `139cd81` Cap nAttempts penalty at 8 and switch to pow instead of a division loop
+
+Validation:
+- `d148f62` Acquire CCheckQueue's lock to avoid race condition
+
+Build system:
+- `8752b5c` 0.10 fix for crashes on OSX 10.6
+
+Wallet:
+- N/A
+
+GUI:
+- `2c08406` some mac specifiy cleanup (memory handling, unnecessary code)
+- `81145a6` fix OSX dock icon window reopening
+- `786cf72` fix a issue where "command line options"-action overwrite "Preference"-action (on OSX)
+
+Tests:
+- `1117378` add RPC test for InvalidateBlock
+
+Miscellaneous:
+- `c9e022b` Initialization: set Boost path locale in main thread
+- `23126a0` Sanitize command strings before logging them.
+- `323de27` Initialization: setup environment before starting Qt tests
+- `7494e09` Initialization: setup environment before starting tests
+- `df45564` Initialization: set fallback locale as environment variable
+
+Credits
+=======
+
+Thanks to everyone who directly contributed to this release:
+
+- Alex Morcos
+- Cory Fields
+- dexX7
+- fsb4000
+- Gavin Andresen
+- Gregory Maxwell
+- Ivan Pustogarov
+- Jonas Schnelli
+- Matt Corallo
+- mrbandrews
+- Pieter Wuille
+- Ruben de Vries
+- Suhas Daftuar
+- Wladimir J. van der Laan
+
+And all those who contributed additional code review and/or security research:
+- 21E14
+- Alison Kendler
+- Aviv Zohar
+- Ethan Heilman
+- Evil-Knievel
+- fanquake
+- Jeff Garzik
+- Jonas Nick
+- Luke Dashjr
+- Patrick Strateman
+- Philip Kaufmann
+- Sergio Demian Lerner
+- Sharon Goldberg
+
+As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
diff --git a/doc/bitcoin-release-notes/release-notes-0.10.2.md b/doc/bitcoin-release-notes/release-notes-0.10.2.md
new file mode 100644 (file)
index 0000000..192ed69
--- /dev/null
@@ -0,0 +1,86 @@
+Bitcoin Core version 0.10.2 is now available from:
+
+  <https://bitcoin.org/bin/bitcoin-core-0.10.2/>
+
+This is a new minor version release, bringing minor bug fixes and translation 
+updates. It is recommended to upgrade to this version.
+
+Please report bugs using the issue tracker at github:
+
+  <https://github.com/bitcoin/bitcoin/issues>
+
+Upgrading and downgrading
+=========================
+
+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 for older versions), then run the
+installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
+bitcoind/bitcoin-qt (on Linux).
+
+Downgrade warning
+------------------
+
+Because release 0.10.0 and later makes use of headers-first synchronization and
+parallel block download (see further), the block files and databases are not
+backwards-compatible with pre-0.10 versions of Bitcoin Core or other software:
+
+* Blocks will be stored on disk out of order (in the order they are
+received, really), which makes it incompatible with some tools or
+other programs. Reindexing using earlier versions will also not work
+anymore as a result of this.
+
+* The block index database will now hold headers for which no block is
+stored on disk, which earlier versions won't support.
+
+If you want to be able to downgrade smoothly, make a backup of your entire data
+directory. Without this your node will need start syncing (or importing from
+bootstrap.dat) anew afterwards. It is possible that the data from a completely
+synchronised 0.10 node may be usable in older versions as-is, but this is not
+supported and may break as soon as the older version attempts to reindex.
+
+This does not affect wallet forward or backward compatibility.
+
+Notable changes
+===============
+
+This fixes a serious problem on Windows with data directories that have non-ASCII
+characters (https://github.com/bitcoin/bitcoin/issues/6078).
+
+For other platforms there are no notable changes.
+
+For the notable changes in 0.10, refer to the release notes
+at https://github.com/bitcoin/bitcoin/blob/v0.10.0/doc/release-notes.md
+
+0.10.2 Change log
+=================
+
+Detailed release notes follow. This overview includes changes that affect external
+behavior, not code moves, refactors or string updates.
+
+Wallet:
+- `824c011` fix boost::get usage with boost 1.58
+
+Miscellaneous:
+- `da65606` Avoid crash on start in TestBlockValidity with gen=1.
+- `424ae66` don't imbue boost::filesystem::path with locale "C" on windows (fixes #6078)
+
+Credits
+=======
+
+Thanks to everyone who directly contributed to this release:
+
+- Cory Fields
+- Gregory Maxwell
+- Jonas Schnelli
+- Wladimir J. van der Laan
+
+And all those who contributed additional code review and/or security research:
+
+- dexX7
+- Pieter Wuille
+- vayvanne
+
+As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
diff --git a/doc/bitcoin-release-notes/release-notes-0.10.3.md b/doc/bitcoin-release-notes/release-notes-0.10.3.md
new file mode 100644 (file)
index 0000000..8a110e5
--- /dev/null
@@ -0,0 +1,165 @@
+Bitcoin Core version 0.10.3 is now available from:
+
+  <https://bitcoin.org/bin/bitcoin-core-0.10.3/>
+
+This is a new minor version release, bringing security fixes and translation 
+updates. It is recommended to upgrade to this version as soon as possible.
+
+Please report bugs using the issue tracker at github:
+
+  <https://github.com/bitcoin/bitcoin/issues>
+
+Upgrading and downgrading
+=========================
+
+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 for older versions), then run the
+installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
+bitcoind/bitcoin-qt (on Linux).
+
+Downgrade warning
+------------------
+
+Because release 0.10.0 and later makes use of headers-first synchronization and
+parallel block download (see further), the block files and databases are not
+backwards-compatible with pre-0.10 versions of Bitcoin Core or other software:
+
+* Blocks will be stored on disk out of order (in the order they are
+received, really), which makes it incompatible with some tools or
+other programs. Reindexing using earlier versions will also not work
+anymore as a result of this.
+
+* The block index database will now hold headers for which no block is
+stored on disk, which earlier versions won't support.
+
+If you want to be able to downgrade smoothly, make a backup of your entire data
+directory. Without this your node will need start syncing (or importing from
+bootstrap.dat) anew afterwards. It is possible that the data from a completely
+synchronised 0.10 node may be usable in older versions as-is, but this is not
+supported and may break as soon as the older version attempts to reindex.
+
+This does not affect wallet forward or backward compatibility.
+
+Notable changes
+===============
+
+Fix buffer overflow in bundled upnp
+------------------------------------
+
+Bundled miniupnpc was updated to 1.9.20151008. This fixes a buffer overflow in
+the XML parser during initial network discovery.
+
+Details can be found here: http://talosintel.com/reports/TALOS-2015-0035/
+
+This applies to the distributed executables only, not when building from source or
+using distribution provided packages.
+
+Additionally, upnp has been disabled by default. This may result in a lower
+number of reachable nodes on IPv4, however this prevents future libupnpc
+vulnerabilities from being a structural risk to the network
+(see https://github.com/bitcoin/bitcoin/pull/6795).
+
+Test for LowS signatures before relaying
+-----------------------------------------
+
+Make the node require the canonical 'low-s' encoding for ECDSA signatures when
+relaying or mining.  This removes a nuisance malleability vector.
+
+Consensus behavior is unchanged.
+
+If widely deployed this change would eliminate the last remaining known vector
+for nuisance malleability on SIGHASH_ALL P2PKH transactions. On the down-side
+it will block most transactions made by sufficiently out of date software.
+
+Unlike the other avenues to change txids on transactions this
+one was randomly violated by all deployed bitcoin software prior to
+its discovery. So, while other malleability vectors where made
+non-standard as soon as they were discovered, this one has remained
+permitted. Even BIP62 did not propose applying this rule to
+old version transactions, but conforming implementations have become
+much more common since BIP62 was initially written.
+
+Bitcoin Core has produced compatible signatures since a28fb70e in
+September 2013, but this didn't make it into a release until 0.9
+in March 2014; Bitcoinj has done so for a similar span of time.
+Bitcoinjs and electrum have been more recently updated.
+
+This does not replace the need for BIP62 or similar, as miners can
+still cooperate to break transactions.  Nor does it replace the
+need for wallet software to handle malleability sanely[1]. This
+only eliminates the cheap and irritating DOS attack.
+
+[1] On the Malleability of Bitcoin Transactions
+Marcin Andrychowicz, Stefan Dziembowski, Daniel Malinowski, Łukasz Mazurek
+http://fc15.ifca.ai/preproceedings/bitcoin/paper_9.pdf
+
+Minimum relay fee default increase
+-----------------------------------
+
+The default for the `-minrelaytxfee` setting has been increased from `0.00001`
+to `0.00005`.
+
+This is necessitated by the current transaction flooding, causing
+outrageous memory usage on nodes due to the mempool ballooning. This is a
+temporary measure, bridging the time until a dynamic method for determining
+this fee is merged (which will be in 0.12).
+
+(see https://github.com/bitcoin/bitcoin/pull/6793, as well as the 0.11.0
+release notes, in which this value was suggested)
+
+0.10.3 Change log
+=================
+
+Detailed release notes follow. This overview includes changes that affect external
+behavior, not code moves, refactors or string updates.
+
+- #6186 `e4a7d51` Fix two problems in CSubnet parsing
+- #6153 `ebd7d8d` Parameter interaction: disable upnp if -proxy set
+- #6203 `ecc96f5` Remove P2SH coinbase flag, no longer interesting
+- #6226 `181771b` json: fail read_string if string contains trailing garbage
+- #6244 `09334e0` configure: Detect (and reject) LibreSSL
+- #6276 `0fd8464` Fix getbalance * 0
+- #6274 `be64204` Add option `-alerts` to opt out of alert system
+- #6319 `3f55638` doc: update mailing list address
+- #6438 `7e66e9c` openssl: avoid config file load/race
+- #6439 `255eced` Updated URL location of netinstall for Debian
+- #6412 `0739e6e` Test whether created sockets are select()able
+- #6694 `f696ea1` [QT] fix thin space word wrap line brake issue
+- #6704 `743cc9e` Backport bugfixes to 0.10
+- #6769 `1cea6b0` Test LowS in standardness, removes nuisance malleability vector.
+- #6789 `093d7b5` Update miniupnpc to 1.9.20151008
+- #6795 `f2778e0` net: Disable upnp by default
+- #6797 `91ef4d9` Do not store more than 200 timedata samples
+- #6793 `842c48d` Bump minrelaytxfee default
+
+Credits
+=======
+
+Thanks to everyone who directly contributed to this release:
+
+- Adam Weiss
+- Alex Morcos
+- Casey Rodarmor
+- Cory Fields
+- fanquake
+- Gregory Maxwell
+- Jonas Schnelli
+- J Ross Nicoll
+- Luke Dashjr
+- Pavel Vasin
+- Pieter Wuille
+- randy-waterhouse
+- ฿tcDrak
+- Tom Harding
+- Veres Lajos
+- Wladimir J. van der Laan
+
+And all those who contributed additional code review and/or security research:
+
+- timothy on IRC for reporting the issue
+- Vulnerability in miniupnp discovered by Aleksandar Nikolic of Cisco Talos
+
+As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
diff --git a/doc/bitcoin-release-notes/release-notes-0.11.1.md b/doc/bitcoin-release-notes/release-notes-0.11.1.md
new file mode 100644 (file)
index 0000000..7992056
--- /dev/null
@@ -0,0 +1,172 @@
+Bitcoin Core version 0.11.1 is now available from:
+
+  <https://bitcoin.org/bin/bitcoin-core-0.11.1/>
+
+This is a new minor version release, bringing security fixes. It is recommended
+to upgrade to this version as soon as possible.
+
+Please report bugs using the issue tracker at github:
+
+  <https://github.com/bitcoin/bitcoin/issues>
+
+Upgrading and downgrading
+=========================
+
+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 for older versions), then run the
+installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
+bitcoind/bitcoin-qt (on Linux).
+
+Downgrade warning
+------------------
+
+Because release 0.10.0 and later makes use of headers-first synchronization and
+parallel block download (see further), the block files and databases are not
+backwards-compatible with pre-0.10 versions of Bitcoin Core or other software:
+
+* Blocks will be stored on disk out of order (in the order they are
+received, really), which makes it incompatible with some tools or
+other programs. Reindexing using earlier versions will also not work
+anymore as a result of this.
+
+* The block index database will now hold headers for which no block is
+stored on disk, which earlier versions won't support.
+
+If you want to be able to downgrade smoothly, make a backup of your entire data
+directory. Without this your node will need start syncing (or importing from
+bootstrap.dat) anew afterwards. It is possible that the data from a completely
+synchronised 0.10 node may be usable in older versions as-is, but this is not
+supported and may break as soon as the older version attempts to reindex.
+
+This does not affect wallet forward or backward compatibility. There are no
+known problems when downgrading from 0.11.x to 0.10.x.
+
+Notable changes
+===============
+
+Fix buffer overflow in bundled upnp
+------------------------------------
+
+Bundled miniupnpc was updated to 1.9.20151008. This fixes a buffer overflow in
+the XML parser during initial network discovery.
+
+Details can be found here: http://talosintel.com/reports/TALOS-2015-0035/
+
+This applies to the distributed executables only, not when building from source or
+using distribution provided packages.
+
+Additionally, upnp has been disabled by default. This may result in a lower
+number of reachable nodes on IPv4, however this prevents future libupnpc
+vulnerabilities from being a structural risk to the network
+(see https://github.com/bitcoin/bitcoin/pull/6795).
+
+Test for LowS signatures before relaying
+-----------------------------------------
+
+Make the node require the canonical 'low-s' encoding for ECDSA signatures when
+relaying or mining.  This removes a nuisance malleability vector.
+
+Consensus behavior is unchanged.
+
+If widely deployed this change would eliminate the last remaining known vector
+for nuisance malleability on SIGHASH_ALL P2PKH transactions. On the down-side
+it will block most transactions made by sufficiently out of date software.
+
+Unlike the other avenues to change txids on transactions this
+one was randomly violated by all deployed bitcoin software prior to
+its discovery. So, while other malleability vectors where made
+non-standard as soon as they were discovered, this one has remained
+permitted. Even BIP62 did not propose applying this rule to
+old version transactions, but conforming implementations have become
+much more common since BIP62 was initially written.
+
+Bitcoin Core has produced compatible signatures since a28fb70e in
+September 2013, but this didn't make it into a release until 0.9
+in March 2014; Bitcoinj has done so for a similar span of time.
+Bitcoinjs and electrum have been more recently updated.
+
+This does not replace the need for BIP62 or similar, as miners can
+still cooperate to break transactions.  Nor does it replace the
+need for wallet software to handle malleability sanely[1]. This
+only eliminates the cheap and irritating DOS attack.
+
+[1] On the Malleability of Bitcoin Transactions
+Marcin Andrychowicz, Stefan Dziembowski, Daniel Malinowski, Łukasz Mazurek
+http://fc15.ifca.ai/preproceedings/bitcoin/paper_9.pdf
+
+Minimum relay fee default increase
+-----------------------------------
+
+The default for the `-minrelaytxfee` setting has been increased from `0.00001`
+to `0.00005`.
+
+This is necessitated by the current transaction flooding, causing
+outrageous memory usage on nodes due to the mempool ballooning. This is a
+temporary measure, bridging the time until a dynamic method for determining
+this fee is merged (which will be in 0.12).
+
+(see https://github.com/bitcoin/bitcoin/pull/6793, as well as the 0.11
+release notes, in which this value was suggested)
+
+0.11.1 Change log
+=================
+
+Detailed release notes follow. This overview includes changes that affect
+behavior, not code moves, refactors and string updates. For convenience in locating
+the code changes and accompanying discussion, both the pull request and
+git merge commit are mentioned.
+
+- #6438 `2531438` openssl: avoid config file load/race
+- #6439 `980f820` Updated URL location of netinstall for Debian
+- #6384 `8e5a969` qt: Force TLS1.0+ for SSL connections
+- #6471 `92401c2` Depends: bump to qt 5.5
+- #6224 `93b606a` Be even stricter in processing unrequested blocks
+- #6571 `100ac4e` libbitcoinconsensus: avoid a crash in multi-threaded environments
+- #6545 `649f5d9` Do not store more than 200 timedata samples.
+- #6694 `834e299` [QT] fix thin space word wrap line break issue
+- #6703 `1cd7952` Backport bugfixes to 0.11
+- #6750 `5ed8d0b` Recent rejects backport to v0.11
+- #6769 `71cc9d9` Test LowS in standardness, removes nuisance malleability vector.
+- #6789 `b4ad73f` Update miniupnpc to 1.9.20151008
+- #6785 `b4dc33e` Backport to v0.11: In (strCommand == "tx"), return if AlreadyHave()
+- #6412 `0095b9a` Test whether created sockets are select()able
+- #6795 `4dbcec0` net: Disable upnp by default
+- #6793 `e7bcc4a` Bump minrelaytxfee default
+
+Credits
+=======
+
+Thanks to everyone who directly contributed to this release:
+
+- Adam Weiss
+- Alex Morcos
+- Casey Rodarmor
+- Cory Fields
+- fanquake
+- Gregory Maxwell
+- Jonas Schnelli
+- J Ross Nicoll
+- Luke Dashjr
+- Pavel Janík
+- Pavel Vasin
+- Peter Todd
+- Pieter Wuille
+- randy-waterhouse
+- Ross Nicoll
+- Suhas Daftuar
+- tailsjoin
+- ฿tcDrak
+- Tom Harding
+- Veres Lajos
+- Wladimir J. van der Laan
+
+And those who contributed additional code review and/or security research:
+
+- timothy on IRC for reporting the issue
+- Vulnerability in miniupnp discovered by Aleksandar Nikolic of Cisco Talos
+
+As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
+
diff --git a/doc/bitcoin-release-notes/release-notes-0.11.2.md b/doc/bitcoin-release-notes/release-notes-0.11.2.md
new file mode 100644 (file)
index 0000000..2351b80
--- /dev/null
@@ -0,0 +1,217 @@
+Bitcoin Core version 0.11.2 is now available from:
+
+  <https://bitcoin.org/bin/bitcoin-core-0.11.2/>
+
+This is a new minor version release, bringing bug fixes, the BIP65
+(CLTV) consensus change, and relay policy preparation for BIP113. It is
+recommended to upgrade to this version as soon as possible.
+
+Please report bugs using the issue tracker at github:
+
+  <https://github.com/bitcoin/bitcoin/issues>
+
+Upgrading and downgrading
+=========================
+
+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 for older versions), then run the
+installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
+bitcoind/bitcoin-qt (on Linux).
+
+Downgrade warning
+------------------
+
+Because release 0.10.0 and later makes use of headers-first synchronization and
+parallel block download (see further), the block files and databases are not
+backwards-compatible with pre-0.10 versions of Bitcoin Core or other software:
+
+* Blocks will be stored on disk out of order (in the order they are
+received, really), which makes it incompatible with some tools or
+other programs. Reindexing using earlier versions will also not work
+anymore as a result of this.
+
+* The block index database will now hold headers for which no block is
+stored on disk, which earlier versions won't support.
+
+If you want to be able to downgrade smoothly, make a backup of your entire data
+directory. Without this your node will need start syncing (or importing from
+bootstrap.dat) anew afterwards. It is possible that the data from a completely
+synchronised 0.10 node may be usable in older versions as-is, but this is not
+supported and may break as soon as the older version attempts to reindex.
+
+This does not affect wallet forward or backward compatibility. There are no
+known problems when downgrading from 0.11.x to 0.10.x.
+
+Notable changes since 0.11.1
+============================
+
+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.
+
+1. This release will only relay and mine transactions spending a CLTV
+   output if they comply with the BIP65 rules as provided in code.
+
+2. This release will produce version 4 blocks by default. Please see the
+   *notice to miners* below.
+
+3. 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.
+
+For more information about the soft-forking change, please see
+<https://github.com/bitcoin/bitcoin/pull/6351>
+
+Graphs showing the progress towards block version 4 adoption may be
+found at the URLs below:
+
+- Block versions over the last 50,000 blocks as progress towards BIP65
+  consensus enforcement: <http://bitcoin.sipa.be/ver-50k.png>
+
+- Block versions over the last 2,000 blocks showing the days to the
+  earliest possible BIP65 consensus-enforced block: <http://bitcoin.sipa.be/ver-2k.png>
+
+**Notice to miners:** Bitcoin Core’s block templates are now for
+version 4 blocks only, and any mining software relying on its
+getblocktemplate must be updated in parallel to use libblkmaker either
+version 0.4.3 or any version from 0.5.2 onward.
+
+- If you are solo mining, this will affect you the moment you upgrade
+  Bitcoin Core, which must be done prior to BIP65 achieving its 951/1001
+  status.
+
+- If you are mining with the stratum mining protocol: this does not
+  affect you.
+
+- If you are mining with the getblocktemplate protocol to a pool: this
+  will affect you at the pool operator’s discretion, which must be no
+  later than BIP65 achieving its 951/1001 status.
+
+[BIP65]: https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki
+
+BIP113 mempool-only locktime enforcement using GetMedianTimePast()
+----------------------------------------------------------------
+
+Bitcoin transactions currently may specify a locktime indicating when
+they may be added to a valid block.  Current consensus rules require
+that blocks have a block header time greater than the locktime specified
+in any transaction in that block.
+
+Miners get to choose what time they use for their header time, with the
+consensus rule being that no node will accept a block whose time is more
+than two hours in the future.  This creates a incentive for miners to
+set their header times to future values in order to include locktimed
+transactions which weren't supposed to be included for up to two more
+hours.
+
+The consensus rules also specify that valid blocks may have a header
+time greater than that of the median of the 11 previous blocks.  This
+GetMedianTimePast() time has a key feature we generally associate with
+time: it can't go backwards.
+
+[BIP113][] specifies a soft fork (**not enforced in this release**) that
+weakens this perverse incentive for individual miners to use a future
+time by requiring that valid blocks have a computed GetMedianTimePast()
+greater than the locktime specified in any transaction in that block.
+
+Mempool inclusion rules currently require transactions to be valid for
+immediate inclusion in a block in order to be accepted into the mempool.
+This release begins applying the BIP113 rule to received transactions,
+so transaction whose time is greater than the GetMedianTimePast() will
+no longer be accepted into the mempool.
+
+**Implication for miners:** you will begin rejecting transactions that
+would not be valid under BIP113, which will prevent you from producing
+invalid blocks if/when BIP113 is enforced on the network. Any
+transactions which are valid under the current rules but not yet valid
+under the BIP113 rules will either be mined by other miners or delayed
+until they are valid under BIP113. Note, however, that time-based
+locktime transactions are more or less unseen on the network currently.
+
+**Implication for users:** GetMedianTimePast() always trails behind the
+current time, so a transaction locktime set to the present time will be
+rejected by nodes running this release until the median time moves
+forward. To compensate, subtract one hour (3,600 seconds) from your
+locktimes to allow those transactions to be included in mempools at
+approximately the expected time.
+
+[BIP113]: https://github.com/bitcoin/bips/blob/master/bip-0113.mediawiki
+
+Windows bug fix for corrupted UTXO database on unclean shutdowns
+----------------------------------------------------------------
+
+Several Windows users reported that they often need to reindex the
+entire blockchain after an unclean shutdown of Bitcoin Core on Windows
+(or an unclean shutdown of Windows itself). Although unclean shutdowns
+remain unsafe, this release no longer relies on memory-mapped files for
+the UTXO database, which significantly reduced the frequency of unclean
+shutdowns leading to required reindexes during testing.
+
+For more information, see: <https://github.com/bitcoin/bitcoin/pull/6917>
+
+Other fixes for database corruption on Windows are expected in the
+next major release.
+
+0.11.2 Change log
+=================
+
+Detailed release notes follow. This overview includes changes that affect
+behavior, not code moves, refactors and string updates. For convenience in locating
+the code changes and accompanying discussion, both the pull request and
+git merge commit are mentioned.
+
+- #6124 `684636b` Make CScriptNum() take nMaxNumSize as an argument
+- #6124 `4fa7a04` Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65)
+- #6124 `6ea5ca4` Enable CHECKLOCKTIMEVERIFY as a standard script verify flag
+- #6351 `5e82e1c` Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic
+- #6353 `ba1da90` Show softfork status in getblockchaininfo
+- #6351 `6af25b0` Add BIP65 to getblockchaininfo softforks list
+- #6688 `01878c9` Fix locking in GetTransaction
+- #6653 `b3eaa30` [Qt] Raise debug window when requested
+- #6600 `1e672ae` Debian/Ubuntu: Include bitcoin-tx binary
+- #6600 `2394f4d` Debian/Ubuntu: Split bitcoin-tx into its own package
+- #5987 `33d6825` Bugfix: Allow mining on top of old tip blocks for testnet
+- #6852 `21e58b8` build: make sure OpenSSL heeds noexecstack
+- #6846 `af6edac` alias `-h` for `--help`
+- #6867 `95a5039` Set TCP_NODELAY on P2P sockets.
+- #6856 `dfe55bd` Do not allow blockfile pruning during reindex.
+- #6566 `a1d3c6f` Add rules--presently disabled--for using GetMedianTimePast as end point for lock-time calculations
+- #6566 `f720c5f` Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints
+- #6917 `0af5b8e` leveldb: Win32WritableFile without memory mapping
+- #6948 `4e895b0` Always flush block and undo when switching to new file
+
+Credits
+=======
+
+Thanks to everyone who directly contributed to this release:
+
+- Alex Morcos
+- ฿tcDrak
+- Chris Kleeschulte
+- Daniel Cousens
+- Diego Viola
+- Eric Lombrozo
+- Esteban Ordano
+- Gregory Maxwell
+- Luke Dashjr
+- Marco Falke
+- Mark Friedenbach
+- Matt Corallo
+- Micha
+- Mitchell Cash
+- Peter Todd
+- Pieter Wuille
+- Wladimir J. van der Laan
+- Zak Wilcox
+
+And those who contributed additional code review and/or security research.
+
+As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
diff --git a/doc/bitcoin-release-notes/release-notes-0.3.12.md b/doc/bitcoin-release-notes/release-notes-0.3.12.md
new file mode 100644 (file)
index 0000000..38715bc
--- /dev/null
@@ -0,0 +1,13 @@
+Version 0.3.12 is now available.
+
+Features:
+* json-rpc errors return a more standard error object. (thanks to Gavin Andresen)
+* json-rpc command line returns exit codes.
+* json-rpc "backupwallet" command.
+* Recovers and continues if an exception is caused by a message you received.  Other nodes shouldn't be able to cause an exception, and it hasn't happened before, but if a way is found to cause an exception, this would keep it from being used to stop network nodes.
+
+If you have json-rpc code that checks the contents of the error string, you need to change it to expect error objects of the form {"code":<number>,"message":<string>}, which is the standard.  See this thread:
+http://www.bitcoin.org/smf/index.php?topic=969.0
+
+Download:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.12/
diff --git a/doc/bitcoin-release-notes/release-notes-0.3.13.md b/doc/bitcoin-release-notes/release-notes-0.3.13.md
new file mode 100644 (file)
index 0000000..2b95ff2
--- /dev/null
@@ -0,0 +1,26 @@
+Version 0.3.13 is now available.  You should upgrade to prevent potential problems with 0/unconfirmed transactions.  Note: 0.3.13 prevents problems if you haven't already spent a 0/unconfirmed transaction, but if that already happened, you need 0.3.13.2.
+
+Changes:
+* Don't count or spend payments until they have 1 confirmation.
+* Internal version number from 312 to 31300.
+* Only accept transactions sent by IP address if -allowreceivebyip is specified.
+* Dropped DB_PRIVATE Berkeley DB flag.
+* Fix problem sending the last cent with sub-cent fractional change.
+* Auto-detect whether to use 128-bit 4-way SSE2 on Linux.
+Gavin Andresen:
+* Option -rpcallowip= to accept json-rpc connections from another machine.
+* Clean shutdown on SIGTERM on Linux.
+
+Download:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.13/
+
+(Thanks Laszlo for the Mac OSX build!)
+
+Note:
+The SSE2 auto-detect in the Linux 64-bit version doesn't work with AMD in 64-bit mode.  Please try this instead and let me know if it gets it right:
+http://www.bitcoin.org/download/bitcoin-0.3.13.1-specialbuild-linux64.tar.gz
+
+You can still control the SSE2 use manually with -4way and -4way=0.
+
+Version 0.3.13.2 (SVN rev 161) has improvements for the case where you already had 0/unconfirmed transactions that you might have already spent.  Here's a Windows build of it:
+http://www.bitcoin.org/download/bitcoin-0.3.13.2-win32-setup.exe
diff --git a/doc/bitcoin-release-notes/release-notes-0.3.14.md b/doc/bitcoin-release-notes/release-notes-0.3.14.md
new file mode 100644 (file)
index 0000000..e73052e
--- /dev/null
@@ -0,0 +1,11 @@
+Version 0.3.14 is now available
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.14/
+
+Changes:
+* Key pool feature for safer wallet backup
+Gavin Andresen:
+* TEST network mode with switch -testnet
+* Option to use SSL for JSON-RPC connections on unix/osx
+* validateaddress RPC command
+eurekafag:
+* Russian translation
diff --git a/doc/bitcoin-release-notes/release-notes-0.3.15.md b/doc/bitcoin-release-notes/release-notes-0.3.15.md
new file mode 100644 (file)
index 0000000..b98052e
--- /dev/null
@@ -0,0 +1,6 @@
+* paytxfee switch is now per KB, so it adds the correct fee for large transactions
+* sending avoids using coins with less than 6 confirmations if it can
+* BitcoinMiner processes transactions in priority order based on age of dependencies
+* make sure generation doesn't start before block 74000 downloaded
+* bugfixes by Dean Gores
+* testnet, keypoololdest and paytxfee added to getinfo
diff --git a/doc/bitcoin-release-notes/release-notes-0.3.16.md b/doc/bitcoin-release-notes/release-notes-0.3.16.md
new file mode 100644 (file)
index 0000000..743f84f
--- /dev/null
@@ -0,0 +1 @@
+Never released.
diff --git a/doc/bitcoin-release-notes/release-notes-0.3.17.md b/doc/bitcoin-release-notes/release-notes-0.3.17.md
new file mode 100644 (file)
index 0000000..d3604b8
--- /dev/null
@@ -0,0 +1,12 @@
+Version 0.3.17 is now available.
+
+Changes:
+* new getwork, thanks m0mchil
+* added transaction fee setting in UI options menu
+* free transaction limits
+* sendtoaddress returns transaction id instead of "sent"
+* getaccountaddress <account>
+
+The UI transaction fee setting was easy since it was still there from 0.1.5 and all I had to do was re-enable it.
+
+The accounts-based commands: move, sendfrom and getbalance <account> will be in the next release.  We still have some more changes to make first.
diff --git a/doc/bitcoin-release-notes/release-notes-0.3.18.md b/doc/bitcoin-release-notes/release-notes-0.3.18.md
new file mode 100644 (file)
index 0000000..ab1c2e0
--- /dev/null
@@ -0,0 +1,11 @@
+Changes:
+* Fixed a wallet.dat compatibility problem if you downgraded from 0.3.17 and then upgraded again
+* IsStandard() check to only include known transaction types in blocks
+* Jgarzik's optimisation to speed up the initial block download a little
+
+The main addition in this release is the Accounts-Based JSON-RPC commands that Gavin's been working on (more details at http://www.bitcoin.org/smf/index.php?topic=1886.0).  
+* getaccountaddress
+* sendfrom
+* move
+* getbalance
+* listtransactions
diff --git a/doc/bitcoin-release-notes/release-notes-0.3.19.md b/doc/bitcoin-release-notes/release-notes-0.3.19.md
new file mode 100644 (file)
index 0000000..fcd8675
--- /dev/null
@@ -0,0 +1,9 @@
+There's more work to do on DoS, but I'm doing a quick build of what I have so far in case it's needed, before venturing into more complex ideas.  The build for this is version 0.3.19.
+
+- Added some DoS controls
+As Gavin and I have said clearly before, the software is not at all resistant to DoS attack.  This is one improvement, but there are still more ways to attack than I can count.  
+
+I'm leaving the -limitfreerelay part as a switch for now and it's there if you need it.
+
+- Removed "safe mode" alerts
+"safe mode" alerts was a temporary measure after the 0.3.9 overflow bug.  We can say all we want that users can just run with "-disablesafemode", but it's better just not to have it for the sake of appearances.  It was never intended as a long term feature.  Safe mode can still be triggered by seeing a longer (greater total PoW) invalid block chain.
diff --git a/doc/bitcoin-release-notes/release-notes-0.3.20.1.md b/doc/bitcoin-release-notes/release-notes-0.3.20.1.md
new file mode 100644 (file)
index 0000000..6c5682e
--- /dev/null
@@ -0,0 +1 @@
+Never released or release notes were lost.
diff --git a/doc/bitcoin-release-notes/release-notes-0.3.20.2.md b/doc/bitcoin-release-notes/release-notes-0.3.20.2.md
new file mode 100644 (file)
index 0000000..09ecb73
--- /dev/null
@@ -0,0 +1,17 @@
+The maxsendbuffer bug (0.3.20.1 clients not being able to download the block chain from other 0.3.20.1 clients) was only going to get
+worse as people upgraded, so I cherry-picked the bug fix and created a minor release yesterday.
+
+The Amazon Machine Images I used to do the builds are available:
+
+  ami-38a05251   Bitcoin-v0.3.20.2 Mingw    (Windows; Administrator password 'bitcoin development')
+  ami-30a05259   Bitcoin_0.3.20.2 Linux32
+  ami-8abc4ee3   Bitcoin_0.3.20.2 Linux64
+
+(mac build will be done soon)
+
+If you have already downloaded version 0.3.20.1, please either add this to your bitcoin.conf file:
+
+  maxsendbuffer=10000
+  maxreceivebuffer=10000
+
+... or download the new version.
diff --git a/doc/bitcoin-release-notes/release-notes-0.3.20.md b/doc/bitcoin-release-notes/release-notes-0.3.20.md
new file mode 100644 (file)
index 0000000..9ae2180
--- /dev/null
@@ -0,0 +1,22 @@
+Please checkout the git integration branch from:
+
+https://github.com/bitcoin/bitcoin
+
+... and help test.  The new features that need testing are:
+
+* -nolisten : https://github.com/bitcoin/bitcoin/pull/11
+* -rescan : scan block chain for missing wallet transactions
+* -printtoconsole : https://github.com/bitcoin/bitcoin/pull/37
+* RPC gettransaction details : https://github.com/bitcoin/bitcoin/pull/24
+* listtransactions new features : https://github.com/bitcoin/bitcoin/pull/10
+
+Bug fixes that also need testing:
+
+* -maxconnections= : https://github.com/bitcoin/bitcoin/pull/42
+* RPC listaccounts minconf : https://github.com/bitcoin/bitcoin/pull/27
+* RPC move, add time to output : https://github.com/bitcoin/bitcoin/pull/21
+* ...and several improvements to --help output.
+
+This needs more testing on Windows!  Please drop me a quick private message, email, or IRC message if you are able to do some testing.  If you find bugs, please open an issue at:
+
+https://github.com/bitcoin/bitcoin/issues
diff --git a/doc/bitcoin-release-notes/release-notes-0.3.21.md b/doc/bitcoin-release-notes/release-notes-0.3.21.md
new file mode 100644 (file)
index 0000000..f3b6bc4
--- /dev/null
@@ -0,0 +1,20 @@
+Binaries for Bitcoin version 0.3.21 are available at:
+  https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.21/
+
+Changes and new features from the 0.3.20 release include:
+
+* Universal Plug and Play support.  Enable automatic opening of a port for incoming connections by running bitcoin or bitcoind with the - -upnp=1 command line switch or using the Options dialog box.
+
+* Support for full-precision bitcoin amounts.  You can now send, and bitcoin will display, bitcoin amounts smaller than 0.01.  However, sending fewer than 0.01 bitcoins still requires a 0.01 bitcoin fee (so you can send 1.0001 bitcoins without a fee, but you will be asked to pay a fee if you try to send 0.0001).
+
+* A new method of finding bitcoin nodes to connect with, via DNS A records. Use the -dnsseed option to enable.
+
+For developers, changes to bitcoin's remote-procedure-call API:
+
+* New rpc command "sendmany" to send bitcoins to more than one address in a single transaction.
+
+* Several bug fixes, including a serious intermittent bug that would sometimes cause bitcoind to stop accepting rpc requests. 
+
+* -logtimestamps option, to add a timestamp to each line in debug.log.
+
+* Immature blocks (newly generated, under 120 confirmations) are now shown in listtransactions.
diff --git a/doc/bitcoin-release-notes/release-notes-0.3.22.md b/doc/bitcoin-release-notes/release-notes-0.3.22.md
new file mode 100644 (file)
index 0000000..4c05e3e
--- /dev/null
@@ -0,0 +1,16 @@
+Download URL: https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.22/
+
+This is largely a bugfix and TX fee schedule release.  We also hope to make 0.3.23 a quick release, to fix problems that the network has seen due to explosive growth in the past week.
+
+Notable changes:
+* Client will accept and relay TX's with 0.0005 BTC fee schedule (users still pay 0.01 BTC per kb, until next version)
+* Non-standard transactions accepted on testnet
+* Source code tree reorganized (prep for autotools build)
+* Remove "Generate Coins" option from GUI, and remove 4way SSE miner.  Internal reference CPU miner remains available, but users are directed to external miners for best hash production.
+* IRC is overflowing.  Client now bootstraps to channels #bitcoin00 - #bitcoin99
+* DNS names now may be used with -addnode, -connect (requires -dns to enable)
+
+RPC changes:
+* 'listtransactions' adds 'from' param, for range queries
+* 'move' may take account balances negative
+* 'settxfee' added, to manually set TX fee
diff --git a/doc/bitcoin-release-notes/release-notes-0.3.23.md b/doc/bitcoin-release-notes/release-notes-0.3.23.md
new file mode 100644 (file)
index 0000000..c1d520e
--- /dev/null
@@ -0,0 +1,10 @@
+Win32, Linux, MacOSX and source releases for bitcoin v0.3.23 have been uploaded to
+https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.23/
+
+This is another quick bugfix release, trying to deal with the influx of new bitcoin users.
+
+Main items of note:
+
+* P2P connect-to-node logic changed to reduce timeout a bit.  The network saw a huge influx of new users, who do not permit incoming connections.  This change is a short-term hack, to more quickly hunt for useful P2P connections.  Better "leaf node" logic is in the works, but this should let us limp along until then.  One may use -upnp to properly forward ports, and help the network.
+* Transaction fee reduced to 0.0005 for new transactions
+* Client will relay transactions with fees as low as 0.0001 BTC
diff --git a/doc/bitcoin-release-notes/release-notes-0.3.24.md b/doc/bitcoin-release-notes/release-notes-0.3.24.md
new file mode 100644 (file)
index 0000000..d35ac66
--- /dev/null
@@ -0,0 +1,20 @@
+Bitcoin v0.3.24 is now available for download at
+https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.24/
+
+This is another bug fix release.  We had hoped to have wallet encryption ready for release, but more urgent fixes for existing clients were needed -- most notably block download problems were getting severe.  Wallet encryption is ready for testing at https://github.com/bitcoin/bitcoin/pull/352 for the git-savvy, and hopefully will follow shortly in the next release, v0.4.
+
+Notable fixes in v0.3.24, and the main reasons for this release:
+
+F1) Block downloads were failing or taking unreasonable amounts of time to complete, because the increased size of the block chain was bumping up against some earlier buffer-size DoS limits.
+
+F2) Fix crash caused by loss/lack of network connection.
+
+Notable changes in v0.3.24:
+
+C1) DNS seeding enabled by default.
+
+C2) UPNP enabled by default in the GUI client.  The percentage of bitcoin clients that accept incoming connections is quite small, and that is a problem.  This should help.  bitcoind, and unofficial builds, are unchanged (though we encourage use of "-upnp" to help the network!)
+
+C3) Initial unit testing framework.  Bitcoin sorely needs automated tests, and this is a beginning.  Contributions welcome.
+
+C4) Internal wallet code cleanup.  While invisible to an end user, this change provides the basis for v0.4's wallet encryption.
diff --git a/doc/bitcoin-release-notes/release-notes-0.4.0.md b/doc/bitcoin-release-notes/release-notes-0.4.0.md
new file mode 100644 (file)
index 0000000..145072a
--- /dev/null
@@ -0,0 +1,70 @@
+Bitcoin version 0.4.0 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.4.0/
+
+The main feature in this release is wallet private key encryption;
+you can set a passphrase that must be entered before sending coins.
+See below for more information; if you decide to encrypt your wallet,
+WRITE DOWN YOUR PASSPHRASE AND PUT IT IN A SECURE LOCATION. If you
+forget or lose your wallet passphrase, you lose your bitcoins.
+Previous versions of bitcoin are unable to read encrypted wallets,
+and will crash on startup if the wallet is encrypted.
+
+Also note: bitcoin version 0.4 uses a newer version of Berkeley DB
+(bdb version 4.8) than previous versions (bdb 4.7). If you upgrade
+to version 0.4 and then revert back to an earlier version of bitcoin
+the it may be unable to start because bdb 4.7 cannot read bdb 4.8
+"log" files.
+
+
+Notable bug fixes from version 0.3.24:
+
+Fix several bitcoin-becomes-unresponsive bugs due to multithreading
+deadlocks.
+
+Optimize database writes for large (lots of inputs) transactions
+(fixes a potential denial-of-service attack)
+
+
+Wallet Encryption
+
+Bitcoin supports native wallet encryption so that people who steal your
+wallet file don't automatically get access to all of your Bitcoins.
+In order to enable this feature, choose "Encrypt Wallet" from the
+Options menu.  You will be prompted to enter a passphrase, which
+will be used as the key to encrypt your wallet and will be needed
+every time you wish to send Bitcoins.  If you lose this passphrase,
+you will lose access to spend all of the bitcoins in your wallet,
+no one, not even the Bitcoin developers can recover your Bitcoins.
+This means you are responsible for your own security, store your
+passphrase in a secure location and do not forget it.
+
+Remember that the encryption built into bitcoin only encrypts the
+actual keys which are required to send your bitcoins, not the full
+wallet.  This means that someone who steals your wallet file will
+be able to see all the addresses which belong to you, as well as the
+relevant transactions, you are only protected from someone spending
+your coins.
+
+It is recommended that you backup your wallet file before you
+encrypt your wallet.  To do this, close the Bitcoin client and
+copy the wallet.dat file from ~/.bitcoin/ on Linux, /Users/(user
+name)/Application Support/Bitcoin/ on Mac OSX, and %APPDATA%/Bitcoin/
+on Windows (that is /Users/(user name)/AppData/Roaming/Bitcoin on
+Windows Vista and 7 and /Documents and Settings/(user name)/Application
+Data/Bitcoin on Windows XP).  Once you have copied that file to a
+safe location, reopen the Bitcoin client and Encrypt your wallet.
+If everything goes fine, delete the backup and enjoy your encrypted
+wallet.  Note that once you encrypt your wallet, you will never be
+able to go back to a version of the Bitcoin client older than 0.4.
+
+Keep in mind that you are always responsible for your own security.
+All it takes is a slightly more advanced wallet-stealing trojan which
+installs a keylogger to steal your wallet passphrase as you enter it
+in addition to your wallet file and you have lost all your Bitcoins.
+Wallet encryption cannot keep you safe if you do not practice
+good security, such as running up-to-date antivirus software, only
+entering your wallet passphrase in the Bitcoin client and using the
+same passphrase only as your wallet passphrase.
+
+See the doc/README file in the bitcoin source for technical details
+of wallet encryption.
diff --git a/doc/bitcoin-release-notes/release-notes-0.4.1.md b/doc/bitcoin-release-notes/release-notes-0.4.1.md
new file mode 100644 (file)
index 0000000..ac471a8
--- /dev/null
@@ -0,0 +1,38 @@
+Bitcoin version 0.4.1 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.4.1/
+
+This is a bugfix only release based on 0.4.0.
+
+Please report bugs by replying to this forum thread.
+
+MAJOR BUG FIX  (CVE-2011-4447)
+
+The wallet encryption feature introduced in Bitcoin version 0.4.0 did not sufficiently secure the private keys. An attacker who
+managed to get a copy of your encrypted wallet.dat file might be able to recover some or all of the unencrypted keys and steal the
+associated coins.
+
+If you have a previously encrypted wallet.dat, the first time you run wxbitcoin or bitcoind the wallet will be rewritten, Bitcoin will
+shut down, and you will be prompted to restart it to run with the new, properly encrypted file.
+
+If you had a previously encrypted wallet.dat that might have been copied or stolen (for example, you backed it up to a public
+location) you should send all of your bitcoins to yourself using a new bitcoin address and stop using any previously generated addresses.
+
+Wallets encrypted with this version of Bitcoin are written properly.
+
+Technical note: the encrypted wallet's 'keypool' will be regenerated the first time you request a new bitcoin address; to be certain that the
+new private keys are properly backed up you should:
+
+1. Run Bitcoin and let it rewrite the wallet.dat file
+
+2. Run it again, then ask it for a new bitcoin address.
+wxBitcoin: new address visible on main window
+bitcoind: run the 'walletpassphrase' RPC command to unlock the wallet,  then run the 'getnewaddress' RPC command.
+
+3. If your encrypted wallet.dat may have been copied or stolen, send all of your bitcoins to the new bitcoin address.
+
+4. Shut down Bitcoin, then backup the wallet.dat file.
+IMPORTANT: be sure to request a new bitcoin address before backing up, so that the 'keypool' is regenerated and backed up.
+
+"Security in depth" is always a good idea, so choosing a secure location for the backup and/or encrypting the backup before uploading it is recommended. And as in previous releases, if your machine is infected by malware there are several ways an attacker might steal your bitcoins.
+
+Thanks to Alan Reiner (etotheipi) for finding and reporting this bug.
diff --git a/doc/bitcoin-release-notes/release-notes-0.4.2.md b/doc/bitcoin-release-notes/release-notes-0.4.2.md
new file mode 100644 (file)
index 0000000..6c5682e
--- /dev/null
@@ -0,0 +1 @@
+Never released or release notes were lost.
diff --git a/doc/bitcoin-release-notes/release-notes-0.4.3.md b/doc/bitcoin-release-notes/release-notes-0.4.3.md
new file mode 100644 (file)
index 0000000..fea1ae7
--- /dev/null
@@ -0,0 +1,21 @@
+bitcoind version 0.4.3 is now available for download at:
+http://luke.dashjr.org/programs/bitcoin/files/bitcoind-0.4.3/ (until Gavin uploads to SourceForge)
+
+This is a bugfix-only release based on 0.4.0.
+
+Please note that the wxBitcoin GUI client is no longer maintained nor supported. If someone would like to step up to maintain this, they should contact Luke-Jr.
+
+Please report bugs for the daemon only using the issue tracker at github:
+https://github.com/bitcoin/bitcoin/issues
+
+Stable source code is hosted at Gitorious:
+http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v0.4.3#.tar.gz
+
+BUG FIXES
+
+Cease locking memory used by non-sensitive information (this caused a huge performance hit on some platforms, especially noticable during initial blockchain download).
+Fixed some address-handling deadlocks (client freezes).
+No longer accept inbound connections over the internet when Bitcoin is being used with Tor (identity leak).
+Use the correct base transaction fee of 0.0005 BTC for accepting transactions into mined blocks (since 0.4.0, it was incorrectly accepting 0.0001 BTC which was only meant to be relayed).
+Add new DNS seeds (maintained by Pieter Wuille and Luke Dashjr).
+
diff --git a/doc/bitcoin-release-notes/release-notes-0.4.4.md b/doc/bitcoin-release-notes/release-notes-0.4.4.md
new file mode 100644 (file)
index 0000000..f435ba7
--- /dev/null
@@ -0,0 +1,30 @@
+Bitcoin version 0.4.4 is now available for download at:
+http://luke.dashjr.org/programs/bitcoin/files/bitcoind-0.4.4/
+
+This is a bugfix-only release based on 0.4.0.
+
+Please note that the wxBitcoin GUI client is no longer maintained nor supported. If someone would like to step up to maintain this, they should contact Luke-Jr.
+
+Please report bugs for the daemon only using the issue tracker at github:
+https://github.com/bitcoin/bitcoin/issues
+
+Stable source code is hosted at Gitorious:
+http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v0.4.4#.tar.gz
+
+BUG FIXES
+
+Limit the number of orphan transactions stored in memory, to prevent a potential denial-of-service attack by flooding orphan transactions. Also never store invalid transactions at all.
+Fix possible buffer overflow on systems with very long application data paths. This is not exploitable.
+Resolved multiple bugs preventing long-term unlocking of encrypted wallets (issue #922).
+Only send local IP in "version" messages if it is globally routable (ie, not private), and try to get such an IP from UPnP if applicable.
+Reannounce UPnP port forwards every 20 minutes, to workaround routers expiring old entries, and allow the -upnp option to override any stored setting.
+Various memory leaks and potential null pointer deferences have been
+fixed.
+Several shutdown issues have been fixed.
+Check that keys stored in the wallet are valid at startup, and if not,
+report corruption.
+Various build fixes.
+If no password is specified to bitcoind, recommend a secure password.
+Update hard-coded fallback seed nodes, choosing recent ones with long uptime and versions at least 0.4.0.
+Add checkpoint at block 168,000.
+
diff --git a/doc/bitcoin-release-notes/release-notes-0.4.5.md b/doc/bitcoin-release-notes/release-notes-0.4.5.md
new file mode 100644 (file)
index 0000000..6c5682e
--- /dev/null
@@ -0,0 +1 @@
+Never released or release notes were lost.
diff --git a/doc/bitcoin-release-notes/release-notes-0.4.6.md b/doc/bitcoin-release-notes/release-notes-0.4.6.md
new file mode 100644 (file)
index 0000000..07c5e4b
--- /dev/null
@@ -0,0 +1,37 @@
+bitcoind version 0.4.6 is now available for download at:
+Windows: installer | zip (sig)
+Source: tar.gz
+bitcoind and Bitcoin-Qt version 0.6.0.7 are also tagged in git, but it is recommended to upgrade to 0.6.1.
+
+These are bugfix-only releases.
+
+Please report bugs by replying to this forum thread. Note that the 0.4.x wxBitcoin GUI client is no longer maintained nor supported. If someone would like to step up to maintain this, they should contact Luke-Jr.
+
+BUG FIXES
+
+Version 0.6.0 allowed importing invalid "private keys", which would be unspendable; 0.6.0.7 will now verify the private key is valid, and refuse to import an invalid one
+Verify status of encrypt/decrypt calls to detect failed padding
+Check blocks for duplicate transactions earlier. Fixes #1167
+Upgrade Windows builds to OpenSSL 1.0.1b
+Set label when selecting an address that already has a label. Fixes #1080 (Bitcoin-Qt)
+JSON-RPC listtransactions's from/count handling is now fixed
+Optimize and fix multithreaded access, when checking whether we already know about transactions
+Fix potential networking deadlock
+Proper support for Growl 1.3 notifications
+Display an error, rather than crashing, if encoding a QR Code failed (0.6.0.7)
+Don't erroneously set "Display addresses" for users who haven't explicitly enabled it (Bitcoin-Qt)
+Some non-ASCII input in JSON-RPC expecting hexadecimal may have been misinterpreted rather than rejected
+Missing error condition checking added
+Do not show green tick unless all known blocks are downloaded. Fixes #921 (Bitcoin-Qt)
+Increase time ago of last block for "up to date" status from 30 to 90 minutes
+Show a message box when runaway exception happens (Bitcoin-Qt)
+Use a messagebox to display the error when -server is provided without providing a rpc password
+Show error message instead of exception crash when unable to bind RPC port (Bitcoin-Qt)
+Correct sign message bitcoin address tooltip. Fixes #1050 (Bitcoin-Qt)
+Removed "(no label)" from QR Code dialog titlebar if we have no label (0.6.0.7)
+Removed an ugly line break in tooltip for mature transactions (0.6.0.7)
+Add missing tooltip and key shortcut in settings dialog (part of #1088) (Bitcoin-Qt)
+Work around issue in boost::program_options that prevents from compiling in clang
+Fixed bugs occurring only on platforms with unsigned characters (such as ARM).
+Rename make_windows_icon.py to .sh as it is a shell script. Fixes #1099 (Bitcoin-Qt)
+Various trivial internal corrections to types used for counting/size loops and warnings
diff --git a/doc/bitcoin-release-notes/release-notes-0.5.0.md b/doc/bitcoin-release-notes/release-notes-0.5.0.md
new file mode 100644 (file)
index 0000000..baa409b
--- /dev/null
@@ -0,0 +1,70 @@
+Bitcoin version 0.5.0 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.0/
+
+The major change for this release is a completely new graphical interface that uses the Qt user interface toolkit.
+
+This release include German, Spanish, Spanish-Castilian, Norwegian and Dutch translations. More translations are welcome; join the project at Transifex if you can help:
+https://www.transifex.net/projects/p/bitcoin/
+
+Please report bugs using the issue tracker at github:
+https://github.com/bitcoin/bitcoin/issues
+
+For Ubuntu users, there is a new ppa maintained by Matt Corallo which you can add to your system so that it will automatically keep bitcoin up-to-date.  Just type "sudo apt-add-repository ppa:bitcoin/bitcoin" in your terminal, then install the bitcoin-qt package.
+
+MAJOR BUG FIX  (CVE-2011-4447)
+
+The wallet encryption feature introduced in Bitcoin version 0.4.0 did not sufficiently secure the private keys. An attacker who
+managed to get a copy of your encrypted wallet.dat file might be able to recover some or all of the unencrypted keys and steal the
+associated coins.
+
+If you have a previously encrypted wallet.dat, the first time you run bitcoin-qt or bitcoind the wallet will be rewritten, Bitcoin will
+shut down, and you will be prompted to restart it to run with the new, properly encrypted file.
+
+If you had a previously encrypted wallet.dat that might have been copied or stolen (for example, you backed it up to a public
+location) you should send all of your bitcoins to yourself using a new bitcoin address and stop using any previously generated addresses.
+
+Wallets encrypted with this version of Bitcoin are written properly.
+
+Technical note: the encrypted wallet's 'keypool' will be regenerated the first time you request a new bitcoin address; to be certain that the
+new private keys are properly backed up you should:
+
+1. Run Bitcoin and let it rewrite the wallet.dat file
+
+2. Run it again, then ask it for a new bitcoin address.
+Bitcoin-Qt: Address Book, then New Address...
+bitcoind: run the 'walletpassphrase' RPC command to unlock the wallet,  then run the 'getnewaddress' RPC command.
+
+3. If your encrypted wallet.dat may have been copied or stolen, send  all of your bitcoins to the new bitcoin address.
+
+4. Shut down Bitcoin, then backup the wallet.dat file.
+IMPORTANT: be sure to request a new bitcoin address before backing up, so that the 'keypool' is regenerated and backed up.
+
+"Security in depth" is always a good idea, so choosing a secure location for the backup and/or encrypting the backup before uploading it is recommended. And as in previous releases, if your machine is infected by malware there are several ways an attacker might steal your bitcoins.
+
+Thanks to Alan Reiner (etotheipi) for finding and reporting this bug.
+
+MAJOR GUI CHANGES
+
+"Splash" graphics at startup that show address/wallet/blockchain loading progress.
+
+"Synchronizing with network" progress bar to show block-chain download progress.
+
+Icons at the bottom of the window that show how well connected you are to the network, with tooltips to display details.
+
+Drag and drop support for bitcoin: URIs on web pages.
+
+Export transactions as a .csv file.
+
+Many other GUI improvements, large and small.
+
+RPC CHANGES
+
+getmemorypool : new RPC command, provides everything needed to construct a block with a custom generation transaction and submit a solution
+
+listsinceblock : new RPC command, list transactions since given block
+
+signmessage/verifymessage : new RPC commands to sign a message with one of your private keys or verify that a message signed by the private key associated with a bitcoin address.
+
+GENERAL CHANGES
+
+Faster initial block download.
diff --git a/doc/bitcoin-release-notes/release-notes-0.5.1.md b/doc/bitcoin-release-notes/release-notes-0.5.1.md
new file mode 100644 (file)
index 0000000..d56bff6
--- /dev/null
@@ -0,0 +1,43 @@
+Bitcoin version 0.5.1 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.1/
+
+This is a bugfix-only release.
+
+This release includes 13 translations, including 5 new translations:
+Italian, Hungarian, Ukranian, Portuguese (Brazilian) and Simplified Chinese.
+More translations are welcome; join the project at Transifex if you can help:
+https://www.transifex.net/projects/p/bitcoin/
+
+Please report bugs using the issue tracker at github:
+https://github.com/bitcoin/bitcoin/issues
+
+Project source code is hosted at github; we are no longer
+distributing .tar.gz files here, you can get them
+directly from github:
+https://github.com/bitcoin/bitcoin/tarball/v0.5.1  # .tar.gz
+https://github.com/bitcoin/bitcoin/zipball/v0.5.1  # .zip
+
+For Ubuntu users, there is a new ppa maintained by Matt Corallo which
+you can add to your system so that it will automatically keep
+bitcoin up-to-date.  Just type
+sudo apt-add-repository ppa:bitcoin/bitcoin
+in your terminal, then install the bitcoin-qt package.
+
+
+BUG FIXES
+
+Re-enable SSL support for the JSON-RPC interface (it was unintentionally
+disabled for the 0.5.0 release binaries).
+
+The code that finds peers via "dns seeds" no longer stops bitcoin startup
+if one of the dns seed machines is down.
+
+Tooltips on the transaction list view were rendering incorrectly (as black boxes
+or with a transparent background).
+
+Prevent a denial-of-service attack involving flooding a bitcoin node with
+orphan blocks.
+
+The wallet passphrase dialog now warns you if the caps lock key was pressed.
+
+Improved searching in addresses and labels in bitcoin-qt.
diff --git a/doc/bitcoin-release-notes/release-notes-0.5.2.md b/doc/bitcoin-release-notes/release-notes-0.5.2.md
new file mode 100644 (file)
index 0000000..f798166
--- /dev/null
@@ -0,0 +1,22 @@
+Bitcoin version 0.5.2 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.2/
+
+This is a bugfix-only release based on 0.5.1.
+
+Please report bugs using the issue tracker at github:
+https://github.com/bitcoin/bitcoin/issues
+
+Stable source code is hosted at Gitorious:
+http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v0.5.2#.tar.gz
+
+BUG FIXES
+
+Check all transactions in blocks after the last checkpoint (0.5.0 and 0.5.1 skipped checking ECDSA signatures during initial blockchain download).
+Cease locking memory used by non-sensitive information (this caused a huge performance hit on some platforms, especially noticable during initial blockchain download; this was
+not a security vulnerability).
+Fixed some address-handling deadlocks (client freezes).
+No longer accept inbound connections over the internet when Bitcoin is being used with Tor (identity leak).
+Re-enable SSL support for the JSON-RPC interface (it was unintentionally disabled for the 0.5.0 and 0.5.1 release Linux binaries).
+Use the correct base transaction fee of 0.0005 BTC for accepting transactions into mined blocks (since 0.4.0, it was incorrectly accepting 0.0001 BTC which was only meant to be relayed).
+Don't show "IP" for transactions which are not necessarily IP transactions.
+Add new DNS seeds (maintained by Pieter Wuille and Luke Dashjr).
diff --git a/doc/bitcoin-release-notes/release-notes-0.5.3.md b/doc/bitcoin-release-notes/release-notes-0.5.3.md
new file mode 100644 (file)
index 0000000..7c84c53
--- /dev/null
@@ -0,0 +1,42 @@
+Bitcoin version 0.5.3 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.3/
+
+This is a bugfix-only release based on 0.5.1.
+It also includes a few protocol updates.
+
+Please report bugs using the issue tracker at github:
+https://github.com/bitcoin/bitcoin/issues
+
+Stable source code is hosted at Gitorious:
+http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v0.5.3#.tar.gz
+
+PROTOCOL UPDATES
+
+BIP 30: Introduce a new network rule: "a block is not valid if it contains a transaction whose hash already exists in the block chain, unless all that transaction's outputs were already spent before said block" beginning on March 15, 2012, 00:00 UTC.
+On testnet, allow mining of min-difficulty blocks if 20 minutes have gone by without mining a regular-difficulty block. This is to make testing Bitcoin easier, and will not affect normal mode.
+
+BUG FIXES
+
+Limit the number of orphan transactions stored in memory, to prevent a potential denial-of-service attack by flooding orphan transactions. Also never store invalid transactions at all.
+Fix possible buffer overflow on systems with very long application data paths. This is not exploitable.
+Resolved multiple bugs preventing long-term unlocking of encrypted wallets
+(issue #922).
+Only send local IP in "version" messages if it is globally routable (ie, not private), and try to get such an IP from UPnP if applicable.
+Reannounce UPnP port forwards every 20 minutes, to workaround routers expiring old entries, and allow the -upnp option to override any stored setting.
+Skip splash screen when -min is used, and fix Minimize to Tray function.
+Do not blank "label" in Bitcoin-Qt "Send" tab, if the user has already entered something.
+Correct various labels and messages.
+Various memory leaks and potential null pointer deferences have been fixed.
+Handle invalid Bitcoin URIs using "bitcoin://" instead of "bitcoin:".
+Several shutdown issues have been fixed.
+Revert to "global progress indication", as starting from zero every time was considered too confusing for many users.
+Check that keys stored in the wallet are valid at startup, and if not, report corruption.
+Enable accessible widgets on Windows, so that people with screen readers such as NVDA can make sense of it.
+Various build fixes.
+If no password is specified to bitcoind, recommend a secure password.
+Automatically focus and scroll to new "Send coins" entries in Bitcoin-Qt.
+Show a message box for --help on Windows, for Bitcoin-Qt.
+Add missing "About Qt" menu option to show built-in Qt About dialog.
+Don't show "-daemon" as an option for Bitcoin-Qt, since it isn't available.
+Update hard-coded fallback seed nodes, choosing recent ones with long uptime and versions at least 0.4.0.
+Add checkpoint at block 168,000.
diff --git a/doc/bitcoin-release-notes/release-notes-0.5.4.md b/doc/bitcoin-release-notes/release-notes-0.5.4.md
new file mode 100644 (file)
index 0000000..fcde3ac
--- /dev/null
@@ -0,0 +1,39 @@
+Bitcoin version 0.5.4 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.4/
+NOTE: 0.5.4rc3 is being renamed to 0.5.4 final with no changes.
+
+This is a bugfix-only release in the 0.5.x series, plus a few protocol updates.
+
+Please report bugs using the issue tracker at github:
+https://github.com/bitcoin/bitcoin/issues
+
+Stable source code is hosted at Gitorious:
+http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v0.5.4#.tar.gz
+
+PROTOCOL UPDATES
+
+BIP 16: Special-case "pay to script hash" logic to enable minimal validation of new transactions.
+Support for validating message signatures produced with compressed public keys.
+
+BUG FIXES
+
+Build with thread-safe MingW libraries for Windows, fixing a dangerous memory corruption scenario when exceptions are thrown.
+Fix broken testnet mining.
+Stop excess inventory relay during initial block download.
+When disconnecting a node, clear the received buffer so that we do not process any already received messages.
+Yet another attempt at implementing "minimize to tray" that works on all operating systems.
+Fix Bitcoin-Qt notifications under Growl 1.3.
+Increase required age of Bitcoin-Qt's "not up to date" status from 30 to 90 minutes.
+Implemented missing verifications that led to crash on entering some wrong passphrases for encrypted wallets.
+Fix default filename suffixes in GNOME save dialog.
+Make the "Send coins" tab use the configured unit type, even on the first attempt.
+Print detailed wallet loading errors to debug.log when it is corrupt.
+Allocate exactly the amount of space needed for signing transactions, instead of a fixed 10k buffer.
+Workaround for improbable memory access violation.
+Check wallet's minimum version before trying to load it.
+Remove wxBitcoin properly when installing Bitcoin-Qt over it. (Windows)
+Detail reorganization information better in debug log.
+Use a messagebox to display the error when -server is provided without configuring a RPC password.
+Testing suite build now honours provided CXXFLAGS.
+Removed an extraneous line-break in mature transaction tooltips.
+Fix some grammatical errors in translation process documentation.
diff --git a/doc/bitcoin-release-notes/release-notes-0.5.5.md b/doc/bitcoin-release-notes/release-notes-0.5.5.md
new file mode 100644 (file)
index 0000000..75ebc3e
--- /dev/null
@@ -0,0 +1,37 @@
+bitcoind and Bitcoin-Qt version 0.5.5 are now available for download at:
+Windows: installer | zip (sig)
+Source: tar.gz
+bitcoind and Bitcoin-Qt version 0.6.0.7 are also tagged in git, but it is recommended to upgrade to 0.6.1.
+
+These are bugfix-only releases.
+
+Please report bugs by replying to this forum thread. Note that the 0.4.x wxBitcoin GUI client is no longer maintained nor supported. If someone would like to step up to maintain this, they should contact Luke-Jr.
+
+BUG FIXES
+
+Version 0.6.0 allowed importing invalid "private keys", which would be unspendable; 0.6.0.7 will now verify the private key is valid, and refuse to import an invalid one
+Verify status of encrypt/decrypt calls to detect failed padding
+Check blocks for duplicate transactions earlier. Fixes #1167
+Upgrade Windows builds to OpenSSL 1.0.1b
+Set label when selecting an address that already has a label. Fixes #1080 (Bitcoin-Qt)
+JSON-RPC listtransactions's from/count handling is now fixed
+Optimize and fix multithreaded access, when checking whether we already know about transactions
+Fix potential networking deadlock
+Proper support for Growl 1.3 notifications
+Display an error, rather than crashing, if encoding a QR Code failed (0.6.0.7)
+Don't erroneously set "Display addresses" for users who haven't explicitly enabled it (Bitcoin-Qt)
+Some non-ASCII input in JSON-RPC expecting hexadecimal may have been misinterpreted rather than rejected
+Missing error condition checking added
+Do not show green tick unless all known blocks are downloaded. Fixes #921 (Bitcoin-Qt)
+Increase time ago of last block for "up to date" status from 30 to 90 minutes
+Show a message box when runaway exception happens (Bitcoin-Qt)
+Use a messagebox to display the error when -server is provided without providing a rpc password
+Show error message instead of exception crash when unable to bind RPC port (Bitcoin-Qt)
+Correct sign message bitcoin address tooltip. Fixes #1050 (Bitcoin-Qt)
+Removed "(no label)" from QR Code dialog titlebar if we have no label (0.6.0.7)
+Removed an ugly line break in tooltip for mature transactions (0.6.0.7)
+Add missing tooltip and key shortcut in settings dialog (part of #1088) (Bitcoin-Qt)
+Work around issue in boost::program_options that prevents from compiling in clang
+Fixed bugs occurring only on platforms with unsigned characters (such as ARM).
+Rename make_windows_icon.py to .sh as it is a shell script. Fixes #1099 (Bitcoin-Qt)
+Various trivial internal corrections to types used for counting/size loops and warnings
diff --git a/doc/bitcoin-release-notes/release-notes-0.6.0.md b/doc/bitcoin-release-notes/release-notes-0.6.0.md
new file mode 100644 (file)
index 0000000..1963a36
--- /dev/null
@@ -0,0 +1,138 @@
+Bitcoin version 0.6.0 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.6.0/test/
+
+This release includes more than 20 language localizations.
+More translations are welcome; join the
+project at Transifex to help:
+https://www.transifex.net/projects/p/bitcoin/
+
+Please report bugs using the issue tracker at github:
+https://github.com/bitcoin/bitcoin/issues
+
+Project source code is hosted at github; we are no longer
+distributing .tar.gz files here, you can get them
+directly from github:
+https://github.com/bitcoin/bitcoin/tarball/v0.6.0  # .tar.gz
+https://github.com/bitcoin/bitcoin/zipball/v0.6.0  # .zip
+
+For Ubuntu users, there is a ppa maintained by Matt Corallo which
+you can add to your system so that it will automatically keep
+bitcoin up-to-date.  Just type
+sudo apt-add-repository ppa:bitcoin/bitcoin
+in your terminal, then install the bitcoin-qt package.
+
+
+KNOWN ISSUES
+
+Shutting down while synchronizing with the network
+(downloading the blockchain) can take more than a minute,
+because database writes are queued to speed up download
+time.
+
+
+NEW FEATURES SINCE BITCOIN VERSION 0.5
+
+Initial network synchronization should be much faster
+(one or two hours on a typical machine instead of ten or more
+hours).
+
+Backup Wallet menu option.
+
+Bitcoin-Qt can display and save QR codes for sending
+and receiving addresses.
+
+New context menu on addresses to copy/edit/delete them.
+
+New Sign Message dialog that allows you to prove that you
+own a bitcoin address by creating a digital
+signature.
+
+New wallets created with this version will
+use 33-byte 'compressed' public keys instead of
+65-byte public keys, resulting in smaller
+transactions and less traffic on the bitcoin
+network. The shorter keys are already supported
+by the network but wallet.dat files containing
+short keys are not compatible with earlier
+versions of Bitcoin-Qt/bitcoind.
+
+New command-line argument -blocknotify=<command>
+that will spawn a shell process to run <command> 
+when a new block is accepted.
+
+New command-line argument -splash=0 to disable
+Bitcoin-Qt's initial splash screen
+
+validateaddress JSON-RPC api command output includes
+two new fields for addresses in the wallet:
+pubkey : hexadecimal public key
+iscompressed : true if pubkey is a short 33-byte key
+
+New JSON-RPC api commands for dumping/importing
+private keys from the wallet (dumprivkey, importprivkey).
+
+New JSON-RPC api command for getting information about
+blocks (getblock, getblockhash).
+
+New JSON-RPC api command (getmininginfo) for getting
+extra information related to mining. The getinfo
+JSON-RPC command no longer includes mining-related
+information (generate/genproclimit/hashespersec).
+
+
+
+NOTABLE CHANGES
+
+BIP30 implemented (security fix for an attack involving
+duplicate "coinbase transactions").
+
+The -nolisten, -noupnp and -nodnsseed command-line
+options were renamed to -listen, -upnp and -dnsseed,
+with a default value of 1. The old names are still
+supported for compatibility (so specifying -nolisten
+is automatically interpreted as -listen=0; every
+boolean argument can now be specified as either
+-foo or -nofoo).
+
+The -noirc command-line options was renamed to
+-irc, with a default value of 0. Run -irc=1 to
+get the old behavior.
+
+Three fill-up-available-memory denial-of-service
+attacks were fixed.
+
+
+NOT YET IMPLEMENTED FEATURES
+
+Support for clicking on bitcoin: URIs and
+opening/launching Bitcoin-Qt is available only on Linux,
+and only if you configure your desktop to launch
+Bitcoin-Qt. All platforms support dragging and dropping
+bitcoin: URIs onto the Bitcoin-Qt window to start
+payment.
+
+
+PRELIMINARY SUPPORT FOR MULTISIGNATURE TRANSACTIONS
+
+This release has preliminary support for multisignature
+transactions-- transactions that require authorization
+from more than one person or device before they
+will be accepted by the bitcoin network.
+
+Prior to this release, multisignature transactions
+were considered 'non-standard' and were ignored;
+with this release multisignature transactions are
+considered standard and will start to be relayed
+and accepted into blocks.
+
+It is expected that future releases of Bitcoin-Qt
+will support the creation of multisignature transactions,
+once enough of the network has upgraded so relaying
+and validating them is robust.
+
+For this release, creation and testing of multisignature
+transactions is limited to the bitcoin test network using
+the "addmultisigaddress" JSON-RPC api call.
+
+Short multisignature address support is included in this
+release, as specified in BIP 13 and BIP 16.
diff --git a/doc/bitcoin-release-notes/release-notes-0.6.1.md b/doc/bitcoin-release-notes/release-notes-0.6.1.md
new file mode 100644 (file)
index 0000000..ef7966e
--- /dev/null
@@ -0,0 +1,2 @@
+Never released
+
diff --git a/doc/bitcoin-release-notes/release-notes-0.6.2.md b/doc/bitcoin-release-notes/release-notes-0.6.2.md
new file mode 100644 (file)
index 0000000..bb85fb2
--- /dev/null
@@ -0,0 +1,50 @@
+Bitcoin version 0.6.2 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.6.2/
+
+This is a bug-fix and code-cleanup release, with no major new features.
+
+Please report bugs using the github issue tracker at:
+https://github.com/bitcoin/bitcoin/issues
+
+
+NOTABLE CHANGES
+
+Much faster shutdowns. However, the blkindex.dat file is no longer
+portable to different data directories by default. If you need a
+portable blkindex.dat file then run with the new -detachdb=1 option
+or the "Detach databases at shutdown" GUI preference.
+
+Fixed https://github.com/bitcoin/bitcoin/issues/1065, a bug that
+could cause long-running nodes to crash.
+
+Mac and Windows binaries are compiled against OpenSSL 1.0.1b (Linux
+binaries are dynamically linked to the version of OpenSSL on the system).
+
+
+CHANGE SUMMARY
+
+Use 'git shortlog --no-merges v0.6.0..' for a summary of this release.
+
+Source codebase changes:
+- Many source code cleanups and warnings fixes.  Close to building with -Wall
+- Locking overhaul, and several minor locking fixes
+- Several source code portability fixes, e.g. FreeBSD
+
+JSON-RPC interface changes:
+- addmultisigaddress enabled for mainnet (previously only enabled for testnet)
+
+Network protocol changes:
+- protocol version 60001
+- added nonce value to "ping" message (BIP 31)
+- added new "pong" message (BIP 31)
+
+Backend storage changes:
+- Less redundant database flushing, especially during initial block download
+- Shutdown improvements (see above)
+
+Qt user interface:
+- minor URI handling improvements
+- progressbar improvements
+- error handling improvements (show message box rather than console exception,
+etc.)
+- by popular request, make 4th bar of connection icon green
diff --git a/doc/bitcoin-release-notes/release-notes-0.6.3.md b/doc/bitcoin-release-notes/release-notes-0.6.3.md
new file mode 100644 (file)
index 0000000..28bb20e
--- /dev/null
@@ -0,0 +1,29 @@
+Bitcoin version 0.6.3 is now available for download at:
+  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.6.3/
+
+This is a bug-fix release, with no new features.
+
+Please report bugs using the issue tracker at github:
+  https://github.com/bitcoin/bitcoin/issues
+
+CHANGE SUMMARY
+
+Fixed a serious denial-of-service attack that could cause the
+bitcoin process to become unresponsive. Thanks to Sergio Lerner
+for finding and responsibly reporting the problem. (CVE-2012-3789)
+
+Optimized the process of checking transaction signatures, to
+speed up processing of new block messages and make propagating
+blocks across the network faster.
+
+Fixed an obscure bug that could cause the bitcoin process to get
+stuck on an invalid block-chain, if the invalid chain was
+hundreds of blocks long.
+
+Bitcoin-Qt no longer automatically selects the first address
+in the address book (Issue #1384).
+
+Fixed minimize-to-dock behavior of Bitcon-Qt on the Mac.
+
+Added a block checkpoint at block 185,333 to speed up initial
+blockchain download.
diff --git a/doc/bitcoin-release-notes/release-notes-0.7.0.md b/doc/bitcoin-release-notes/release-notes-0.7.0.md
new file mode 100644 (file)
index 0000000..d33a58f
--- /dev/null
@@ -0,0 +1,169 @@
+Bitcoin version 0.7.0 is now available for download at:
+  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.7.0/
+
+We recommend that everybody running prior versions of bitcoind/Bitcoin-Qt
+upgrade to this release, except for users running Mac OSX 10.5.
+
+Please report bugs using the issue tracker at github:
+  https://github.com/bitcoin/bitcoin/issues
+
+Project source code is hosted at github; you can get
+source-only tarballs/zipballs directly from there:
+  https://github.com/bitcoin/bitcoin/tarball/v0.7.0  # .tar.gz
+  https://github.com/bitcoin/bitcoin/zipball/v0.7.0  # .zip
+
+Ubuntu Linux users can use the "Personal Package Archive" (PPA)
+maintained by Matt Corallo to automatically keep 
+bitcoin up-to-date.  Just type
+  sudo apt-add-repository ppa:bitcoin/bitcoin
+  sudo apt-get update
+in your terminal, then install the bitcoin-qt package:
+  sudo apt-get install bitcoin-qt
+
+
+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 for older
+versions), then run the installer (on Windows) or just copy over
+Code:
+/Applications/Bitcoin-Qt
+(on Mac) or
+Code:
+bitcoind/bitcoin-qt
+(on Linux).
+
+If you were running on Linux with a version that might have been compiled
+with a different version of Berkeley DB (for example, if you were using the
+PPA and are switching to the binary release), then run the old version again
+with the -detachdb argument and shut it down; if you do not, then the new
+version will not be able to read the database files and will exit with an error.
+
+Incompatible Changes
+
+* Replaced the 'getmemorypool' RPC command with 'getblocktemplate/submitblock'
+  and 'getrawmempool' commands.
+* Remove deprecated RPC 'getblocknumber'
+
+Bitcoin Improvement Proposals implemented
+
+BIP 22 - 'getblocktemplate', 'submitblock' RPCs
+BIP 34 - block version 2, height in coinbase
+BIP 35 - 'mempool' message, extended 'getdata' message behavior
+
+
+Core bitcoin handling and blockchain database
+
+* Reduced CPU usage, by eliminating some redundant hash calculations
+* Cache signature verifications, to eliminate redundant signature checks
+* Transactions with zero-value outputs are considered non-standard
+* Mining: when creating new blocks, sort 'paid' area by fee-per-kb
+* Database: better validation of on-disk stored data
+* Database: minor optimizations and reliability improvements
+* -loadblock=FILE will import an external block file
+* Additional DoS (denial-of-service) prevention measures
+* New blockchain checkpoint at block 193,000
+
+
+JSON-RPC API
+
+* Internal HTTP server is now thread-per-connection, rather than
+  a single-threaded queue that would stall on network I/O.
+* Internal HTTP server supports HTTP/1.1, pipelined requests and
+  connection keep-alive.
+* Support JSON-RPC 2.0 batches, to encapsulate multiple JSON-RPC requests
+  within a single HTTP request.
+* IPv6 support
+* Added raw transaction API.  See https://gist.github.com/2839617
+* Added 'getrawmempool', to list contents of TX memory pool
+* Added 'getpeerinfo', to list data about each connected network peer
+* Added 'listaddressgroupings' for better coin control
+* Rework getblock call.
+* Remove deprecated RPC 'getblocknumber'
+* Remove superceded RPC 'getmemorypool' (see BIP 22, above)
+* listtransactions output now displays "smart" times for transactions,
+  and 'blocktime' and 'timereceived' fields were added
+
+
+P2P networking
+
+* IPv6 support
+* Tor hidden service support (see doc/Tor.txt)
+* Attempts to fix "stuck blockchain download" problems
+* Replace BDB database "addr.dat" with internally-managed "peers.dat"
+  file containing peer address data.
+* Lower default send buffer from 10MB to 1MB
+* proxy: SOCKS5 by default
+* Support connecting by hostnames passed to proxy
+* Add -seednode connections, and use this instead of DNS seeds when proxied
+* Added -externalip and -discover
+* Add -onlynet to connect only to a given network (IPv4, IPv6, or Tor)
+* Separate listening sockets, -bind=<addr>
+
+
+Qt GUI
+
+* Add UI RPC console / debug window
+* Re-Enable URI handling on Windows, add safety checks and tray-notifications
+* Harmonize the use of ellipsis ("...") to be used in menus, but not on buttons
+* Add 2 labels to the overviewpage that display Wallet and Transaction status (obsolete or current)
+* Extend the optionsdialog (e.g. language selection) and re-work it to a tabbed UI
+* Merge sign/verify message into a single window with tabbed UI
+* Ensure a changed bitcoin unit immediately updates all GUI elements that use units
+* Update QR Code dialog
+* Improve error reporting at startup
+* Fine-grained UI updates for a much smoother UI during block downloads
+* Remove autocorrection of 0/i in addresses in UI
+* Reorganize tray icon menu into more logical order
+* Persistently poll for balance change when number of blocks changed
+* Much better translations
+* Override progress bar design on platforms with segmented progress bars to assist with readability
+* Added 'immature balance' display on the overview page
+* (Windows only): enable ASLR and DEP for bitcoin-qt.exe
+* (Windows only): add meta-data to bitcoin-qt.exe (e.g. description)
+
+Internal codebase
+
+* Additional unit tests
+* Compile warning fixes
+
+
+Miscellaneous
+
+* Reopen debug.log upon SIGHUP
+* Bash programmable completion for bitcoind(1)
+* On supported OS's, each thread is given a useful name
+
+
+Thanks to everybody who contributed to this release:
+
+Chris Moore
+Christian von Roques
+David Joel Schwartz
+Douglas Huff
+Fordy
+Gavin Andresen
+Giel van Schijndel
+Gregory Maxwell
+Jeff Garzik
+Luke Dashjr
+Matt Corallo
+Michael Ford
+Michael Hendricks
+Peter Todd
+Philip Kaufmann
+Pieter Wuille
+R E Broadley
+Ricardo M. Correia
+Rune K. Svendsen
+Scott Ellis
+Stephane Glondu
+Wladimir J. van der Laan
+cardpuncher
+coderrr
+fanquake
+grimd34th
+sje397
+xanatos
+
+Thanks to Sergio Lerner for reporting denial-of-service vulnerabilities fixed in this release.
diff --git a/doc/bitcoin-release-notes/release-notes-0.7.1.md b/doc/bitcoin-release-notes/release-notes-0.7.1.md
new file mode 100644 (file)
index 0000000..22e910c
--- /dev/null
@@ -0,0 +1,110 @@
+Bitcoin version 0.7.1 is now available from:
+  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.7.1/
+
+This is a bug-fix minor release.
+
+Please report bugs using the issue tracker at github:
+  https://github.com/bitcoin/bitcoin/issues
+
+Project source code is hosted at github; you can get
+source-only tarballs/zipballs directly from there:
+  https://github.com/bitcoin/bitcoin/tarball/v0.7.1  # .tar.gz
+  https://github.com/bitcoin/bitcoin/zipball/v0.7.1  # .zip
+
+Ubuntu Linux users can use the "Personal Package Archive" (PPA)
+maintained by Matt Corallo to automatically keep 
+up-to-date.  Just type:
+  sudo apt-add-repository ppa:bitcoin/bitcoin
+  sudo apt-get update
+in your terminal, then install the bitcoin-qt package:
+  sudo apt-get install bitcoin-qt
+
+KNOWN ISSUES
+------------
+
+Mac OSX 10.5 is no longer supported.
+
+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 for older
+versions), then run the installer (on Windows) or just copy over
+/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
+
+If you were running on Linux with a version that might have been compiled
+with a different version of Berkeley DB (for example, if you were using an
+Ubuntu PPA version), then run the old version again with the -detachdb
+argument and shut it down; if you do not, then the new version will not
+be able to read the database files and will exit with an error.
+
+Explanation of -detachdb (and the new "stop true" RPC command):
+The Berkeley DB database library stores data in both ".dat" and
+"log" files, so the database is always in a consistent state,
+even in case of power failure or other sudden shutdown. The
+format of the ".dat" files is portable between different
+versions of Berkeley DB, but the "log" files are not-- even minor
+version differences may have incompatible "log" files. The
+-detachdb option moves any pending changes from the "log" files
+to the "blkindex.dat" file for maximum compatibility, but makes
+shutdown much slower. Note that the "wallet.dat" file is always
+detached, and versions prior to 0.6.0 detached all databases
+at shutdown.
+
+New features
+------------
+
+* Added a boolean argument to the RPC 'stop' command, if true sets
+  -detachdb to create standalone database .dat files before shutting down.
+
+* -salvagewallet command-line option, which moves any existing wallet.dat
+  to wallet.{timestamp}.dat and then attempts to salvage public/private
+  keys and master encryption keys (if the wallet is encrypted) into
+  a new wallet.dat. This should only be used if your wallet becomes
+  corrupted, and is not intended to replace regular wallet backups.
+
+* Import $DataDir/bootstrap.dat automatically, if it exists.
+
+Dependency changes
+------------------
+
+* Qt 4.8.2 for Windows builds
+
+* openssl 1.0.1c
+
+Bug fixes
+---------
+
+* Clicking on a bitcoin: URI on Windows should now launch Bitcoin-Qt properly.
+
+* When running -testnet, use RPC port 18332 by default.
+
+* Better detection and handling of corrupt wallet.dat and blkindex.dat files.
+  Previous versions would crash with a DB_RUNRECOVERY exception, this
+  version detects most problems and tells you how to recover if it
+  cannot recover itself.
+
+* Fixed an uninitialized variable bug that could cause transactions to
+  be reported out of order.
+
+* Fixed a bug that could cause occasional crashes on exit.
+
+* Warn the user that they need to create fresh wallet backups after they
+  encrypt their wallet.
+
+----------------------------------------------------
+Thanks to everybody who contributed to this release:
+
+Gavin Andresen
+Jeff Garzik
+Luke Dashjr
+Mark Friedenbach
+Matt Corallo
+Philip Kaufmann
+Pieter Wuille
+Rune K. Svendsen
+Virgil Dupras
+Wladimir J. van der Laan
+fanquake
+kjj2
+xanatos
diff --git a/doc/bitcoin-release-notes/release-notes-0.7.2.md b/doc/bitcoin-release-notes/release-notes-0.7.2.md
new file mode 100644 (file)
index 0000000..40af349
--- /dev/null
@@ -0,0 +1,68 @@
+Bitcoin version 0.7.2 is now available from:
+  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.7.2
+
+This is a bug-fix minor release.
+
+Please report bugs using the issue tracker at github:
+  https://github.com/bitcoin/bitcoin/issues
+
+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 for older
+versions), then run the installer (on Windows) or just copy over
+/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
+
+If you were running on Linux with a version that might have been compiled
+with a different version of Berkeley DB (for example, if you were using an
+Ubuntu PPA version), then run the old version again with the -detachdb
+argument and shut it down; if you do not, then the new version will not
+be able to read the database files and will exit with an error.
+
+Explanation of -detachdb (and the new "stop true" RPC command):
+The Berkeley DB database library stores data in both ".dat" and
+"log" files, so the database is always in a consistent state,
+even in case of power failure or other sudden shutdown. The
+format of the ".dat" files is portable between different
+versions of Berkeley DB, but the "log" files are not-- even minor
+version differences may have incompatible "log" files. The
+-detachdb option moves any pending changes from the "log" files
+to the "blkindex.dat" file for maximum compatibility, but makes
+shutdown much slower. Note that the "wallet.dat" file is always
+detached, and versions prior to 0.6.0 detached all databases
+at shutdown.
+
+Bug fixes
+---------
+
+* Prevent RPC 'move' from deadlocking. This was caused by trying to lock the
+  database twice.
+
+* Fix use-after-free problems in initialization and shutdown, the latter of
+  which caused Bitcoin-Qt to crash on Windows when exiting.
+
+* Correct library linking so building on Windows natively works.
+
+* Avoid a race condition and out-of-bounds read in block creation/mining code.
+
+* Improve platform compatibility quirks, including fix for 100% CPU utilization
+  on FreeBSD 9.
+
+* A few minor corrections to error handling, and updated translations.
+
+* OSX 10.5 supported again
+
+----------------------------------------------------
+Thanks to everybody who contributed to this release:
+
+Alex
+dansmith
+Gavin Andresen
+Gregory Maxwell
+Jeff Garzik
+Luke Dashjr
+Philip Kaufmann
+Pieter Wuille
+Wladimir J. van der Laan
+grimd34th
diff --git a/doc/bitcoin-release-notes/release-notes-0.8.0.md b/doc/bitcoin-release-notes/release-notes-0.8.0.md
new file mode 100644 (file)
index 0000000..4e98a77
--- /dev/null
@@ -0,0 +1,139 @@
+Bitcoin-Qt version 0.8.0 is now available from:
+  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.0/
+
+This is a major release designed to improve performance and handle the
+increasing volume of transactions on the network.
+
+Please report bugs using the issue tracker at github:
+  https://github.com/bitcoin/bitcoin/issues
+
+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 for older
+versions), then run the installer (on Windows) or just copy over
+/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
+
+The first time you run after the upgrade a re-indexing process will be
+started that will take anywhere from 30 minutes to several hours,
+depending on the speed of your machine.
+
+Incompatible Changes
+--------------------
+
+This release no longer maintains a full index of historical transaction ids
+by default, so looking up an arbitrary transaction using the getrawtransaction
+RPC call will not work. If you need that functionality, you must run once
+with -txindex=1 -reindex=1 to rebuild block-chain indices (see below for more
+details).
+
+Improvements
+------------
+
+Mac and Windows binaries are signed with certificates owned by the Bitcoin
+Foundation, to be compatible with the new security features in OSX 10.8 and
+Windows 8.
+
+LevelDB, a fast, open-source, non-relational database from Google, is
+now used to store transaction and block indices.  LevelDB works much better
+on machines with slow I/O and is faster in general. Berkeley DB is now only
+used for the wallet.dat file (public and private wallet keys and transactions
+relevant to you).
+
+Pieter Wuille implemented many optimizations to the way transactions are
+verified, so a running, synchronized node uses less working memory and does
+much less I/O. He also implemented parallel signature checking, so if you
+have a multi-CPU machine all CPUs will be used to verify transactions.
+
+New Features
+------------
+
+"Bloom filter" support in the network protocol for sending only relevant transactions to
+lightweight clients.
+
+contrib/verifysfbinaries is a shell-script to verify that the binary downloads
+at sourceforge have not been tampered with. If you are able, you can help make
+everybody's downloads more secure by running this occasionally to check PGP
+signatures against download file checksums.
+
+contrib/spendfrom is a python-language command-line utility that demonstrates
+how to use the "raw transactions" JSON-RPC api to send coins received from particular
+addresses (also known as "coin control").
+
+New/changed settings (command-line or bitcoin.conf file)
+--------------------------------------------------------
+
+dbcache : controls LevelDB memory usage.
+
+par : controls how many threads to use to validate transactions. Defaults to the number
+of CPUs on your machine, use -par=1 to limit to a single CPU.
+
+txindex : maintains an extra index of old, spent transaction ids so they will be found
+by the getrawtransaction JSON-RPC method.
+
+reindex : rebuild block and transaction indices from the downloaded block data.
+
+New JSON-RPC API Features
+-------------------------
+
+lockunspent / listlockunspent allow locking transaction outputs for a period of time so
+they will not be spent by other processes that might be accessing the same wallet.
+
+addnode / getaddednodeinfo methods, to connect to specific peers without restarting.
+
+importprivkey now takes an optional boolean parameter (default true) to control whether
+or not to rescan the blockchain for transactions after importing a new private key.
+
+Important Bug Fixes
+-------------------
+
+Privacy leak: the position of the "change" output in most transactions was not being
+properly randomized, making network analysis of the transaction graph to identify
+users' wallets easier. 
+
+Zero-confirmation transaction vulnerability: accepting zero-confirmation transactions
+(transactions that have not yet been included in a block) from somebody you do not
+trust is still not recommended, because there will always be ways for attackers to
+double-spend zero-confirmation transactions. However, this release includes a bug
+fix that makes it a little bit more difficult for attackers to double-spend a
+certain type ("lockTime in the future") of zero-confirmation transaction.
+
+Dependency Changes
+------------------
+
+Qt 4.8.3 (compiling against older versions of Qt 4 should continue to work)
+
+
+Thanks to everybody who contributed to this release:
+----------------------------------------------------
+
+Alexander Kjeldaas
+Andrey Alekseenko
+Arnav Singh
+Christian von Roques
+Eric Lombrozo
+Forrest Voight
+Gavin Andresen
+Gregory Maxwell
+Jeff Garzik
+Luke Dashjr
+Matt Corallo
+Mike Cassano
+Mike Hearn
+Peter Todd
+Philip Kaufmann
+Pieter Wuille
+Richard Schwab
+Robert Backhaus
+Rune K. Svendsen
+Sergio Demian Lerner
+Wladimir J. van der Laan
+burger2
+default
+fanquake
+grimd34th
+justmoon
+redshark1802
+tucenaber
+xanatos
diff --git a/doc/bitcoin-release-notes/release-notes-0.8.1.md b/doc/bitcoin-release-notes/release-notes-0.8.1.md
new file mode 100644 (file)
index 0000000..4fd546b
--- /dev/null
@@ -0,0 +1,22 @@
+Bitcoin-Qt/bitcoind version 0.8.1 is now available from:
+  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/
+
+This is a maintenance release that adds a new network rule to avoid
+a chain-forking incompatibility with versions 0.7.2 and earlier.
+
+Please report bugs using the issue tracker at github:
+  https://github.com/bitcoin/bitcoin/issues
+
+
+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 for older
+versions), then run the installer (on Windows) or just copy over
+/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
+
+If you are upgrading from version 0.7.2 or earlier, the first time you
+run 0.8.1 your blockchain files will be re-indexed, which will take
+anywhere from 30 minutes to several hours, depending on the speed of
+your machine.
diff --git a/doc/bitcoin-release-notes/release-notes-0.8.2.md b/doc/bitcoin-release-notes/release-notes-0.8.2.md
new file mode 100644 (file)
index 0000000..eea9ba2
--- /dev/null
@@ -0,0 +1,137 @@
+Bitcoin-Qt version 0.8.2 is now available from:
+  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.2/
+
+This is a maintenance release that fixes many bugs and includes
+a few small new features.
+
+Please report bugs using the issue tracker at github:
+  https://github.com/bitcoin/bitcoin/issues
+
+
+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 for older
+versions), then run the installer (on Windows) or just copy over
+/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
+
+If you are upgrading from version 0.7.2 or earlier, the first time you
+run 0.8.2 your blockchain files will be re-indexed, which will take
+anywhere from 30 minutes to several hours, depending on the speed of
+your machine.
+
+0.8.2 Release notes
+
+Fee Policy changes
+
+The default fee for low-priority transactions is lowered from 0.0005 BTC 
+(for each 1,000 bytes in the transaction; an average transaction is
+about 500 bytes) to 0.0001 BTC.
+
+Payments (transaction outputs) of 0.543 times the minimum relay fee
+(0.00005430 BTC) are now considered 'non-standard', because storing them
+costs the network more than they are worth and spending them will usually
+cost their owner more in transaction fees than they are worth.
+
+Non-standard transactions are not relayed across the network, are not included
+in blocks by most miners, and will not show up in your wallet until they are
+included in a block.
+
+The default fee policy can be overridden using the -mintxfee and -minrelaytxfee
+command-line options, but note that we intend to replace the hard-coded fees
+with code that automatically calculates and suggests appropriate fees in the
+0.9 release and note that if you set a fee policy significantly different from
+the rest of the network your transactions may never confirm.
+
+Bitcoin-Qt changes
+
+* New icon and splash screen
+* Improve reporting of synchronization process
+* Remove hardcoded fee recommendations
+* Improve metadata of executable on MacOSX and Windows
+* Move export button to individual tabs instead of toolbar
+* Add "send coins" command to context menu in address book
+* Add "copy txid" command to copy transaction IDs from transaction overview
+* Save & restore window size and position when showing & hiding window
+* New translations: Arabic (ar), Bosnian (bs), Catalan (ca), Welsh (cy),
+  Esperanto (eo), Interlingua (la), Latvian (lv) and many improvements
+  to current translations
+
+MacOSX:
+* OSX support for click-to-pay (bitcoin:) links
+* Fix GUI disappearing problem on MacOSX (issue #1522)
+
+Linux/Unix:
+* Copy addresses to middle-mouse-button clipboard
+
+
+Command-line options
+
+* -walletnotify will call a command on receiving transactions that affect the wallet.
+* -alertnotify will call a command on receiving an alert from the network.
+* -par now takes a negative number, to leave a certain amount of cores free.
+
+JSON-RPC API changes
+
+* fixed a getblocktemplate bug that caused excessive CPU creating blocks.
+* listunspent now lists account and address information.
+* getinfo now also returns the time adjustment estimated from your peers.
+* getpeerinfo now returns bytessent, bytesrecv and syncnode.
+* gettxoutsetinfo returns statistics about the unspent transaction output database.
+* gettxout returns information about a specific unspent transaction output.
+
+
+Networking changes
+
+* Significant changes to the networking code, reducing latency and memory consumption.
+* Avoid initial block download stalling.
+* Remove IRC seeding support.
+* Performance tweaks.
+* Added testnet DNS seeds.
+
+Wallet compatibility/rescuing
+
+* Cases where wallets cannot be opened in another version/installation should be reduced.
+* -salvagewallet now works for encrypted wallets.
+
+
+Known Bugs
+
+* Entering the 'getblocktemplate' or 'getwork' RPC commands into the Bitcoin-Qt debug
+console will cause Bitcoin-Qt to crash. Run Bitcoin-Qt with the -server command-line
+option to workaround.
+
+Thanks to everybody who contributed to the 0.8.2 release!
+
+APerson241
+Andrew Poelstra
+Calvin Owens
+Chuck LeDuc Díaz
+Colin Dean
+David Griffith
+David Serrano
+Eric Lombrozo
+Gavin Andresen
+Gregory Maxwell
+Jeff Garzik
+Jonas Schnelli
+Larry Gilbert
+Luke Dashjr
+Matt Corallo
+Michael Ford
+Mike Hearn
+Patrick Brown
+Peter Todd
+Philip Kaufmann
+Pieter Wuille
+Richard Schwab
+Roman Mindalev
+Scott Howard
+Tariq Bashir
+Warren Togami
+Wladimir J. van der Laan
+freewil
+gladoscc
+kjj2
+mb300sd
+super3
diff --git a/doc/bitcoin-release-notes/release-notes-0.8.3.md b/doc/bitcoin-release-notes/release-notes-0.8.3.md
new file mode 100644 (file)
index 0000000..856c20a
--- /dev/null
@@ -0,0 +1,18 @@
+Bitcoin-Qt version 0.8.3 is now available from:
+  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.3/
+
+This is a maintenance release to fix a denial-of-service attack that
+can cause nodes to crash.
+
+Please report bugs using the issue tracker at github:
+  https://github.com/bitcoin/bitcoin/issues
+
+0.8.3 Release notes
+
+Truncate over-size messages to prevent a memory exhaustion attack.
+
+Fix a regression that causes excessive re-writing of the 'peers.dat' file.
+
+
+Thanks to Peter Todd for responsibly disclosing the vulnerability
+( CVE-2013-4627 ) and creating a fix.
diff --git a/doc/bitcoin-release-notes/release-notes-0.8.4.md b/doc/bitcoin-release-notes/release-notes-0.8.4.md
new file mode 100644 (file)
index 0000000..c6f31f1
--- /dev/null
@@ -0,0 +1,83 @@
+Bitcoin-Qt version 0.8.4 is now available from:
+  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.4/
+
+This is a maintenance release to fix a critical bug and three
+security issues; we urge all users to upgrade.
+
+Please report bugs using the issue tracker at github:
+  https://github.com/bitcoin/bitcoin/issues
+
+
+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 for older
+versions), then run the installer (on Windows) or just copy over
+/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
+
+If you are upgrading from version 0.7.2 or earlier, the first time you
+run 0.8.4 your blockchain files will be re-indexed, which will take
+anywhere from 30 minutes to several hours, depending on the speed of
+your machine.
+
+0.8.4 Release notes
+===================
+
+Security issues
+---------------
+
+An attacker could send a series of messages that resulted in
+an integer division-by-zero error in the Bloom Filter handling
+code, causing the Bitcoin-Qt or bitcoind process to crash.
+Bloom filters were introduced with version 0.8, so versions 0.8.0
+through 0.8.3 are vulnerable to this critical denial-of-service attack.
+
+A constant-time algorithm is now used to check RPC password
+guess attempts; fixes https://github.com/bitcoin/bitcoin/issues/2838
+(CVE-2013-4165)
+
+Implement a better fix for the fill-memory-with-orphan-transactions
+attack that was fixed in 0.8.3. See
+https://bitslog.wordpress.com/2013/07/18/buggy-cve-2013-4627-patch-open-new-vectors-of-attack/
+for a description of the weaknesses of the previous fix.
+(CVE-2013-4627)
+
+Bugs fixed
+----------
+
+Fix multi-block reorg transaction resurrection.
+
+Fix non-standard disconnected transactions causing mempool orphans.
+This bug could cause nodes running with the -debug flag to crash.
+
+OSX: use 'FD_FULLSYNC' with LevelDB, which will (hopefully!)
+prevent the database corruption issues many people have
+experienced on OSX.
+
+Linux: clicking on bitcoin: links was broken if you were using
+a Gnome-based desktop.
+
+Fix a hang-at-shutdown bug that only affects users that compile
+their own version of Bitcoin against Boost versions 1.50-1.52.
+
+Other changes
+-------------
+
+Checkpoint at block 250,000 to speed up initial block downloads
+and make the progress indicator when downloading more accurate.
+
+
+Thanks to everybody who contributed to the 0.8.4 releases!
+----------------------------------------------------------
+
+Pieter Wuille
+Warren Togami
+Patrick Strateman
+pakt
+Gregory Maxwell
+Sergio Demian Lerner
+grayleonard
+Cory Fields
+Matt Corallo
+Gavin Andresen
diff --git a/doc/bitcoin-release-notes/release-notes-0.8.5.md b/doc/bitcoin-release-notes/release-notes-0.8.5.md
new file mode 100644 (file)
index 0000000..aa93fe7
--- /dev/null
@@ -0,0 +1,44 @@
+Bitcoin-Qt version 0.8.5 is now available from:
+  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.5/
+
+This is a maintenance release to fix a critical bug;
+we urge all users to upgrade.
+
+Please report bugs using the issue tracker at github:
+  https://github.com/bitcoin/bitcoin/issues
+
+
+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 for older
+versions), then run the installer (on Windows) or just copy over
+/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
+
+If you are upgrading from version 0.7.2 or earlier, the first time you
+run 0.8.5 your blockchain files will be re-indexed, which will take
+anywhere from 30 minutes to several hours, depending on the speed of
+your machine.
+
+0.8.5 Release notes
+===================
+
+Bugs fixed
+----------
+
+Transactions with version numbers larger than 0x7fffffff were
+incorrectly being relayed and included in blocks.
+
+Blocks containing transactions with version numbers larger
+than 0x7fffffff caused the code that checks for LevelDB database
+inconsistencies at startup to erroneously report database
+corruption and suggest that you reindex your database.
+
+This release also contains a non-critical fix to the code that
+enforces BIP 34 (block height in the coinbase transaction).
+
+--
+
+Thanks to Gregory Maxwell and Pieter Wuille for quickly
+identifying and fixing the transaction version number bug.
diff --git a/doc/bitcoin-release-notes/release-notes-0.8.6.md b/doc/bitcoin-release-notes/release-notes-0.8.6.md
new file mode 100644 (file)
index 0000000..39a45e0
--- /dev/null
@@ -0,0 +1,66 @@
+Bitcoin-Qt version 0.8.6 final is now available from:
+
+  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.6/
+
+This is a maintenance release to fix a critical bug; we urge all users to upgrade.
+
+Please report bugs using the issue tracker at github:
+
+  https://github.com/bitcoin/bitcoin/issues
+
+How to Upgrade
+--------------
+
+If you already downloaded 0.8.6rc1 you do not need to re-download. This release is exactly the same.
+
+If you are running an older version, shut it down. Wait
+until it has completely shut down (which might take a few minutes for older
+versions), then run the installer (on Windows) or just copy over
+/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
+
+If you are upgrading from version 0.7.2 or earlier, the first time you
+run 0.8.6 your blockchain files will be re-indexed, which will take
+anywhere from 30 minutes to several hours, depending on the speed of
+your machine.
+
+0.8.6 Release notes
+===================
+
+- Default block size increase for miners.
+  (see https://gist.github.com/gavinandresen/7670433#086-accept-into-block)
+
+- Remove the all-outputs-must-be-greater-than-CENT-to-qualify-as-free rule for relaying
+  (see https://gist.github.com/gavinandresen/7670433#086-relaying)
+
+- Lower maximum size for free transaction creation
+  (see https://gist.github.com/gavinandresen/7670433#086-wallet)
+
+- OSX block chain database corruption fixes
+  - Update leveldb to 1.13
+  - Use fcntl with `F_FULLSYNC` instead of fsync on OSX
+  - Use native Darwin memory barriers
+  - Replace use of mmap in leveldb for improved reliability (only on OSX)
+
+- Fix nodes forwarding transactions with empty vins and getting banned
+
+- Network code performance and robustness improvements
+
+- Additional debug.log logging for diagnosis of network problems, log timestamps by default
+
+- Fix Bitcoin-Qt startup crash when clicking dock icon on OSX 
+
+- Fix memory leaks in CKey::SetCompactSignature() and Key::SignCompact()
+
+- Fix rare GUI crash on send
+
+- Various small GUI, documentation and build fixes
+
+Warning
+-------
+
+- There have been frequent reports of users running out of virtual memory on 32-bit systems
+  during the initial sync.
+  Hence it is recommended to use a 64-bit executable if possible.
+  A 64-bit executable for Windows is planned for 0.9.
+
+Note: Gavin Andresen's GPG signing key for SHA256SUMS.asc has been changed from  key id 1FC730C1 to sub key 7BF6E212 (see https://github.com/bitcoin/bitcoin.org/pull/279).
diff --git a/doc/bitcoin-release-notes/release-notes-0.9.0.md b/doc/bitcoin-release-notes/release-notes-0.9.0.md
new file mode 100644 (file)
index 0000000..170410c
--- /dev/null
@@ -0,0 +1,411 @@
+Bitcoin Core version 0.9.0 is now available from:
+
+  https://bitcoin.org/bin/0.9.0/
+
+This is a new major version release, bringing both new features and
+bug fixes.
+
+Please report bugs using the issue tracker at github:
+
+  https://github.com/bitcoin/bitcoin/issues
+
+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 for older versions), uninstall all
+earlier versions of Bitcoin, then run the installer (on Windows) or just copy
+over /Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
+
+If you are upgrading from version 0.7.2 or earlier, the first time you run
+0.9.0 your blockchain files will be re-indexed, which will take anywhere from 
+30 minutes to several hours, depending on the speed of your machine.
+
+On Windows, do not forget to uninstall all earlier versions of the Bitcoin
+client first, especially if you are switching to the 64-bit version.
+
+Windows 64-bit installer
+-------------------------
+
+New in 0.9.0 is the Windows 64-bit version of the client. There have been
+frequent reports of users running out of virtual memory on 32-bit systems
+during the initial sync. Because of this it is recommended to install the
+64-bit version if your system supports it.
+
+NOTE: Release candidate 2 Windows binaries are not code-signed; use PGP
+and the SHA256SUMS.asc file to make sure your binaries are correct.
+In the final 0.9.0 release, Windows setup.exe binaries will be code-signed.
+
+OSX 10.5 / 32-bit no longer supported
+-------------------------------------
+
+0.9.0 drops support for older Macs. The minimum requirements are now:
+* A 64-bit-capable CPU (see http://support.apple.com/kb/ht3696);
+* Mac OS 10.6 or later (see https://support.apple.com/kb/ht1633).
+
+Downgrading warnings
+--------------------
+
+The 'chainstate' for this release is not always compatible with previous
+releases, so if you run 0.9 and then decide to switch back to a
+0.8.x release you might get a blockchain validation error when starting the
+old release (due to 'pruned outputs' being omitted from the index of
+unspent transaction outputs).
+
+Running the old release with the -reindex option will rebuild the chainstate
+data structures and correct the problem.
+
+Also, the first time you run a 0.8.x release on a 0.9 wallet it will rescan
+the blockchain for missing spent coins, which will take a long time (tens
+of minutes on a typical machine).
+
+Rebranding to Bitcoin Core
+---------------------------
+
+To reduce confusion between Bitcoin-the-network and Bitcoin-the-software we
+have renamed the reference client to Bitcoin Core.
+
+
+OP_RETURN and data in the block chain
+-------------------------------------
+On OP_RETURN:  There was been some confusion and misunderstanding in
+the community, regarding the OP_RETURN feature in 0.9 and data in the
+blockchain.  This change is not an endorsement of storing data in the
+blockchain.  The OP_RETURN change creates a provably-prunable output,
+to avoid data storage schemes -- some of which were already deployed --
+that were storing arbitrary data such as images as forever-unspendable
+TX outputs, bloating bitcoin's UTXO database.
+
+Storing arbitrary data in the blockchain is still a bad idea; it is less
+costly and far more efficient to store non-currency data elsewhere.
+
+Autotools build system
+-----------------------
+
+For 0.9.0 we switched to an autotools-based build system instead of individual
+(q)makefiles.
+
+Using the standard "./autogen.sh; ./configure; make" to build Bitcoin-Qt and
+bitcoind makes it easier for experienced open source developers to contribute 
+to the project.
+
+Be sure to check doc/build-*.md for your platform before building from source.
+
+Bitcoin-cli
+-------------
+
+Another change in the 0.9 release is moving away from the bitcoind executable
+functioning both as a server and as a RPC client. The RPC client functionality
+("tell the running bitcoin daemon to do THIS") was split into a separate
+executable, 'bitcoin-cli'. The RPC client code will eventually be removed from
+bitcoind, but will be kept for backwards compatibility for a release or two.
+
+`walletpassphrase` RPC
+-----------------------
+
+The behavior of the `walletpassphrase` RPC when the wallet is already unlocked
+has changed between 0.8 and 0.9.
+
+The 0.8 behavior of `walletpassphrase` is to fail when the wallet is already unlocked:
+
+    > walletpassphrase 1000
+    walletunlocktime = now + 1000
+    > walletpassphrase 10
+    Error: Wallet is already unlocked (old unlock time stays)
+
+The new behavior of `walletpassphrase` is to set a new unlock time overriding
+the old one:
+
+    > walletpassphrase 1000
+    walletunlocktime = now + 1000
+    > walletpassphrase 10
+    walletunlocktime = now + 10 (overriding the old unlock time)
+
+Transaction malleability-related fixes
+--------------------------------------
+
+This release contains a few fixes for transaction ID (TXID) malleability 
+issues:
+
+- -nospendzeroconfchange command-line option, to avoid spending
+  zero-confirmation change
+- IsStandard() transaction rules tightened to prevent relaying and mining of
+  mutated transactions
+- Additional information in listtransactions/gettransaction output to
+  report wallet transactions that conflict with each other because
+  they spend the same outputs.
+- Bug fixes to the getbalance/listaccounts RPC commands, which would report
+  incorrect balances for double-spent (or mutated) transactions.
+- New option: -zapwallettxes to rebuild the wallet's transaction information
+
+Transaction Fees
+----------------
+
+This release drops the default fee required to relay transactions across the
+network and for miners to consider the transaction in their blocks to
+0.01mBTC per kilobyte.
+
+Note that getting a transaction relayed across the network does NOT guarantee
+that the transaction will be accepted by a miner; by default, miners fill
+their blocks with 50 kilobytes of high-priority transactions, and then with
+700 kilobytes of the highest-fee-per-kilobyte transactions.
+
+The minimum relay/mining fee-per-kilobyte may be changed with the
+minrelaytxfee option. Note that previous releases incorrectly used
+the mintxfee setting to determine which low-priority transactions should
+be considered for inclusion in blocks.
+
+The wallet code still uses a default fee for low-priority transactions of
+0.1mBTC per kilobyte. During periods of heavy transaction volume, even this
+fee may not be enough to get transactions confirmed quickly; the mintxfee
+option may be used to override the default.
+
+0.9.0 Release notes
+=======================
+
+RPC:
+
+- New notion of 'conflicted' transactions, reported as confirmations: -1
+- 'listreceivedbyaddress' now provides tx ids
+- Add raw transaction hex to 'gettransaction' output
+- Updated help and tests for 'getreceivedby(account|address)'
+- In 'getblock', accept 2nd 'verbose' parameter, similar to getrawtransaction,
+  but defaulting to 1 for backward compatibility
+- Add 'verifychain', to verify chain database at runtime
+- Add 'dumpwallet' and 'importwallet' RPCs
+- 'keypoolrefill' gains optional size parameter
+- Add 'getbestblockhash', to return tip of best chain
+- Add 'chainwork' (the total work done by all blocks since the genesis block)
+  to 'getblock' output
+- Make RPC password resistant to timing attacks
+- Clarify help messages and add examples
+- Add 'getrawchangeaddress' call for raw transaction change destinations
+- Reject insanely high fees by default in 'sendrawtransaction'
+- Add RPC call 'decodescript' to decode a hex-encoded transaction script
+- Make 'validateaddress' provide redeemScript
+- Add 'getnetworkhashps' to get the calculated network hashrate
+- New RPC 'ping' command to request ping, new 'pingtime' and 'pingwait' fields
+  in 'getpeerinfo' output
+- Adding new 'addrlocal' field to 'getpeerinfo' output
+- Add verbose boolean to 'getrawmempool'
+- Add rpc command 'getunconfirmedbalance' to obtain total unconfirmed balance
+- Explicitly ensure that wallet is unlocked in `importprivkey`
+- Add check for valid keys in `importprivkey`
+
+Command-line options:
+
+- New option: -nospendzeroconfchange to never spend unconfirmed change outputs
+- New option: -zapwallettxes to rebuild the wallet's transaction information
+- Rename option '-tor' to '-onion' to better reflect what it does
+- Add '-disablewallet' mode to let bitcoind run entirely without wallet (when
+  built with wallet)
+- Update default '-rpcsslciphers' to include TLSv1.2
+- make '-logtimestamps' default on and rework help-message
+- RPC client option: '-rpcwait', to wait for server start
+- Remove '-logtodebugger'
+- Allow `-noserver` with bitcoind
+
+Block-chain handling and storage:
+
+- Update leveldb to 1.15
+- Check for correct genesis (prevent cases where a datadir from the wrong
+  network is accidentally loaded)
+- Allow txindex to be removed and add a reindex dialog
+- Log aborted block database rebuilds
+- Store orphan blocks in serialized form, to save memory
+- Limit the number of orphan blocks in memory to 750
+- Fix non-standard disconnected transactions causing mempool orphans
+- Add a new checkpoint at block 279,000
+
+Wallet:
+
+- Bug fixes and new regression tests to correctly compute
+  the balance of wallets containing double-spent (or mutated) transactions
+- Store key creation time. Calculate whole-wallet birthday.
+- Optimize rescan to skip blocks prior to birthday
+- Let user select wallet file with -wallet=foo.dat
+- Consider generated coins mature at 101 instead of 120 blocks
+- Improve wallet load time
+- Don't count txins for priority to encourage sweeping
+- Don't create empty transactions when reading a corrupted wallet
+- Fix rescan to start from beginning after importprivkey
+- Only create signatures with low S values
+
+Mining:
+
+- Increase default -blockmaxsize/prioritysize to 750K/50K
+- 'getblocktemplate' does not require a key to create a block template
+- Mining code fee policy now matches relay fee policy
+
+Protocol and network:
+
+- Drop the fee required to relay a transaction to 0.01mBTC per kilobyte
+- Send tx relay flag with version
+- New 'reject' P2P message (BIP 0061, see
+  https://gist.github.com/gavinandresen/7079034 for draft)
+- Dump addresses every 15 minutes instead of 10 seconds
+- Relay OP_RETURN data TxOut as standard transaction type
+- Remove CENT-output free transaction rule when relaying
+- Lower maximum size for free transaction creation
+- Send multiple inv messages if mempool.size > MAX_INV_SZ
+- Split MIN_PROTO_VERSION into INIT_PROTO_VERSION and MIN_PEER_PROTO_VERSION
+- Do not treat fFromMe transaction differently when broadcasting
+- Process received messages one at a time without sleeping between messages
+- Improve logging of failed connections
+- Bump protocol version to 70002
+- Add some additional logging to give extra network insight
+- Added new DNS seed from bitcoinstats.com
+
+Validation:
+
+- Log reason for non-standard transaction rejection
+- Prune provably-unspendable outputs, and adapt consistency check for it.
+- Detect any sufficiently long fork and add a warning
+- Call the -alertnotify script when we see a long or invalid fork
+- Fix multi-block reorg transaction resurrection
+- Reject non-canonically-encoded serialization sizes
+- Reject dust amounts during validation
+- Accept nLockTime transactions that finalize in the next block
+
+Build system:
+
+- Switch to autotools-based build system
+- Build without wallet by passing `--disable-wallet` to configure, this 
+  removes the BerkeleyDB dependency
+- Upgrade gitian dependencies (libpng, libz, libupnpc, boost, openssl) to more
+  recent versions
+- Windows 64-bit build support
+- Solaris compatibility fixes
+- Check integrity of gitian input source tarballs
+- Enable full GCC Stack-smashing protection for all OSes
+
+GUI:
+
+- Switch to Qt 5.2.0 for Windows build
+- Add payment request (BIP 0070) support
+- Improve options dialog
+- Show transaction fee in new send confirmation dialog
+- Add total balance in overview page
+- Allow user to choose data directory on first start, when data directory is
+  missing, or when the -choosedatadir option is passed
+- Save and restore window positions
+- Add vout index to transaction id in transactions details dialog
+- Add network traffic graph in debug window
+- Add open URI dialog
+- Add Coin Control Features
+- Improve receive coins workflow: make the 'Receive' tab into a form to request
+  payments, and move historical address list functionality to File menu.
+- Rebrand to `Bitcoin Core`
+- Move initialization/shutdown to a thread. This prevents "Not responding"
+  messages during startup. Also show a window during shutdown.
+- Don't regenerate autostart link on every client startup
+- Show and store message of normal bitcoin:URI
+- Fix richtext detection hang issue on very old Qt versions
+- OS X: Make use of the 10.8+ user notification center to display Growl-like 
+  notifications
+- OS X: Added NSHighResolutionCapable flag to Info.plist for better font
+  rendering on Retina displays.
+- OS X: Fix bitcoin-qt startup crash when clicking dock icon
+- Linux: Fix Gnome bitcoin: URI handler
+
+Miscellaneous:
+
+- Add Linux script (contrib/qos/tc.sh) to limit outgoing bandwidth
+- Add '-regtest' mode, similar to testnet but private with instant block
+  generation with 'setgenerate' RPC.
+- Add 'linearize.py' script to contrib, for creating bootstrap.dat
+- Add separate bitcoin-cli client
+
+Credits
+--------
+
+Thanks to everyone who contributed to this release:
+
+- Andrey
+- Ashley Holman
+- b6393ce9-d324-4fe1-996b-acf82dbc3d53
+- bitsofproof
+- Brandon Dahler
+- Calvin Tam
+- Christian Decker
+- Christian von Roques
+- Christopher Latham
+- Chuck
+- coblee
+- constantined
+- Cory Fields
+- Cozz Lovan
+- daniel
+- Daniel Larimer
+- David Hill
+- Dmitry Smirnov
+- Drak
+- Eric Lombrozo
+- fanquake
+- fcicq
+- Florin
+- frewil
+- Gavin Andresen
+- Gregory Maxwell
+- gubatron
+- Guillermo Céspedes Tabárez
+- Haakon Nilsen
+- HaltingState
+- Han Lin Yap
+- harry
+- Ian Kelling
+- Jeff Garzik
+- Johnathan Corgan
+- Jonas Schnelli
+- Josh Lehan
+- Josh Triplett
+- Julian Langschaedel
+- Kangmo
+- Lake Denman
+- Luke Dashjr
+- Mark Friedenbach
+- Matt Corallo
+- Michael Bauer
+- Michael Ford
+- Michagogo
+- Midnight Magic
+- Mike Hearn
+- Nils Schneider
+- Noel Tiernan
+- Olivier Langlois
+- patrick s
+- Patrick Strateman
+- paveljanik
+- Peter Todd
+- phantomcircuit
+- phelixbtc
+- Philip Kaufmann
+- Pieter Wuille
+- Rav3nPL
+- R E Broadley
+- regergregregerrge
+- Robert Backhaus
+- Roman Mindalev
+- Rune K. Svendsen
+- Ryan Niebur
+- Scott Ellis
+- Scott Willeke
+- Sergey Kazenyuk
+- Shawn Wilkinson
+- Sined
+- sje
+- Subo1978
+- super3
+- Tamas Blummer
+- theuni
+- Thomas Holenstein
+- Timon Rapp
+- Timothy Stranex
+- Tom Geller
+- Torstein Husebø
+- Vaclav Vobornik
+- vhf / victor felder
+- Vinnie Falco
+- Warren Togami
+- Wil Bown
+- Wladimir J. van der Laan
diff --git a/doc/bitcoin-release-notes/release-notes-0.9.1.md b/doc/bitcoin-release-notes/release-notes-0.9.1.md
new file mode 100644 (file)
index 0000000..0552053
--- /dev/null
@@ -0,0 +1,53 @@
+Bitcoin Core version 0.9.1 is now available from:
+
+  https://bitcoin.org/bin/0.9.1/
+
+This is a security update. It is recommended to upgrade to this release
+as soon as possible.
+
+It is especially important to upgrade if you currently have version
+0.9.0 installed and are using the graphical interface OR you are using
+bitcoind from any pre-0.9.1 version, and have enabled SSL for RPC and
+have configured allowip to allow rpc connections from potentially
+hostile hosts.
+
+Please report bugs using the issue tracker at github:
+
+  https://github.com/bitcoin/bitcoin/issues
+
+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 for older versions), then run the
+installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
+bitcoind/bitcoin-qt (on Linux).
+
+If you are upgrading from version 0.7.2 or earlier, the first time you run
+0.9.1 your blockchain files will be re-indexed, which will take anywhere from 
+30 minutes to several hours, depending on the speed of your machine.
+
+0.9.1 Release notes
+=======================
+
+No code changes were made between 0.9.0 and 0.9.1. Only the dependencies were changed.
+
+- Upgrade OpenSSL to 1.0.1g. This release fixes the following vulnerabilities which can
+  affect the Bitcoin Core software:
+
+  - CVE-2014-0160 ("heartbleed")
+    A missing bounds check in the handling of the TLS heartbeat extension can
+    be used to reveal up to 64k of memory to a connected client or server.
+
+  - CVE-2014-0076
+    The Montgomery ladder implementation in OpenSSL does not ensure that
+    certain swap operations have a constant-time behavior, which makes it
+    easier for local users to obtain ECDSA nonces via a FLUSH+RELOAD cache
+    side-channel attack.
+
+- Add statically built executables to Linux build
+
+Credits
+--------
+
+Credits go to the OpenSSL team for fixing the vulnerabilities quickly.
diff --git a/doc/bitcoin-release-notes/release-notes-0.9.2.1.md b/doc/bitcoin-release-notes/release-notes-0.9.2.1.md
new file mode 100644 (file)
index 0000000..3168ad1
--- /dev/null
@@ -0,0 +1,207 @@
+Bitcoin Core version 0.9.2.1 is now available from:
+
+  https://bitcoin.org/bin/0.9.2.1/
+
+This is a new minor version release, bringing mostly bug fixes and some minor
+improvements. OpenSSL has been updated because of a security issue (CVE-2014-0224).
+Upgrading to this release is recommended.
+
+Please report bugs using the issue tracker at github:
+
+  https://github.com/bitcoin/bitcoin/issues
+
+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 for older versions), then run the
+installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
+bitcoind/bitcoin-qt (on Linux).
+
+If you are upgrading from version 0.7.2 or earlier, the first time you run
+0.9.2.1 your blockchain files will be re-indexed, which will take anywhere from 
+30 minutes to several hours, depending on the speed of your machine.
+
+Downgrading warnings
+--------------------
+
+The 'chainstate' for this release is not always compatible with previous
+releases, so if you run 0.9.x and then decide to switch back to a
+0.8.x release you might get a blockchain validation error when starting the
+old release (due to 'pruned outputs' being omitted from the index of
+unspent transaction outputs).
+
+Running the old release with the -reindex option will rebuild the chainstate
+data structures and correct the problem.
+
+Also, the first time you run a 0.8.x release on a 0.9 wallet it will rescan
+the blockchain for missing spent coins, which will take a long time (tens
+of minutes on a typical machine).
+
+Important changes
+==================
+
+Gitian OSX build
+-----------------
+
+The deterministic build system that was already used for Windows and Linux
+builds is now used for OSX as well. Although the resulting executables have
+been tested quite a bit, there could be possible regressions. Be sure to report
+these on the Github bug tracker mentioned above.
+
+Compatibility of Linux build
+-----------------------------
+
+For Linux we now build against Qt 4.6, and filter the symbols for libstdc++ and glibc.
+This brings back compatibility with
+
+- Debian 6+ / Tails
+- Ubuntu 10.04
+- CentOS 6.5
+
+0.9.2 - 0.9.2.1 Release notes
+=======================
+
+The OpenSSL dependency in the gitian builds has been upgraded to 1.0.1h because of CVE-2014-0224.
+
+RPC:
+
+- Add `getwalletinfo`, `getblockchaininfo` and `getnetworkinfo` calls (will replace hodge-podge `getinfo` at some point)
+- Add a `relayfee` field to `getnetworkinfo`
+- Fix RPC related shutdown hangs and leaks
+- Always show syncnode in `getpeerinfo`
+- `sendrawtransaction`: report the reject code and reason, and make it possible to re-send transactions that are already in the mempool
+- `getmininginfo` show right genproclimit
+
+Command-line options:
+
+- Fix `-printblocktree` output
+- Show error message if ReadConfigFile fails
+
+Block-chain handling and storage:
+
+- Fix for GetBlockValue() after block 13,440,000 (BIP42)
+- Upgrade leveldb to 1.17
+
+Protocol and network code:
+
+- Per-peer block download tracking and stalled download detection
+- Add new DNS seed from bitnodes.io
+- Prevent socket leak in ThreadSocketHandler and correct some proxy related socket leaks
+- Use pnode->nLastRecv as sync score (was the wrong way around)
+
+Wallet:
+
+- Make GetAvailableCredit run GetHash() only once per transaction (performance improvement)
+- Lower paytxfee warning threshold from 0.25 BTC to 0.01 BTC
+- Fix importwallet nTimeFirstKey (trigger necessary rescans)
+- Log BerkeleyDB version at startup
+- CWallet init fix
+
+Build system:
+
+- Add OSX build descriptors to gitian
+- Fix explicit --disable-qt-dbus
+- Don't require db_cxx.h when compiling with wallet disabled and GUI enabled
+- Improve missing boost error reporting
+- Upgrade miniupnpc version to 1.9
+- gitian-linux: --enable-glibc-back-compat for binary compatibility with old distributions
+- gitian: don't export any symbols from executable
+- gitian: build against Qt 4.6
+- devtools: add script to check symbols from Linux gitian executables
+- Remove build-time no-IPv6 setting
+
+GUI:
+
+- Fix various coin control visual issues
+- Show number of in/out connections in debug console
+- Show weeks as well as years behind for long timespans behind
+- Enable and disable the Show and Remove buttons for requested payments history based on whether any entry is selected.
+- Show also value for options overridden on command line in options dialog
+- Fill in label from address book also for URIs
+- Fixes feel when resizing the last column on tables (issue #2862)
+- Fix ESC in disablewallet mode
+- Add expert section to wallet tab in optionsdialog
+- Do proper boost::path conversion (fixes unicode in datadir)
+- Only override -datadir if different from the default (fixes -datadir in config file)
+- Show rescan progress at start-up
+- Show importwallet progress
+- Get required locks upfront in polling functions (avoids hanging on locks)
+- Catch Windows shutdown events while client is running
+- Optionally add third party links to transaction context menu
+- Check for !pixmap() before trying to export QR code (avoids crashes when no QR code could be generated)
+- Fix "Start bitcoin on system login"
+
+Miscellaneous:
+
+- Replace non-threadsafe C functions (gmtime, strerror and setlocale)
+- Add missing cs_main and wallet locks
+- Avoid exception at startup when system locale not recognized
+- Changed bitrpc.py's raw_input to getpass for passwords to conceal characters during command line input
+- devtools: add a script to fetch and postprocess translations
+
+Credits
+--------
+
+Thanks to everyone who contributed to this release:
+
+- Addy Yeow
+- Altoidnerd
+- Andrea D'Amore
+- Andreas Schildbach
+- Bardi Harborow
+- Brandon Dahler
+- Bryan Bishop
+- Chris Beams
+- Christian von Roques
+- Cory Fields
+- Cozz Lovan
+- daniel
+- Daniel Newton
+- David A. Harding
+- ditto-b
+- duanemoody
+- Eric S. Bullington
+- Fabian Raetz
+- Gavin Andresen
+- Gregory Maxwell
+- gubatron
+- Haakon Nilsen
+- harry
+- Hector Jusforgues
+- Isidoro Ghezzi
+- Jeff Garzik
+- Johnathan Corgan
+- jtimon
+- Kamil Domanski
+- langerhans
+- Luke Dashjr
+- Manuel Araoz
+- Mark Friedenbach
+- Matt Corallo
+- Matthew Bogosian
+- Meeh
+- Michael Ford
+- Michagogo
+- Mikael Wikman
+- Mike Hearn
+- olalonde
+- paveljanik
+- peryaudo
+- Philip Kaufmann
+- philsong
+- Pieter Wuille
+- R E Broadley
+- richierichrawr
+- Rune K. Svendsen
+- rxl
+- shshshsh
+- Simon de la Rouviere
+- Stuart Cardall
+- super3
+- Telepatheic
+- Thomas Zander
+- Torstein Husebø
+- Warren Togami
+- Wladimir J. van der Laan
+- Yoichi Hirai
diff --git a/doc/bitcoin-release-notes/release-notes-0.9.2.md b/doc/bitcoin-release-notes/release-notes-0.9.2.md
new file mode 100644 (file)
index 0000000..a2749e5
--- /dev/null
@@ -0,0 +1,207 @@
+Bitcoin Core version 0.9.2 is now available from:
+
+  https://bitcoin.org/bin/0.9.2/
+
+This is a new minor version release, bringing mostly bug fixes and some minor
+improvements. OpenSSL has been updated because of a security issue (CVE-2014-0224).
+Upgrading to this release is recommended.
+
+Please report bugs using the issue tracker at github:
+
+  https://github.com/bitcoin/bitcoin/issues
+
+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 for older versions), then run the
+installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
+bitcoind/bitcoin-qt (on Linux).
+
+If you are upgrading from version 0.7.2 or earlier, the first time you run
+0.9.2 your blockchain files will be re-indexed, which will take anywhere from 
+30 minutes to several hours, depending on the speed of your machine.
+
+Downgrading warnings
+--------------------
+
+The 'chainstate' for this release is not always compatible with previous
+releases, so if you run 0.9.x and then decide to switch back to a
+0.8.x release you might get a blockchain validation error when starting the
+old release (due to 'pruned outputs' being omitted from the index of
+unspent transaction outputs).
+
+Running the old release with the -reindex option will rebuild the chainstate
+data structures and correct the problem.
+
+Also, the first time you run a 0.8.x release on a 0.9 wallet it will rescan
+the blockchain for missing spent coins, which will take a long time (tens
+of minutes on a typical machine).
+
+Important changes
+==================
+
+Gitian OSX build
+-----------------
+
+The deterministic build system that was already used for Windows and Linux
+builds is now used for OSX as well. Although the resulting executables have
+been tested quite a bit, there could be possible regressions. Be sure to report
+these on the Github bug tracker mentioned above.
+
+Compatibility of Linux build
+-----------------------------
+
+For Linux we now build against Qt 4.6, and filter the symbols for libstdc++ and glibc.
+This brings back compatibility with
+
+- Debian 6+ / Tails
+- Ubuntu 10.04
+- CentOS 6.5
+
+0.9.2 Release notes
+=======================
+
+The OpenSSL dependency in the gitian builds has been upgraded to 1.0.1h because of CVE-2014-0224.
+
+RPC:
+
+- Add `getwalletinfo`, `getblockchaininfo` and `getnetworkinfo` calls (will replace hodge-podge `getinfo` at some point)
+- Add a `relayfee` field to `getnetworkinfo`
+- Fix RPC related shutdown hangs and leaks
+- Always show syncnode in `getpeerinfo`
+- `sendrawtransaction`: report the reject code and reason, and make it possible to re-send transactions that are already in the mempool
+- `getmininginfo` show right genproclimit
+
+Command-line options:
+
+- Fix `-printblocktree` output
+- Show error message if ReadConfigFile fails
+
+Block-chain handling and storage:
+
+- Fix for GetBlockValue() after block 13,440,000 (BIP42)
+- Upgrade leveldb to 1.17
+
+Protocol and network code:
+
+- Per-peer block download tracking and stalled download detection
+- Add new DNS seed from bitnodes.io
+- Prevent socket leak in ThreadSocketHandler and correct some proxy related socket leaks
+- Use pnode->nLastRecv as sync score (was the wrong way around)
+
+Wallet:
+
+- Make GetAvailableCredit run GetHash() only once per transaction (performance improvement)
+- Lower paytxfee warning threshold from 0.25 BTC to 0.01 BTC
+- Fix importwallet nTimeFirstKey (trigger necessary rescans)
+- Log BerkeleyDB version at startup
+- CWallet init fix
+
+Build system:
+
+- Add OSX build descriptors to gitian
+- Fix explicit --disable-qt-dbus
+- Don't require db_cxx.h when compiling with wallet disabled and GUI enabled
+- Improve missing boost error reporting
+- Upgrade miniupnpc version to 1.9
+- gitian-linux: --enable-glibc-back-compat for binary compatibility with old distributions
+- gitian: don't export any symbols from executable
+- gitian: build against Qt 4.6
+- devtools: add script to check symbols from Linux gitian executables
+- Remove build-time no-IPv6 setting
+
+GUI:
+
+- Fix various coin control visual issues
+- Show number of in/out connections in debug console
+- Show weeks as well as years behind for long timespans behind
+- Enable and disable the Show and Remove buttons for requested payments history based on whether any entry is selected.
+- Show also value for options overridden on command line in options dialog
+- Fill in label from address book also for URIs
+- Fixes feel when resizing the last column on tables (issue #2862)
+- Fix ESC in disablewallet mode
+- Add expert section to wallet tab in optionsdialog
+- Do proper boost::path conversion (fixes unicode in datadir)
+- Only override -datadir if different from the default (fixes -datadir in config file)
+- Show rescan progress at start-up
+- Show importwallet progress
+- Get required locks upfront in polling functions (avoids hanging on locks)
+- Catch Windows shutdown events while client is running
+- Optionally add third party links to transaction context menu
+- Check for !pixmap() before trying to export QR code (avoids crashes when no QR code could be generated)
+- Fix "Start bitcoin on system login"
+
+Miscellaneous:
+
+- Replace non-threadsafe C functions (gmtime, strerror and setlocale)
+- Add missing cs_main and wallet locks
+- Avoid exception at startup when system locale not recognized
+- Changed bitrpc.py's raw_input to getpass for passwords to conceal characters during command line input
+- devtools: add a script to fetch and postprocess translations
+
+Credits
+--------
+
+Thanks to everyone who contributed to this release:
+
+- Addy Yeow
+- Altoidnerd
+- Andrea D'Amore
+- Andreas Schildbach
+- Bardi Harborow
+- Brandon Dahler
+- Bryan Bishop
+- Chris Beams
+- Christian von Roques
+- Cory Fields
+- Cozz Lovan
+- daniel
+- Daniel Newton
+- David A. Harding
+- ditto-b
+- duanemoody
+- Eric S. Bullington
+- Fabian Raetz
+- Gavin Andresen
+- Gregory Maxwell
+- gubatron
+- Haakon Nilsen
+- harry
+- Hector Jusforgues
+- Isidoro Ghezzi
+- Jeff Garzik
+- Johnathan Corgan
+- jtimon
+- Kamil Domanski
+- langerhans
+- Luke Dashjr
+- Manuel Araoz
+- Mark Friedenbach
+- Matt Corallo
+- Matthew Bogosian
+- Meeh
+- Michael Ford
+- Michagogo
+- Mikael Wikman
+- Mike Hearn
+- olalonde
+- paveljanik
+- peryaudo
+- Philip Kaufmann
+- philsong
+- Pieter Wuille
+- R E Broadley
+- richierichrawr
+- Rune K. Svendsen
+- rxl
+- shshshsh
+- Simon de la Rouviere
+- Stuart Cardall
+- super3
+- Telepatheic
+- Thomas Zander
+- Torstein Husebø
+- Warren Togami
+- Wladimir J. van der Laan
+- Yoichi Hirai
diff --git a/doc/bitcoin-release-notes/release-notes-0.9.3.md b/doc/bitcoin-release-notes/release-notes-0.9.3.md
new file mode 100644 (file)
index 0000000..0765a36
--- /dev/null
@@ -0,0 +1,101 @@
+Bitcoin Core version 0.9.3 is now available from:
+
+  https://bitcoin.org/bin/0.9.3/
+
+This is a new minor version release, bringing only bug fixes and updated
+translations. Upgrading to this release is recommended.
+
+Please report bugs using the issue tracker at github:
+
+  https://github.com/bitcoin/bitcoin/issues
+
+Upgrading and downgrading
+==========================
+
+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 for older versions), then run the
+installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
+bitcoind/bitcoin-qt (on Linux).
+
+If you are upgrading from version 0.7.2 or earlier, the first time you run
+0.9.3 your blockchain files will be re-indexed, which will take anywhere from 
+30 minutes to several hours, depending on the speed of your machine.
+
+Downgrading warnings
+--------------------
+
+The 'chainstate' for this release is not always compatible with previous
+releases, so if you run 0.9.x and then decide to switch back to a
+0.8.x release you might get a blockchain validation error when starting the
+old release (due to 'pruned outputs' being omitted from the index of
+unspent transaction outputs).
+
+Running the old release with the -reindex option will rebuild the chainstate
+data structures and correct the problem.
+
+Also, the first time you run a 0.8.x release on a 0.9 wallet it will rescan
+the blockchain for missing spent coins, which will take a long time (tens
+of minutes on a typical machine).
+
+0.9.3 Release notes
+=======================
+
+RPC:
+- Avoid a segfault on getblock if it can't read a block from disk
+- Add paranoid return value checks in base58
+
+Protocol and network code:
+- Don't poll showmyip.com, it doesn't exist anymore
+- Add a way to limit deserialized string lengths and use it
+- Add a new checkpoint at block 295,000
+- Increase IsStandard() scriptSig length
+- Avoid querying DNS seeds, if we have open connections
+- Remove a useless millisleep in socket handler
+- Stricter memory limits on CNode
+- Better orphan transaction handling
+- Add `-maxorphantx=<n>` and `-maxorphanblocks=<n>` options for control over the maximum orphan transactions and blocks
+
+Wallet:
+- Check redeemScript size does not exceed 520 byte limit
+- Ignore (and warn about) too-long redeemScripts while loading wallet
+
+GUI:
+- fix 'opens in testnet mode when presented with a BIP-72 link with no fallback'
+- AvailableCoins: acquire cs_main mutex
+- Fix unicode character display on MacOSX
+
+Miscellaneous:
+- key.cpp: fail with a friendlier message on missing ssl EC support
+- Remove bignum dependency for scripts
+- Upgrade OpenSSL to 1.0.1i (see https://www.openssl.org/news/secadv_20140806.txt - just to be sure, no critical issues for Bitcoin Core)
+- Upgrade miniupnpc to 1.9.20140701
+- Fix boost detection in build system on some platforms
+
+Credits
+--------
+
+Thanks to everyone who contributed to this release:
+
+- Andrew Poelstra
+- Cory Fields
+- Gavin Andresen
+- Jeff Garzik
+- Johnathan Corgan
+- Julian Haight
+- Michael Ford
+- Pavel Vasin
+- Peter Todd
+- phantomcircuit
+- Pieter Wuille
+- Rose Toomey
+- Ruben Dario Ponticelli
+- shshshsh
+- Trevin Hofmann
+- Warren Togami
+- Wladimir J. van der Laan
+- Zak Wilcox
+
+As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
diff --git a/doc/bitcoin-release-notes/release-notes-0.9.4.md b/doc/bitcoin-release-notes/release-notes-0.9.4.md
new file mode 100644 (file)
index 0000000..7ee7324
--- /dev/null
@@ -0,0 +1,95 @@
+Bitcoin Core version 0.9.4 is now available from:
+
+  https://bitcoin.org/bin/0.9.4/
+
+This is a new minor version release, bringing only bug fixes and updated
+translations. Upgrading to this release is recommended.
+
+Please report bugs using the issue tracker at github:
+
+  https://github.com/bitcoin/bitcoin/issues
+
+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 for older versions), then run the
+installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
+bitcoind/bitcoin-qt (on Linux).
+
+OpenSSL Warning
+================
+
+OpenSSL 1.0.0p / 1.0.1k was recently released and is being pushed out by
+various operating system maintainers. Review by Gregory Maxwell determined that
+this update is incompatible with the Bitcoin system and could lead to consensus
+forks.
+
+Bitcoin Core released binaries from https://bitcoin.org are unaffected,
+as are any built with the gitian deterministic build system.
+
+However, if you are running either
+
+- The Ubuntu PPA from https://launchpad.net/~bitcoin/+archive/ubuntu/bitcoin
+- A third-party or self-compiled Bitcoin Core
+
+upgrade to Bitcoin Core 0.9.4, which includes a workaround, **before** updating
+OpenSSL.
+
+The incompatibility is due to the OpenSSL update changing the
+behavior of ECDSA validation to reject any signature which is
+not encoded in a very rigid manner. This was a result of
+OpenSSL's change for CVE-2014-8275 "Certificate fingerprints
+can be modified".
+
+We are specifically aware of potential hard-forks due to signature
+encoding handling and had been hoping to close them via BIP62 in 0.10.
+BIP62's purpose is to improve transaction malleability handling and
+as a side effect rigidly defines the encoding for signatures, but the
+overall scope of BIP62 has made it take longer than we'd like to
+deploy.
+
+0.9.4 changelog
+================
+
+Validation:
+- `b8e81b7` consensus: guard against openssl's new strict DER checks
+- `60c51f1` fail immediately on an empty signature
+- `037bfef` Improve robustness of DER recoding code
+
+Command-line options:
+- `cd5164a` Make -proxy set all network types, avoiding a connect leak.
+
+P2P:
+- `bb424e4` Limit the number of new addressses to accumulate
+
+RPC:
+- `0a94661` Disable SSLv3 (in favor of TLS) for the RPC client and server.
+
+Build system:
+- `f047dfa` gitian: openssl-1.0.1i.tar.gz -> openssl-1.0.1k.tar.gz
+- `5b9f78d` build: Fix OSX build when using Homebrew and qt5
+- `ffab1dd` Keep symlinks when copying into .app bundle
+- `613247f` osx: fix signing to make Gatekeeper happy (again)
+
+Miscellaneous:
+- `25b49b5` Refactor -alertnotify code
+- `2743529` doc: Add instructions for consistent Mac OS X build names
+
+Credits
+--------
+
+Thanks to who contributed to this release, at least:
+
+- Cory Fields
+- Gavin Andresen
+- Gregory Maxwell
+- Jeff Garzik
+- Luke Dashjr
+- Matt Corallo
+- Pieter Wuille
+- Saivann
+- Sergio Demian Lerner
+- Wladimir J. van der Laan
+
+As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
diff --git a/doc/bitcoin-release-notes/release-notes-0.9.5.md b/doc/bitcoin-release-notes/release-notes-0.9.5.md
new file mode 100644 (file)
index 0000000..bed0af9
--- /dev/null
@@ -0,0 +1,60 @@
+Bitcoin Core version 0.9.5 is now available from:
+
+  https://bitcoin.org/bin/0.9.5/
+
+This is a new minor version release, with the goal of backporting BIP66. There
+are also a few bug fixes and updated translations. Upgrading to this release is
+recommended.
+
+Please report bugs using the issue tracker at github:
+
+  https://github.com/bitcoin/bitcoin/issues
+
+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 for older versions), then run the
+installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
+bitcoind/bitcoin-qt (on Linux).
+
+Notable changes
+================
+
+Mining and relay policy enhancements
+------------------------------------
+
+Bitcoin Core's block templates are now for version 3 blocks only, and any mining
+software relying on its `getblocktemplate` must be updated in parallel to use
+libblkmaker either version 0.4.2 or any version from 0.5.1 onward.
+If you are solo mining, this will affect you the moment you upgrade Bitcoin
+Core, which must be done prior to BIP66 achieving its 951/1001 status.
+If you are mining with the stratum mining protocol: this does not affect you.
+If you are mining with the getblocktemplate protocol to a pool: this will affect
+you at the pool operator's discretion, which must be no later than BIP66
+achieving its 951/1001 status.
+
+0.9.5 changelog
+================
+
+- `74f29c2` Check pindexBestForkBase for null
+- `9cd1dd9` Fix priority calculation in CreateTransaction
+- `6b4163b` Sanitize command strings before logging them.
+- `3230b32` Raise version of created blocks, and enforce DERSIG in mempool
+- `989d499` Backport of some of BIP66's tests
+- `ab03660` Implement BIP 66 validation rules and switchover logic
+- `8438074` build: fix dynamic boost check when --with-boost= is used
+
+Credits
+--------
+
+Thanks to who contributed to this release, at least:
+
+- 21E14
+- Alex Morcos
+- Cory Fields
+- Gregory Maxwell
+- Pieter Wuille
+- Wladimir J. van der Laan
+
+As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
diff --git a/doc/bitcoin_logo_doxygen.png b/doc/bitcoin_logo_doxygen.png
deleted file mode 100644 (file)
index 258be86..0000000
Binary files a/doc/bitcoin_logo_doxygen.png and /dev/null differ
diff --git a/doc/build-unix.md b/doc/build-unix.md
deleted file mode 100644 (file)
index 21a8bc3..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-*** Warning: This document has not been updated for Zcash and may be inaccurate. ***
-
-UNIX BUILD NOTES
-====================
-Some notes on how to build Bitcoin in Unix. 
-
-Note
----------------------
-Always use absolute paths to configure and compile bitcoin and the dependencies,
-for example, when specifying the the path of the dependency:
-
-       ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX
-
-Here BDB_PREFIX must absolute path - it is defined using $(pwd) which ensures
-the usage of the absolute path.
-
-To Build
----------------------
-
-```bash
-./autogen.sh
-./configure
-make
-make install # optional
-```
-
-This will build bitcoin-qt as well if the dependencies are met.
-
-Dependencies
----------------------
-
-These dependencies are required:
-
- Library     | Purpose          | Description
- ------------|------------------|----------------------
- libssl      | SSL Support      | Secure communications
- libboost    | Boost            | C++ Library
-
-Optional dependencies:
-
- Library     | Purpose          | Description
- ------------|------------------|----------------------
- miniupnpc   | UPnP Support     | Firewall-jumping support
- libdb4.8    | Berkeley DB      | Wallet storage (only needed when wallet enabled)
- qt          | GUI              | GUI toolkit (only needed when GUI enabled)
- protobuf    | Payments in GUI  | Data interchange format used for payment protocol (only needed when GUI enabled)
- libqrencode | QR codes in GUI  | Optional for generating QR codes (only needed when GUI enabled)
-
-For the versions used in the release, see [release-process.md](release-process.md) under *Fetch and build inputs*.
-
-System requirements
---------------------
-
-C++ compilers are memory-hungry. It is recommended to have at least 1 GB of
-memory available when compiling Bitcoin Core. With 512MB of memory or less
-compilation will take much longer due to swap thrashing.
-
-Dependency Build Instructions: Ubuntu & Debian
-----------------------------------------------
-Build requirements:
-
-       sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev
-       
-For Ubuntu 12.04 and later or Debian 7 and later libboost-all-dev has to be installed:
-
-       sudo apt-get install libboost-all-dev
-
- db4.8 packages are available [here](https://launchpad.net/~bitcoin/+archive/bitcoin).
- You can add the repository using the following command:
-
-        sudo add-apt-repository ppa:bitcoin/bitcoin
-        sudo apt-get update
-
- Ubuntu 12.04 and later have packages for libdb5.1-dev and libdb5.1++-dev,
- but using these will break binary wallet compatibility, and is not recommended.
-
-For other Debian & Ubuntu (with ppa):
-
-       sudo apt-get install libdb4.8-dev libdb4.8++-dev
-
-Optional:
-
-       sudo apt-get install libminiupnpc-dev (see --with-miniupnpc and --enable-upnp-default)
-
-Dependencies for the GUI: Ubuntu & Debian
------------------------------------------
-
-If you want to build Bitcoin-Qt, make sure that the required packages for Qt development
-are installed. Either Qt 4 or Qt 5 are necessary to build the GUI.
-If both Qt 4 and Qt 5 are installed, Qt 4 will be used. Pass `--with-gui=qt5` to configure to choose Qt5.
-To build without GUI pass `--without-gui`.
-
-To build with Qt 4 you need the following:
-
-    sudo apt-get install libqt4-dev libprotobuf-dev protobuf-compiler
-
-For Qt 5 you need the following:
-
-    sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
-
-libqrencode (optional) can be installed with:
-
-    sudo apt-get install libqrencode-dev
-
-Once these are installed, they will be found by configure and a bitcoin-qt executable will be
-built by default.
-
-Notes
------
-The release is built with GCC and then "strip bitcoind" to strip the debug
-symbols, which reduces the executable size by about 90%.
-
-
-miniupnpc
----------
-
-[miniupnpc](http://miniupnp.free.fr/) may be used for UPnP port mapping.  It can be downloaded from [here](
-http://miniupnp.tuxfamily.org/files/).  UPnP support is compiled in and
-turned off by default.  See the configure options for upnp behavior desired:
-
-       --without-miniupnpc      No UPnP support miniupnp not required
-       --disable-upnp-default   (the default) UPnP support turned off by default at runtime
-       --enable-upnp-default    UPnP support turned on by default at runtime
-
-To build:
-
-       tar -xzvf miniupnpc-1.6.tar.gz
-       cd miniupnpc-1.6
-       make
-       sudo su
-       make install
-
-
-Berkeley DB
------------
-It is recommended to use Berkeley DB 4.8. If you have to build it yourself:
-
-```bash
-BITCOIN_ROOT=$(pwd)
-
-# Pick some path to install BDB to, here we create a directory within the bitcoin directory
-BDB_PREFIX="${BITCOIN_ROOT}/db4"
-mkdir -p $BDB_PREFIX
-
-# Fetch the source and verify that it is not tampered with
-wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
-echo '12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef  db-4.8.30.NC.tar.gz' | sha256sum -c
-# -> db-4.8.30.NC.tar.gz: OK
-tar -xzvf db-4.8.30.NC.tar.gz
-
-# Build the library and install to our prefix
-cd db-4.8.30.NC/build_unix/
-#  Note: Do a static build so that it can be embedded into the executable, instead of having to find a .so at runtime
-../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX
-make install
-
-# Configure Bitcoin Core to use our own-built instance of BDB
-cd $BITCOIN_ROOT
-./configure (other args...) LDFLAGS="-L${BDB_PREFIX}/lib/" CPPFLAGS="-I${BDB_PREFIX}/include/"
-```
-
-**Note**: You only need Berkeley DB if the wallet is enabled (see the section *Disable-Wallet mode* below).
-
-Boost
------
-If you need to build Boost yourself:
-
-       sudo su
-       ./bootstrap.sh
-       ./bjam install
-
-
-Security
---------
-To help make your bitcoin installation more secure by making certain attacks impossible to
-exploit even if a vulnerability is found, binaries are hardened by default.
-This can be disabled with:
-
-Hardening Flags:
-
-       ./configure --enable-hardening
-       ./configure --disable-hardening
-
-
-Hardening enables the following features:
-
-* Position Independent Executable
-    Build position independent code to take advantage of Address Space Layout Randomization
-    offered by some kernels. Attackers who can cause execution of code at an arbitrary memory
-    location are thwarted if they don't know where anything useful is located.
-    The stack and heap are randomly located by default but this allows the code section to be
-    randomly located as well.
-
-    On an AMD64 processor where a library was not compiled with -fPIC, this will cause an error
-    such as: "relocation R_X86_64_32 against `......' can not be used when making a shared object;"
-
-    To test that you have built PIE executable, install scanelf, part of paxutils, and use:
-
-       scanelf -e ./bitcoin
-
-    The output should contain:
-     TYPE
-    ET_DYN
-
-* Non-executable Stack
-    If the stack is executable then trivial stack based buffer overflow exploits are possible if
-    vulnerable buffers are found. By default, bitcoin should be built with a non-executable stack
-    but if one of the libraries it uses asks for an executable stack or someone makes a mistake
-    and uses a compiler extension which requires an executable stack, it will silently build an
-    executable without the non-executable stack protection.
-
-    To verify that the stack is non-executable after compiling use:
-    `scanelf -e ./bitcoin`
-
-    the output should contain:
-       STK/REL/PTL
-       RW- R-- RW-
-
-    The STK RW- means that the stack is readable and writeable but not executable.
-
-Disable-wallet mode
---------------------
-When the intention is to run only a P2P node without a wallet, bitcoin may be compiled in
-disable-wallet mode with:
-
-    ./configure --disable-wallet
-
-In this case there is no dependency on Berkeley DB 4.8.
-
-Mining is also possible in disable-wallet mode, but only using the `getblocktemplate` RPC
-call not `getwork`.
-
diff --git a/doc/release-notes.md b/doc/release-notes.md
deleted file mode 100644 (file)
index 1824960..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-*** Warning: This document has not been updated for Zcash and may be inaccurate. ***
-
-Bitcoin Core version 0.11.2 is now available from:
-
-  <https://bitcoin.org/bin/bitcoin-core-0.11.2/>
-
-This is a new minor version release, bringing bug fixes, the BIP65
-(CLTV) consensus change, and relay policy preparation for BIP113. It is
-recommended to upgrade to this version as soon as possible.
-
-Please report bugs using the issue tracker at github:
-
-  <https://github.com/bitcoin/bitcoin/issues>
-
-Upgrading and downgrading
-=========================
-
-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 for older versions), then run the
-installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
-bitcoind/bitcoin-qt (on Linux).
-
-Downgrade warning
-------------------
-
-Because release 0.10.0 and later makes use of headers-first synchronization and
-parallel block download (see further), the block files and databases are not
-backwards-compatible with pre-0.10 versions of Bitcoin Core or other software:
-
-* Blocks will be stored on disk out of order (in the order they are
-received, really), which makes it incompatible with some tools or
-other programs. Reindexing using earlier versions will also not work
-anymore as a result of this.
-
-* The block index database will now hold headers for which no block is
-stored on disk, which earlier versions won't support.
-
-If you want to be able to downgrade smoothly, make a backup of your entire data
-directory. Without this your node will need start syncing (or importing from
-bootstrap.dat) anew afterwards. It is possible that the data from a completely
-synchronised 0.10 node may be usable in older versions as-is, but this is not
-supported and may break as soon as the older version attempts to reindex.
-
-This does not affect wallet forward or backward compatibility. There are no
-known problems when downgrading from 0.11.x to 0.10.x.
-
-Notable changes since 0.11.1
-============================
-
-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.
-
-1. This release will only relay and mine transactions spending a CLTV
-   output if they comply with the BIP65 rules as provided in code.
-
-2. This release will produce version 4 blocks by default. Please see the
-   *notice to miners* below.
-
-3. 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.
-
-For more information about the soft-forking change, please see
-<https://github.com/bitcoin/bitcoin/pull/6351>
-
-Graphs showing the progress towards block version 4 adoption may be
-found at the URLs below:
-
-- Block versions over the last 50,000 blocks as progress towards BIP65
-  consensus enforcement: <http://bitcoin.sipa.be/ver-50k.png>
-
-- Block versions over the last 2,000 blocks showing the days to the
-  earliest possible BIP65 consensus-enforced block: <http://bitcoin.sipa.be/ver-2k.png>
-
-**Notice to miners:** Bitcoin Core’s block templates are now for
-version 4 blocks only, and any mining software relying on its
-getblocktemplate must be updated in parallel to use libblkmaker either
-version 0.4.3 or any version from 0.5.2 onward.
-
-- If you are solo mining, this will affect you the moment you upgrade
-  Bitcoin Core, which must be done prior to BIP65 achieving its 951/1001
-  status.
-
-- If you are mining with the stratum mining protocol: this does not
-  affect you.
-
-- If you are mining with the getblocktemplate protocol to a pool: this
-  will affect you at the pool operator’s discretion, which must be no
-  later than BIP65 achieving its 951/1001 status.
-
-[BIP65]: https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki
-
-BIP113 mempool-only locktime enforcement using GetMedianTimePast()
-----------------------------------------------------------------
-
-Bitcoin transactions currently may specify a locktime indicating when
-they may be added to a valid block.  Current consensus rules require
-that blocks have a block header time greater than the locktime specified
-in any transaction in that block.
-
-Miners get to choose what time they use for their header time, with the
-consensus rule being that no node will accept a block whose time is more
-than two hours in the future.  This creates a incentive for miners to
-set their header times to future values in order to include locktimed
-transactions which weren't supposed to be included for up to two more
-hours.
-
-The consensus rules also specify that valid blocks may have a header
-time greater than that of the median of the 11 previous blocks.  This
-GetMedianTimePast() time has a key feature we generally associate with
-time: it can't go backwards.
-
-[BIP113][] specifies a soft fork (**not enforced in this release**) that
-weakens this perverse incentive for individual miners to use a future
-time by requiring that valid blocks have a computed GetMedianTimePast()
-greater than the locktime specified in any transaction in that block.
-
-Mempool inclusion rules currently require transactions to be valid for
-immediate inclusion in a block in order to be accepted into the mempool.
-This release begins applying the BIP113 rule to received transactions,
-so transaction whose time is greater than the GetMedianTimePast() will
-no longer be accepted into the mempool.
-
-**Implication for miners:** you will begin rejecting transactions that
-would not be valid under BIP113, which will prevent you from producing
-invalid blocks if/when BIP113 is enforced on the network. Any
-transactions which are valid under the current rules but not yet valid
-under the BIP113 rules will either be mined by other miners or delayed
-until they are valid under BIP113. Note, however, that time-based
-locktime transactions are more or less unseen on the network currently.
-
-**Implication for users:** GetMedianTimePast() always trails behind the
-current time, so a transaction locktime set to the present time will be
-rejected by nodes running this release until the median time moves
-forward. To compensate, subtract one hour (3,600 seconds) from your
-locktimes to allow those transactions to be included in mempools at
-approximately the expected time.
-
-[BIP113]: https://github.com/bitcoin/bips/blob/master/bip-0113.mediawiki
-
-Windows bug fix for corrupted UTXO database on unclean shutdowns
-----------------------------------------------------------------
-
-Several Windows users reported that they often need to reindex the
-entire blockchain after an unclean shutdown of Bitcoin Core on Windows
-(or an unclean shutdown of Windows itself). Although unclean shutdowns
-remain unsafe, this release no longer relies on memory-mapped files for
-the UTXO database, which significantly reduced the frequency of unclean
-shutdowns leading to required reindexes during testing.
-
-For more information, see: <https://github.com/bitcoin/bitcoin/pull/6917>
-
-Other fixes for database corruption on Windows are expected in the
-next major release.
-
-0.11.2 Change log
-=================
-
-Detailed release notes follow. This overview includes changes that affect
-behavior, not code moves, refactors and string updates. For convenience in locating
-the code changes and accompanying discussion, both the pull request and
-git merge commit are mentioned.
-
-- #6124 `684636b` Make CScriptNum() take nMaxNumSize as an argument
-- #6124 `4fa7a04` Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65)
-- #6124 `6ea5ca4` Enable CHECKLOCKTIMEVERIFY as a standard script verify flag
-- #6351 `5e82e1c` Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic
-- #6353 `ba1da90` Show softfork status in getblockchaininfo
-- #6351 `6af25b0` Add BIP65 to getblockchaininfo softforks list
-- #6688 `01878c9` Fix locking in GetTransaction
-- #6653 `b3eaa30` [Qt] Raise debug window when requested
-- #6600 `1e672ae` Debian/Ubuntu: Include bitcoin-tx binary
-- #6600 `2394f4d` Debian/Ubuntu: Split bitcoin-tx into its own package
-- #5987 `33d6825` Bugfix: Allow mining on top of old tip blocks for testnet
-- #6852 `21e58b8` build: make sure OpenSSL heeds noexecstack
-- #6846 `af6edac` alias `-h` for `--help`
-- #6867 `95a5039` Set TCP_NODELAY on P2P sockets.
-- #6856 `dfe55bd` Do not allow blockfile pruning during reindex.
-- #6566 `a1d3c6f` Add rules--presently disabled--for using GetMedianTimePast as end point for lock-time calculations
-- #6566 `f720c5f` Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints
-- #6917 `0af5b8e` leveldb: Win32WritableFile without memory mapping
-- #6948 `4e895b0` Always flush block and undo when switching to new file
-
-Credits
-=======
-
-Thanks to everyone who directly contributed to this release:
-
-- Alex Morcos
-- ฿tcDrak
-- Chris Kleeschulte
-- Daniel Cousens
-- Diego Viola
-- Eric Lombrozo
-- Esteban Ordano
-- Gregory Maxwell
-- Luke Dashjr
-- Marco Falke
-- Mark Friedenbach
-- Matt Corallo
-- Micha
-- Mitchell Cash
-- Peter Todd
-- Pieter Wuille
-- Wladimir J. van der Laan
-- Zak Wilcox
-
-And those who contributed additional code review and/or security research.
-
-As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
diff --git a/doc/release-notes/release-notes-0.10.0.md b/doc/release-notes/release-notes-0.10.0.md
deleted file mode 100644 (file)
index 986b883..0000000
+++ /dev/null
@@ -1,762 +0,0 @@
-Bitcoin Core version 0.10.0 is now available from:
-
-  https://bitcoin.org/bin/0.10.0/
-
-This is a new major version release, bringing both new features and
-bug fixes.
-
-Please report bugs using the issue tracker at github:
-
-  https://github.com/bitcoin/bitcoin/issues
-
-Upgrading and downgrading
-=========================
-
-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 for older versions), then run the
-installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
-bitcoind/bitcoin-qt (on Linux).
-
-Downgrading warning
----------------------
-
-Because release 0.10.0 makes use of headers-first synchronization and parallel
-block download (see further), the block files and databases are not
-backwards-compatible with older versions of Bitcoin Core or other software:
-
-* Blocks will be stored on disk out of order (in the order they are
-received, really), which makes it incompatible with some tools or
-other programs. Reindexing using earlier versions will also not work
-anymore as a result of this.
-
-* The block index database will now hold headers for which no block is
-stored on disk, which earlier versions won't support.
-
-If you want to be able to downgrade smoothly, make a backup of your entire data
-directory. Without this your node will need start syncing (or importing from
-bootstrap.dat) anew afterwards. It is possible that the data from a completely
-synchronised 0.10 node may be usable in older versions as-is, but this is not
-supported and may break as soon as the older version attempts to reindex.
-
-This does not affect wallet forward or backward compatibility.
-
-
-Notable changes
-===============
-
-Faster synchronization
-----------------------
-
-Bitcoin Core now uses 'headers-first synchronization'. This means that we first
-ask peers for block headers (a total of 27 megabytes, as of December 2014) and
-validate those. In a second stage, when the headers have been discovered, we
-download the blocks. However, as we already know about the whole chain in
-advance, the blocks can be downloaded in parallel from all available peers.
-
-In practice, this means a much faster and more robust synchronization. On
-recent hardware with a decent network link, it can be as little as 3 hours
-for an initial full synchronization. You may notice a slower progress in the
-very first few minutes, when headers are still being fetched and verified, but
-it should gain speed afterwards.
-
-A few RPCs were added/updated as a result of this:
-- `getblockchaininfo` now returns the number of validated headers in addition to
-the number of validated blocks.
-- `getpeerinfo` lists both the number of blocks and headers we know we have in
-common with each peer. While synchronizing, the heights of the blocks that we
-have requested from peers (but haven't received yet) are also listed as
-'inflight'.
-- A new RPC `getchaintips` lists all known branches of the block chain,
-including those we only have headers for.
-
-Transaction fee changes
------------------------
-
-This release automatically estimates how high a transaction fee (or how
-high a priority) transactions require to be confirmed quickly. The default
-settings will create transactions that confirm quickly; see the new
-'txconfirmtarget' setting to control the tradeoff between fees and
-confirmation times. Fees are added by default unless the 'sendfreetransactions' 
-setting is enabled.
-
-Prior releases used hard-coded fees (and priorities), and would
-sometimes create transactions that took a very long time to confirm.
-
-Statistics used to estimate fees and priorities are saved in the
-data directory in the `fee_estimates.dat` file just before
-program shutdown, and are read in at startup.
-
-New command line options for transaction fee changes:
-- `-txconfirmtarget=n` : create transactions that have enough fees (or priority)
-so they are likely to begin confirmation within n blocks (default: 1). This setting
-is over-ridden by the -paytxfee option.
-- `-sendfreetransactions` : Send transactions as zero-fee transactions if possible 
-(default: 0)
-
-New RPC commands for fee estimation:
-- `estimatefee nblocks` : Returns approximate fee-per-1,000-bytes needed for
-a transaction to begin confirmation within nblocks. Returns -1 if not enough
-transactions have been observed to compute a good estimate.
-- `estimatepriority nblocks` : Returns approximate priority needed for
-a zero-fee transaction to begin confirmation within nblocks. Returns -1 if not
-enough free transactions have been observed to compute a good
-estimate.
-
-RPC access control changes
---------------------------
-
-Subnet matching for the purpose of access control is now done
-by matching the binary network address, instead of with string wildcard matching.
-For the user this means that `-rpcallowip` takes a subnet specification, which can be
-
-- a single IP address (e.g. `1.2.3.4` or `fe80::0012:3456:789a:bcde`)
-- a network/CIDR (e.g. `1.2.3.0/24` or `fe80::0000/64`)
-- a network/netmask (e.g. `1.2.3.4/255.255.255.0` or `fe80::0012:3456:789a:bcde/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff`)
-
-An arbitrary number of `-rpcallow` arguments can be given. An incoming connection will be accepted if its origin address
-matches one of them.
-
-For example:
-
-| 0.9.x and before                           | 0.10.x                                |
-|--------------------------------------------|---------------------------------------|
-| `-rpcallowip=192.168.1.1`                  | `-rpcallowip=192.168.1.1` (unchanged) |
-| `-rpcallowip=192.168.1.*`                  | `-rpcallowip=192.168.1.0/24`          |
-| `-rpcallowip=192.168.*`                    | `-rpcallowip=192.168.0.0/16`          |
-| `-rpcallowip=*` (dangerous!)               | `-rpcallowip=::/0` (still dangerous!) |
-
-Using wildcards will result in the rule being rejected with the following error in debug.log:
-
-    Error: Invalid -rpcallowip subnet specification: *. Valid are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24).
-
-
-REST interface
---------------
-
-A new HTTP API is exposed when running with the `-rest` flag, which allows
-unauthenticated access to public node data.
-
-It is served on the same port as RPC, but does not need a password, and uses
-plain HTTP instead of JSON-RPC.
-
-Assuming a local RPC server running on port 8332, it is possible to request:
-- Blocks: http://localhost:8332/rest/block/*HASH*.*EXT*
-- Blocks without transactions: http://localhost:8332/rest/block/notxdetails/*HASH*.*EXT*
-- Transactions (requires `-txindex`): http://localhost:8332/rest/tx/*HASH*.*EXT*
-
-In every case, *EXT* can be `bin` (for raw binary data), `hex` (for hex-encoded
-binary) or `json`.
-
-For more details, see the `doc/REST-interface.md` document in the repository.
-
-RPC Server "Warm-Up" Mode
--------------------------
-
-The RPC server is started earlier now, before most of the expensive
-intialisations like loading the block index.  It is available now almost
-immediately after starting the process.  However, until all initialisations
-are done, it always returns an immediate error with code -28 to all calls.
-
-This new behaviour can be useful for clients to know that a server is already
-started and will be available soon (for instance, so that they do not
-have to start it themselves).
-
-Improved signing security
--------------------------
-
-For 0.10 the security of signing against unusual attacks has been
-improved by making the signatures constant time and deterministic.
-
-This change is a result of switching signing to use libsecp256k1
-instead of OpenSSL. Libsecp256k1 is a cryptographic library
-optimized for the curve Bitcoin uses which was created by Bitcoin
-Core developer Pieter Wuille.
-
-There exist attacks[1] against most ECC implementations where an
-attacker on shared virtual machine hardware could extract a private
-key if they could cause a target to sign using the same key hundreds
-of times. While using shared hosts and reusing keys are inadvisable
-for other reasons, it's a better practice to avoid the exposure.
-
-OpenSSL has code in their source repository for derandomization
-and reduction in timing leaks that we've eagerly wanted to use for a
-long time, but this functionality has still not made its
-way into a released version of OpenSSL. Libsecp256k1 achieves
-significantly stronger protection: As far as we're aware this is
-the only deployed implementation of constant time signing for
-the curve Bitcoin uses and we have reason to believe that
-libsecp256k1 is better tested and more thoroughly reviewed
-than the implementation in OpenSSL.
-
-[1] https://eprint.iacr.org/2014/161.pdf
-
-Watch-only wallet support
--------------------------
-
-The wallet can now track transactions to and from wallets for which you know
-all addresses (or scripts), even without the private keys.
-
-This can be used to track payments without needing the private keys online on a
-possibly vulnerable system. In addition, it can help for (manual) construction
-of multisig transactions where you are only one of the signers.
-
-One new RPC, `importaddress`, is added which functions similarly to
-`importprivkey`, but instead takes an address or script (in hexadecimal) as
-argument.  After using it, outputs credited to this address or script are
-considered to be received, and transactions consuming these outputs will be
-considered to be sent.
-
-The following RPCs have optional support for watch-only:
-`getbalance`, `listreceivedbyaddress`, `listreceivedbyaccount`,
-`listtransactions`, `listaccounts`, `listsinceblock`, `gettransaction`. See the
-RPC documentation for those methods for more information.
-
-Compared to using `getrawtransaction`, this mechanism does not require
-`-txindex`, scales better, integrates better with the wallet, and is compatible
-with future block chain pruning functionality. It does mean that all relevant
-addresses need to added to the wallet before the payment, though.
-
-Consensus library
------------------
-
-Starting from 0.10.0, the Bitcoin Core distribution includes a consensus library.
-
-The purpose of this library is to make the verification functionality that is
-critical to Bitcoin's consensus available to other applications, e.g. to language
-bindings such as [python-bitcoinlib](https://pypi.python.org/pypi/python-bitcoinlib) or
-alternative node implementations.
-
-This library is called `libbitcoinconsensus.so` (or, `.dll` for Windows).
-Its interface is defined in the C header [bitcoinconsensus.h](https://github.com/bitcoin/bitcoin/blob/0.10/src/script/bitcoinconsensus.h).
-
-In its initial version the API includes two functions:
-
-- `bitcoinconsensus_verify_script` verifies a script. It returns whether the indicated input of the provided serialized transaction 
-correctly spends the passed scriptPubKey under additional constraints indicated by flags
-- `bitcoinconsensus_version` returns the API version, currently at an experimental `0`
-
-The functionality is planned to be extended to e.g. UTXO management in upcoming releases, but the interface
-for existing methods should remain stable.
-
-Standard script rules relaxed for P2SH addresses
-------------------------------------------------
-
-The IsStandard() rules have been almost completely removed for P2SH
-redemption scripts, allowing applications to make use of any valid
-script type, such as "n-of-m OR y", hash-locked oracle addresses, etc.
-While the Bitcoin protocol has always supported these types of script,
-actually using them on mainnet has been previously inconvenient as
-standard Bitcoin Core nodes wouldn't relay them to miners, nor would
-most miners include them in blocks they mined.
-
-bitcoin-tx
-----------
-
-It has been observed that many of the RPC functions offered by bitcoind are
-"pure functions", and operate independently of the bitcoind wallet. This
-included many of the RPC "raw transaction" API functions, such as
-createrawtransaction.
-
-bitcoin-tx is a newly introduced command line utility designed to enable easy
-manipulation of bitcoin transactions. A summary of its operation may be
-obtained via "bitcoin-tx --help" Transactions may be created or signed in a
-manner similar to the RPC raw tx API. Transactions may be updated, deleting
-inputs or outputs, or appending new inputs and outputs. Custom scripts may be
-easily composed using a simple text notation, borrowed from the bitcoin test
-suite.
-
-This tool may be used for experimenting with new transaction types, signing
-multi-party transactions, and many other uses. Long term, the goal is to
-deprecate and remove "pure function" RPC API calls, as those do not require a
-server round-trip to execute.
-
-Other utilities "bitcoin-key" and "bitcoin-script" have been proposed, making
-key and script operations easily accessible via command line.
-
-Mining and relay policy enhancements
-------------------------------------
-
-Bitcoin Core's block templates are now for version 3 blocks only, and any mining
-software relying on its `getblocktemplate` must be updated in parallel to use
-libblkmaker either version 0.4.2 or any version from 0.5.1 onward.
-If you are solo mining, this will affect you the moment you upgrade Bitcoin
-Core, which must be done prior to BIP66 achieving its 951/1001 status.
-If you are mining with the stratum mining protocol: this does not affect you.
-If you are mining with the getblocktemplate protocol to a pool: this will affect
-you at the pool operator's discretion, which must be no later than BIP66
-achieving its 951/1001 status.
-
-The `prioritisetransaction` RPC method has been added to enable miners to
-manipulate the priority of transactions on an individual basis.
-
-Bitcoin Core now supports BIP 22 long polling, so mining software can be
-notified immediately of new templates rather than having to poll periodically.
-
-Support for BIP 23 block proposals is now available in Bitcoin Core's
-`getblocktemplate` method. This enables miners to check the basic validity of
-their next block before expending work on it, reducing risks of accidental
-hardforks or mining invalid blocks.
-
-Two new options to control mining policy:
-- `-datacarrier=0/1` : Relay and mine "data carrier" (OP_RETURN) transactions
-if this is 1.
-- `-datacarriersize=n` : Maximum size, in bytes, we consider acceptable for
-"data carrier" outputs.
-
-The relay policy has changed to more properly implement the desired behavior of not 
-relaying free (or very low fee) transactions unless they have a priority above the 
-AllowFreeThreshold(), in which case they are relayed subject to the rate limiter.
-
-BIP 66: strict DER encoding for signatures
-------------------------------------------
-
-Bitcoin Core 0.10 implements BIP 66, which introduces block version 3, and a new
-consensus rule, which prohibits non-DER signatures. Such transactions have been
-non-standard since Bitcoin v0.8.0 (released in February 2013), but were
-technically still permitted inside blocks.
-
-This change breaks the dependency on OpenSSL's signature parsing, and is
-required if implementations would want to remove all of OpenSSL from the
-consensus code.
-
-The same miner-voting mechanism as in BIP 34 is used: when 751 out of a
-sequence of 1001 blocks have version number 3 or higher, the new consensus
-rule becomes active for those blocks. When 951 out of a sequence of 1001
-blocks have version number 3 or higher, it becomes mandatory for all blocks.
-
-Backward compatibility with current mining software is NOT provided, thus miners
-should read the first paragraph of "Mining and relay policy enhancements" above.
-
-0.10.0 Change log
-=================
-
-Detailed release notes follow. This overview includes changes that affect external
-behavior, not code moves, refactors or string updates.
-
-RPC:
-- `f923c07` Support IPv6 lookup in bitcoin-cli even when IPv6 only bound on localhost
-- `b641c9c` Fix addnode "onetry": Connect with OpenNetworkConnection
-- `171ca77` estimatefee / estimatepriority RPC methods
-- `b750cf1` Remove cli functionality from bitcoind
-- `f6984e8` Add "chain" to getmininginfo, improve help in getblockchaininfo
-- `99ddc6c` Add nLocalServices info to RPC getinfo
-- `cf0c47b` Remove getwork() RPC call
-- `2a72d45` prioritisetransaction <txid> <priority delta> <priority tx fee>
-- `e44fea5` Add an option `-datacarrier` to allow users to disable relaying/mining data carrier transactions
-- `2ec5a3d` Prevent easy RPC memory exhaustion attack
-- `d4640d7` Added argument to getbalance to include watchonly addresses and fixed errors in balance calculation
-- `83f3543` Added argument to listaccounts to include watchonly addresses
-- `952877e` Showing 'involvesWatchonly' property for transactions returned by 'listtransactions' and 'listsinceblock'. It is only appended when the transaction involves a watchonly address
-- `d7d5d23` Added argument to listtransactions and listsinceblock to include watchonly addresses
-- `f87ba3d` added includeWatchonly argument to 'gettransaction' because it affects balance calculation
-- `0fa2f88` added includedWatchonly argument to listreceivedbyaddress/...account
-- `6c37f7f` `getrawchangeaddress`: fail when keypool exhausted and wallet locked
-- `ff6a7af` getblocktemplate: longpolling support
-- `c4a321f` Add peerid to getpeerinfo to allow correlation with the logs
-- `1b4568c` Add vout to ListTransactions output
-- `b33bd7a` Implement "getchaintips" RPC command to monitor blockchain forks
-- `733177e` Remove size limit in RPC client, keep it in server
-- `6b5b7cb` Categorize rpc help overview
-- `6f2c26a` Closely track mempool byte total. Add "getmempoolinfo" RPC
-- `aa82795` Add detailed network info to getnetworkinfo RPC
-- `01094bd` Don't reveal whether password is <20 or >20 characters in RPC
-- `57153d4` rpc: Compute number of confirmations of a block from block height
-- `ff36cbe` getnetworkinfo: export local node's client sub-version string
-- `d14d7de` SanitizeString: allow '(' and ')'
-- `31d6390` Fixed setaccount accepting foreign address
-- `b5ec5fe` update getnetworkinfo help with subversion
-- `ad6e601` RPC additions after headers-first
-- `33dfbf5` rpc: Fix leveldb iterator leak, and flush before `gettxoutsetinfo`
-- `2aa6329` Enable customising node policy for datacarrier data size with a -datacarriersize option
-- `f877aaa` submitblock: Use a temporary CValidationState to determine accurately the outcome of ProcessBlock
-- `e69a587` submitblock: Support for returning specific rejection reasons
-- `af82884` Add "warmup mode" for RPC server
-- `e2655e0` Add unauthenticated HTTP REST interface to public blockchain data
-- `683dc40` Disable SSLv3 (in favor of TLS) for the RPC client and server
-- `44b4c0d` signrawtransaction: validate private key
-- `9765a50` Implement BIP 23 Block Proposal
-- `f9de17e` Add warning comment to getinfo
-
-Command-line options:
-- `ee21912` Use netmasks instead of wildcards for IP address matching
-- `deb3572` Add `-rpcbind` option to allow binding RPC port on a specific interface
-- `96b733e` Add `-version` option to get just the version
-- `1569353` Add `-stopafterblockimport` option
-- `77cbd46` Let -zapwallettxes recover transaction meta data
-- `1c750db` remove -tor compatibility code (only allow -onion)
-- `4aaa017` rework help messages for fee-related options
-- `4278b1d` Clarify error message when invalid -rpcallowip
-- `6b407e4` -datadir is now allowed in config files
-- `bdd5b58` Add option `-sysperms` to disable 077 umask (create new files with system default umask)
-- `cbe39a3` Add "bitcoin-tx" command line utility and supporting modules
-- `dbca89b` Trigger -alertnotify if network is upgrading without you
-- `ad96e7c` Make -reindex cope with out-of-order blocks
-- `16d5194` Skip reindexed blocks individually
-- `ec01243` --tracerpc option for regression tests
-- `f654f00` Change -genproclimit default to 1
-- `3c77714` Make -proxy set all network types, avoiding a connect leak
-- `57be955` Remove -printblock, -printblocktree, and -printblockindex
-- `ad3d208` remove -maxorphanblocks config parameter since it is no longer functional
-
-Block and transaction handling:
-- `7a0e84d` ProcessGetData(): abort if a block file is missing from disk
-- `8c93bf4` LoadBlockIndexDB(): Require block db reindex if any `blk*.dat` files are missing
-- `77339e5` Get rid of the static chainMostWork (optimization)
-- `4e0eed8` Allow ActivateBestChain to release its lock on cs_main
-- `18e7216` Push cs_mains down in ProcessBlock
-- `fa126ef` Avoid undefined behavior using CFlatData in CScript serialization
-- `7f3b4e9` Relax IsStandard rules for pay-to-script-hash transactions
-- `c9a0918` Add a skiplist to the CBlockIndex structure
-- `bc42503` Use unordered_map for CCoinsViewCache with salted hash (optimization)
-- `d4d3fbd` Do not flush the cache after every block outside of IBD (optimization)
-- `ad08d0b` Bugfix: make CCoinsViewMemPool support pruned entries in underlying cache
-- `5734d4d` Only remove actualy failed blocks from setBlockIndexValid
-- `d70bc52` Rework block processing benchmark code
-- `714a3e6` Only keep setBlockIndexValid entries that are possible improvements
-- `ea100c7` Reduce maximum coinscache size during verification (reduce memory usage)
-- `4fad8e6` Reject transactions with excessive numbers of sigops
-- `b0875eb` Allow BatchWrite to destroy its input, reducing copying (optimization)
-- `92bb6f2` Bypass reloading blocks from disk (optimization)
-- `2e28031` Perform CVerifyDB on pcoinsdbview instead of pcoinsTip (reduce memory usage)
-- `ab15b2e` Avoid copying undo data (optimization)
-- `341735e` Headers-first synchronization
-- `afc32c5` Fix rebuild-chainstate feature and improve its performance
-- `e11b2ce` Fix large reorgs
-- `ed6d1a2` Keep information about all block files in memory
-- `a48f2d6` Abstract context-dependent block checking from acceptance
-- `7e615f5` Fixed mempool sync after sending a transaction
-- `51ce901` Improve chainstate/blockindex disk writing policy
-- `a206950` Introduce separate flushing modes
-- `9ec75c5` Add a locking mechanism to IsInitialBlockDownload to ensure it never goes from false to true
-- `868d041` Remove coinbase-dependant transactions during reorg
-- `723d12c` Remove txn which are invalidated by coinbase maturity during reorg
-- `0cb8763` Check against MANDATORY flags prior to accepting to mempool
-- `8446262` Reject headers that build on an invalid parent
-- `008138c` Bugfix: only track UTXO modification after lookup
-
-P2P protocol and network code:
-- `f80cffa` Do not trigger a DoS ban if SCRIPT_VERIFY_NULLDUMMY fails
-- `c30329a` Add testnet DNS seed of Alex Kotenko
-- `45a4baf` Add testnet DNS seed of Andreas Schildbach
-- `f1920e8` Ping automatically every 2 minutes (unconditionally)
-- `806fd19` Allocate receive buffers in on the fly
-- `6ecf3ed` Display unknown commands received
-- `aa81564` Track peers' available blocks
-- `caf6150` Use async name resolving to improve net thread responsiveness
-- `9f4da19` Use pong receive time rather than processing time
-- `0127a9b` remove SOCKS4 support from core and GUI, use SOCKS5
-- `40f5cb8` Send rejects and apply DoS scoring for errors in direct block validation
-- `dc942e6` Introduce whitelisted peers
-- `c994d2e` prevent SOCKET leak in BindListenPort()
-- `a60120e` Add built-in seeds for .onion
-- `60dc8e4` Allow -onlynet=onion to be used
-- `3a56de7` addrman: Do not propagate obviously poor addresses onto the network
-- `6050ab6` netbase: Make SOCKS5 negotiation interruptible
-- `604ee2a` Remove tx from AlreadyAskedFor list once we receive it, not when we process it
-- `efad808` Avoid reject message feedback loops
-- `71697f9` Separate protocol versioning from clientversion
-- `20a5f61` Don't relay alerts to peers before version negotiation
-- `b4ee0bd` Introduce preferred download peers
-- `845c86d` Do not use third party services for IP detection
-- `12a49ca` Limit the number of new addressses to accumulate
-- `35e408f` Regard connection failures as attempt for addrman
-- `a3a7317` Introduce 10 minute block download timeout
-- `3022e7d` Require sufficent priority for relay of free transactions
-- `58fda4d` Update seed IPs, based on bitcoin.sipa.be crawler data
-- `18021d0` Remove bitnodes.io from dnsseeds.
-
-Validation:
-- `6fd7ef2` Also switch the (unused) verification code to low-s instead of even-s
-- `584a358` Do merkle root and txid duplicates check simultaneously
-- `217a5c9` When transaction outputs exceed inputs, show the offending amounts so as to aid debugging
-- `f74fc9b` Print input index when signature validation fails, to aid debugging
-- `6fd59ee` script.h: set_vch() should shift a >32 bit value
-- `d752ba8` Add SCRIPT_VERIFY_SIGPUSHONLY (BIP62 rule 2) (test only)
-- `698c6ab` Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4) (test only)
-- `ab9edbd` script: create sane error return codes for script validation and remove logging
-- `219a147` script: check ScriptError values in script tests
-- `0391423` Discourage NOPs reserved for soft-fork upgrades
-- `98b135f` Make STRICTENC invalid pubkeys fail the script rather than the opcode
-- `307f7d4` Report script evaluation failures in log and reject messages
-- `ace39db` consensus: guard against openssl's new strict DER checks
-- `12b7c44` Improve robustness of DER recoding code
-- `76ce5c8` fail immediately on an empty signature
-
-Build system:
-- `f25e3ad` Fix build in OS X 10.9
-- `65e8ba4` build: Switch to non-recursive make
-- `460b32d` build: fix broken boost chrono check on some platforms
-- `9ce0774` build: Fix windows configure when using --with-qt-libdir
-- `ea96475` build: Add mention of --disable-wallet to bdb48 error messages
-- `1dec09b` depends: add shared dependency builder
-- `c101c76` build: Add --with-utils (bitcoin-cli and bitcoin-tx, default=yes). Help string consistency tweaks. Target sanity check fix
-- `e432a5f` build: add option for reducing exports (v2)
-- `6134b43` Fixing condition 'sabotaging' MSVC build
-- `af0bd5e` osx: fix signing to make Gatekeeper happy (again)
-- `a7d1f03` build: fix dynamic boost check when --with-boost= is used
-- `d5fd094` build: fix qt test build when libprotobuf is in a non-standard path
-- `2cf5f16` Add libbitcoinconsensus library
-- `914868a` build: add a deterministic dmg signer 
-- `2d375fe` depends: bump openssl to 1.0.1k
-- `b7a4ecc` Build: Only check for boost when building code that requires it
-
-Wallet:
-- `b33d1f5` Use fee/priority estimates in wallet CreateTransaction
-- `4b7b1bb` Sanity checks for estimates
-- `c898846` Add support for watch-only addresses
-- `d5087d1` Use script matching rather than destination matching for watch-only
-- `d88af56` Fee fixes
-- `a35b55b` Dont run full check every time we decrypt wallet
-- `3a7c348` Fix make_change to not create half-satoshis
-- `f606bb9` fix a possible memory leak in CWalletDB::Recover
-- `870da77` fix possible memory leaks in CWallet::EncryptWallet
-- `ccca27a` Watch-only fixes
-- `9b1627d` [Wallet] Reduce minTxFee for transaction creation to 1000 satoshis
-- `a53fd41` Deterministic signing
-- `15ad0b5` Apply AreSane() checks to the fees from the network
-- `11855c1` Enforce minRelayTxFee on wallet created tx and add a maxtxfee option
-
-GUI:
-- `c21c74b` osx: Fix missing dock menu with qt5
-- `b90711c` Fix Transaction details shows wrong To:
-- `516053c` Make links in 'About Bitcoin Core' clickable
-- `bdc83e8` Ensure payment request network matches client network
-- `65f78a1` Add GUI view of peer information
-- `06a91d9` VerifyDB progress reporting
-- `fe6bff2` Add BerkeleyDB version info to RPCConsole
-- `b917555` PeerTableModel: Fix potential deadlock. #4296
-- `dff0e3b` Improve rpc console history behavior
-- `95a9383` Remove CENT-fee-rule from coin control completely
-- `56b07d2` Allow setting listen via GUI
-- `d95ba75` Log messages with type>QtDebugMsg as non-debug
-- `8969828` New status bar Unit Display Control and related changes
-- `674c070` seed OpenSSL PNRG with Windows event data
-- `509f926` Payment request parsing on startup now only changes network if a valid network name is specified
-- `acd432b` Prevent balloon-spam after rescan
-- `7007402` Implement SI-style (thin space) thoudands separator
-- `91cce17` Use fixed-point arithmetic in amount spinbox
-- `bdba2dd` Remove an obscure option no-one cares about
-- `bd0aa10` Replace the temporary file hack currently used to change Bitcoin-Qt's dock icon (OS X) with a buffer-based solution
-- `94e1b9e` Re-work overviewpage UI
-- `8bfdc9a` Better looking trayicon
-- `b197bf3` disable tray interactions when client model set to 0
-- `1c5f0af` Add column Watch-only to transactions list
-- `21f139b` Fix tablet crash. closes #4854
-- `e84843c` Broken addresses on command line no longer trigger testnet
-- `a49f11d` Change splash screen to normal window
-- `1f9be98` Disable App Nap on OSX 10.9+
-- `27c3e91` Add proxy to options overridden if necessary
-- `4bd1185` Allow "emergency" shutdown during startup
-- `d52f072` Don't show wallet options in the preferences menu when running with -disablewallet
-- `6093aa1` Qt: QProgressBar CPU-Issue workaround
-- `0ed9675` [Wallet] Add global boolean whether to send free transactions (default=true)
-- `ed3e5e4` [Wallet] Add global boolean whether to pay at least the custom fee (default=true)
-- `e7876b2` [Wallet] Prevent user from paying a non-sense fee
-- `c1c9d5b` Add Smartfee to GUI
-- `e0a25c5` Make askpassphrase dialog behave more sanely
-- `94b362d` On close of splashscreen interrupt verifyDB
-- `b790d13` English translation update
-- `8543b0d` Correct tooltip on address book page
-
-Tests:
-- `b41e594` Fix script test handling of empty scripts
-- `d3a33fc` Test CHECKMULTISIG with m == 0 and n == 0
-- `29c1749` Let tx (in)valid tests use any SCRIPT_VERIFY flag
-- `6380180` Add rejection of non-null CHECKMULTISIG dummy values
-- `21bf3d2` Add tests for BoostAsioToCNetAddr
-- `b5ad5e7` Add Python test for -rpcbind and -rpcallowip
-- `9ec0306` Add CODESEPARATOR/FindAndDelete() tests
-- `75ebced` Added many rpc wallet tests
-- `0193fb8` Allow multiple regression tests to run at once
-- `92a6220` Hook up sanity checks
-- `3820e01` Extend and move all crypto tests to crypto_tests.cpp
-- `3f9a019` added list/get received by address/ account tests
-- `a90689f` Remove timing-based signature cache unit test
-- `236982c` Add skiplist unit tests
-- `f4b00be` Add CChain::GetLocator() unit test
-- `b45a6e8` Add test for getblocktemplate longpolling
-- `cdf305e` Set -discover=0 in regtest framework
-- `ed02282` additional test for OP_SIZE in script_valid.json
-- `0072d98` script tests: BOOLAND, BOOLOR decode to integer
-- `833ff16` script tests: values that overflow to 0 are true
-- `4cac5db` script tests: value with trailing 0x00 is true
-- `89101c6` script test: test case for 5-byte bools
-- `d2d9dc0` script tests: add tests for CHECKMULTISIG limits
-- `d789386` Add "it works" test for bitcoin-tx
-- `df4d61e` Add bitcoin-tx tests
-- `aa41ac2` Test IsPushOnly() with invalid push
-- `6022b5d` Make `script_{valid,invalid}.json` validation flags configurable
-- `8138cbe` Add automatic script test generation, and actual checksig tests
-- `ed27e53` Add coins_tests with a large randomized CCoinViewCache test
-- `9df9cf5` Make SCRIPT_VERIFY_STRICTENC compatible with BIP62
-- `dcb9846` Extend getchaintips RPC test
-- `554147a` Ensure MINIMALDATA invalid tests can only fail one way
-- `dfeec18` Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule
-- `2b62e17` Clearly separate PUSHDATA and numeric argument MINIMALDATA tests
-- `16d78bd` Add valid invert of invalid every numeric opcode tests
-- `f635269` tests: enable alertnotify test for Windows
-- `7a41614` tests: allow rpc-tests to get filenames for bitcoind and bitcoin-cli from the environment
-- `5122ea7` tests: fix forknotify.py on windows
-- `fa7f8cd` tests: remove old pull-tester scripts
-- `7667850` tests: replace the old (unused since Travis) tests with new rpc test scripts
-- `f4e0aef` Do signature-s negation inside the tests
-- `1837987` Optimize -regtest setgenerate block generation
-- `2db4c8a` Fix node ranges in the test framework
-- `a8b2ce5` regression test only setmocktime RPC call
-- `daf03e7` RPC tests: create initial chain with specific timestamps
-- `8656dbb` Port/fix txnmall.sh regression test
-- `ca81587` Test the exact order of CHECKMULTISIG sig/pubkey evaluation
-- `7357893` Prioritize and display -testsafemode status in UI
-- `f321d6b` Add key generation/verification to ECC sanity check
-- `132ea9b` miner_tests: Disable checkpoints so they don't fail the subsidy-change test
-- `bc6cb41` QA RPC tests: Add tests block block proposals
-- `f67a9ce` Use deterministically generated script tests
-- `11d7a7d` [RPC] add rpc-test for http keep-alive (persistent connections)
-- `34318d7` RPC-test based on invalidateblock for mempool coinbase spends
-- `76ec867` Use actually valid transactions for script tests
-- `c8589bf` Add actual signature tests
-- `e2677d7` Fix smartfees test for change to relay policy
-- `263b65e` tests: run sanity checks in tests too
-
-Miscellaneous:
-- `122549f` Fix incorrect checkpoint data for testnet3
-- `5bd02cf` Log used config file to debug.log on startup
-- `68ba85f` Updated Debian example bitcoin.conf with config from wiki + removed some cruft and updated comments
-- `e5ee8f0` Remove -beta suffix
-- `38405ac` Add comment regarding experimental-use service bits
-- `be873f6` Issue warning if collecting RandSeed data failed
-- `8ae973c` Allocate more space if necessary in RandSeedAddPerfMon
-- `675bcd5` Correct comment for 15-of-15 p2sh script size
-- `fda3fed` libsecp256k1 integration
-- `2e36866` Show nodeid instead of addresses in log (for anonymity) unless otherwise requested
-- `cd01a5e` Enable paranoid corruption checks in LevelDB >= 1.16
-- `9365937` Add comment about never updating nTimeOffset past 199 samples
-- `403c1bf` contrib: remove getwork-based pyminer (as getwork API call has been removed)
-- `0c3e101` contrib: Added systemd .service file in order to help distributions integrate bitcoind
-- `0a0878d` doc: Add new DNSseed policy
-- `2887bff` Update coding style and add .clang-format
-- `5cbda4f` Changed LevelDB cursors to use scoped pointers to ensure destruction when going out of scope
-- `b4a72a7` contrib/linearize: split output files based on new-timestamp-year or max-file-size
-- `e982b57` Use explicit fflush() instead of setvbuf()
-- `234bfbf` contrib: Add init scripts and docs for Upstart and OpenRC
-- `01c2807` Add warning about the merkle-tree algorithm duplicate txid flaw
-- `d6712db` Also create pid file in non-daemon mode
-- `772ab0e` contrib: use batched JSON-RPC in linarize-hashes (optimization)
-- `7ab4358` Update bash-completion for v0.10
-- `6e6a36c` contrib: show pull # in prompt for github-merge script
-- `5b9f842` Upgrade leveldb to 1.18, make chainstate databases compatible between ARM and x86 (issue #2293)
-- `4e7c219` Catch UTXO set read errors and shutdown
-- `867c600` Catch LevelDB errors during flush
-- `06ca065` Fix CScriptID(const CScript& in) in empty script case
-
-Credits
-=======
-
-Thanks to everyone who contributed to this release:
-
-- 21E14
-- Adam Weiss
-- Aitor Pazos
-- Alexander Jeng
-- Alex Morcos
-- Alon Muroch
-- Andreas Schildbach
-- Andrew Poelstra
-- Andy Alness
-- Ashley Holman
-- Benedict Chan
-- Ben Holden-Crowther
-- Bryan Bishop
-- BtcDrak
-- Christian von Roques
-- Clinton Christian
-- Cory Fields
-- Cozz Lovan
-- daniel
-- Daniel Kraft
-- David Hill
-- Derek701
-- dexX7
-- dllud
-- Dominyk Tiller
-- Doug
-- elichai
-- elkingtowa
-- ENikS
-- Eric Shaw
-- Federico Bond
-- Francis GASCHET
-- Gavin Andresen
-- Giuseppe Mazzotta
-- Glenn Willen
-- Gregory Maxwell
-- gubatron
-- HarryWu
-- himynameismartin
-- Huang Le
-- Ian Carroll
-- imharrywu
-- Jameson Lopp
-- Janusz Lenar
-- JaSK
-- Jeff Garzik
-- JL2035
-- Johnathan Corgan
-- Jonas Schnelli
-- jtimon
-- Julian Haight
-- Kamil Domanski
-- kazcw
-- kevin
-- kiwigb
-- Kosta Zertsekel
-- LongShao007
-- Luke Dashjr
-- Mark Friedenbach
-- Mathy Vanvoorden
-- Matt Corallo
-- Matthew Bogosian
-- Micha
-- Michael Ford
-- Mike Hearn
-- mrbandrews
-- mruddy
-- ntrgn
-- Otto Allmendinger
-- paveljanik
-- Pavel Vasin
-- Peter Todd
-- phantomcircuit
-- Philip Kaufmann
-- Pieter Wuille
-- pryds
-- randy-waterhouse
-- R E Broadley
-- Rose Toomey
-- Ross Nicoll
-- Roy Badami
-- Ruben Dario Ponticelli
-- Rune K. Svendsen
-- Ryan X. Charles
-- Saivann
-- sandakersmann
-- SergioDemianLerner
-- shshshsh
-- sinetek
-- Stuart Cardall
-- Suhas Daftuar
-- Tawanda Kembo
-- Teran McKinney
-- tm314159
-- Tom Harding
-- Trevin Hofmann
-- Whit J
-- Wladimir J. van der Laan
-- Yoichi Hirai
-- Zak Wilcox
-
-As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
-
diff --git a/doc/release-notes/release-notes-0.10.1.md b/doc/release-notes/release-notes-0.10.1.md
deleted file mode 100644 (file)
index 8f59f1f..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-Bitcoin Core version 0.10.1 is now available from:
-
-  <https://bitcoin.org/bin/bitcoin-core-0.10.1/>
-
-This is a new minor version release, bringing bug fixes and translation 
-updates. It is recommended to upgrade to this version.
-
-Please report bugs using the issue tracker at github:
-
-  <https://github.com/bitcoin/bitcoin/issues>
-
-Upgrading and downgrading
-=========================
-
-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 for older versions), then run the
-installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
-bitcoind/bitcoin-qt (on Linux).
-
-Downgrade warning
-------------------
-
-Because release 0.10.0 and later makes use of headers-first synchronization and
-parallel block download (see further), the block files and databases are not
-backwards-compatible with pre-0.10 versions of Bitcoin Core or other software:
-
-* Blocks will be stored on disk out of order (in the order they are
-received, really), which makes it incompatible with some tools or
-other programs. Reindexing using earlier versions will also not work
-anymore as a result of this.
-
-* The block index database will now hold headers for which no block is
-stored on disk, which earlier versions won't support.
-
-If you want to be able to downgrade smoothly, make a backup of your entire data
-directory. Without this your node will need start syncing (or importing from
-bootstrap.dat) anew afterwards. It is possible that the data from a completely
-synchronised 0.10 node may be usable in older versions as-is, but this is not
-supported and may break as soon as the older version attempts to reindex.
-
-This does not affect wallet forward or backward compatibility.
-
-Notable changes
-===============
-
-This is a minor release and hence there are no notable changes.
-For the notable changes in 0.10, refer to the release notes for the
-0.10.0 release at https://github.com/bitcoin/bitcoin/blob/v0.10.0/doc/release-notes.md
-
-0.10.1 Change log
-=================
-
-Detailed release notes follow. This overview includes changes that affect external
-behavior, not code moves, refactors or string updates.
-
-RPC:
-- `7f502be` fix crash: createmultisig and addmultisigaddress
-- `eae305f` Fix missing lock in submitblock
-
-Block (database) and transaction handling:
-- `1d2cdd2` Fix InvalidateBlock to add chainActive.Tip to setBlockIndexCandidates
-- `c91c660` fix InvalidateBlock to repopulate setBlockIndexCandidates
-- `002c8a2` fix possible block db breakage during re-index
-- `a1f425b` Add (optional) consistency check for the block chain data structures
-- `1c62e84` Keep mempool consistent during block-reorgs
-- `57d1f46` Fix CheckBlockIndex for reindex
-- `bac6fca` Set nSequenceId when a block is fully linked
-
-P2P protocol and network code:
-- `78f64ef` don't trickle for whitelisted nodes
-- `ca301bf` Reduce fingerprinting through timestamps in 'addr' messages.
-- `200f293` Ignore getaddr messages on Outbound connections.
-- `d5d8998` Limit message sizes before transfer
-- `aeb9279` Better fingerprinting protection for non-main-chain getdatas.
-- `cf0218f` Make addrman's bucket placement deterministic (countermeasure 1 against eclipse attacks, see http://cs-people.bu.edu/heilman/eclipse/)
-- `0c6f334` Always use a 50% chance to choose between tried and new entries (countermeasure 2 against eclipse attacks)
-- `214154e` Do not bias outgoing connections towards fresh addresses (countermeasure 2 against eclipse attacks)
-- `aa587d4` Scale up addrman (countermeasure 6 against eclipse attacks)
-- `139cd81` Cap nAttempts penalty at 8 and switch to pow instead of a division loop
-
-Validation:
-- `d148f62` Acquire CCheckQueue's lock to avoid race condition
-
-Build system:
-- `8752b5c` 0.10 fix for crashes on OSX 10.6
-
-Wallet:
-- N/A
-
-GUI:
-- `2c08406` some mac specifiy cleanup (memory handling, unnecessary code)
-- `81145a6` fix OSX dock icon window reopening
-- `786cf72` fix a issue where "command line options"-action overwrite "Preference"-action (on OSX)
-
-Tests:
-- `1117378` add RPC test for InvalidateBlock
-
-Miscellaneous:
-- `c9e022b` Initialization: set Boost path locale in main thread
-- `23126a0` Sanitize command strings before logging them.
-- `323de27` Initialization: setup environment before starting Qt tests
-- `7494e09` Initialization: setup environment before starting tests
-- `df45564` Initialization: set fallback locale as environment variable
-
-Credits
-=======
-
-Thanks to everyone who directly contributed to this release:
-
-- Alex Morcos
-- Cory Fields
-- dexX7
-- fsb4000
-- Gavin Andresen
-- Gregory Maxwell
-- Ivan Pustogarov
-- Jonas Schnelli
-- Matt Corallo
-- mrbandrews
-- Pieter Wuille
-- Ruben de Vries
-- Suhas Daftuar
-- Wladimir J. van der Laan
-
-And all those who contributed additional code review and/or security research:
-- 21E14
-- Alison Kendler
-- Aviv Zohar
-- Ethan Heilman
-- Evil-Knievel
-- fanquake
-- Jeff Garzik
-- Jonas Nick
-- Luke Dashjr
-- Patrick Strateman
-- Philip Kaufmann
-- Sergio Demian Lerner
-- Sharon Goldberg
-
-As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
diff --git a/doc/release-notes/release-notes-0.10.2.md b/doc/release-notes/release-notes-0.10.2.md
deleted file mode 100644 (file)
index 192ed69..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-Bitcoin Core version 0.10.2 is now available from:
-
-  <https://bitcoin.org/bin/bitcoin-core-0.10.2/>
-
-This is a new minor version release, bringing minor bug fixes and translation 
-updates. It is recommended to upgrade to this version.
-
-Please report bugs using the issue tracker at github:
-
-  <https://github.com/bitcoin/bitcoin/issues>
-
-Upgrading and downgrading
-=========================
-
-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 for older versions), then run the
-installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
-bitcoind/bitcoin-qt (on Linux).
-
-Downgrade warning
-------------------
-
-Because release 0.10.0 and later makes use of headers-first synchronization and
-parallel block download (see further), the block files and databases are not
-backwards-compatible with pre-0.10 versions of Bitcoin Core or other software:
-
-* Blocks will be stored on disk out of order (in the order they are
-received, really), which makes it incompatible with some tools or
-other programs. Reindexing using earlier versions will also not work
-anymore as a result of this.
-
-* The block index database will now hold headers for which no block is
-stored on disk, which earlier versions won't support.
-
-If you want to be able to downgrade smoothly, make a backup of your entire data
-directory. Without this your node will need start syncing (or importing from
-bootstrap.dat) anew afterwards. It is possible that the data from a completely
-synchronised 0.10 node may be usable in older versions as-is, but this is not
-supported and may break as soon as the older version attempts to reindex.
-
-This does not affect wallet forward or backward compatibility.
-
-Notable changes
-===============
-
-This fixes a serious problem on Windows with data directories that have non-ASCII
-characters (https://github.com/bitcoin/bitcoin/issues/6078).
-
-For other platforms there are no notable changes.
-
-For the notable changes in 0.10, refer to the release notes
-at https://github.com/bitcoin/bitcoin/blob/v0.10.0/doc/release-notes.md
-
-0.10.2 Change log
-=================
-
-Detailed release notes follow. This overview includes changes that affect external
-behavior, not code moves, refactors or string updates.
-
-Wallet:
-- `824c011` fix boost::get usage with boost 1.58
-
-Miscellaneous:
-- `da65606` Avoid crash on start in TestBlockValidity with gen=1.
-- `424ae66` don't imbue boost::filesystem::path with locale "C" on windows (fixes #6078)
-
-Credits
-=======
-
-Thanks to everyone who directly contributed to this release:
-
-- Cory Fields
-- Gregory Maxwell
-- Jonas Schnelli
-- Wladimir J. van der Laan
-
-And all those who contributed additional code review and/or security research:
-
-- dexX7
-- Pieter Wuille
-- vayvanne
-
-As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
diff --git a/doc/release-notes/release-notes-0.10.3.md b/doc/release-notes/release-notes-0.10.3.md
deleted file mode 100644 (file)
index 8a110e5..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-Bitcoin Core version 0.10.3 is now available from:
-
-  <https://bitcoin.org/bin/bitcoin-core-0.10.3/>
-
-This is a new minor version release, bringing security fixes and translation 
-updates. It is recommended to upgrade to this version as soon as possible.
-
-Please report bugs using the issue tracker at github:
-
-  <https://github.com/bitcoin/bitcoin/issues>
-
-Upgrading and downgrading
-=========================
-
-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 for older versions), then run the
-installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
-bitcoind/bitcoin-qt (on Linux).
-
-Downgrade warning
-------------------
-
-Because release 0.10.0 and later makes use of headers-first synchronization and
-parallel block download (see further), the block files and databases are not
-backwards-compatible with pre-0.10 versions of Bitcoin Core or other software:
-
-* Blocks will be stored on disk out of order (in the order they are
-received, really), which makes it incompatible with some tools or
-other programs. Reindexing using earlier versions will also not work
-anymore as a result of this.
-
-* The block index database will now hold headers for which no block is
-stored on disk, which earlier versions won't support.
-
-If you want to be able to downgrade smoothly, make a backup of your entire data
-directory. Without this your node will need start syncing (or importing from
-bootstrap.dat) anew afterwards. It is possible that the data from a completely
-synchronised 0.10 node may be usable in older versions as-is, but this is not
-supported and may break as soon as the older version attempts to reindex.
-
-This does not affect wallet forward or backward compatibility.
-
-Notable changes
-===============
-
-Fix buffer overflow in bundled upnp
-------------------------------------
-
-Bundled miniupnpc was updated to 1.9.20151008. This fixes a buffer overflow in
-the XML parser during initial network discovery.
-
-Details can be found here: http://talosintel.com/reports/TALOS-2015-0035/
-
-This applies to the distributed executables only, not when building from source or
-using distribution provided packages.
-
-Additionally, upnp has been disabled by default. This may result in a lower
-number of reachable nodes on IPv4, however this prevents future libupnpc
-vulnerabilities from being a structural risk to the network
-(see https://github.com/bitcoin/bitcoin/pull/6795).
-
-Test for LowS signatures before relaying
------------------------------------------
-
-Make the node require the canonical 'low-s' encoding for ECDSA signatures when
-relaying or mining.  This removes a nuisance malleability vector.
-
-Consensus behavior is unchanged.
-
-If widely deployed this change would eliminate the last remaining known vector
-for nuisance malleability on SIGHASH_ALL P2PKH transactions. On the down-side
-it will block most transactions made by sufficiently out of date software.
-
-Unlike the other avenues to change txids on transactions this
-one was randomly violated by all deployed bitcoin software prior to
-its discovery. So, while other malleability vectors where made
-non-standard as soon as they were discovered, this one has remained
-permitted. Even BIP62 did not propose applying this rule to
-old version transactions, but conforming implementations have become
-much more common since BIP62 was initially written.
-
-Bitcoin Core has produced compatible signatures since a28fb70e in
-September 2013, but this didn't make it into a release until 0.9
-in March 2014; Bitcoinj has done so for a similar span of time.
-Bitcoinjs and electrum have been more recently updated.
-
-This does not replace the need for BIP62 or similar, as miners can
-still cooperate to break transactions.  Nor does it replace the
-need for wallet software to handle malleability sanely[1]. This
-only eliminates the cheap and irritating DOS attack.
-
-[1] On the Malleability of Bitcoin Transactions
-Marcin Andrychowicz, Stefan Dziembowski, Daniel Malinowski, Łukasz Mazurek
-http://fc15.ifca.ai/preproceedings/bitcoin/paper_9.pdf
-
-Minimum relay fee default increase
------------------------------------
-
-The default for the `-minrelaytxfee` setting has been increased from `0.00001`
-to `0.00005`.
-
-This is necessitated by the current transaction flooding, causing
-outrageous memory usage on nodes due to the mempool ballooning. This is a
-temporary measure, bridging the time until a dynamic method for determining
-this fee is merged (which will be in 0.12).
-
-(see https://github.com/bitcoin/bitcoin/pull/6793, as well as the 0.11.0
-release notes, in which this value was suggested)
-
-0.10.3 Change log
-=================
-
-Detailed release notes follow. This overview includes changes that affect external
-behavior, not code moves, refactors or string updates.
-
-- #6186 `e4a7d51` Fix two problems in CSubnet parsing
-- #6153 `ebd7d8d` Parameter interaction: disable upnp if -proxy set
-- #6203 `ecc96f5` Remove P2SH coinbase flag, no longer interesting
-- #6226 `181771b` json: fail read_string if string contains trailing garbage
-- #6244 `09334e0` configure: Detect (and reject) LibreSSL
-- #6276 `0fd8464` Fix getbalance * 0
-- #6274 `be64204` Add option `-alerts` to opt out of alert system
-- #6319 `3f55638` doc: update mailing list address
-- #6438 `7e66e9c` openssl: avoid config file load/race
-- #6439 `255eced` Updated URL location of netinstall for Debian
-- #6412 `0739e6e` Test whether created sockets are select()able
-- #6694 `f696ea1` [QT] fix thin space word wrap line brake issue
-- #6704 `743cc9e` Backport bugfixes to 0.10
-- #6769 `1cea6b0` Test LowS in standardness, removes nuisance malleability vector.
-- #6789 `093d7b5` Update miniupnpc to 1.9.20151008
-- #6795 `f2778e0` net: Disable upnp by default
-- #6797 `91ef4d9` Do not store more than 200 timedata samples
-- #6793 `842c48d` Bump minrelaytxfee default
-
-Credits
-=======
-
-Thanks to everyone who directly contributed to this release:
-
-- Adam Weiss
-- Alex Morcos
-- Casey Rodarmor
-- Cory Fields
-- fanquake
-- Gregory Maxwell
-- Jonas Schnelli
-- J Ross Nicoll
-- Luke Dashjr
-- Pavel Vasin
-- Pieter Wuille
-- randy-waterhouse
-- ฿tcDrak
-- Tom Harding
-- Veres Lajos
-- Wladimir J. van der Laan
-
-And all those who contributed additional code review and/or security research:
-
-- timothy on IRC for reporting the issue
-- Vulnerability in miniupnp discovered by Aleksandar Nikolic of Cisco Talos
-
-As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
diff --git a/doc/release-notes/release-notes-0.11.1.md b/doc/release-notes/release-notes-0.11.1.md
deleted file mode 100644 (file)
index 7992056..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-Bitcoin Core version 0.11.1 is now available from:
-
-  <https://bitcoin.org/bin/bitcoin-core-0.11.1/>
-
-This is a new minor version release, bringing security fixes. It is recommended
-to upgrade to this version as soon as possible.
-
-Please report bugs using the issue tracker at github:
-
-  <https://github.com/bitcoin/bitcoin/issues>
-
-Upgrading and downgrading
-=========================
-
-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 for older versions), then run the
-installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
-bitcoind/bitcoin-qt (on Linux).
-
-Downgrade warning
-------------------
-
-Because release 0.10.0 and later makes use of headers-first synchronization and
-parallel block download (see further), the block files and databases are not
-backwards-compatible with pre-0.10 versions of Bitcoin Core or other software:
-
-* Blocks will be stored on disk out of order (in the order they are
-received, really), which makes it incompatible with some tools or
-other programs. Reindexing using earlier versions will also not work
-anymore as a result of this.
-
-* The block index database will now hold headers for which no block is
-stored on disk, which earlier versions won't support.
-
-If you want to be able to downgrade smoothly, make a backup of your entire data
-directory. Without this your node will need start syncing (or importing from
-bootstrap.dat) anew afterwards. It is possible that the data from a completely
-synchronised 0.10 node may be usable in older versions as-is, but this is not
-supported and may break as soon as the older version attempts to reindex.
-
-This does not affect wallet forward or backward compatibility. There are no
-known problems when downgrading from 0.11.x to 0.10.x.
-
-Notable changes
-===============
-
-Fix buffer overflow in bundled upnp
-------------------------------------
-
-Bundled miniupnpc was updated to 1.9.20151008. This fixes a buffer overflow in
-the XML parser during initial network discovery.
-
-Details can be found here: http://talosintel.com/reports/TALOS-2015-0035/
-
-This applies to the distributed executables only, not when building from source or
-using distribution provided packages.
-
-Additionally, upnp has been disabled by default. This may result in a lower
-number of reachable nodes on IPv4, however this prevents future libupnpc
-vulnerabilities from being a structural risk to the network
-(see https://github.com/bitcoin/bitcoin/pull/6795).
-
-Test for LowS signatures before relaying
------------------------------------------
-
-Make the node require the canonical 'low-s' encoding for ECDSA signatures when
-relaying or mining.  This removes a nuisance malleability vector.
-
-Consensus behavior is unchanged.
-
-If widely deployed this change would eliminate the last remaining known vector
-for nuisance malleability on SIGHASH_ALL P2PKH transactions. On the down-side
-it will block most transactions made by sufficiently out of date software.
-
-Unlike the other avenues to change txids on transactions this
-one was randomly violated by all deployed bitcoin software prior to
-its discovery. So, while other malleability vectors where made
-non-standard as soon as they were discovered, this one has remained
-permitted. Even BIP62 did not propose applying this rule to
-old version transactions, but conforming implementations have become
-much more common since BIP62 was initially written.
-
-Bitcoin Core has produced compatible signatures since a28fb70e in
-September 2013, but this didn't make it into a release until 0.9
-in March 2014; Bitcoinj has done so for a similar span of time.
-Bitcoinjs and electrum have been more recently updated.
-
-This does not replace the need for BIP62 or similar, as miners can
-still cooperate to break transactions.  Nor does it replace the
-need for wallet software to handle malleability sanely[1]. This
-only eliminates the cheap and irritating DOS attack.
-
-[1] On the Malleability of Bitcoin Transactions
-Marcin Andrychowicz, Stefan Dziembowski, Daniel Malinowski, Łukasz Mazurek
-http://fc15.ifca.ai/preproceedings/bitcoin/paper_9.pdf
-
-Minimum relay fee default increase
------------------------------------
-
-The default for the `-minrelaytxfee` setting has been increased from `0.00001`
-to `0.00005`.
-
-This is necessitated by the current transaction flooding, causing
-outrageous memory usage on nodes due to the mempool ballooning. This is a
-temporary measure, bridging the time until a dynamic method for determining
-this fee is merged (which will be in 0.12).
-
-(see https://github.com/bitcoin/bitcoin/pull/6793, as well as the 0.11
-release notes, in which this value was suggested)
-
-0.11.1 Change log
-=================
-
-Detailed release notes follow. This overview includes changes that affect
-behavior, not code moves, refactors and string updates. For convenience in locating
-the code changes and accompanying discussion, both the pull request and
-git merge commit are mentioned.
-
-- #6438 `2531438` openssl: avoid config file load/race
-- #6439 `980f820` Updated URL location of netinstall for Debian
-- #6384 `8e5a969` qt: Force TLS1.0+ for SSL connections
-- #6471 `92401c2` Depends: bump to qt 5.5
-- #6224 `93b606a` Be even stricter in processing unrequested blocks
-- #6571 `100ac4e` libbitcoinconsensus: avoid a crash in multi-threaded environments
-- #6545 `649f5d9` Do not store more than 200 timedata samples.
-- #6694 `834e299` [QT] fix thin space word wrap line break issue
-- #6703 `1cd7952` Backport bugfixes to 0.11
-- #6750 `5ed8d0b` Recent rejects backport to v0.11
-- #6769 `71cc9d9` Test LowS in standardness, removes nuisance malleability vector.
-- #6789 `b4ad73f` Update miniupnpc to 1.9.20151008
-- #6785 `b4dc33e` Backport to v0.11: In (strCommand == "tx"), return if AlreadyHave()
-- #6412 `0095b9a` Test whether created sockets are select()able
-- #6795 `4dbcec0` net: Disable upnp by default
-- #6793 `e7bcc4a` Bump minrelaytxfee default
-
-Credits
-=======
-
-Thanks to everyone who directly contributed to this release:
-
-- Adam Weiss
-- Alex Morcos
-- Casey Rodarmor
-- Cory Fields
-- fanquake
-- Gregory Maxwell
-- Jonas Schnelli
-- J Ross Nicoll
-- Luke Dashjr
-- Pavel Janík
-- Pavel Vasin
-- Peter Todd
-- Pieter Wuille
-- randy-waterhouse
-- Ross Nicoll
-- Suhas Daftuar
-- tailsjoin
-- ฿tcDrak
-- Tom Harding
-- Veres Lajos
-- Wladimir J. van der Laan
-
-And those who contributed additional code review and/or security research:
-
-- timothy on IRC for reporting the issue
-- Vulnerability in miniupnp discovered by Aleksandar Nikolic of Cisco Talos
-
-As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
-
diff --git a/doc/release-notes/release-notes-0.3.12.md b/doc/release-notes/release-notes-0.3.12.md
deleted file mode 100644 (file)
index 38715bc..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-Version 0.3.12 is now available.
-
-Features:
-* json-rpc errors return a more standard error object. (thanks to Gavin Andresen)
-* json-rpc command line returns exit codes.
-* json-rpc "backupwallet" command.
-* Recovers and continues if an exception is caused by a message you received.  Other nodes shouldn't be able to cause an exception, and it hasn't happened before, but if a way is found to cause an exception, this would keep it from being used to stop network nodes.
-
-If you have json-rpc code that checks the contents of the error string, you need to change it to expect error objects of the form {"code":<number>,"message":<string>}, which is the standard.  See this thread:
-http://www.bitcoin.org/smf/index.php?topic=969.0
-
-Download:
-http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.12/
diff --git a/doc/release-notes/release-notes-0.3.13.md b/doc/release-notes/release-notes-0.3.13.md
deleted file mode 100644 (file)
index 2b95ff2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-Version 0.3.13 is now available.  You should upgrade to prevent potential problems with 0/unconfirmed transactions.  Note: 0.3.13 prevents problems if you haven't already spent a 0/unconfirmed transaction, but if that already happened, you need 0.3.13.2.
-
-Changes:
-* Don't count or spend payments until they have 1 confirmation.
-* Internal version number from 312 to 31300.
-* Only accept transactions sent by IP address if -allowreceivebyip is specified.
-* Dropped DB_PRIVATE Berkeley DB flag.
-* Fix problem sending the last cent with sub-cent fractional change.
-* Auto-detect whether to use 128-bit 4-way SSE2 on Linux.
-Gavin Andresen:
-* Option -rpcallowip= to accept json-rpc connections from another machine.
-* Clean shutdown on SIGTERM on Linux.
-
-Download:
-http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.13/
-
-(Thanks Laszlo for the Mac OSX build!)
-
-Note:
-The SSE2 auto-detect in the Linux 64-bit version doesn't work with AMD in 64-bit mode.  Please try this instead and let me know if it gets it right:
-http://www.bitcoin.org/download/bitcoin-0.3.13.1-specialbuild-linux64.tar.gz
-
-You can still control the SSE2 use manually with -4way and -4way=0.
-
-Version 0.3.13.2 (SVN rev 161) has improvements for the case where you already had 0/unconfirmed transactions that you might have already spent.  Here's a Windows build of it:
-http://www.bitcoin.org/download/bitcoin-0.3.13.2-win32-setup.exe
diff --git a/doc/release-notes/release-notes-0.3.14.md b/doc/release-notes/release-notes-0.3.14.md
deleted file mode 100644 (file)
index e73052e..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-Version 0.3.14 is now available
-http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.14/
-
-Changes:
-* Key pool feature for safer wallet backup
-Gavin Andresen:
-* TEST network mode with switch -testnet
-* Option to use SSL for JSON-RPC connections on unix/osx
-* validateaddress RPC command
-eurekafag:
-* Russian translation
diff --git a/doc/release-notes/release-notes-0.3.15.md b/doc/release-notes/release-notes-0.3.15.md
deleted file mode 100644 (file)
index b98052e..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-* paytxfee switch is now per KB, so it adds the correct fee for large transactions
-* sending avoids using coins with less than 6 confirmations if it can
-* BitcoinMiner processes transactions in priority order based on age of dependencies
-* make sure generation doesn't start before block 74000 downloaded
-* bugfixes by Dean Gores
-* testnet, keypoololdest and paytxfee added to getinfo
diff --git a/doc/release-notes/release-notes-0.3.16.md b/doc/release-notes/release-notes-0.3.16.md
deleted file mode 100644 (file)
index 743f84f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Never released.
diff --git a/doc/release-notes/release-notes-0.3.17.md b/doc/release-notes/release-notes-0.3.17.md
deleted file mode 100644 (file)
index d3604b8..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-Version 0.3.17 is now available.
-
-Changes:
-* new getwork, thanks m0mchil
-* added transaction fee setting in UI options menu
-* free transaction limits
-* sendtoaddress returns transaction id instead of "sent"
-* getaccountaddress <account>
-
-The UI transaction fee setting was easy since it was still there from 0.1.5 and all I had to do was re-enable it.
-
-The accounts-based commands: move, sendfrom and getbalance <account> will be in the next release.  We still have some more changes to make first.
diff --git a/doc/release-notes/release-notes-0.3.18.md b/doc/release-notes/release-notes-0.3.18.md
deleted file mode 100644 (file)
index ab1c2e0..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-Changes:
-* Fixed a wallet.dat compatibility problem if you downgraded from 0.3.17 and then upgraded again
-* IsStandard() check to only include known transaction types in blocks
-* Jgarzik's optimisation to speed up the initial block download a little
-
-The main addition in this release is the Accounts-Based JSON-RPC commands that Gavin's been working on (more details at http://www.bitcoin.org/smf/index.php?topic=1886.0).  
-* getaccountaddress
-* sendfrom
-* move
-* getbalance
-* listtransactions
diff --git a/doc/release-notes/release-notes-0.3.19.md b/doc/release-notes/release-notes-0.3.19.md
deleted file mode 100644 (file)
index fcd8675..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-There's more work to do on DoS, but I'm doing a quick build of what I have so far in case it's needed, before venturing into more complex ideas.  The build for this is version 0.3.19.
-
-- Added some DoS controls
-As Gavin and I have said clearly before, the software is not at all resistant to DoS attack.  This is one improvement, but there are still more ways to attack than I can count.  
-
-I'm leaving the -limitfreerelay part as a switch for now and it's there if you need it.
-
-- Removed "safe mode" alerts
-"safe mode" alerts was a temporary measure after the 0.3.9 overflow bug.  We can say all we want that users can just run with "-disablesafemode", but it's better just not to have it for the sake of appearances.  It was never intended as a long term feature.  Safe mode can still be triggered by seeing a longer (greater total PoW) invalid block chain.
diff --git a/doc/release-notes/release-notes-0.3.20.1.md b/doc/release-notes/release-notes-0.3.20.1.md
deleted file mode 100644 (file)
index 6c5682e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Never released or release notes were lost.
diff --git a/doc/release-notes/release-notes-0.3.20.2.md b/doc/release-notes/release-notes-0.3.20.2.md
deleted file mode 100644 (file)
index 09ecb73..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-The maxsendbuffer bug (0.3.20.1 clients not being able to download the block chain from other 0.3.20.1 clients) was only going to get
-worse as people upgraded, so I cherry-picked the bug fix and created a minor release yesterday.
-
-The Amazon Machine Images I used to do the builds are available:
-
-  ami-38a05251   Bitcoin-v0.3.20.2 Mingw    (Windows; Administrator password 'bitcoin development')
-  ami-30a05259   Bitcoin_0.3.20.2 Linux32
-  ami-8abc4ee3   Bitcoin_0.3.20.2 Linux64
-
-(mac build will be done soon)
-
-If you have already downloaded version 0.3.20.1, please either add this to your bitcoin.conf file:
-
-  maxsendbuffer=10000
-  maxreceivebuffer=10000
-
-... or download the new version.
diff --git a/doc/release-notes/release-notes-0.3.20.md b/doc/release-notes/release-notes-0.3.20.md
deleted file mode 100644 (file)
index 9ae2180..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-Please checkout the git integration branch from:
-
-https://github.com/bitcoin/bitcoin
-
-... and help test.  The new features that need testing are:
-
-* -nolisten : https://github.com/bitcoin/bitcoin/pull/11
-* -rescan : scan block chain for missing wallet transactions
-* -printtoconsole : https://github.com/bitcoin/bitcoin/pull/37
-* RPC gettransaction details : https://github.com/bitcoin/bitcoin/pull/24
-* listtransactions new features : https://github.com/bitcoin/bitcoin/pull/10
-
-Bug fixes that also need testing:
-
-* -maxconnections= : https://github.com/bitcoin/bitcoin/pull/42
-* RPC listaccounts minconf : https://github.com/bitcoin/bitcoin/pull/27
-* RPC move, add time to output : https://github.com/bitcoin/bitcoin/pull/21
-* ...and several improvements to --help output.
-
-This needs more testing on Windows!  Please drop me a quick private message, email, or IRC message if you are able to do some testing.  If you find bugs, please open an issue at:
-
-https://github.com/bitcoin/bitcoin/issues
diff --git a/doc/release-notes/release-notes-0.3.21.md b/doc/release-notes/release-notes-0.3.21.md
deleted file mode 100644 (file)
index f3b6bc4..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-Binaries for Bitcoin version 0.3.21 are available at:
-  https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.21/
-
-Changes and new features from the 0.3.20 release include:
-
-* Universal Plug and Play support.  Enable automatic opening of a port for incoming connections by running bitcoin or bitcoind with the - -upnp=1 command line switch or using the Options dialog box.
-
-* Support for full-precision bitcoin amounts.  You can now send, and bitcoin will display, bitcoin amounts smaller than 0.01.  However, sending fewer than 0.01 bitcoins still requires a 0.01 bitcoin fee (so you can send 1.0001 bitcoins without a fee, but you will be asked to pay a fee if you try to send 0.0001).
-
-* A new method of finding bitcoin nodes to connect with, via DNS A records. Use the -dnsseed option to enable.
-
-For developers, changes to bitcoin's remote-procedure-call API:
-
-* New rpc command "sendmany" to send bitcoins to more than one address in a single transaction.
-
-* Several bug fixes, including a serious intermittent bug that would sometimes cause bitcoind to stop accepting rpc requests. 
-
-* -logtimestamps option, to add a timestamp to each line in debug.log.
-
-* Immature blocks (newly generated, under 120 confirmations) are now shown in listtransactions.
diff --git a/doc/release-notes/release-notes-0.3.22.md b/doc/release-notes/release-notes-0.3.22.md
deleted file mode 100644 (file)
index 4c05e3e..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-Download URL: https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.22/
-
-This is largely a bugfix and TX fee schedule release.  We also hope to make 0.3.23 a quick release, to fix problems that the network has seen due to explosive growth in the past week.
-
-Notable changes:
-* Client will accept and relay TX's with 0.0005 BTC fee schedule (users still pay 0.01 BTC per kb, until next version)
-* Non-standard transactions accepted on testnet
-* Source code tree reorganized (prep for autotools build)
-* Remove "Generate Coins" option from GUI, and remove 4way SSE miner.  Internal reference CPU miner remains available, but users are directed to external miners for best hash production.
-* IRC is overflowing.  Client now bootstraps to channels #bitcoin00 - #bitcoin99
-* DNS names now may be used with -addnode, -connect (requires -dns to enable)
-
-RPC changes:
-* 'listtransactions' adds 'from' param, for range queries
-* 'move' may take account balances negative
-* 'settxfee' added, to manually set TX fee
diff --git a/doc/release-notes/release-notes-0.3.23.md b/doc/release-notes/release-notes-0.3.23.md
deleted file mode 100644 (file)
index c1d520e..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-Win32, Linux, MacOSX and source releases for bitcoin v0.3.23 have been uploaded to
-https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.23/
-
-This is another quick bugfix release, trying to deal with the influx of new bitcoin users.
-
-Main items of note:
-
-* P2P connect-to-node logic changed to reduce timeout a bit.  The network saw a huge influx of new users, who do not permit incoming connections.  This change is a short-term hack, to more quickly hunt for useful P2P connections.  Better "leaf node" logic is in the works, but this should let us limp along until then.  One may use -upnp to properly forward ports, and help the network.
-* Transaction fee reduced to 0.0005 for new transactions
-* Client will relay transactions with fees as low as 0.0001 BTC
diff --git a/doc/release-notes/release-notes-0.3.24.md b/doc/release-notes/release-notes-0.3.24.md
deleted file mode 100644 (file)
index d35ac66..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-Bitcoin v0.3.24 is now available for download at
-https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.24/
-
-This is another bug fix release.  We had hoped to have wallet encryption ready for release, but more urgent fixes for existing clients were needed -- most notably block download problems were getting severe.  Wallet encryption is ready for testing at https://github.com/bitcoin/bitcoin/pull/352 for the git-savvy, and hopefully will follow shortly in the next release, v0.4.
-
-Notable fixes in v0.3.24, and the main reasons for this release:
-
-F1) Block downloads were failing or taking unreasonable amounts of time to complete, because the increased size of the block chain was bumping up against some earlier buffer-size DoS limits.
-
-F2) Fix crash caused by loss/lack of network connection.
-
-Notable changes in v0.3.24:
-
-C1) DNS seeding enabled by default.
-
-C2) UPNP enabled by default in the GUI client.  The percentage of bitcoin clients that accept incoming connections is quite small, and that is a problem.  This should help.  bitcoind, and unofficial builds, are unchanged (though we encourage use of "-upnp" to help the network!)
-
-C3) Initial unit testing framework.  Bitcoin sorely needs automated tests, and this is a beginning.  Contributions welcome.
-
-C4) Internal wallet code cleanup.  While invisible to an end user, this change provides the basis for v0.4's wallet encryption.
diff --git a/doc/release-notes/release-notes-0.4.0.md b/doc/release-notes/release-notes-0.4.0.md
deleted file mode 100644 (file)
index 145072a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-Bitcoin version 0.4.0 is now available for download at:
-http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.4.0/
-
-The main feature in this release is wallet private key encryption;
-you can set a passphrase that must be entered before sending coins.
-See below for more information; if you decide to encrypt your wallet,
-WRITE DOWN YOUR PASSPHRASE AND PUT IT IN A SECURE LOCATION. If you
-forget or lose your wallet passphrase, you lose your bitcoins.
-Previous versions of bitcoin are unable to read encrypted wallets,
-and will crash on startup if the wallet is encrypted.
-
-Also note: bitcoin version 0.4 uses a newer version of Berkeley DB
-(bdb version 4.8) than previous versions (bdb 4.7). If you upgrade
-to version 0.4 and then revert back to an earlier version of bitcoin
-the it may be unable to start because bdb 4.7 cannot read bdb 4.8
-"log" files.
-
-
-Notable bug fixes from version 0.3.24:
-
-Fix several bitcoin-becomes-unresponsive bugs due to multithreading
-deadlocks.
-
-Optimize database writes for large (lots of inputs) transactions
-(fixes a potential denial-of-service attack)
-
-
-Wallet Encryption
-
-Bitcoin supports native wallet encryption so that people who steal your
-wallet file don't automatically get access to all of your Bitcoins.
-In order to enable this feature, choose "Encrypt Wallet" from the
-Options menu.  You will be prompted to enter a passphrase, which
-will be used as the key to encrypt your wallet and will be needed
-every time you wish to send Bitcoins.  If you lose this passphrase,
-you will lose access to spend all of the bitcoins in your wallet,
-no one, not even the Bitcoin developers can recover your Bitcoins.
-This means you are responsible for your own security, store your
-passphrase in a secure location and do not forget it.
-
-Remember that the encryption built into bitcoin only encrypts the
-actual keys which are required to send your bitcoins, not the full
-wallet.  This means that someone who steals your wallet file will
-be able to see all the addresses which belong to you, as well as the
-relevant transactions, you are only protected from someone spending
-your coins.
-
-It is recommended that you backup your wallet file before you
-encrypt your wallet.  To do this, close the Bitcoin client and
-copy the wallet.dat file from ~/.bitcoin/ on Linux, /Users/(user
-name)/Application Support/Bitcoin/ on Mac OSX, and %APPDATA%/Bitcoin/
-on Windows (that is /Users/(user name)/AppData/Roaming/Bitcoin on
-Windows Vista and 7 and /Documents and Settings/(user name)/Application
-Data/Bitcoin on Windows XP).  Once you have copied that file to a
-safe location, reopen the Bitcoin client and Encrypt your wallet.
-If everything goes fine, delete the backup and enjoy your encrypted
-wallet.  Note that once you encrypt your wallet, you will never be
-able to go back to a version of the Bitcoin client older than 0.4.
-
-Keep in mind that you are always responsible for your own security.
-All it takes is a slightly more advanced wallet-stealing trojan which
-installs a keylogger to steal your wallet passphrase as you enter it
-in addition to your wallet file and you have lost all your Bitcoins.
-Wallet encryption cannot keep you safe if you do not practice
-good security, such as running up-to-date antivirus software, only
-entering your wallet passphrase in the Bitcoin client and using the
-same passphrase only as your wallet passphrase.
-
-See the doc/README file in the bitcoin source for technical details
-of wallet encryption.
diff --git a/doc/release-notes/release-notes-0.4.1.md b/doc/release-notes/release-notes-0.4.1.md
deleted file mode 100644 (file)
index ac471a8..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-Bitcoin version 0.4.1 is now available for download at:
-http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.4.1/
-
-This is a bugfix only release based on 0.4.0.
-
-Please report bugs by replying to this forum thread.
-
-MAJOR BUG FIX  (CVE-2011-4447)
-
-The wallet encryption feature introduced in Bitcoin version 0.4.0 did not sufficiently secure the private keys. An attacker who
-managed to get a copy of your encrypted wallet.dat file might be able to recover some or all of the unencrypted keys and steal the
-associated coins.
-
-If you have a previously encrypted wallet.dat, the first time you run wxbitcoin or bitcoind the wallet will be rewritten, Bitcoin will
-shut down, and you will be prompted to restart it to run with the new, properly encrypted file.
-
-If you had a previously encrypted wallet.dat that might have been copied or stolen (for example, you backed it up to a public
-location) you should send all of your bitcoins to yourself using a new bitcoin address and stop using any previously generated addresses.
-
-Wallets encrypted with this version of Bitcoin are written properly.
-
-Technical note: the encrypted wallet's 'keypool' will be regenerated the first time you request a new bitcoin address; to be certain that the
-new private keys are properly backed up you should:
-
-1. Run Bitcoin and let it rewrite the wallet.dat file
-
-2. Run it again, then ask it for a new bitcoin address.
-wxBitcoin: new address visible on main window
-bitcoind: run the 'walletpassphrase' RPC command to unlock the wallet,  then run the 'getnewaddress' RPC command.
-
-3. If your encrypted wallet.dat may have been copied or stolen, send all of your bitcoins to the new bitcoin address.
-
-4. Shut down Bitcoin, then backup the wallet.dat file.
-IMPORTANT: be sure to request a new bitcoin address before backing up, so that the 'keypool' is regenerated and backed up.
-
-"Security in depth" is always a good idea, so choosing a secure location for the backup and/or encrypting the backup before uploading it is recommended. And as in previous releases, if your machine is infected by malware there are several ways an attacker might steal your bitcoins.
-
-Thanks to Alan Reiner (etotheipi) for finding and reporting this bug.
diff --git a/doc/release-notes/release-notes-0.4.2.md b/doc/release-notes/release-notes-0.4.2.md
deleted file mode 100644 (file)
index 6c5682e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Never released or release notes were lost.
diff --git a/doc/release-notes/release-notes-0.4.3.md b/doc/release-notes/release-notes-0.4.3.md
deleted file mode 100644 (file)
index fea1ae7..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-bitcoind version 0.4.3 is now available for download at:
-http://luke.dashjr.org/programs/bitcoin/files/bitcoind-0.4.3/ (until Gavin uploads to SourceForge)
-
-This is a bugfix-only release based on 0.4.0.
-
-Please note that the wxBitcoin GUI client is no longer maintained nor supported. If someone would like to step up to maintain this, they should contact Luke-Jr.
-
-Please report bugs for the daemon only using the issue tracker at github:
-https://github.com/bitcoin/bitcoin/issues
-
-Stable source code is hosted at Gitorious:
-http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v0.4.3#.tar.gz
-
-BUG FIXES
-
-Cease locking memory used by non-sensitive information (this caused a huge performance hit on some platforms, especially noticable during initial blockchain download).
-Fixed some address-handling deadlocks (client freezes).
-No longer accept inbound connections over the internet when Bitcoin is being used with Tor (identity leak).
-Use the correct base transaction fee of 0.0005 BTC for accepting transactions into mined blocks (since 0.4.0, it was incorrectly accepting 0.0001 BTC which was only meant to be relayed).
-Add new DNS seeds (maintained by Pieter Wuille and Luke Dashjr).
-
diff --git a/doc/release-notes/release-notes-0.4.4.md b/doc/release-notes/release-notes-0.4.4.md
deleted file mode 100644 (file)
index f435ba7..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-Bitcoin version 0.4.4 is now available for download at:
-http://luke.dashjr.org/programs/bitcoin/files/bitcoind-0.4.4/
-
-This is a bugfix-only release based on 0.4.0.
-
-Please note that the wxBitcoin GUI client is no longer maintained nor supported. If someone would like to step up to maintain this, they should contact Luke-Jr.
-
-Please report bugs for the daemon only using the issue tracker at github:
-https://github.com/bitcoin/bitcoin/issues
-
-Stable source code is hosted at Gitorious:
-http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v0.4.4#.tar.gz
-
-BUG FIXES
-
-Limit the number of orphan transactions stored in memory, to prevent a potential denial-of-service attack by flooding orphan transactions. Also never store invalid transactions at all.
-Fix possible buffer overflow on systems with very long application data paths. This is not exploitable.
-Resolved multiple bugs preventing long-term unlocking of encrypted wallets (issue #922).
-Only send local IP in "version" messages if it is globally routable (ie, not private), and try to get such an IP from UPnP if applicable.
-Reannounce UPnP port forwards every 20 minutes, to workaround routers expiring old entries, and allow the -upnp option to override any stored setting.
-Various memory leaks and potential null pointer deferences have been
-fixed.
-Several shutdown issues have been fixed.
-Check that keys stored in the wallet are valid at startup, and if not,
-report corruption.
-Various build fixes.
-If no password is specified to bitcoind, recommend a secure password.
-Update hard-coded fallback seed nodes, choosing recent ones with long uptime and versions at least 0.4.0.
-Add checkpoint at block 168,000.
-
diff --git a/doc/release-notes/release-notes-0.4.5.md b/doc/release-notes/release-notes-0.4.5.md
deleted file mode 100644 (file)
index 6c5682e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Never released or release notes were lost.
diff --git a/doc/release-notes/release-notes-0.4.6.md b/doc/release-notes/release-notes-0.4.6.md
deleted file mode 100644 (file)
index 07c5e4b..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-bitcoind version 0.4.6 is now available for download at:
-Windows: installer | zip (sig)
-Source: tar.gz
-bitcoind and Bitcoin-Qt version 0.6.0.7 are also tagged in git, but it is recommended to upgrade to 0.6.1.
-
-These are bugfix-only releases.
-
-Please report bugs by replying to this forum thread. Note that the 0.4.x wxBitcoin GUI client is no longer maintained nor supported. If someone would like to step up to maintain this, they should contact Luke-Jr.
-
-BUG FIXES
-
-Version 0.6.0 allowed importing invalid "private keys", which would be unspendable; 0.6.0.7 will now verify the private key is valid, and refuse to import an invalid one
-Verify status of encrypt/decrypt calls to detect failed padding
-Check blocks for duplicate transactions earlier. Fixes #1167
-Upgrade Windows builds to OpenSSL 1.0.1b
-Set label when selecting an address that already has a label. Fixes #1080 (Bitcoin-Qt)
-JSON-RPC listtransactions's from/count handling is now fixed
-Optimize and fix multithreaded access, when checking whether we already know about transactions
-Fix potential networking deadlock
-Proper support for Growl 1.3 notifications
-Display an error, rather than crashing, if encoding a QR Code failed (0.6.0.7)
-Don't erroneously set "Display addresses" for users who haven't explicitly enabled it (Bitcoin-Qt)
-Some non-ASCII input in JSON-RPC expecting hexadecimal may have been misinterpreted rather than rejected
-Missing error condition checking added
-Do not show green tick unless all known blocks are downloaded. Fixes #921 (Bitcoin-Qt)
-Increase time ago of last block for "up to date" status from 30 to 90 minutes
-Show a message box when runaway exception happens (Bitcoin-Qt)
-Use a messagebox to display the error when -server is provided without providing a rpc password
-Show error message instead of exception crash when unable to bind RPC port (Bitcoin-Qt)
-Correct sign message bitcoin address tooltip. Fixes #1050 (Bitcoin-Qt)
-Removed "(no label)" from QR Code dialog titlebar if we have no label (0.6.0.7)
-Removed an ugly line break in tooltip for mature transactions (0.6.0.7)
-Add missing tooltip and key shortcut in settings dialog (part of #1088) (Bitcoin-Qt)
-Work around issue in boost::program_options that prevents from compiling in clang
-Fixed bugs occurring only on platforms with unsigned characters (such as ARM).
-Rename make_windows_icon.py to .sh as it is a shell script. Fixes #1099 (Bitcoin-Qt)
-Various trivial internal corrections to types used for counting/size loops and warnings
diff --git a/doc/release-notes/release-notes-0.5.0.md b/doc/release-notes/release-notes-0.5.0.md
deleted file mode 100644 (file)
index baa409b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-Bitcoin version 0.5.0 is now available for download at:
-http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.0/
-
-The major change for this release is a completely new graphical interface that uses the Qt user interface toolkit.
-
-This release include German, Spanish, Spanish-Castilian, Norwegian and Dutch translations. More translations are welcome; join the project at Transifex if you can help:
-https://www.transifex.net/projects/p/bitcoin/
-
-Please report bugs using the issue tracker at github:
-https://github.com/bitcoin/bitcoin/issues
-
-For Ubuntu users, there is a new ppa maintained by Matt Corallo which you can add to your system so that it will automatically keep bitcoin up-to-date.  Just type "sudo apt-add-repository ppa:bitcoin/bitcoin" in your terminal, then install the bitcoin-qt package.
-
-MAJOR BUG FIX  (CVE-2011-4447)
-
-The wallet encryption feature introduced in Bitcoin version 0.4.0 did not sufficiently secure the private keys. An attacker who
-managed to get a copy of your encrypted wallet.dat file might be able to recover some or all of the unencrypted keys and steal the
-associated coins.
-
-If you have a previously encrypted wallet.dat, the first time you run bitcoin-qt or bitcoind the wallet will be rewritten, Bitcoin will
-shut down, and you will be prompted to restart it to run with the new, properly encrypted file.
-
-If you had a previously encrypted wallet.dat that might have been copied or stolen (for example, you backed it up to a public
-location) you should send all of your bitcoins to yourself using a new bitcoin address and stop using any previously generated addresses.
-
-Wallets encrypted with this version of Bitcoin are written properly.
-
-Technical note: the encrypted wallet's 'keypool' will be regenerated the first time you request a new bitcoin address; to be certain that the
-new private keys are properly backed up you should:
-
-1. Run Bitcoin and let it rewrite the wallet.dat file
-
-2. Run it again, then ask it for a new bitcoin address.
-Bitcoin-Qt: Address Book, then New Address...
-bitcoind: run the 'walletpassphrase' RPC command to unlock the wallet,  then run the 'getnewaddress' RPC command.
-
-3. If your encrypted wallet.dat may have been copied or stolen, send  all of your bitcoins to the new bitcoin address.
-
-4. Shut down Bitcoin, then backup the wallet.dat file.
-IMPORTANT: be sure to request a new bitcoin address before backing up, so that the 'keypool' is regenerated and backed up.
-
-"Security in depth" is always a good idea, so choosing a secure location for the backup and/or encrypting the backup before uploading it is recommended. And as in previous releases, if your machine is infected by malware there are several ways an attacker might steal your bitcoins.
-
-Thanks to Alan Reiner (etotheipi) for finding and reporting this bug.
-
-MAJOR GUI CHANGES
-
-"Splash" graphics at startup that show address/wallet/blockchain loading progress.
-
-"Synchronizing with network" progress bar to show block-chain download progress.
-
-Icons at the bottom of the window that show how well connected you are to the network, with tooltips to display details.
-
-Drag and drop support for bitcoin: URIs on web pages.
-
-Export transactions as a .csv file.
-
-Many other GUI improvements, large and small.
-
-RPC CHANGES
-
-getmemorypool : new RPC command, provides everything needed to construct a block with a custom generation transaction and submit a solution
-
-listsinceblock : new RPC command, list transactions since given block
-
-signmessage/verifymessage : new RPC commands to sign a message with one of your private keys or verify that a message signed by the private key associated with a bitcoin address.
-
-GENERAL CHANGES
-
-Faster initial block download.
diff --git a/doc/release-notes/release-notes-0.5.1.md b/doc/release-notes/release-notes-0.5.1.md
deleted file mode 100644 (file)
index d56bff6..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-Bitcoin version 0.5.1 is now available for download at:
-http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.1/
-
-This is a bugfix-only release.
-
-This release includes 13 translations, including 5 new translations:
-Italian, Hungarian, Ukranian, Portuguese (Brazilian) and Simplified Chinese.
-More translations are welcome; join the project at Transifex if you can help:
-https://www.transifex.net/projects/p/bitcoin/
-
-Please report bugs using the issue tracker at github:
-https://github.com/bitcoin/bitcoin/issues
-
-Project source code is hosted at github; we are no longer
-distributing .tar.gz files here, you can get them
-directly from github:
-https://github.com/bitcoin/bitcoin/tarball/v0.5.1  # .tar.gz
-https://github.com/bitcoin/bitcoin/zipball/v0.5.1  # .zip
-
-For Ubuntu users, there is a new ppa maintained by Matt Corallo which
-you can add to your system so that it will automatically keep
-bitcoin up-to-date.  Just type
-sudo apt-add-repository ppa:bitcoin/bitcoin
-in your terminal, then install the bitcoin-qt package.
-
-
-BUG FIXES
-
-Re-enable SSL support for the JSON-RPC interface (it was unintentionally
-disabled for the 0.5.0 release binaries).
-
-The code that finds peers via "dns seeds" no longer stops bitcoin startup
-if one of the dns seed machines is down.
-
-Tooltips on the transaction list view were rendering incorrectly (as black boxes
-or with a transparent background).
-
-Prevent a denial-of-service attack involving flooding a bitcoin node with
-orphan blocks.
-
-The wallet passphrase dialog now warns you if the caps lock key was pressed.
-
-Improved searching in addresses and labels in bitcoin-qt.
diff --git a/doc/release-notes/release-notes-0.5.2.md b/doc/release-notes/release-notes-0.5.2.md
deleted file mode 100644 (file)
index f798166..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-Bitcoin version 0.5.2 is now available for download at:
-http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.2/
-
-This is a bugfix-only release based on 0.5.1.
-
-Please report bugs using the issue tracker at github:
-https://github.com/bitcoin/bitcoin/issues
-
-Stable source code is hosted at Gitorious:
-http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v0.5.2#.tar.gz
-
-BUG FIXES
-
-Check all transactions in blocks after the last checkpoint (0.5.0 and 0.5.1 skipped checking ECDSA signatures during initial blockchain download).
-Cease locking memory used by non-sensitive information (this caused a huge performance hit on some platforms, especially noticable during initial blockchain download; this was
-not a security vulnerability).
-Fixed some address-handling deadlocks (client freezes).
-No longer accept inbound connections over the internet when Bitcoin is being used with Tor (identity leak).
-Re-enable SSL support for the JSON-RPC interface (it was unintentionally disabled for the 0.5.0 and 0.5.1 release Linux binaries).
-Use the correct base transaction fee of 0.0005 BTC for accepting transactions into mined blocks (since 0.4.0, it was incorrectly accepting 0.0001 BTC which was only meant to be relayed).
-Don't show "IP" for transactions which are not necessarily IP transactions.
-Add new DNS seeds (maintained by Pieter Wuille and Luke Dashjr).
diff --git a/doc/release-notes/release-notes-0.5.3.md b/doc/release-notes/release-notes-0.5.3.md
deleted file mode 100644 (file)
index 7c84c53..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-Bitcoin version 0.5.3 is now available for download at:
-http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.3/
-
-This is a bugfix-only release based on 0.5.1.
-It also includes a few protocol updates.
-
-Please report bugs using the issue tracker at github:
-https://github.com/bitcoin/bitcoin/issues
-
-Stable source code is hosted at Gitorious:
-http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v0.5.3#.tar.gz
-
-PROTOCOL UPDATES
-
-BIP 30: Introduce a new network rule: "a block is not valid if it contains a transaction whose hash already exists in the block chain, unless all that transaction's outputs were already spent before said block" beginning on March 15, 2012, 00:00 UTC.
-On testnet, allow mining of min-difficulty blocks if 20 minutes have gone by without mining a regular-difficulty block. This is to make testing Bitcoin easier, and will not affect normal mode.
-
-BUG FIXES
-
-Limit the number of orphan transactions stored in memory, to prevent a potential denial-of-service attack by flooding orphan transactions. Also never store invalid transactions at all.
-Fix possible buffer overflow on systems with very long application data paths. This is not exploitable.
-Resolved multiple bugs preventing long-term unlocking of encrypted wallets
-(issue #922).
-Only send local IP in "version" messages if it is globally routable (ie, not private), and try to get such an IP from UPnP if applicable.
-Reannounce UPnP port forwards every 20 minutes, to workaround routers expiring old entries, and allow the -upnp option to override any stored setting.
-Skip splash screen when -min is used, and fix Minimize to Tray function.
-Do not blank "label" in Bitcoin-Qt "Send" tab, if the user has already entered something.
-Correct various labels and messages.
-Various memory leaks and potential null pointer deferences have been fixed.
-Handle invalid Bitcoin URIs using "bitcoin://" instead of "bitcoin:".
-Several shutdown issues have been fixed.
-Revert to "global progress indication", as starting from zero every time was considered too confusing for many users.
-Check that keys stored in the wallet are valid at startup, and if not, report corruption.
-Enable accessible widgets on Windows, so that people with screen readers such as NVDA can make sense of it.
-Various build fixes.
-If no password is specified to bitcoind, recommend a secure password.
-Automatically focus and scroll to new "Send coins" entries in Bitcoin-Qt.
-Show a message box for --help on Windows, for Bitcoin-Qt.
-Add missing "About Qt" menu option to show built-in Qt About dialog.
-Don't show "-daemon" as an option for Bitcoin-Qt, since it isn't available.
-Update hard-coded fallback seed nodes, choosing recent ones with long uptime and versions at least 0.4.0.
-Add checkpoint at block 168,000.
diff --git a/doc/release-notes/release-notes-0.5.4.md b/doc/release-notes/release-notes-0.5.4.md
deleted file mode 100644 (file)
index fcde3ac..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-Bitcoin version 0.5.4 is now available for download at:
-http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.4/
-NOTE: 0.5.4rc3 is being renamed to 0.5.4 final with no changes.
-
-This is a bugfix-only release in the 0.5.x series, plus a few protocol updates.
-
-Please report bugs using the issue tracker at github:
-https://github.com/bitcoin/bitcoin/issues
-
-Stable source code is hosted at Gitorious:
-http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v0.5.4#.tar.gz
-
-PROTOCOL UPDATES
-
-BIP 16: Special-case "pay to script hash" logic to enable minimal validation of new transactions.
-Support for validating message signatures produced with compressed public keys.
-
-BUG FIXES
-
-Build with thread-safe MingW libraries for Windows, fixing a dangerous memory corruption scenario when exceptions are thrown.
-Fix broken testnet mining.
-Stop excess inventory relay during initial block download.
-When disconnecting a node, clear the received buffer so that we do not process any already received messages.
-Yet another attempt at implementing "minimize to tray" that works on all operating systems.
-Fix Bitcoin-Qt notifications under Growl 1.3.
-Increase required age of Bitcoin-Qt's "not up to date" status from 30 to 90 minutes.
-Implemented missing verifications that led to crash on entering some wrong passphrases for encrypted wallets.
-Fix default filename suffixes in GNOME save dialog.
-Make the "Send coins" tab use the configured unit type, even on the first attempt.
-Print detailed wallet loading errors to debug.log when it is corrupt.
-Allocate exactly the amount of space needed for signing transactions, instead of a fixed 10k buffer.
-Workaround for improbable memory access violation.
-Check wallet's minimum version before trying to load it.
-Remove wxBitcoin properly when installing Bitcoin-Qt over it. (Windows)
-Detail reorganization information better in debug log.
-Use a messagebox to display the error when -server is provided without configuring a RPC password.
-Testing suite build now honours provided CXXFLAGS.
-Removed an extraneous line-break in mature transaction tooltips.
-Fix some grammatical errors in translation process documentation.
diff --git a/doc/release-notes/release-notes-0.5.5.md b/doc/release-notes/release-notes-0.5.5.md
deleted file mode 100644 (file)
index 75ebc3e..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-bitcoind and Bitcoin-Qt version 0.5.5 are now available for download at:
-Windows: installer | zip (sig)
-Source: tar.gz
-bitcoind and Bitcoin-Qt version 0.6.0.7 are also tagged in git, but it is recommended to upgrade to 0.6.1.
-
-These are bugfix-only releases.
-
-Please report bugs by replying to this forum thread. Note that the 0.4.x wxBitcoin GUI client is no longer maintained nor supported. If someone would like to step up to maintain this, they should contact Luke-Jr.
-
-BUG FIXES
-
-Version 0.6.0 allowed importing invalid "private keys", which would be unspendable; 0.6.0.7 will now verify the private key is valid, and refuse to import an invalid one
-Verify status of encrypt/decrypt calls to detect failed padding
-Check blocks for duplicate transactions earlier. Fixes #1167
-Upgrade Windows builds to OpenSSL 1.0.1b
-Set label when selecting an address that already has a label. Fixes #1080 (Bitcoin-Qt)
-JSON-RPC listtransactions's from/count handling is now fixed
-Optimize and fix multithreaded access, when checking whether we already know about transactions
-Fix potential networking deadlock
-Proper support for Growl 1.3 notifications
-Display an error, rather than crashing, if encoding a QR Code failed (0.6.0.7)
-Don't erroneously set "Display addresses" for users who haven't explicitly enabled it (Bitcoin-Qt)
-Some non-ASCII input in JSON-RPC expecting hexadecimal may have been misinterpreted rather than rejected
-Missing error condition checking added
-Do not show green tick unless all known blocks are downloaded. Fixes #921 (Bitcoin-Qt)
-Increase time ago of last block for "up to date" status from 30 to 90 minutes
-Show a message box when runaway exception happens (Bitcoin-Qt)
-Use a messagebox to display the error when -server is provided without providing a rpc password
-Show error message instead of exception crash when unable to bind RPC port (Bitcoin-Qt)
-Correct sign message bitcoin address tooltip. Fixes #1050 (Bitcoin-Qt)
-Removed "(no label)" from QR Code dialog titlebar if we have no label (0.6.0.7)
-Removed an ugly line break in tooltip for mature transactions (0.6.0.7)
-Add missing tooltip and key shortcut in settings dialog (part of #1088) (Bitcoin-Qt)
-Work around issue in boost::program_options that prevents from compiling in clang
-Fixed bugs occurring only on platforms with unsigned characters (such as ARM).
-Rename make_windows_icon.py to .sh as it is a shell script. Fixes #1099 (Bitcoin-Qt)
-Various trivial internal corrections to types used for counting/size loops and warnings
diff --git a/doc/release-notes/release-notes-0.6.0.md b/doc/release-notes/release-notes-0.6.0.md
deleted file mode 100644 (file)
index 1963a36..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-Bitcoin version 0.6.0 is now available for download at:
-http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.6.0/test/
-
-This release includes more than 20 language localizations.
-More translations are welcome; join the
-project at Transifex to help:
-https://www.transifex.net/projects/p/bitcoin/
-
-Please report bugs using the issue tracker at github:
-https://github.com/bitcoin/bitcoin/issues
-
-Project source code is hosted at github; we are no longer
-distributing .tar.gz files here, you can get them
-directly from github:
-https://github.com/bitcoin/bitcoin/tarball/v0.6.0  # .tar.gz
-https://github.com/bitcoin/bitcoin/zipball/v0.6.0  # .zip
-
-For Ubuntu users, there is a ppa maintained by Matt Corallo which
-you can add to your system so that it will automatically keep
-bitcoin up-to-date.  Just type
-sudo apt-add-repository ppa:bitcoin/bitcoin
-in your terminal, then install the bitcoin-qt package.
-
-
-KNOWN ISSUES
-
-Shutting down while synchronizing with the network
-(downloading the blockchain) can take more than a minute,
-because database writes are queued to speed up download
-time.
-
-
-NEW FEATURES SINCE BITCOIN VERSION 0.5
-
-Initial network synchronization should be much faster
-(one or two hours on a typical machine instead of ten or more
-hours).
-
-Backup Wallet menu option.
-
-Bitcoin-Qt can display and save QR codes for sending
-and receiving addresses.
-
-New context menu on addresses to copy/edit/delete them.
-
-New Sign Message dialog that allows you to prove that you
-own a bitcoin address by creating a digital
-signature.
-
-New wallets created with this version will
-use 33-byte 'compressed' public keys instead of
-65-byte public keys, resulting in smaller
-transactions and less traffic on the bitcoin
-network. The shorter keys are already supported
-by the network but wallet.dat files containing
-short keys are not compatible with earlier
-versions of Bitcoin-Qt/bitcoind.
-
-New command-line argument -blocknotify=<command>
-that will spawn a shell process to run <command> 
-when a new block is accepted.
-
-New command-line argument -splash=0 to disable
-Bitcoin-Qt's initial splash screen
-
-validateaddress JSON-RPC api command output includes
-two new fields for addresses in the wallet:
-pubkey : hexadecimal public key
-iscompressed : true if pubkey is a short 33-byte key
-
-New JSON-RPC api commands for dumping/importing
-private keys from the wallet (dumprivkey, importprivkey).
-
-New JSON-RPC api command for getting information about
-blocks (getblock, getblockhash).
-
-New JSON-RPC api command (getmininginfo) for getting
-extra information related to mining. The getinfo
-JSON-RPC command no longer includes mining-related
-information (generate/genproclimit/hashespersec).
-
-
-
-NOTABLE CHANGES
-
-BIP30 implemented (security fix for an attack involving
-duplicate "coinbase transactions").
-
-The -nolisten, -noupnp and -nodnsseed command-line
-options were renamed to -listen, -upnp and -dnsseed,
-with a default value of 1. The old names are still
-supported for compatibility (so specifying -nolisten
-is automatically interpreted as -listen=0; every
-boolean argument can now be specified as either
--foo or -nofoo).
-
-The -noirc command-line options was renamed to
--irc, with a default value of 0. Run -irc=1 to
-get the old behavior.
-
-Three fill-up-available-memory denial-of-service
-attacks were fixed.
-
-
-NOT YET IMPLEMENTED FEATURES
-
-Support for clicking on bitcoin: URIs and
-opening/launching Bitcoin-Qt is available only on Linux,
-and only if you configure your desktop to launch
-Bitcoin-Qt. All platforms support dragging and dropping
-bitcoin: URIs onto the Bitcoin-Qt window to start
-payment.
-
-
-PRELIMINARY SUPPORT FOR MULTISIGNATURE TRANSACTIONS
-
-This release has preliminary support for multisignature
-transactions-- transactions that require authorization
-from more than one person or device before they
-will be accepted by the bitcoin network.
-
-Prior to this release, multisignature transactions
-were considered 'non-standard' and were ignored;
-with this release multisignature transactions are
-considered standard and will start to be relayed
-and accepted into blocks.
-
-It is expected that future releases of Bitcoin-Qt
-will support the creation of multisignature transactions,
-once enough of the network has upgraded so relaying
-and validating them is robust.
-
-For this release, creation and testing of multisignature
-transactions is limited to the bitcoin test network using
-the "addmultisigaddress" JSON-RPC api call.
-
-Short multisignature address support is included in this
-release, as specified in BIP 13 and BIP 16.
diff --git a/doc/release-notes/release-notes-0.6.1.md b/doc/release-notes/release-notes-0.6.1.md
deleted file mode 100644 (file)
index ef7966e..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Never released
-
diff --git a/doc/release-notes/release-notes-0.6.2.md b/doc/release-notes/release-notes-0.6.2.md
deleted file mode 100644 (file)
index bb85fb2..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-Bitcoin version 0.6.2 is now available for download at:
-http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.6.2/
-
-This is a bug-fix and code-cleanup release, with no major new features.
-
-Please report bugs using the github issue tracker at:
-https://github.com/bitcoin/bitcoin/issues
-
-
-NOTABLE CHANGES
-
-Much faster shutdowns. However, the blkindex.dat file is no longer
-portable to different data directories by default. If you need a
-portable blkindex.dat file then run with the new -detachdb=1 option
-or the "Detach databases at shutdown" GUI preference.
-
-Fixed https://github.com/bitcoin/bitcoin/issues/1065, a bug that
-could cause long-running nodes to crash.
-
-Mac and Windows binaries are compiled against OpenSSL 1.0.1b (Linux
-binaries are dynamically linked to the version of OpenSSL on the system).
-
-
-CHANGE SUMMARY
-
-Use 'git shortlog --no-merges v0.6.0..' for a summary of this release.
-
-Source codebase changes:
-- Many source code cleanups and warnings fixes.  Close to building with -Wall
-- Locking overhaul, and several minor locking fixes
-- Several source code portability fixes, e.g. FreeBSD
-
-JSON-RPC interface changes:
-- addmultisigaddress enabled for mainnet (previously only enabled for testnet)
-
-Network protocol changes:
-- protocol version 60001
-- added nonce value to "ping" message (BIP 31)
-- added new "pong" message (BIP 31)
-
-Backend storage changes:
-- Less redundant database flushing, especially during initial block download
-- Shutdown improvements (see above)
-
-Qt user interface:
-- minor URI handling improvements
-- progressbar improvements
-- error handling improvements (show message box rather than console exception,
-etc.)
-- by popular request, make 4th bar of connection icon green
diff --git a/doc/release-notes/release-notes-0.6.3.md b/doc/release-notes/release-notes-0.6.3.md
deleted file mode 100644 (file)
index 28bb20e..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-Bitcoin version 0.6.3 is now available for download at:
-  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.6.3/
-
-This is a bug-fix release, with no new features.
-
-Please report bugs using the issue tracker at github:
-  https://github.com/bitcoin/bitcoin/issues
-
-CHANGE SUMMARY
-
-Fixed a serious denial-of-service attack that could cause the
-bitcoin process to become unresponsive. Thanks to Sergio Lerner
-for finding and responsibly reporting the problem. (CVE-2012-3789)
-
-Optimized the process of checking transaction signatures, to
-speed up processing of new block messages and make propagating
-blocks across the network faster.
-
-Fixed an obscure bug that could cause the bitcoin process to get
-stuck on an invalid block-chain, if the invalid chain was
-hundreds of blocks long.
-
-Bitcoin-Qt no longer automatically selects the first address
-in the address book (Issue #1384).
-
-Fixed minimize-to-dock behavior of Bitcon-Qt on the Mac.
-
-Added a block checkpoint at block 185,333 to speed up initial
-blockchain download.
diff --git a/doc/release-notes/release-notes-0.7.0.md b/doc/release-notes/release-notes-0.7.0.md
deleted file mode 100644 (file)
index d33a58f..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-Bitcoin version 0.7.0 is now available for download at:
-  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.7.0/
-
-We recommend that everybody running prior versions of bitcoind/Bitcoin-Qt
-upgrade to this release, except for users running Mac OSX 10.5.
-
-Please report bugs using the issue tracker at github:
-  https://github.com/bitcoin/bitcoin/issues
-
-Project source code is hosted at github; you can get
-source-only tarballs/zipballs directly from there:
-  https://github.com/bitcoin/bitcoin/tarball/v0.7.0  # .tar.gz
-  https://github.com/bitcoin/bitcoin/zipball/v0.7.0  # .zip
-
-Ubuntu Linux users can use the "Personal Package Archive" (PPA)
-maintained by Matt Corallo to automatically keep 
-bitcoin up-to-date.  Just type
-  sudo apt-add-repository ppa:bitcoin/bitcoin
-  sudo apt-get update
-in your terminal, then install the bitcoin-qt package:
-  sudo apt-get install bitcoin-qt
-
-
-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 for older
-versions), then run the installer (on Windows) or just copy over
-Code:
-/Applications/Bitcoin-Qt
-(on Mac) or
-Code:
-bitcoind/bitcoin-qt
-(on Linux).
-
-If you were running on Linux with a version that might have been compiled
-with a different version of Berkeley DB (for example, if you were using the
-PPA and are switching to the binary release), then run the old version again
-with the -detachdb argument and shut it down; if you do not, then the new
-version will not be able to read the database files and will exit with an error.
-
-Incompatible Changes
-
-* Replaced the 'getmemorypool' RPC command with 'getblocktemplate/submitblock'
-  and 'getrawmempool' commands.
-* Remove deprecated RPC 'getblocknumber'
-
-Bitcoin Improvement Proposals implemented
-
-BIP 22 - 'getblocktemplate', 'submitblock' RPCs
-BIP 34 - block version 2, height in coinbase
-BIP 35 - 'mempool' message, extended 'getdata' message behavior
-
-
-Core bitcoin handling and blockchain database
-
-* Reduced CPU usage, by eliminating some redundant hash calculations
-* Cache signature verifications, to eliminate redundant signature checks
-* Transactions with zero-value outputs are considered non-standard
-* Mining: when creating new blocks, sort 'paid' area by fee-per-kb
-* Database: better validation of on-disk stored data
-* Database: minor optimizations and reliability improvements
-* -loadblock=FILE will import an external block file
-* Additional DoS (denial-of-service) prevention measures
-* New blockchain checkpoint at block 193,000
-
-
-JSON-RPC API
-
-* Internal HTTP server is now thread-per-connection, rather than
-  a single-threaded queue that would stall on network I/O.
-* Internal HTTP server supports HTTP/1.1, pipelined requests and
-  connection keep-alive.
-* Support JSON-RPC 2.0 batches, to encapsulate multiple JSON-RPC requests
-  within a single HTTP request.
-* IPv6 support
-* Added raw transaction API.  See https://gist.github.com/2839617
-* Added 'getrawmempool', to list contents of TX memory pool
-* Added 'getpeerinfo', to list data about each connected network peer
-* Added 'listaddressgroupings' for better coin control
-* Rework getblock call.
-* Remove deprecated RPC 'getblocknumber'
-* Remove superceded RPC 'getmemorypool' (see BIP 22, above)
-* listtransactions output now displays "smart" times for transactions,
-  and 'blocktime' and 'timereceived' fields were added
-
-
-P2P networking
-
-* IPv6 support
-* Tor hidden service support (see doc/Tor.txt)
-* Attempts to fix "stuck blockchain download" problems
-* Replace BDB database "addr.dat" with internally-managed "peers.dat"
-  file containing peer address data.
-* Lower default send buffer from 10MB to 1MB
-* proxy: SOCKS5 by default
-* Support connecting by hostnames passed to proxy
-* Add -seednode connections, and use this instead of DNS seeds when proxied
-* Added -externalip and -discover
-* Add -onlynet to connect only to a given network (IPv4, IPv6, or Tor)
-* Separate listening sockets, -bind=<addr>
-
-
-Qt GUI
-
-* Add UI RPC console / debug window
-* Re-Enable URI handling on Windows, add safety checks and tray-notifications
-* Harmonize the use of ellipsis ("...") to be used in menus, but not on buttons
-* Add 2 labels to the overviewpage that display Wallet and Transaction status (obsolete or current)
-* Extend the optionsdialog (e.g. language selection) and re-work it to a tabbed UI
-* Merge sign/verify message into a single window with tabbed UI
-* Ensure a changed bitcoin unit immediately updates all GUI elements that use units
-* Update QR Code dialog
-* Improve error reporting at startup
-* Fine-grained UI updates for a much smoother UI during block downloads
-* Remove autocorrection of 0/i in addresses in UI
-* Reorganize tray icon menu into more logical order
-* Persistently poll for balance change when number of blocks changed
-* Much better translations
-* Override progress bar design on platforms with segmented progress bars to assist with readability
-* Added 'immature balance' display on the overview page
-* (Windows only): enable ASLR and DEP for bitcoin-qt.exe
-* (Windows only): add meta-data to bitcoin-qt.exe (e.g. description)
-
-Internal codebase
-
-* Additional unit tests
-* Compile warning fixes
-
-
-Miscellaneous
-
-* Reopen debug.log upon SIGHUP
-* Bash programmable completion for bitcoind(1)
-* On supported OS's, each thread is given a useful name
-
-
-Thanks to everybody who contributed to this release:
-
-Chris Moore
-Christian von Roques
-David Joel Schwartz
-Douglas Huff
-Fordy
-Gavin Andresen
-Giel van Schijndel
-Gregory Maxwell
-Jeff Garzik
-Luke Dashjr
-Matt Corallo
-Michael Ford
-Michael Hendricks
-Peter Todd
-Philip Kaufmann
-Pieter Wuille
-R E Broadley
-Ricardo M. Correia
-Rune K. Svendsen
-Scott Ellis
-Stephane Glondu
-Wladimir J. van der Laan
-cardpuncher
-coderrr
-fanquake
-grimd34th
-sje397
-xanatos
-
-Thanks to Sergio Lerner for reporting denial-of-service vulnerabilities fixed in this release.
diff --git a/doc/release-notes/release-notes-0.7.1.md b/doc/release-notes/release-notes-0.7.1.md
deleted file mode 100644 (file)
index 22e910c..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-Bitcoin version 0.7.1 is now available from:
-  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.7.1/
-
-This is a bug-fix minor release.
-
-Please report bugs using the issue tracker at github:
-  https://github.com/bitcoin/bitcoin/issues
-
-Project source code is hosted at github; you can get
-source-only tarballs/zipballs directly from there:
-  https://github.com/bitcoin/bitcoin/tarball/v0.7.1  # .tar.gz
-  https://github.com/bitcoin/bitcoin/zipball/v0.7.1  # .zip
-
-Ubuntu Linux users can use the "Personal Package Archive" (PPA)
-maintained by Matt Corallo to automatically keep 
-up-to-date.  Just type:
-  sudo apt-add-repository ppa:bitcoin/bitcoin
-  sudo apt-get update
-in your terminal, then install the bitcoin-qt package:
-  sudo apt-get install bitcoin-qt
-
-KNOWN ISSUES
-------------
-
-Mac OSX 10.5 is no longer supported.
-
-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 for older
-versions), then run the installer (on Windows) or just copy over
-/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
-
-If you were running on Linux with a version that might have been compiled
-with a different version of Berkeley DB (for example, if you were using an
-Ubuntu PPA version), then run the old version again with the -detachdb
-argument and shut it down; if you do not, then the new version will not
-be able to read the database files and will exit with an error.
-
-Explanation of -detachdb (and the new "stop true" RPC command):
-The Berkeley DB database library stores data in both ".dat" and
-"log" files, so the database is always in a consistent state,
-even in case of power failure or other sudden shutdown. The
-format of the ".dat" files is portable between different
-versions of Berkeley DB, but the "log" files are not-- even minor
-version differences may have incompatible "log" files. The
--detachdb option moves any pending changes from the "log" files
-to the "blkindex.dat" file for maximum compatibility, but makes
-shutdown much slower. Note that the "wallet.dat" file is always
-detached, and versions prior to 0.6.0 detached all databases
-at shutdown.
-
-New features
-------------
-
-* Added a boolean argument to the RPC 'stop' command, if true sets
-  -detachdb to create standalone database .dat files before shutting down.
-
-* -salvagewallet command-line option, which moves any existing wallet.dat
-  to wallet.{timestamp}.dat and then attempts to salvage public/private
-  keys and master encryption keys (if the wallet is encrypted) into
-  a new wallet.dat. This should only be used if your wallet becomes
-  corrupted, and is not intended to replace regular wallet backups.
-
-* Import $DataDir/bootstrap.dat automatically, if it exists.
-
-Dependency changes
-------------------
-
-* Qt 4.8.2 for Windows builds
-
-* openssl 1.0.1c
-
-Bug fixes
----------
-
-* Clicking on a bitcoin: URI on Windows should now launch Bitcoin-Qt properly.
-
-* When running -testnet, use RPC port 18332 by default.
-
-* Better detection and handling of corrupt wallet.dat and blkindex.dat files.
-  Previous versions would crash with a DB_RUNRECOVERY exception, this
-  version detects most problems and tells you how to recover if it
-  cannot recover itself.
-
-* Fixed an uninitialized variable bug that could cause transactions to
-  be reported out of order.
-
-* Fixed a bug that could cause occasional crashes on exit.
-
-* Warn the user that they need to create fresh wallet backups after they
-  encrypt their wallet.
-
-----------------------------------------------------
-Thanks to everybody who contributed to this release:
-
-Gavin Andresen
-Jeff Garzik
-Luke Dashjr
-Mark Friedenbach
-Matt Corallo
-Philip Kaufmann
-Pieter Wuille
-Rune K. Svendsen
-Virgil Dupras
-Wladimir J. van der Laan
-fanquake
-kjj2
-xanatos
diff --git a/doc/release-notes/release-notes-0.7.2.md b/doc/release-notes/release-notes-0.7.2.md
deleted file mode 100644 (file)
index 40af349..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-Bitcoin version 0.7.2 is now available from:
-  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.7.2
-
-This is a bug-fix minor release.
-
-Please report bugs using the issue tracker at github:
-  https://github.com/bitcoin/bitcoin/issues
-
-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 for older
-versions), then run the installer (on Windows) or just copy over
-/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
-
-If you were running on Linux with a version that might have been compiled
-with a different version of Berkeley DB (for example, if you were using an
-Ubuntu PPA version), then run the old version again with the -detachdb
-argument and shut it down; if you do not, then the new version will not
-be able to read the database files and will exit with an error.
-
-Explanation of -detachdb (and the new "stop true" RPC command):
-The Berkeley DB database library stores data in both ".dat" and
-"log" files, so the database is always in a consistent state,
-even in case of power failure or other sudden shutdown. The
-format of the ".dat" files is portable between different
-versions of Berkeley DB, but the "log" files are not-- even minor
-version differences may have incompatible "log" files. The
--detachdb option moves any pending changes from the "log" files
-to the "blkindex.dat" file for maximum compatibility, but makes
-shutdown much slower. Note that the "wallet.dat" file is always
-detached, and versions prior to 0.6.0 detached all databases
-at shutdown.
-
-Bug fixes
----------
-
-* Prevent RPC 'move' from deadlocking. This was caused by trying to lock the
-  database twice.
-
-* Fix use-after-free problems in initialization and shutdown, the latter of
-  which caused Bitcoin-Qt to crash on Windows when exiting.
-
-* Correct library linking so building on Windows natively works.
-
-* Avoid a race condition and out-of-bounds read in block creation/mining code.
-
-* Improve platform compatibility quirks, including fix for 100% CPU utilization
-  on FreeBSD 9.
-
-* A few minor corrections to error handling, and updated translations.
-
-* OSX 10.5 supported again
-
-----------------------------------------------------
-Thanks to everybody who contributed to this release:
-
-Alex
-dansmith
-Gavin Andresen
-Gregory Maxwell
-Jeff Garzik
-Luke Dashjr
-Philip Kaufmann
-Pieter Wuille
-Wladimir J. van der Laan
-grimd34th
diff --git a/doc/release-notes/release-notes-0.8.0.md b/doc/release-notes/release-notes-0.8.0.md
deleted file mode 100644 (file)
index 4e98a77..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-Bitcoin-Qt version 0.8.0 is now available from:
-  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.0/
-
-This is a major release designed to improve performance and handle the
-increasing volume of transactions on the network.
-
-Please report bugs using the issue tracker at github:
-  https://github.com/bitcoin/bitcoin/issues
-
-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 for older
-versions), then run the installer (on Windows) or just copy over
-/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
-
-The first time you run after the upgrade a re-indexing process will be
-started that will take anywhere from 30 minutes to several hours,
-depending on the speed of your machine.
-
-Incompatible Changes
---------------------
-
-This release no longer maintains a full index of historical transaction ids
-by default, so looking up an arbitrary transaction using the getrawtransaction
-RPC call will not work. If you need that functionality, you must run once
-with -txindex=1 -reindex=1 to rebuild block-chain indices (see below for more
-details).
-
-Improvements
-------------
-
-Mac and Windows binaries are signed with certificates owned by the Bitcoin
-Foundation, to be compatible with the new security features in OSX 10.8 and
-Windows 8.
-
-LevelDB, a fast, open-source, non-relational database from Google, is
-now used to store transaction and block indices.  LevelDB works much better
-on machines with slow I/O and is faster in general. Berkeley DB is now only
-used for the wallet.dat file (public and private wallet keys and transactions
-relevant to you).
-
-Pieter Wuille implemented many optimizations to the way transactions are
-verified, so a running, synchronized node uses less working memory and does
-much less I/O. He also implemented parallel signature checking, so if you
-have a multi-CPU machine all CPUs will be used to verify transactions.
-
-New Features
-------------
-
-"Bloom filter" support in the network protocol for sending only relevant transactions to
-lightweight clients.
-
-contrib/verifysfbinaries is a shell-script to verify that the binary downloads
-at sourceforge have not been tampered with. If you are able, you can help make
-everybody's downloads more secure by running this occasionally to check PGP
-signatures against download file checksums.
-
-contrib/spendfrom is a python-language command-line utility that demonstrates
-how to use the "raw transactions" JSON-RPC api to send coins received from particular
-addresses (also known as "coin control").
-
-New/changed settings (command-line or bitcoin.conf file)
---------------------------------------------------------
-
-dbcache : controls LevelDB memory usage.
-
-par : controls how many threads to use to validate transactions. Defaults to the number
-of CPUs on your machine, use -par=1 to limit to a single CPU.
-
-txindex : maintains an extra index of old, spent transaction ids so they will be found
-by the getrawtransaction JSON-RPC method.
-
-reindex : rebuild block and transaction indices from the downloaded block data.
-
-New JSON-RPC API Features
--------------------------
-
-lockunspent / listlockunspent allow locking transaction outputs for a period of time so
-they will not be spent by other processes that might be accessing the same wallet.
-
-addnode / getaddednodeinfo methods, to connect to specific peers without restarting.
-
-importprivkey now takes an optional boolean parameter (default true) to control whether
-or not to rescan the blockchain for transactions after importing a new private key.
-
-Important Bug Fixes
--------------------
-
-Privacy leak: the position of the "change" output in most transactions was not being
-properly randomized, making network analysis of the transaction graph to identify
-users' wallets easier. 
-
-Zero-confirmation transaction vulnerability: accepting zero-confirmation transactions
-(transactions that have not yet been included in a block) from somebody you do not
-trust is still not recommended, because there will always be ways for attackers to
-double-spend zero-confirmation transactions. However, this release includes a bug
-fix that makes it a little bit more difficult for attackers to double-spend a
-certain type ("lockTime in the future") of zero-confirmation transaction.
-
-Dependency Changes
-------------------
-
-Qt 4.8.3 (compiling against older versions of Qt 4 should continue to work)
-
-
-Thanks to everybody who contributed to this release:
-----------------------------------------------------
-
-Alexander Kjeldaas
-Andrey Alekseenko
-Arnav Singh
-Christian von Roques
-Eric Lombrozo
-Forrest Voight
-Gavin Andresen
-Gregory Maxwell
-Jeff Garzik
-Luke Dashjr
-Matt Corallo
-Mike Cassano
-Mike Hearn
-Peter Todd
-Philip Kaufmann
-Pieter Wuille
-Richard Schwab
-Robert Backhaus
-Rune K. Svendsen
-Sergio Demian Lerner
-Wladimir J. van der Laan
-burger2
-default
-fanquake
-grimd34th
-justmoon
-redshark1802
-tucenaber
-xanatos
diff --git a/doc/release-notes/release-notes-0.8.1.md b/doc/release-notes/release-notes-0.8.1.md
deleted file mode 100644 (file)
index 4fd546b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-Bitcoin-Qt/bitcoind version 0.8.1 is now available from:
-  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/
-
-This is a maintenance release that adds a new network rule to avoid
-a chain-forking incompatibility with versions 0.7.2 and earlier.
-
-Please report bugs using the issue tracker at github:
-  https://github.com/bitcoin/bitcoin/issues
-
-
-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 for older
-versions), then run the installer (on Windows) or just copy over
-/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
-
-If you are upgrading from version 0.7.2 or earlier, the first time you
-run 0.8.1 your blockchain files will be re-indexed, which will take
-anywhere from 30 minutes to several hours, depending on the speed of
-your machine.
diff --git a/doc/release-notes/release-notes-0.8.2.md b/doc/release-notes/release-notes-0.8.2.md
deleted file mode 100644 (file)
index eea9ba2..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-Bitcoin-Qt version 0.8.2 is now available from:
-  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.2/
-
-This is a maintenance release that fixes many bugs and includes
-a few small new features.
-
-Please report bugs using the issue tracker at github:
-  https://github.com/bitcoin/bitcoin/issues
-
-
-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 for older
-versions), then run the installer (on Windows) or just copy over
-/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
-
-If you are upgrading from version 0.7.2 or earlier, the first time you
-run 0.8.2 your blockchain files will be re-indexed, which will take
-anywhere from 30 minutes to several hours, depending on the speed of
-your machine.
-
-0.8.2 Release notes
-
-Fee Policy changes
-
-The default fee for low-priority transactions is lowered from 0.0005 BTC 
-(for each 1,000 bytes in the transaction; an average transaction is
-about 500 bytes) to 0.0001 BTC.
-
-Payments (transaction outputs) of 0.543 times the minimum relay fee
-(0.00005430 BTC) are now considered 'non-standard', because storing them
-costs the network more than they are worth and spending them will usually
-cost their owner more in transaction fees than they are worth.
-
-Non-standard transactions are not relayed across the network, are not included
-in blocks by most miners, and will not show up in your wallet until they are
-included in a block.
-
-The default fee policy can be overridden using the -mintxfee and -minrelaytxfee
-command-line options, but note that we intend to replace the hard-coded fees
-with code that automatically calculates and suggests appropriate fees in the
-0.9 release and note that if you set a fee policy significantly different from
-the rest of the network your transactions may never confirm.
-
-Bitcoin-Qt changes
-
-* New icon and splash screen
-* Improve reporting of synchronization process
-* Remove hardcoded fee recommendations
-* Improve metadata of executable on MacOSX and Windows
-* Move export button to individual tabs instead of toolbar
-* Add "send coins" command to context menu in address book
-* Add "copy txid" command to copy transaction IDs from transaction overview
-* Save & restore window size and position when showing & hiding window
-* New translations: Arabic (ar), Bosnian (bs), Catalan (ca), Welsh (cy),
-  Esperanto (eo), Interlingua (la), Latvian (lv) and many improvements
-  to current translations
-
-MacOSX:
-* OSX support for click-to-pay (bitcoin:) links
-* Fix GUI disappearing problem on MacOSX (issue #1522)
-
-Linux/Unix:
-* Copy addresses to middle-mouse-button clipboard
-
-
-Command-line options
-
-* -walletnotify will call a command on receiving transactions that affect the wallet.
-* -alertnotify will call a command on receiving an alert from the network.
-* -par now takes a negative number, to leave a certain amount of cores free.
-
-JSON-RPC API changes
-
-* fixed a getblocktemplate bug that caused excessive CPU creating blocks.
-* listunspent now lists account and address information.
-* getinfo now also returns the time adjustment estimated from your peers.
-* getpeerinfo now returns bytessent, bytesrecv and syncnode.
-* gettxoutsetinfo returns statistics about the unspent transaction output database.
-* gettxout returns information about a specific unspent transaction output.
-
-
-Networking changes
-
-* Significant changes to the networking code, reducing latency and memory consumption.
-* Avoid initial block download stalling.
-* Remove IRC seeding support.
-* Performance tweaks.
-* Added testnet DNS seeds.
-
-Wallet compatibility/rescuing
-
-* Cases where wallets cannot be opened in another version/installation should be reduced.
-* -salvagewallet now works for encrypted wallets.
-
-
-Known Bugs
-
-* Entering the 'getblocktemplate' or 'getwork' RPC commands into the Bitcoin-Qt debug
-console will cause Bitcoin-Qt to crash. Run Bitcoin-Qt with the -server command-line
-option to workaround.
-
-Thanks to everybody who contributed to the 0.8.2 release!
-
-APerson241
-Andrew Poelstra
-Calvin Owens
-Chuck LeDuc Díaz
-Colin Dean
-David Griffith
-David Serrano
-Eric Lombrozo
-Gavin Andresen
-Gregory Maxwell
-Jeff Garzik
-Jonas Schnelli
-Larry Gilbert
-Luke Dashjr
-Matt Corallo
-Michael Ford
-Mike Hearn
-Patrick Brown
-Peter Todd
-Philip Kaufmann
-Pieter Wuille
-Richard Schwab
-Roman Mindalev
-Scott Howard
-Tariq Bashir
-Warren Togami
-Wladimir J. van der Laan
-freewil
-gladoscc
-kjj2
-mb300sd
-super3
diff --git a/doc/release-notes/release-notes-0.8.3.md b/doc/release-notes/release-notes-0.8.3.md
deleted file mode 100644 (file)
index 856c20a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-Bitcoin-Qt version 0.8.3 is now available from:
-  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.3/
-
-This is a maintenance release to fix a denial-of-service attack that
-can cause nodes to crash.
-
-Please report bugs using the issue tracker at github:
-  https://github.com/bitcoin/bitcoin/issues
-
-0.8.3 Release notes
-
-Truncate over-size messages to prevent a memory exhaustion attack.
-
-Fix a regression that causes excessive re-writing of the 'peers.dat' file.
-
-
-Thanks to Peter Todd for responsibly disclosing the vulnerability
-( CVE-2013-4627 ) and creating a fix.
diff --git a/doc/release-notes/release-notes-0.8.4.md b/doc/release-notes/release-notes-0.8.4.md
deleted file mode 100644 (file)
index c6f31f1..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-Bitcoin-Qt version 0.8.4 is now available from:
-  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.4/
-
-This is a maintenance release to fix a critical bug and three
-security issues; we urge all users to upgrade.
-
-Please report bugs using the issue tracker at github:
-  https://github.com/bitcoin/bitcoin/issues
-
-
-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 for older
-versions), then run the installer (on Windows) or just copy over
-/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
-
-If you are upgrading from version 0.7.2 or earlier, the first time you
-run 0.8.4 your blockchain files will be re-indexed, which will take
-anywhere from 30 minutes to several hours, depending on the speed of
-your machine.
-
-0.8.4 Release notes
-===================
-
-Security issues
----------------
-
-An attacker could send a series of messages that resulted in
-an integer division-by-zero error in the Bloom Filter handling
-code, causing the Bitcoin-Qt or bitcoind process to crash.
-Bloom filters were introduced with version 0.8, so versions 0.8.0
-through 0.8.3 are vulnerable to this critical denial-of-service attack.
-
-A constant-time algorithm is now used to check RPC password
-guess attempts; fixes https://github.com/bitcoin/bitcoin/issues/2838
-(CVE-2013-4165)
-
-Implement a better fix for the fill-memory-with-orphan-transactions
-attack that was fixed in 0.8.3. See
-https://bitslog.wordpress.com/2013/07/18/buggy-cve-2013-4627-patch-open-new-vectors-of-attack/
-for a description of the weaknesses of the previous fix.
-(CVE-2013-4627)
-
-Bugs fixed
-----------
-
-Fix multi-block reorg transaction resurrection.
-
-Fix non-standard disconnected transactions causing mempool orphans.
-This bug could cause nodes running with the -debug flag to crash.
-
-OSX: use 'FD_FULLSYNC' with LevelDB, which will (hopefully!)
-prevent the database corruption issues many people have
-experienced on OSX.
-
-Linux: clicking on bitcoin: links was broken if you were using
-a Gnome-based desktop.
-
-Fix a hang-at-shutdown bug that only affects users that compile
-their own version of Bitcoin against Boost versions 1.50-1.52.
-
-Other changes
--------------
-
-Checkpoint at block 250,000 to speed up initial block downloads
-and make the progress indicator when downloading more accurate.
-
-
-Thanks to everybody who contributed to the 0.8.4 releases!
-----------------------------------------------------------
-
-Pieter Wuille
-Warren Togami
-Patrick Strateman
-pakt
-Gregory Maxwell
-Sergio Demian Lerner
-grayleonard
-Cory Fields
-Matt Corallo
-Gavin Andresen
diff --git a/doc/release-notes/release-notes-0.8.5.md b/doc/release-notes/release-notes-0.8.5.md
deleted file mode 100644 (file)
index aa93fe7..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-Bitcoin-Qt version 0.8.5 is now available from:
-  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.5/
-
-This is a maintenance release to fix a critical bug;
-we urge all users to upgrade.
-
-Please report bugs using the issue tracker at github:
-  https://github.com/bitcoin/bitcoin/issues
-
-
-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 for older
-versions), then run the installer (on Windows) or just copy over
-/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
-
-If you are upgrading from version 0.7.2 or earlier, the first time you
-run 0.8.5 your blockchain files will be re-indexed, which will take
-anywhere from 30 minutes to several hours, depending on the speed of
-your machine.
-
-0.8.5 Release notes
-===================
-
-Bugs fixed
-----------
-
-Transactions with version numbers larger than 0x7fffffff were
-incorrectly being relayed and included in blocks.
-
-Blocks containing transactions with version numbers larger
-than 0x7fffffff caused the code that checks for LevelDB database
-inconsistencies at startup to erroneously report database
-corruption and suggest that you reindex your database.
-
-This release also contains a non-critical fix to the code that
-enforces BIP 34 (block height in the coinbase transaction).
-
---
-
-Thanks to Gregory Maxwell and Pieter Wuille for quickly
-identifying and fixing the transaction version number bug.
diff --git a/doc/release-notes/release-notes-0.8.6.md b/doc/release-notes/release-notes-0.8.6.md
deleted file mode 100644 (file)
index 39a45e0..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-Bitcoin-Qt version 0.8.6 final is now available from:
-
-  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.6/
-
-This is a maintenance release to fix a critical bug; we urge all users to upgrade.
-
-Please report bugs using the issue tracker at github:
-
-  https://github.com/bitcoin/bitcoin/issues
-
-How to Upgrade
---------------
-
-If you already downloaded 0.8.6rc1 you do not need to re-download. This release is exactly the same.
-
-If you are running an older version, shut it down. Wait
-until it has completely shut down (which might take a few minutes for older
-versions), then run the installer (on Windows) or just copy over
-/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
-
-If you are upgrading from version 0.7.2 or earlier, the first time you
-run 0.8.6 your blockchain files will be re-indexed, which will take
-anywhere from 30 minutes to several hours, depending on the speed of
-your machine.
-
-0.8.6 Release notes
-===================
-
-- Default block size increase for miners.
-  (see https://gist.github.com/gavinandresen/7670433#086-accept-into-block)
-
-- Remove the all-outputs-must-be-greater-than-CENT-to-qualify-as-free rule for relaying
-  (see https://gist.github.com/gavinandresen/7670433#086-relaying)
-
-- Lower maximum size for free transaction creation
-  (see https://gist.github.com/gavinandresen/7670433#086-wallet)
-
-- OSX block chain database corruption fixes
-  - Update leveldb to 1.13
-  - Use fcntl with `F_FULLSYNC` instead of fsync on OSX
-  - Use native Darwin memory barriers
-  - Replace use of mmap in leveldb for improved reliability (only on OSX)
-
-- Fix nodes forwarding transactions with empty vins and getting banned
-
-- Network code performance and robustness improvements
-
-- Additional debug.log logging for diagnosis of network problems, log timestamps by default
-
-- Fix Bitcoin-Qt startup crash when clicking dock icon on OSX 
-
-- Fix memory leaks in CKey::SetCompactSignature() and Key::SignCompact()
-
-- Fix rare GUI crash on send
-
-- Various small GUI, documentation and build fixes
-
-Warning
--------
-
-- There have been frequent reports of users running out of virtual memory on 32-bit systems
-  during the initial sync.
-  Hence it is recommended to use a 64-bit executable if possible.
-  A 64-bit executable for Windows is planned for 0.9.
-
-Note: Gavin Andresen's GPG signing key for SHA256SUMS.asc has been changed from  key id 1FC730C1 to sub key 7BF6E212 (see https://github.com/bitcoin/bitcoin.org/pull/279).
diff --git a/doc/release-notes/release-notes-0.9.0.md b/doc/release-notes/release-notes-0.9.0.md
deleted file mode 100644 (file)
index 170410c..0000000
+++ /dev/null
@@ -1,411 +0,0 @@
-Bitcoin Core version 0.9.0 is now available from:
-
-  https://bitcoin.org/bin/0.9.0/
-
-This is a new major version release, bringing both new features and
-bug fixes.
-
-Please report bugs using the issue tracker at github:
-
-  https://github.com/bitcoin/bitcoin/issues
-
-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 for older versions), uninstall all
-earlier versions of Bitcoin, then run the installer (on Windows) or just copy
-over /Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
-
-If you are upgrading from version 0.7.2 or earlier, the first time you run
-0.9.0 your blockchain files will be re-indexed, which will take anywhere from 
-30 minutes to several hours, depending on the speed of your machine.
-
-On Windows, do not forget to uninstall all earlier versions of the Bitcoin
-client first, especially if you are switching to the 64-bit version.
-
-Windows 64-bit installer
--------------------------
-
-New in 0.9.0 is the Windows 64-bit version of the client. There have been
-frequent reports of users running out of virtual memory on 32-bit systems
-during the initial sync. Because of this it is recommended to install the
-64-bit version if your system supports it.
-
-NOTE: Release candidate 2 Windows binaries are not code-signed; use PGP
-and the SHA256SUMS.asc file to make sure your binaries are correct.
-In the final 0.9.0 release, Windows setup.exe binaries will be code-signed.
-
-OSX 10.5 / 32-bit no longer supported
--------------------------------------
-
-0.9.0 drops support for older Macs. The minimum requirements are now:
-* A 64-bit-capable CPU (see http://support.apple.com/kb/ht3696);
-* Mac OS 10.6 or later (see https://support.apple.com/kb/ht1633).
-
-Downgrading warnings
---------------------
-
-The 'chainstate' for this release is not always compatible with previous
-releases, so if you run 0.9 and then decide to switch back to a
-0.8.x release you might get a blockchain validation error when starting the
-old release (due to 'pruned outputs' being omitted from the index of
-unspent transaction outputs).
-
-Running the old release with the -reindex option will rebuild the chainstate
-data structures and correct the problem.
-
-Also, the first time you run a 0.8.x release on a 0.9 wallet it will rescan
-the blockchain for missing spent coins, which will take a long time (tens
-of minutes on a typical machine).
-
-Rebranding to Bitcoin Core
----------------------------
-
-To reduce confusion between Bitcoin-the-network and Bitcoin-the-software we
-have renamed the reference client to Bitcoin Core.
-
-
-OP_RETURN and data in the block chain
--------------------------------------
-On OP_RETURN:  There was been some confusion and misunderstanding in
-the community, regarding the OP_RETURN feature in 0.9 and data in the
-blockchain.  This change is not an endorsement of storing data in the
-blockchain.  The OP_RETURN change creates a provably-prunable output,
-to avoid data storage schemes -- some of which were already deployed --
-that were storing arbitrary data such as images as forever-unspendable
-TX outputs, bloating bitcoin's UTXO database.
-
-Storing arbitrary data in the blockchain is still a bad idea; it is less
-costly and far more efficient to store non-currency data elsewhere.
-
-Autotools build system
------------------------
-
-For 0.9.0 we switched to an autotools-based build system instead of individual
-(q)makefiles.
-
-Using the standard "./autogen.sh; ./configure; make" to build Bitcoin-Qt and
-bitcoind makes it easier for experienced open source developers to contribute 
-to the project.
-
-Be sure to check doc/build-*.md for your platform before building from source.
-
-Bitcoin-cli
--------------
-
-Another change in the 0.9 release is moving away from the bitcoind executable
-functioning both as a server and as a RPC client. The RPC client functionality
-("tell the running bitcoin daemon to do THIS") was split into a separate
-executable, 'bitcoin-cli'. The RPC client code will eventually be removed from
-bitcoind, but will be kept for backwards compatibility for a release or two.
-
-`walletpassphrase` RPC
------------------------
-
-The behavior of the `walletpassphrase` RPC when the wallet is already unlocked
-has changed between 0.8 and 0.9.
-
-The 0.8 behavior of `walletpassphrase` is to fail when the wallet is already unlocked:
-
-    > walletpassphrase 1000
-    walletunlocktime = now + 1000
-    > walletpassphrase 10
-    Error: Wallet is already unlocked (old unlock time stays)
-
-The new behavior of `walletpassphrase` is to set a new unlock time overriding
-the old one:
-
-    > walletpassphrase 1000
-    walletunlocktime = now + 1000
-    > walletpassphrase 10
-    walletunlocktime = now + 10 (overriding the old unlock time)
-
-Transaction malleability-related fixes
---------------------------------------
-
-This release contains a few fixes for transaction ID (TXID) malleability 
-issues:
-
-- -nospendzeroconfchange command-line option, to avoid spending
-  zero-confirmation change
-- IsStandard() transaction rules tightened to prevent relaying and mining of
-  mutated transactions
-- Additional information in listtransactions/gettransaction output to
-  report wallet transactions that conflict with each other because
-  they spend the same outputs.
-- Bug fixes to the getbalance/listaccounts RPC commands, which would report
-  incorrect balances for double-spent (or mutated) transactions.
-- New option: -zapwallettxes to rebuild the wallet's transaction information
-
-Transaction Fees
-----------------
-
-This release drops the default fee required to relay transactions across the
-network and for miners to consider the transaction in their blocks to
-0.01mBTC per kilobyte.
-
-Note that getting a transaction relayed across the network does NOT guarantee
-that the transaction will be accepted by a miner; by default, miners fill
-their blocks with 50 kilobytes of high-priority transactions, and then with
-700 kilobytes of the highest-fee-per-kilobyte transactions.
-
-The minimum relay/mining fee-per-kilobyte may be changed with the
-minrelaytxfee option. Note that previous releases incorrectly used
-the mintxfee setting to determine which low-priority transactions should
-be considered for inclusion in blocks.
-
-The wallet code still uses a default fee for low-priority transactions of
-0.1mBTC per kilobyte. During periods of heavy transaction volume, even this
-fee may not be enough to get transactions confirmed quickly; the mintxfee
-option may be used to override the default.
-
-0.9.0 Release notes
-=======================
-
-RPC:
-
-- New notion of 'conflicted' transactions, reported as confirmations: -1
-- 'listreceivedbyaddress' now provides tx ids
-- Add raw transaction hex to 'gettransaction' output
-- Updated help and tests for 'getreceivedby(account|address)'
-- In 'getblock', accept 2nd 'verbose' parameter, similar to getrawtransaction,
-  but defaulting to 1 for backward compatibility
-- Add 'verifychain', to verify chain database at runtime
-- Add 'dumpwallet' and 'importwallet' RPCs
-- 'keypoolrefill' gains optional size parameter
-- Add 'getbestblockhash', to return tip of best chain
-- Add 'chainwork' (the total work done by all blocks since the genesis block)
-  to 'getblock' output
-- Make RPC password resistant to timing attacks
-- Clarify help messages and add examples
-- Add 'getrawchangeaddress' call for raw transaction change destinations
-- Reject insanely high fees by default in 'sendrawtransaction'
-- Add RPC call 'decodescript' to decode a hex-encoded transaction script
-- Make 'validateaddress' provide redeemScript
-- Add 'getnetworkhashps' to get the calculated network hashrate
-- New RPC 'ping' command to request ping, new 'pingtime' and 'pingwait' fields
-  in 'getpeerinfo' output
-- Adding new 'addrlocal' field to 'getpeerinfo' output
-- Add verbose boolean to 'getrawmempool'
-- Add rpc command 'getunconfirmedbalance' to obtain total unconfirmed balance
-- Explicitly ensure that wallet is unlocked in `importprivkey`
-- Add check for valid keys in `importprivkey`
-
-Command-line options:
-
-- New option: -nospendzeroconfchange to never spend unconfirmed change outputs
-- New option: -zapwallettxes to rebuild the wallet's transaction information
-- Rename option '-tor' to '-onion' to better reflect what it does
-- Add '-disablewallet' mode to let bitcoind run entirely without wallet (when
-  built with wallet)
-- Update default '-rpcsslciphers' to include TLSv1.2
-- make '-logtimestamps' default on and rework help-message
-- RPC client option: '-rpcwait', to wait for server start
-- Remove '-logtodebugger'
-- Allow `-noserver` with bitcoind
-
-Block-chain handling and storage:
-
-- Update leveldb to 1.15
-- Check for correct genesis (prevent cases where a datadir from the wrong
-  network is accidentally loaded)
-- Allow txindex to be removed and add a reindex dialog
-- Log aborted block database rebuilds
-- Store orphan blocks in serialized form, to save memory
-- Limit the number of orphan blocks in memory to 750
-- Fix non-standard disconnected transactions causing mempool orphans
-- Add a new checkpoint at block 279,000
-
-Wallet:
-
-- Bug fixes and new regression tests to correctly compute
-  the balance of wallets containing double-spent (or mutated) transactions
-- Store key creation time. Calculate whole-wallet birthday.
-- Optimize rescan to skip blocks prior to birthday
-- Let user select wallet file with -wallet=foo.dat
-- Consider generated coins mature at 101 instead of 120 blocks
-- Improve wallet load time
-- Don't count txins for priority to encourage sweeping
-- Don't create empty transactions when reading a corrupted wallet
-- Fix rescan to start from beginning after importprivkey
-- Only create signatures with low S values
-
-Mining:
-
-- Increase default -blockmaxsize/prioritysize to 750K/50K
-- 'getblocktemplate' does not require a key to create a block template
-- Mining code fee policy now matches relay fee policy
-
-Protocol and network:
-
-- Drop the fee required to relay a transaction to 0.01mBTC per kilobyte
-- Send tx relay flag with version
-- New 'reject' P2P message (BIP 0061, see
-  https://gist.github.com/gavinandresen/7079034 for draft)
-- Dump addresses every 15 minutes instead of 10 seconds
-- Relay OP_RETURN data TxOut as standard transaction type
-- Remove CENT-output free transaction rule when relaying
-- Lower maximum size for free transaction creation
-- Send multiple inv messages if mempool.size > MAX_INV_SZ
-- Split MIN_PROTO_VERSION into INIT_PROTO_VERSION and MIN_PEER_PROTO_VERSION
-- Do not treat fFromMe transaction differently when broadcasting
-- Process received messages one at a time without sleeping between messages
-- Improve logging of failed connections
-- Bump protocol version to 70002
-- Add some additional logging to give extra network insight
-- Added new DNS seed from bitcoinstats.com
-
-Validation:
-
-- Log reason for non-standard transaction rejection
-- Prune provably-unspendable outputs, and adapt consistency check for it.
-- Detect any sufficiently long fork and add a warning
-- Call the -alertnotify script when we see a long or invalid fork
-- Fix multi-block reorg transaction resurrection
-- Reject non-canonically-encoded serialization sizes
-- Reject dust amounts during validation
-- Accept nLockTime transactions that finalize in the next block
-
-Build system:
-
-- Switch to autotools-based build system
-- Build without wallet by passing `--disable-wallet` to configure, this 
-  removes the BerkeleyDB dependency
-- Upgrade gitian dependencies (libpng, libz, libupnpc, boost, openssl) to more
-  recent versions
-- Windows 64-bit build support
-- Solaris compatibility fixes
-- Check integrity of gitian input source tarballs
-- Enable full GCC Stack-smashing protection for all OSes
-
-GUI:
-
-- Switch to Qt 5.2.0 for Windows build
-- Add payment request (BIP 0070) support
-- Improve options dialog
-- Show transaction fee in new send confirmation dialog
-- Add total balance in overview page
-- Allow user to choose data directory on first start, when data directory is
-  missing, or when the -choosedatadir option is passed
-- Save and restore window positions
-- Add vout index to transaction id in transactions details dialog
-- Add network traffic graph in debug window
-- Add open URI dialog
-- Add Coin Control Features
-- Improve receive coins workflow: make the 'Receive' tab into a form to request
-  payments, and move historical address list functionality to File menu.
-- Rebrand to `Bitcoin Core`
-- Move initialization/shutdown to a thread. This prevents "Not responding"
-  messages during startup. Also show a window during shutdown.
-- Don't regenerate autostart link on every client startup
-- Show and store message of normal bitcoin:URI
-- Fix richtext detection hang issue on very old Qt versions
-- OS X: Make use of the 10.8+ user notification center to display Growl-like 
-  notifications
-- OS X: Added NSHighResolutionCapable flag to Info.plist for better font
-  rendering on Retina displays.
-- OS X: Fix bitcoin-qt startup crash when clicking dock icon
-- Linux: Fix Gnome bitcoin: URI handler
-
-Miscellaneous:
-
-- Add Linux script (contrib/qos/tc.sh) to limit outgoing bandwidth
-- Add '-regtest' mode, similar to testnet but private with instant block
-  generation with 'setgenerate' RPC.
-- Add 'linearize.py' script to contrib, for creating bootstrap.dat
-- Add separate bitcoin-cli client
-
-Credits
---------
-
-Thanks to everyone who contributed to this release:
-
-- Andrey
-- Ashley Holman
-- b6393ce9-d324-4fe1-996b-acf82dbc3d53
-- bitsofproof
-- Brandon Dahler
-- Calvin Tam
-- Christian Decker
-- Christian von Roques
-- Christopher Latham
-- Chuck
-- coblee
-- constantined
-- Cory Fields
-- Cozz Lovan
-- daniel
-- Daniel Larimer
-- David Hill
-- Dmitry Smirnov
-- Drak
-- Eric Lombrozo
-- fanquake
-- fcicq
-- Florin
-- frewil
-- Gavin Andresen
-- Gregory Maxwell
-- gubatron
-- Guillermo Céspedes Tabárez
-- Haakon Nilsen
-- HaltingState
-- Han Lin Yap
-- harry
-- Ian Kelling
-- Jeff Garzik
-- Johnathan Corgan
-- Jonas Schnelli
-- Josh Lehan
-- Josh Triplett
-- Julian Langschaedel
-- Kangmo
-- Lake Denman
-- Luke Dashjr
-- Mark Friedenbach
-- Matt Corallo
-- Michael Bauer
-- Michael Ford
-- Michagogo
-- Midnight Magic
-- Mike Hearn
-- Nils Schneider
-- Noel Tiernan
-- Olivier Langlois
-- patrick s
-- Patrick Strateman
-- paveljanik
-- Peter Todd
-- phantomcircuit
-- phelixbtc
-- Philip Kaufmann
-- Pieter Wuille
-- Rav3nPL
-- R E Broadley
-- regergregregerrge
-- Robert Backhaus
-- Roman Mindalev
-- Rune K. Svendsen
-- Ryan Niebur
-- Scott Ellis
-- Scott Willeke
-- Sergey Kazenyuk
-- Shawn Wilkinson
-- Sined
-- sje
-- Subo1978
-- super3
-- Tamas Blummer
-- theuni
-- Thomas Holenstein
-- Timon Rapp
-- Timothy Stranex
-- Tom Geller
-- Torstein Husebø
-- Vaclav Vobornik
-- vhf / victor felder
-- Vinnie Falco
-- Warren Togami
-- Wil Bown
-- Wladimir J. van der Laan
diff --git a/doc/release-notes/release-notes-0.9.1.md b/doc/release-notes/release-notes-0.9.1.md
deleted file mode 100644 (file)
index 0552053..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-Bitcoin Core version 0.9.1 is now available from:
-
-  https://bitcoin.org/bin/0.9.1/
-
-This is a security update. It is recommended to upgrade to this release
-as soon as possible.
-
-It is especially important to upgrade if you currently have version
-0.9.0 installed and are using the graphical interface OR you are using
-bitcoind from any pre-0.9.1 version, and have enabled SSL for RPC and
-have configured allowip to allow rpc connections from potentially
-hostile hosts.
-
-Please report bugs using the issue tracker at github:
-
-  https://github.com/bitcoin/bitcoin/issues
-
-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 for older versions), then run the
-installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
-bitcoind/bitcoin-qt (on Linux).
-
-If you are upgrading from version 0.7.2 or earlier, the first time you run
-0.9.1 your blockchain files will be re-indexed, which will take anywhere from 
-30 minutes to several hours, depending on the speed of your machine.
-
-0.9.1 Release notes
-=======================
-
-No code changes were made between 0.9.0 and 0.9.1. Only the dependencies were changed.
-
-- Upgrade OpenSSL to 1.0.1g. This release fixes the following vulnerabilities which can
-  affect the Bitcoin Core software:
-
-  - CVE-2014-0160 ("heartbleed")
-    A missing bounds check in the handling of the TLS heartbeat extension can
-    be used to reveal up to 64k of memory to a connected client or server.
-
-  - CVE-2014-0076
-    The Montgomery ladder implementation in OpenSSL does not ensure that
-    certain swap operations have a constant-time behavior, which makes it
-    easier for local users to obtain ECDSA nonces via a FLUSH+RELOAD cache
-    side-channel attack.
-
-- Add statically built executables to Linux build
-
-Credits
---------
-
-Credits go to the OpenSSL team for fixing the vulnerabilities quickly.
diff --git a/doc/release-notes/release-notes-0.9.2.1.md b/doc/release-notes/release-notes-0.9.2.1.md
deleted file mode 100644 (file)
index 3168ad1..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-Bitcoin Core version 0.9.2.1 is now available from:
-
-  https://bitcoin.org/bin/0.9.2.1/
-
-This is a new minor version release, bringing mostly bug fixes and some minor
-improvements. OpenSSL has been updated because of a security issue (CVE-2014-0224).
-Upgrading to this release is recommended.
-
-Please report bugs using the issue tracker at github:
-
-  https://github.com/bitcoin/bitcoin/issues
-
-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 for older versions), then run the
-installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
-bitcoind/bitcoin-qt (on Linux).
-
-If you are upgrading from version 0.7.2 or earlier, the first time you run
-0.9.2.1 your blockchain files will be re-indexed, which will take anywhere from 
-30 minutes to several hours, depending on the speed of your machine.
-
-Downgrading warnings
---------------------
-
-The 'chainstate' for this release is not always compatible with previous
-releases, so if you run 0.9.x and then decide to switch back to a
-0.8.x release you might get a blockchain validation error when starting the
-old release (due to 'pruned outputs' being omitted from the index of
-unspent transaction outputs).
-
-Running the old release with the -reindex option will rebuild the chainstate
-data structures and correct the problem.
-
-Also, the first time you run a 0.8.x release on a 0.9 wallet it will rescan
-the blockchain for missing spent coins, which will take a long time (tens
-of minutes on a typical machine).
-
-Important changes
-==================
-
-Gitian OSX build
------------------
-
-The deterministic build system that was already used for Windows and Linux
-builds is now used for OSX as well. Although the resulting executables have
-been tested quite a bit, there could be possible regressions. Be sure to report
-these on the Github bug tracker mentioned above.
-
-Compatibility of Linux build
------------------------------
-
-For Linux we now build against Qt 4.6, and filter the symbols for libstdc++ and glibc.
-This brings back compatibility with
-
-- Debian 6+ / Tails
-- Ubuntu 10.04
-- CentOS 6.5
-
-0.9.2 - 0.9.2.1 Release notes
-=======================
-
-The OpenSSL dependency in the gitian builds has been upgraded to 1.0.1h because of CVE-2014-0224.
-
-RPC:
-
-- Add `getwalletinfo`, `getblockchaininfo` and `getnetworkinfo` calls (will replace hodge-podge `getinfo` at some point)
-- Add a `relayfee` field to `getnetworkinfo`
-- Fix RPC related shutdown hangs and leaks
-- Always show syncnode in `getpeerinfo`
-- `sendrawtransaction`: report the reject code and reason, and make it possible to re-send transactions that are already in the mempool
-- `getmininginfo` show right genproclimit
-
-Command-line options:
-
-- Fix `-printblocktree` output
-- Show error message if ReadConfigFile fails
-
-Block-chain handling and storage:
-
-- Fix for GetBlockValue() after block 13,440,000 (BIP42)
-- Upgrade leveldb to 1.17
-
-Protocol and network code:
-
-- Per-peer block download tracking and stalled download detection
-- Add new DNS seed from bitnodes.io
-- Prevent socket leak in ThreadSocketHandler and correct some proxy related socket leaks
-- Use pnode->nLastRecv as sync score (was the wrong way around)
-
-Wallet:
-
-- Make GetAvailableCredit run GetHash() only once per transaction (performance improvement)
-- Lower paytxfee warning threshold from 0.25 BTC to 0.01 BTC
-- Fix importwallet nTimeFirstKey (trigger necessary rescans)
-- Log BerkeleyDB version at startup
-- CWallet init fix
-
-Build system:
-
-- Add OSX build descriptors to gitian
-- Fix explicit --disable-qt-dbus
-- Don't require db_cxx.h when compiling with wallet disabled and GUI enabled
-- Improve missing boost error reporting
-- Upgrade miniupnpc version to 1.9
-- gitian-linux: --enable-glibc-back-compat for binary compatibility with old distributions
-- gitian: don't export any symbols from executable
-- gitian: build against Qt 4.6
-- devtools: add script to check symbols from Linux gitian executables
-- Remove build-time no-IPv6 setting
-
-GUI:
-
-- Fix various coin control visual issues
-- Show number of in/out connections in debug console
-- Show weeks as well as years behind for long timespans behind
-- Enable and disable the Show and Remove buttons for requested payments history based on whether any entry is selected.
-- Show also value for options overridden on command line in options dialog
-- Fill in label from address book also for URIs
-- Fixes feel when resizing the last column on tables (issue #2862)
-- Fix ESC in disablewallet mode
-- Add expert section to wallet tab in optionsdialog
-- Do proper boost::path conversion (fixes unicode in datadir)
-- Only override -datadir if different from the default (fixes -datadir in config file)
-- Show rescan progress at start-up
-- Show importwallet progress
-- Get required locks upfront in polling functions (avoids hanging on locks)
-- Catch Windows shutdown events while client is running
-- Optionally add third party links to transaction context menu
-- Check for !pixmap() before trying to export QR code (avoids crashes when no QR code could be generated)
-- Fix "Start bitcoin on system login"
-
-Miscellaneous:
-
-- Replace non-threadsafe C functions (gmtime, strerror and setlocale)
-- Add missing cs_main and wallet locks
-- Avoid exception at startup when system locale not recognized
-- Changed bitrpc.py's raw_input to getpass for passwords to conceal characters during command line input
-- devtools: add a script to fetch and postprocess translations
-
-Credits
---------
-
-Thanks to everyone who contributed to this release:
-
-- Addy Yeow
-- Altoidnerd
-- Andrea D'Amore
-- Andreas Schildbach
-- Bardi Harborow
-- Brandon Dahler
-- Bryan Bishop
-- Chris Beams
-- Christian von Roques
-- Cory Fields
-- Cozz Lovan
-- daniel
-- Daniel Newton
-- David A. Harding
-- ditto-b
-- duanemoody
-- Eric S. Bullington
-- Fabian Raetz
-- Gavin Andresen
-- Gregory Maxwell
-- gubatron
-- Haakon Nilsen
-- harry
-- Hector Jusforgues
-- Isidoro Ghezzi
-- Jeff Garzik
-- Johnathan Corgan
-- jtimon
-- Kamil Domanski
-- langerhans
-- Luke Dashjr
-- Manuel Araoz
-- Mark Friedenbach
-- Matt Corallo
-- Matthew Bogosian
-- Meeh
-- Michael Ford
-- Michagogo
-- Mikael Wikman
-- Mike Hearn
-- olalonde
-- paveljanik
-- peryaudo
-- Philip Kaufmann
-- philsong
-- Pieter Wuille
-- R E Broadley
-- richierichrawr
-- Rune K. Svendsen
-- rxl
-- shshshsh
-- Simon de la Rouviere
-- Stuart Cardall
-- super3
-- Telepatheic
-- Thomas Zander
-- Torstein Husebø
-- Warren Togami
-- Wladimir J. van der Laan
-- Yoichi Hirai
diff --git a/doc/release-notes/release-notes-0.9.2.md b/doc/release-notes/release-notes-0.9.2.md
deleted file mode 100644 (file)
index a2749e5..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-Bitcoin Core version 0.9.2 is now available from:
-
-  https://bitcoin.org/bin/0.9.2/
-
-This is a new minor version release, bringing mostly bug fixes and some minor
-improvements. OpenSSL has been updated because of a security issue (CVE-2014-0224).
-Upgrading to this release is recommended.
-
-Please report bugs using the issue tracker at github:
-
-  https://github.com/bitcoin/bitcoin/issues
-
-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 for older versions), then run the
-installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
-bitcoind/bitcoin-qt (on Linux).
-
-If you are upgrading from version 0.7.2 or earlier, the first time you run
-0.9.2 your blockchain files will be re-indexed, which will take anywhere from 
-30 minutes to several hours, depending on the speed of your machine.
-
-Downgrading warnings
---------------------
-
-The 'chainstate' for this release is not always compatible with previous
-releases, so if you run 0.9.x and then decide to switch back to a
-0.8.x release you might get a blockchain validation error when starting the
-old release (due to 'pruned outputs' being omitted from the index of
-unspent transaction outputs).
-
-Running the old release with the -reindex option will rebuild the chainstate
-data structures and correct the problem.
-
-Also, the first time you run a 0.8.x release on a 0.9 wallet it will rescan
-the blockchain for missing spent coins, which will take a long time (tens
-of minutes on a typical machine).
-
-Important changes
-==================
-
-Gitian OSX build
------------------
-
-The deterministic build system that was already used for Windows and Linux
-builds is now used for OSX as well. Although the resulting executables have
-been tested quite a bit, there could be possible regressions. Be sure to report
-these on the Github bug tracker mentioned above.
-
-Compatibility of Linux build
------------------------------
-
-For Linux we now build against Qt 4.6, and filter the symbols for libstdc++ and glibc.
-This brings back compatibility with
-
-- Debian 6+ / Tails
-- Ubuntu 10.04
-- CentOS 6.5
-
-0.9.2 Release notes
-=======================
-
-The OpenSSL dependency in the gitian builds has been upgraded to 1.0.1h because of CVE-2014-0224.
-
-RPC:
-
-- Add `getwalletinfo`, `getblockchaininfo` and `getnetworkinfo` calls (will replace hodge-podge `getinfo` at some point)
-- Add a `relayfee` field to `getnetworkinfo`
-- Fix RPC related shutdown hangs and leaks
-- Always show syncnode in `getpeerinfo`
-- `sendrawtransaction`: report the reject code and reason, and make it possible to re-send transactions that are already in the mempool
-- `getmininginfo` show right genproclimit
-
-Command-line options:
-
-- Fix `-printblocktree` output
-- Show error message if ReadConfigFile fails
-
-Block-chain handling and storage:
-
-- Fix for GetBlockValue() after block 13,440,000 (BIP42)
-- Upgrade leveldb to 1.17
-
-Protocol and network code:
-
-- Per-peer block download tracking and stalled download detection
-- Add new DNS seed from bitnodes.io
-- Prevent socket leak in ThreadSocketHandler and correct some proxy related socket leaks
-- Use pnode->nLastRecv as sync score (was the wrong way around)
-
-Wallet:
-
-- Make GetAvailableCredit run GetHash() only once per transaction (performance improvement)
-- Lower paytxfee warning threshold from 0.25 BTC to 0.01 BTC
-- Fix importwallet nTimeFirstKey (trigger necessary rescans)
-- Log BerkeleyDB version at startup
-- CWallet init fix
-
-Build system:
-
-- Add OSX build descriptors to gitian
-- Fix explicit --disable-qt-dbus
-- Don't require db_cxx.h when compiling with wallet disabled and GUI enabled
-- Improve missing boost error reporting
-- Upgrade miniupnpc version to 1.9
-- gitian-linux: --enable-glibc-back-compat for binary compatibility with old distributions
-- gitian: don't export any symbols from executable
-- gitian: build against Qt 4.6
-- devtools: add script to check symbols from Linux gitian executables
-- Remove build-time no-IPv6 setting
-
-GUI:
-
-- Fix various coin control visual issues
-- Show number of in/out connections in debug console
-- Show weeks as well as years behind for long timespans behind
-- Enable and disable the Show and Remove buttons for requested payments history based on whether any entry is selected.
-- Show also value for options overridden on command line in options dialog
-- Fill in label from address book also for URIs
-- Fixes feel when resizing the last column on tables (issue #2862)
-- Fix ESC in disablewallet mode
-- Add expert section to wallet tab in optionsdialog
-- Do proper boost::path conversion (fixes unicode in datadir)
-- Only override -datadir if different from the default (fixes -datadir in config file)
-- Show rescan progress at start-up
-- Show importwallet progress
-- Get required locks upfront in polling functions (avoids hanging on locks)
-- Catch Windows shutdown events while client is running
-- Optionally add third party links to transaction context menu
-- Check for !pixmap() before trying to export QR code (avoids crashes when no QR code could be generated)
-- Fix "Start bitcoin on system login"
-
-Miscellaneous:
-
-- Replace non-threadsafe C functions (gmtime, strerror and setlocale)
-- Add missing cs_main and wallet locks
-- Avoid exception at startup when system locale not recognized
-- Changed bitrpc.py's raw_input to getpass for passwords to conceal characters during command line input
-- devtools: add a script to fetch and postprocess translations
-
-Credits
---------
-
-Thanks to everyone who contributed to this release:
-
-- Addy Yeow
-- Altoidnerd
-- Andrea D'Amore
-- Andreas Schildbach
-- Bardi Harborow
-- Brandon Dahler
-- Bryan Bishop
-- Chris Beams
-- Christian von Roques
-- Cory Fields
-- Cozz Lovan
-- daniel
-- Daniel Newton
-- David A. Harding
-- ditto-b
-- duanemoody
-- Eric S. Bullington
-- Fabian Raetz
-- Gavin Andresen
-- Gregory Maxwell
-- gubatron
-- Haakon Nilsen
-- harry
-- Hector Jusforgues
-- Isidoro Ghezzi
-- Jeff Garzik
-- Johnathan Corgan
-- jtimon
-- Kamil Domanski
-- langerhans
-- Luke Dashjr
-- Manuel Araoz
-- Mark Friedenbach
-- Matt Corallo
-- Matthew Bogosian
-- Meeh
-- Michael Ford
-- Michagogo
-- Mikael Wikman
-- Mike Hearn
-- olalonde
-- paveljanik
-- peryaudo
-- Philip Kaufmann
-- philsong
-- Pieter Wuille
-- R E Broadley
-- richierichrawr
-- Rune K. Svendsen
-- rxl
-- shshshsh
-- Simon de la Rouviere
-- Stuart Cardall
-- super3
-- Telepatheic
-- Thomas Zander
-- Torstein Husebø
-- Warren Togami
-- Wladimir J. van der Laan
-- Yoichi Hirai
diff --git a/doc/release-notes/release-notes-0.9.3.md b/doc/release-notes/release-notes-0.9.3.md
deleted file mode 100644 (file)
index 0765a36..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-Bitcoin Core version 0.9.3 is now available from:
-
-  https://bitcoin.org/bin/0.9.3/
-
-This is a new minor version release, bringing only bug fixes and updated
-translations. Upgrading to this release is recommended.
-
-Please report bugs using the issue tracker at github:
-
-  https://github.com/bitcoin/bitcoin/issues
-
-Upgrading and downgrading
-==========================
-
-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 for older versions), then run the
-installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
-bitcoind/bitcoin-qt (on Linux).
-
-If you are upgrading from version 0.7.2 or earlier, the first time you run
-0.9.3 your blockchain files will be re-indexed, which will take anywhere from 
-30 minutes to several hours, depending on the speed of your machine.
-
-Downgrading warnings
---------------------
-
-The 'chainstate' for this release is not always compatible with previous
-releases, so if you run 0.9.x and then decide to switch back to a
-0.8.x release you might get a blockchain validation error when starting the
-old release (due to 'pruned outputs' being omitted from the index of
-unspent transaction outputs).
-
-Running the old release with the -reindex option will rebuild the chainstate
-data structures and correct the problem.
-
-Also, the first time you run a 0.8.x release on a 0.9 wallet it will rescan
-the blockchain for missing spent coins, which will take a long time (tens
-of minutes on a typical machine).
-
-0.9.3 Release notes
-=======================
-
-RPC:
-- Avoid a segfault on getblock if it can't read a block from disk
-- Add paranoid return value checks in base58
-
-Protocol and network code:
-- Don't poll showmyip.com, it doesn't exist anymore
-- Add a way to limit deserialized string lengths and use it
-- Add a new checkpoint at block 295,000
-- Increase IsStandard() scriptSig length
-- Avoid querying DNS seeds, if we have open connections
-- Remove a useless millisleep in socket handler
-- Stricter memory limits on CNode
-- Better orphan transaction handling
-- Add `-maxorphantx=<n>` and `-maxorphanblocks=<n>` options for control over the maximum orphan transactions and blocks
-
-Wallet:
-- Check redeemScript size does not exceed 520 byte limit
-- Ignore (and warn about) too-long redeemScripts while loading wallet
-
-GUI:
-- fix 'opens in testnet mode when presented with a BIP-72 link with no fallback'
-- AvailableCoins: acquire cs_main mutex
-- Fix unicode character display on MacOSX
-
-Miscellaneous:
-- key.cpp: fail with a friendlier message on missing ssl EC support
-- Remove bignum dependency for scripts
-- Upgrade OpenSSL to 1.0.1i (see https://www.openssl.org/news/secadv_20140806.txt - just to be sure, no critical issues for Bitcoin Core)
-- Upgrade miniupnpc to 1.9.20140701
-- Fix boost detection in build system on some platforms
-
-Credits
---------
-
-Thanks to everyone who contributed to this release:
-
-- Andrew Poelstra
-- Cory Fields
-- Gavin Andresen
-- Jeff Garzik
-- Johnathan Corgan
-- Julian Haight
-- Michael Ford
-- Pavel Vasin
-- Peter Todd
-- phantomcircuit
-- Pieter Wuille
-- Rose Toomey
-- Ruben Dario Ponticelli
-- shshshsh
-- Trevin Hofmann
-- Warren Togami
-- Wladimir J. van der Laan
-- Zak Wilcox
-
-As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
diff --git a/doc/release-notes/release-notes-0.9.4.md b/doc/release-notes/release-notes-0.9.4.md
deleted file mode 100644 (file)
index 7ee7324..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-Bitcoin Core version 0.9.4 is now available from:
-
-  https://bitcoin.org/bin/0.9.4/
-
-This is a new minor version release, bringing only bug fixes and updated
-translations. Upgrading to this release is recommended.
-
-Please report bugs using the issue tracker at github:
-
-  https://github.com/bitcoin/bitcoin/issues
-
-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 for older versions), then run the
-installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
-bitcoind/bitcoin-qt (on Linux).
-
-OpenSSL Warning
-================
-
-OpenSSL 1.0.0p / 1.0.1k was recently released and is being pushed out by
-various operating system maintainers. Review by Gregory Maxwell determined that
-this update is incompatible with the Bitcoin system and could lead to consensus
-forks.
-
-Bitcoin Core released binaries from https://bitcoin.org are unaffected,
-as are any built with the gitian deterministic build system.
-
-However, if you are running either
-
-- The Ubuntu PPA from https://launchpad.net/~bitcoin/+archive/ubuntu/bitcoin
-- A third-party or self-compiled Bitcoin Core
-
-upgrade to Bitcoin Core 0.9.4, which includes a workaround, **before** updating
-OpenSSL.
-
-The incompatibility is due to the OpenSSL update changing the
-behavior of ECDSA validation to reject any signature which is
-not encoded in a very rigid manner. This was a result of
-OpenSSL's change for CVE-2014-8275 "Certificate fingerprints
-can be modified".
-
-We are specifically aware of potential hard-forks due to signature
-encoding handling and had been hoping to close them via BIP62 in 0.10.
-BIP62's purpose is to improve transaction malleability handling and
-as a side effect rigidly defines the encoding for signatures, but the
-overall scope of BIP62 has made it take longer than we'd like to
-deploy.
-
-0.9.4 changelog
-================
-
-Validation:
-- `b8e81b7` consensus: guard against openssl's new strict DER checks
-- `60c51f1` fail immediately on an empty signature
-- `037bfef` Improve robustness of DER recoding code
-
-Command-line options:
-- `cd5164a` Make -proxy set all network types, avoiding a connect leak.
-
-P2P:
-- `bb424e4` Limit the number of new addressses to accumulate
-
-RPC:
-- `0a94661` Disable SSLv3 (in favor of TLS) for the RPC client and server.
-
-Build system:
-- `f047dfa` gitian: openssl-1.0.1i.tar.gz -> openssl-1.0.1k.tar.gz
-- `5b9f78d` build: Fix OSX build when using Homebrew and qt5
-- `ffab1dd` Keep symlinks when copying into .app bundle
-- `613247f` osx: fix signing to make Gatekeeper happy (again)
-
-Miscellaneous:
-- `25b49b5` Refactor -alertnotify code
-- `2743529` doc: Add instructions for consistent Mac OS X build names
-
-Credits
---------
-
-Thanks to who contributed to this release, at least:
-
-- Cory Fields
-- Gavin Andresen
-- Gregory Maxwell
-- Jeff Garzik
-- Luke Dashjr
-- Matt Corallo
-- Pieter Wuille
-- Saivann
-- Sergio Demian Lerner
-- Wladimir J. van der Laan
-
-As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
diff --git a/doc/release-notes/release-notes-0.9.5.md b/doc/release-notes/release-notes-0.9.5.md
deleted file mode 100644 (file)
index bed0af9..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-Bitcoin Core version 0.9.5 is now available from:
-
-  https://bitcoin.org/bin/0.9.5/
-
-This is a new minor version release, with the goal of backporting BIP66. There
-are also a few bug fixes and updated translations. Upgrading to this release is
-recommended.
-
-Please report bugs using the issue tracker at github:
-
-  https://github.com/bitcoin/bitcoin/issues
-
-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 for older versions), then run the
-installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
-bitcoind/bitcoin-qt (on Linux).
-
-Notable changes
-================
-
-Mining and relay policy enhancements
-------------------------------------
-
-Bitcoin Core's block templates are now for version 3 blocks only, and any mining
-software relying on its `getblocktemplate` must be updated in parallel to use
-libblkmaker either version 0.4.2 or any version from 0.5.1 onward.
-If you are solo mining, this will affect you the moment you upgrade Bitcoin
-Core, which must be done prior to BIP66 achieving its 951/1001 status.
-If you are mining with the stratum mining protocol: this does not affect you.
-If you are mining with the getblocktemplate protocol to a pool: this will affect
-you at the pool operator's discretion, which must be no later than BIP66
-achieving its 951/1001 status.
-
-0.9.5 changelog
-================
-
-- `74f29c2` Check pindexBestForkBase for null
-- `9cd1dd9` Fix priority calculation in CreateTransaction
-- `6b4163b` Sanitize command strings before logging them.
-- `3230b32` Raise version of created blocks, and enforce DERSIG in mempool
-- `989d499` Backport of some of BIP66's tests
-- `ab03660` Implement BIP 66 validation rules and switchover logic
-- `8438074` build: fix dynamic boost check when --with-boost= is used
-
-Credits
---------
-
-Thanks to who contributed to this release, at least:
-
-- 21E14
-- Alex Morcos
-- Cory Fields
-- Gregory Maxwell
-- Pieter Wuille
-- Wladimir J. van der Laan
-
-As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
index 5b9ede69191e3bf639a591c40abb226dbebe837a..c5c340854bf728d75adc20d9abe1144116005ae3 100644 (file)
@@ -44,9 +44,9 @@ The REST interface is a feature inherited from upstream Bitcoin.  By default,
 it is disabled. We do not recommend you enable it until it has undergone a
 security review.
 
-Block Chain Reorganizations
-----------------------------
+Block Chain Reorganization: Major Differences
+---------------------------------------------------
 
-Users should be aware of new behavior in Zcash that differs significantly from Bitcoin: in the case of a block chain reorganization, Bitcoin's coinbase maturity rule helps ensure that any reorg shorter than the maturity interval will not invalidate any of the rolled-back transactions. However for Zcash, all JoinSplits which were anchored within the reorg interval will become invalid, rolling back transactions and reverting funds to the original owner. The transaction rebroadcast mechanism inherited from Bitcoin will not successfully rebroadcast transactions containing JoinSplits if the anchor needs to change—the JoinSplit creator must do that.
+Users should be aware of new behavior in Zcash that differs significantly from Bitcoin: in the case of a block chain reorganization, Bitcoin's coinbase maturity rule helps to ensure that any reorganization shorter than the maturity interval will not invalidate any of the rolled-back transactions. Zcash keeps Bitcoin's 100-block maturity interval for generation transactions, but because JoinSplits must be anchored within a block, this provides more limited protection against transactions becoming invalidated. In the case of a block chain reorganization for Zcash, all JoinSplits which were anchored within the reorganization interval and any transactions that depend on them will become invalid, rolling back transactions and reverting funds to the original owner. The transaction rebroadcast mechanism inherited from Bitcoin will not successfully rebroadcast transactions depending on invalidated JoinSplits if the anchor needs to change. The creator of an invalidated JoinSplit, as well as the creators of all transactions dependent on it, must rebroadcast the transactions themselves.
 
-For receivers of funds from a JoinSplit, using a higher minconf (minimum number of confirmations) can help mitigate the risk of relying on funds received from transactions that may be rolled back.
+Receivers of funds from a JoinSplit can mitigate the risk of relying on funds received from transactions that may be rolled back by using a higher minconf (minimum number of confirmations).
index cc20393786146ee9e92f9909dd345a036f255782..4b8c89bb0e431e1484a7896ed7188fc154c7c462 100644 (file)
@@ -103,8 +103,8 @@ Now use zcash-cli to verify there is only a single peer connection.
                "id" : 1,
                "addr" : "zctestseie6wxgio.onion:18233",
                ...
-               "version" : 70002,
-               "subver" : "/Satoshi:0.11.2/",
+               "version" : 170002,
+               "subver" : "/MagicBean:1.0.0/",
                ...
            }
        ]
index 1a7decf5606999bee099fd93eea99a9668e8b64d..1c555b1fc1e485e5a02e31cced58b0b59aa764fd 100644 (file)
@@ -1,3 +1,5 @@
+*** Warning: This document has not been updated for Zcash and may be inaccurate. ***
+
 Translation Strings Policy
 ===========================
 
index 740a44ff9a1bd544bb3a86238c6ff27a98e70ee1..1e3eccbeabbe81f6f55126aa07542980fa311015 100644 (file)
@@ -19,7 +19,7 @@
  * for both bitcoind and bitcoin-core, to make it harder for attackers to
  * target servers or GUI users specifically.
  */
-const std::string CLIENT_NAME("Satoshi");
+const std::string CLIENT_NAME("MagicBean");
 
 /**
  * Client version number
index abbc32a62f2898e6e7cb9e3bbe8fe109b3e39639..e3d264a57c4ebcb8e240a6e2e6991481e06ac649 100644 (file)
@@ -96,8 +96,8 @@ Value getpeerinfo(const Array& params, bool fHelp)
             "    \"timeoffset\": ttt,         (numeric) The time offset in seconds\n"
             "    \"pingtime\": n,             (numeric) ping time\n"
             "    \"pingwait\": n,             (numeric) ping wait\n"
-            "    \"version\": v,              (numeric) The peer version, such as 7001\n"
-            "    \"subver\": \"/Satoshi:0.8.5/\",  (string) The string version\n"
+            "    \"version\": v,              (numeric) The peer version, such as 170002\n"
+            "    \"subver\": \"/MagicBean:x.y.z[-v]/\",  (string) The string version\n"
             "    \"inbound\": true|false,     (boolean) Inbound (true) or Outbound (false)\n"
             "    \"startingheight\": n,       (numeric) The starting height (block) of the peer\n"
             "    \"banscore\": n,             (numeric) The ban score\n"
@@ -387,7 +387,7 @@ Value getnetworkinfo(const Array& params, bool fHelp)
             "\nResult:\n"
             "{\n"
             "  \"version\": xxxxx,                      (numeric) the server version\n"
-            "  \"subversion\": \"/Satoshi:x.x.x/\",     (string) the server subversion string\n"
+            "  \"subversion\": \"/MagicBean:x.y.z[-v]/\",     (string) the server subversion string\n"
             "  \"protocolversion\": xxxxx,              (numeric) the protocol version\n"
             "  \"localservices\": \"xxxxxxxxxxxxxxxx\", (string) the services we offer to the network\n"
             "  \"timeoffset\": xxxxx,                   (numeric) the time offset\n"
index 07607ef159ae93c62508769907e4e72f8e4537bb..6fac530e2fff67e91bbf1ebced73b6b1f7965342 100644 (file)
@@ -92,7 +92,7 @@ void ThreadSendAlert()
     alert.strRPCError   = "URGENT: Upgrade required: see https://z.cash";
 
     // Set specific client version/versions here. If setSubVer is empty, no filtering on subver is done:
-    // alert.setSubVer.insert(std::string("/Satoshi:0.7.2/"));
+    // alert.setSubVer.insert(std::string("/MagicBean:0.7.2/"));
 
     // Sign
     const CChainParams& chainparams = Params();
index c9afafa953d826294b1b626cd208a3c200cf62ee..9a861f182b94ef0435ad6e972b3b62f1556eb886 100644 (file)
@@ -166,12 +166,12 @@ void GenerateAlertTests()
     SignAndSerialize(alert, sBuffer);
 
     // More tests go here ...
-    alert.setSubVer.insert(std::string("/Satoshi:0.1.0/"));
-    alert.strStatusBar  = "Alert 1 for Satoshi 0.1.0";
+    alert.setSubVer.insert(std::string("/MagicBean:0.1.0/"));
+    alert.strStatusBar  = "Alert 1 for MagicBean 0.1.0";
     SignAndSerialize(alert, sBuffer);
 
-    alert.setSubVer.insert(std::string("/Satoshi:0.2.0/"));
-    alert.strStatusBar  = "Alert 1 for Satoshi 0.1.0, 0.2.0";
+    alert.setSubVer.insert(std::string("/MagicBean:0.2.0/"));
+    alert.strStatusBar  = "Alert 1 for MagicBean 0.1.0, 0.2.0";
     SignAndSerialize(alert, sBuffer);
 
     alert.setSubVer.clear();
@@ -204,8 +204,8 @@ void GenerateAlertTests()
     SignAndSerialize(alert, sBuffer);
 
     ++alert.nID;
-    alert.strStatusBar  = "Alert 2 for Satoshi 0.1.0";
-    alert.setSubVer.insert(std::string("/Satoshi:0.1.0/"));
+    alert.strStatusBar  = "Alert 2 for MagicBean 0.1.0";
+    alert.setSubVer.insert(std::string("/MagicBean:0.1.0/"));
     SignAndSerialize(alert, sBuffer);
 
     ++alert.nID;
@@ -296,27 +296,27 @@ BOOST_AUTO_TEST_CASE(AlertApplies)
     // Matches:
     BOOST_CHECK(alerts[0].AppliesTo(1, ""));
     BOOST_CHECK(alerts[0].AppliesTo(999001, ""));
-    BOOST_CHECK(alerts[0].AppliesTo(1, "/Satoshi:11.11.11/"));
+    BOOST_CHECK(alerts[0].AppliesTo(1, "/MagicBean:11.11.11/"));
 
-    BOOST_CHECK(alerts[1].AppliesTo(1, "/Satoshi:0.1.0/"));
-    BOOST_CHECK(alerts[1].AppliesTo(999001, "/Satoshi:0.1.0/"));
+    BOOST_CHECK(alerts[1].AppliesTo(1, "/MagicBean:0.1.0/"));
+    BOOST_CHECK(alerts[1].AppliesTo(999001, "/MagicBean:0.1.0/"));
 
-    BOOST_CHECK(alerts[2].AppliesTo(1, "/Satoshi:0.1.0/"));
-    BOOST_CHECK(alerts[2].AppliesTo(1, "/Satoshi:0.2.0/"));
+    BOOST_CHECK(alerts[2].AppliesTo(1, "/MagicBean:0.1.0/"));
+    BOOST_CHECK(alerts[2].AppliesTo(1, "/MagicBean:0.2.0/"));
 
     // Don't match:
     BOOST_CHECK(!alerts[0].AppliesTo(-1, ""));
     BOOST_CHECK(!alerts[0].AppliesTo(999002, ""));
 
     BOOST_CHECK(!alerts[1].AppliesTo(1, ""));
-    BOOST_CHECK(!alerts[1].AppliesTo(1, "Satoshi:0.1.0"));
-    BOOST_CHECK(!alerts[1].AppliesTo(1, "/Satoshi:0.1.0"));
-    BOOST_CHECK(!alerts[1].AppliesTo(1, "Satoshi:0.1.0/"));
-    BOOST_CHECK(!alerts[1].AppliesTo(-1, "/Satoshi:0.1.0/"));
-    BOOST_CHECK(!alerts[1].AppliesTo(999002, "/Satoshi:0.1.0/"));
-    BOOST_CHECK(!alerts[1].AppliesTo(1, "/Satoshi:0.2.0/"));
-
-    BOOST_CHECK(!alerts[2].AppliesTo(1, "/Satoshi:0.3.0/"));
+    BOOST_CHECK(!alerts[1].AppliesTo(1, "MagicBean:0.1.0"));
+    BOOST_CHECK(!alerts[1].AppliesTo(1, "/MagicBean:0.1.0"));
+    BOOST_CHECK(!alerts[1].AppliesTo(1, "MagicBean:0.1.0/"));
+    BOOST_CHECK(!alerts[1].AppliesTo(-1, "/MagicBean:0.1.0/"));
+    BOOST_CHECK(!alerts[1].AppliesTo(999002, "/MagicBean:0.1.0/"));
+    BOOST_CHECK(!alerts[1].AppliesTo(1, "/MagicBean:0.2.0/"));
+
+    BOOST_CHECK(!alerts[2].AppliesTo(1, "/MagicBean:0.3.0/"));
 
     SetMockTime(0);
 }
index 23fbfa98f6a119fde9887e57242550b4b837447f..7dc9fd1e69b437030d717901ef963553ccd513e6 100644 (file)
Binary files a/src/test/data/alertTests.raw and b/src/test/data/alertTests.raw differ
index 8395d982e797f3a664aea0f7dc3db652205ee5ac..1da7c4781347e18a340e1f9805d1fdcf10b30357 100644 (file)
@@ -312,7 +312,9 @@ BOOST_AUTO_TEST_CASE(rpc_wallet_z_exportwallet)
     BOOST_CHECK(addrs.size()==1);
     
     BOOST_CHECK_THROW(CallRPC("z_exportwallet"), runtime_error);
-    
+
+    BOOST_CHECK_THROW(CallRPC("z_exportwallet toomany args"), runtime_error);
+
    
     boost::filesystem::path temp = boost::filesystem::temp_directory_path() /
             boost::filesystem::unique_path();
@@ -362,6 +364,9 @@ BOOST_AUTO_TEST_CASE(rpc_wallet_z_importwallet)
     // error if no args
     BOOST_CHECK_THROW(CallRPC("z_importwallet"), runtime_error);
 
+    // error if too many args
+    BOOST_CHECK_THROW(CallRPC("z_importwallet toomany args"), runtime_error);
+
     // create a random key locally
     auto testSpendingKey = libzcash::SpendingKey::random();
     auto testPaymentAddress = testSpendingKey.address();
@@ -430,6 +435,10 @@ BOOST_AUTO_TEST_CASE(rpc_wallet_z_importexport)
     BOOST_CHECK_THROW(CallRPC("z_importkey"), runtime_error);   
     BOOST_CHECK_THROW(CallRPC("z_exportkey"), runtime_error);   
 
+    // error if too many args
+    BOOST_CHECK_THROW(CallRPC("z_importkey too many args"), runtime_error);
+    BOOST_CHECK_THROW(CallRPC("z_exportkey toomany args"), runtime_error);
+
     // wallet should currently be empty
     std::set<libzcash::PaymentAddress> addrs;
     pwalletMain->GetPaymentAddresses(addrs);
@@ -490,6 +499,9 @@ BOOST_AUTO_TEST_CASE(rpc_wallet_z_importexport)
     CZCPaymentAddress pa(newaddress);
     auto newAddr = pa.Get();
     BOOST_CHECK(pwalletMain->HaveSpendingKey(newAddr));
+
+    // Check if too many args
+    BOOST_CHECK_THROW(CallRPC("z_getnewaddress toomanyargs"), runtime_error);
 }
 
 
@@ -709,6 +721,9 @@ BOOST_AUTO_TEST_CASE(rpc_z_getoperations)
     std::this_thread::sleep_for(std::chrono::milliseconds(1000));
     BOOST_CHECK(q->getOperationCount() == 0);
     
+    // Check if too many args
+    BOOST_CHECK_THROW(CallRPC("z_listoperationids toomany args"), runtime_error);
+
     Value retValue;
     BOOST_CHECK_NO_THROW(retValue = CallRPC("z_listoperationids"));
     BOOST_CHECK(retValue.get_array().size() == 2);
index 37db0a3375756c5ca7bd0d3f080eca557e23f8fd..e4840301e310411ca67b08afe828c5e0673fbf31 100644 (file)
@@ -532,9 +532,9 @@ Value z_importkey(const Array& params, bool fHelp)
     if (!EnsureWalletIsAvailable(fHelp))
         return Value::null;
 
-    if (fHelp || params.size() < 1 || params.size() > 3)
+    if (fHelp || params.size() < 1 || params.size() > 2)
         throw runtime_error(
-            "z_importkey \"zkey\" ( \"label\" rescan )\n"
+            "z_importkey \"zkey\" ( rescan )\n"
             "\nAdds a zkey (as returned by z_exportkey) to your wallet.\n"
             "\nArguments:\n"
             "1. \"zkey\"             (string, required) The zkey (see z_exportkey)\n"
@@ -545,10 +545,8 @@ Value z_importkey(const Array& params, bool fHelp)
             + HelpExampleCli("z_exportkey", "\"myaddress\"") +
             "\nImport the zkey with rescan\n"
             + HelpExampleCli("z_importkey", "\"mykey\"") +
-            "\nImport using a label and without rescan\n"
-            + HelpExampleCli("z_importkey", "\"mykey\" \"testing\" false") +
             "\nAs a JSON-RPC call\n"
-            + HelpExampleRpc("z_importkey", "\"mykey\", \"testing\", false")
+            + HelpExampleRpc("z_importkey", "\"mykey\", false")
         );
 
     LOCK2(cs_main, pwalletMain->cs_wallet);
index 33a62e98d6b153fd757e5f69af9b1e222878f7da..7476821361c9bb98b6dafb6267d0228239c899d8 100644 (file)
@@ -2792,7 +2792,7 @@ Value z_getnewaddress(const Array& params, bool fHelp)
     if (!EnsureWalletIsAvailable(fHelp))
         return Value::null;
 
-    if (fHelp || params.size() > 1)
+    if (fHelp || params.size() > 0)
         throw runtime_error(
             "z_getnewaddress\n"
             "\nReturns a new zaddr for receiving payments.\n"
index 495572bb095e9aa12e4a91dbbedef4dbedaa71fb..65817d8d727ac8f3e14d35f6cc6010955fc096e5 100644 (file)
@@ -1117,6 +1117,14 @@ void CWallet::EraseFromWallet(const uint256 &hash)
 }
 
 
+/**
+ * Finds all output notes in the given transaction that have been sent to
+ * PaymentAddresses in this wallet.
+ *
+ * It should never be necessary to call this method with a CWalletTx, because
+ * the result of FindMyNotes (for the addresses available at the time) will
+ * already have been cached in CWalletTx.mapNoteData.
+ */
 mapNoteData_t CWallet::FindMyNotes(const CTransaction& tx) const
 {
     LOCK(cs_SpendingKeyStore);
@@ -3314,7 +3322,11 @@ bool CMerkleTx::AcceptToMemoryPool(bool fLimitFree, bool fRejectAbsurdFee)
     return ::AcceptToMemoryPool(mempool, state, *this, fLimitFree, NULL, fRejectAbsurdFee);
 }
 
-bool CWallet::GetFilteredNotes(std::vector<CNotePlaintextEntry> & outEntries, std::string address, int minDepth, bool ignoreSpent)
+/**
+ * Find notes in the wallet filtered by payment address, min depth and ability to spend.
+ * These notes are decrypted and added to the output parameter vector, outEntries.
+ */
+void CWallet::GetFilteredNotes(std::vector<CNotePlaintextEntry> & outEntries, std::string address, int minDepth, bool ignoreSpent)
 {
     bool fFilterAddress = false;
     libzcash::PaymentAddress filterPaymentAddress;
index c3f1fd63f5077e9c86d07f8fc0fe4ea3e424e73f..3ce551f2f5466398ae11aa9c1a1ed2d2796c0b0a 100644 (file)
@@ -241,7 +241,7 @@ public:
 
 typedef std::map<JSOutPoint, CNoteData> mapNoteData_t;
 
-
+/** Decrypted note and its location in a transaction. */
 struct CNotePlaintextEntry
 {
     JSOutPoint jsop;
@@ -911,7 +911,7 @@ public:
     void SetBroadcastTransactions(bool broadcast) { fBroadcastTransactions = broadcast; }
     
     /* Find notes filtered by payment address, min depth, ability to spend */
-    bool GetFilteredNotes(std::vector<CNotePlaintextEntry> & outEntries, std::string address, int minDepth=1, bool ignoreSpent=true);
+    void GetFilteredNotes(std::vector<CNotePlaintextEntry> & outEntries, std::string address, int minDepth=1, bool ignoreSpent=true);
     
 };
 
This page took 0.339471 seconds and 4 git commands to generate.