# Gavin Andresen # 2012-09-06 19:59:48 # https://bitcointalk.org/index.php?topic=106236.msg1165551#msg1165551 Bitcoin version 0.7.0 release candidate 3 is now available for download at: @p{brk} @s{(link)} @p{par} Unless another critical bug is found, this should be the final 0.7.0 release. @p{par} How to Upgrade @p{brk} @p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{--} @p{par} If you are running an older version, shut it down. Wait @p{brk} until it has completely shut down (which might take a few minutes for older @p{brk} versions), then run the installer (on Windows) or just copy over @p{brk} /Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux). @p{par} If you were running on Linux with a version that might have been compiled @p{brk} with a different version of Berkeley DB (for example, if you were using an @p{brk} Ubuntu PPA version), then run the old version again with the -detachdb @p{brk} argument and shut it down; if you do not, then the new version will not @p{brk} be able to read the database files and will exit with an error. @p{par} Incompatible Changes @p{brk} @p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{--} @p{brk} * Replaced the 'getmemorypool' RPC command with 'getblocktemplate/submitblock' @p{brk} and 'getrawmempool' commands. @p{brk} * Remove deprecated RPC 'getblocknumber' @p{par} Bitcoin Improvement Proposals implemented @p{brk} @p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{--} @p{brk} BIP 22 - 'getblocktemplate', 'submitblock' RPCs @p{brk} BIP 34 - block version 2, height in coinbase @p{brk} BIP 35 - 'mempool' message, extended 'getdata' message behavior @p{par} @p{brk} Core bitcoin handling and blockchain database @p{brk} @p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-} @p{brk} * Reduced CPU usage, by eliminating some redundant hash calculations @p{brk} * Cache signature verifications, to eliminate redundant signature checks @p{brk} * Transactions with zero-value outputs are considered non-standard @p{brk} * Mining: when creating new blocks, sort 'paid' area by fee-per-kb @p{brk} * Database: better validation of on-disk stored data @p{brk} * Database: minor optimizations and reliability improvements @p{brk} * -loadblock=FILE will import an external block file @p{brk} * Additional DoS (denial-of-service) prevention measures @p{brk} * New blockchain checkpoint at block 193,000 @p{par} @p{brk} JSON-RPC API @p{brk} @p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-} @p{brk} * Internal HTTP server is now thread-per-connection, rather than @p{brk} a single-threaded queue that would stall on network I/O. @p{brk} * Internal HTTP server supports HTTP/1.1, pipelined requests and @p{brk} connection keep-alive. @p{brk} * Support JSON-RPC 2.0 batches, to encapsulate multiple JSON-RPC requests @p{brk} within a single HTTP request. @p{brk} * IPv6 support @p{brk} * Added raw transaction API. See @s{(link)} @p{brk} * Added 'getrawmempool', to list contents of TX memory pool @p{brk} * Added 'getpeerinfo', to list data about each connected network peer @p{brk} * Added 'listaddressgroupings' for better coin control @p{brk} * Rework gettransaction, getblock calls. 'gettransaction' responds for @p{brk} non-wallet TXs now. @p{brk} * Remove deprecated RPC 'getblocknumber' @p{brk} * Remove superceded RPC 'getmemorypool' (see BIP 22, above) @p{brk} * listtransactions output now displays "smart" times for transactions, @p{brk} and 'blocktime' and 'timereceived' fields were added @p{par} @p{brk} P2P networking @p{brk} @p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{--} @p{brk} * IPv6 support @p{brk} * Tor hidden service support (see doc/Tor.txt) @p{brk} * Attempts to fix "stuck blockchain download" problems @p{brk} * Replace BDB database "addr.dat" with internally-managed "peers.dat" @p{brk} file containing peer address data. @p{brk} * Lower default send buffer from 10MB to 1MB @p{brk} * proxy: SOCKS5 by default @p{brk} * Support connecting by hostnames passed to proxy @p{brk} * Add -seednode connections, and use this instead of DNS seeds when proxied @p{brk} * Added -externalip and -discover @p{brk} * Add -onlynet to connect only to a given network (IPv4, IPv6, or Tor) @p{brk} * Separate listening sockets, -bind=@p{lt}addr@s{gt} @p{par} @p{brk} Qt GUI @p{brk} @p{@p{--}-}@p{@p{--}-} @p{brk} * Add UI RPC console / debug window @p{brk} * Re-Enable URI handling on Windows, add safety checks and tray-notifications @p{brk} * Harmonize the use of ellipsis ("...") to be used in menus, but not on buttons @p{brk} * Add 2 labels to the overviewpage that display Wallet and Transaction status (obsolete or current) @p{brk} * Extend the optionsdialog (e.g. language selection) and re-work it to a tabbed UI @p{brk} * Merge sign/verify message into a single window with tabbed UI @p{brk} * Ensure a changed bitcoin unit immediately updates all GUI elements that use units @p{brk} * Update QR Code dialog @p{brk} * Improve error reporting at startup @p{brk} * Fine-grained UI updates for a much smoother UI during block downloads @p{brk} * Remove autocorrection of 0/i in addresses in UI @p{brk} * Reorganize tray icon menu into more logical order @p{brk} * Persistently poll for balance change when number of blocks changed @p{brk} * Much better translations @p{brk} * Override progress bar design on platforms with segmented progress bars to assist with readability @p{brk} * Added 'immature balance' display on the overview page @p{brk} * (Windows only): enable ASLR and DEP for bitcoin-qt.exe @p{brk} * (Windows only): add meta-data to bitcoin-qt.exe (e.g. description) @p{par} Internal codebase @p{brk} @p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{--} @p{brk} * Additional unit tests @p{brk} * Compile warning fixes @p{par} @p{brk} Miscellaneous @p{brk} @p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}- @p{brk} * Reopen debug.log upon SIGHUP @p{brk} * Bash programmable completion for bitcoind(1) @p{brk} * On supported OS's, each thread is given a useful name @p{brk}