Bitcoin version 0.8.0 release candidate 1 is now available from:

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:

Release-candidate 1 notes:

The OSX binary reports its version as "0.8.0rc1-1-gba1d080-beta" due to
issue . This will be fixed
before the final 0.8.0 release.

The Windows binaries could not be reproducibly built, due to issue . This will also be fixed
before the final 0.8.0 release.

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 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. If you have enough
memory, running with the -dbcache setting (e.g. -dbcache=1000 )
may make re-indexing faster.

Special notes for release candidate 1:

If you helped test pre-release versions, there are two changes that you
should be aware of:

1. Subdirectories in the data directory changed names; to avoid re-indexing
the blockchain, rename:
  mv $DATADIR/blktree $DATADIR/blocks/index
  mv $DATADIR/coins $DATADIR/chainstate

2. The "undo file" format changed; if you see errors at startup during block
validation re-run with the -reindex flag to fix them.

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


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 much less 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 : now controls LevelDB memory usage. Running with (for
example) -dbcache=1000
will use a gigabyte of memory and might make the initial blockchain
download faster.

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
Sanjay Ghemawat
Sergio Demian Lerner
Wladimir J. van der Laan

Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
Bitcoin-development mailing list

Reply via email to