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