/ doc / release-notes / release-notes-0.8.0.md
release-notes-0.8.0.md
  1  Bitcoin-Qt version 0.8.0 is now available from:
  2    http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.0/
  3  
  4  This is a major release designed to improve performance and handle the
  5  increasing volume of transactions on the network.
  6  
  7  Please report bugs using the issue tracker at github:
  8    https://github.com/bitcoin/bitcoin/issues
  9  
 10  How to Upgrade
 11  --------------
 12  
 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).
 17  
 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.
 21  
 22  Incompatible Changes
 23  --------------------
 24  
 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).
 30  
 31  Improvements
 32  ------------
 33  
 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.
 37  
 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).
 43  
 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.
 48  
 49  New Features
 50  ------------
 51  
 52  "Bloom filter" support in the network protocol for sending only relevant transactions to
 53  lightweight clients.
 54  
 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.
 59  
 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").
 63  
 64  New/changed settings (command-line or bitcoin.conf file)
 65  --------------------------------------------------------
 66  
 67  dbcache : controls LevelDB memory usage.
 68  
 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.
 71  
 72  txindex : maintains an extra index of old, spent transaction ids so they will be found
 73  by the getrawtransaction JSON-RPC method.
 74  
 75  reindex : rebuild block and transaction indices from the downloaded block data.
 76  
 77  New JSON-RPC API Features
 78  -------------------------
 79  
 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.
 82  
 83  addnode / getaddednodeinfo methods, to connect to specific peers without restarting.
 84  
 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.
 87  
 88  Important Bug Fixes
 89  -------------------
 90  
 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. 
 94  
 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.
101  
102  Dependency Changes
103  ------------------
104  
105  Qt 4.8.3 (compiling against older versions of Qt 4 should continue to work)
106  
107  
108  Thanks to everybody who contributed to this release:
109  ----------------------------------------------------
110  
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