Implement BIP173 addresses and tests
[bitcoinplatinum.git] / doc / release-notes / release-notes-0.8.0.md
blob4e98a7740fc2522bfa96c0b1d76133ce88e8113a
1 Bitcoin-Qt version 0.8.0 is now available from:
2   http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.0/
4 This is a major release designed to improve performance and handle the
5 increasing volume of transactions on the network.
7 Please report bugs using the issue tracker at github:
8   https://github.com/bitcoin/bitcoin/issues
10 How to Upgrade
11 --------------
13 If you are running an older version, shut it down. Wait
14 until it has completely shut down (which might take a few minutes for older
15 versions), then run the installer (on Windows) or just copy over
16 /Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
18 The first time you run after the upgrade a re-indexing process will be
19 started that will take anywhere from 30 minutes to several hours,
20 depending on the speed of your machine.
22 Incompatible Changes
23 --------------------
25 This release no longer maintains a full index of historical transaction ids
26 by default, so looking up an arbitrary transaction using the getrawtransaction
27 RPC call will not work. If you need that functionality, you must run once
28 with -txindex=1 -reindex=1 to rebuild block-chain indices (see below for more
29 details).
31 Improvements
32 ------------
34 Mac and Windows binaries are signed with certificates owned by the Bitcoin
35 Foundation, to be compatible with the new security features in OSX 10.8 and
36 Windows 8.
38 LevelDB, a fast, open-source, non-relational database from Google, is
39 now used to store transaction and block indices.  LevelDB works much better
40 on machines with slow I/O and is faster in general. Berkeley DB is now only
41 used for the wallet.dat file (public and private wallet keys and transactions
42 relevant to you).
44 Pieter Wuille implemented many optimizations to the way transactions are
45 verified, so a running, synchronized node uses less working memory and does
46 much less I/O. He also implemented parallel signature checking, so if you
47 have a multi-CPU machine all CPUs will be used to verify transactions.
49 New Features
50 ------------
52 "Bloom filter" support in the network protocol for sending only relevant transactions to
53 lightweight clients.
55 contrib/verifysfbinaries is a shell-script to verify that the binary downloads
56 at sourceforge have not been tampered with. If you are able, you can help make
57 everybody's downloads more secure by running this occasionally to check PGP
58 signatures against download file checksums.
60 contrib/spendfrom is a python-language command-line utility that demonstrates
61 how to use the "raw transactions" JSON-RPC api to send coins received from particular
62 addresses (also known as "coin control").
64 New/changed settings (command-line or bitcoin.conf file)
65 --------------------------------------------------------
67 dbcache : controls LevelDB memory usage.
69 par : controls how many threads to use to validate transactions. Defaults to the number
70 of CPUs on your machine, use -par=1 to limit to a single CPU.
72 txindex : maintains an extra index of old, spent transaction ids so they will be found
73 by the getrawtransaction JSON-RPC method.
75 reindex : rebuild block and transaction indices from the downloaded block data.
77 New JSON-RPC API Features
78 -------------------------
80 lockunspent / listlockunspent allow locking transaction outputs for a period of time so
81 they will not be spent by other processes that might be accessing the same wallet.
83 addnode / getaddednodeinfo methods, to connect to specific peers without restarting.
85 importprivkey now takes an optional boolean parameter (default true) to control whether
86 or not to rescan the blockchain for transactions after importing a new private key.
88 Important Bug Fixes
89 -------------------
91 Privacy leak: the position of the "change" output in most transactions was not being
92 properly randomized, making network analysis of the transaction graph to identify
93 users' wallets easier. 
95 Zero-confirmation transaction vulnerability: accepting zero-confirmation transactions
96 (transactions that have not yet been included in a block) from somebody you do not
97 trust is still not recommended, because there will always be ways for attackers to
98 double-spend zero-confirmation transactions. However, this release includes a bug
99 fix that makes it a little bit more difficult for attackers to double-spend a
100 certain type ("lockTime in the future") of zero-confirmation transaction.
102 Dependency Changes
103 ------------------
105 Qt 4.8.3 (compiling against older versions of Qt 4 should continue to work)
108 Thanks to everybody who contributed to this release:
109 ----------------------------------------------------
111 Alexander Kjeldaas
112 Andrey Alekseenko
113 Arnav Singh
114 Christian von Roques
115 Eric Lombrozo
116 Forrest Voight
117 Gavin Andresen
118 Gregory Maxwell
119 Jeff Garzik
120 Luke Dashjr
121 Matt Corallo
122 Mike Cassano
123 Mike Hearn
124 Peter Todd
125 Philip Kaufmann
126 Pieter Wuille
127 Richard Schwab
128 Robert Backhaus
129 Rune K. Svendsen
130 Sergio Demian Lerner
131 Wladimir J. van der Laan
132 burger2
133 default
134 fanquake
135 grimd34th
136 justmoon
137 redshark1802
138 tucenaber
139 xanatos