aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/Doxyfile14
-rw-r--r--doc/README.md6
-rw-r--r--doc/README_windows.txt5
-rw-r--r--doc/assets-attribution.md50
-rw-r--r--doc/build-osx.md62
-rw-r--r--doc/build-unix.md73
-rw-r--r--doc/coding.md97
-rw-r--r--doc/gitian-building.md424
-rw-r--r--doc/gitian-building/create_vm_file_location_size.pngbin0 -> 71743 bytes
-rw-r--r--doc/gitian-building/create_vm_hard_drive.pngbin0 -> 79798 bytes
-rw-r--r--doc/gitian-building/create_vm_hard_drive_file_type.pngbin0 -> 82281 bytes
-rw-r--r--doc/gitian-building/create_vm_memsize.pngbin0 -> 53772 bytes
-rw-r--r--doc/gitian-building/create_vm_page1.pngbin0 -> 131585 bytes
-rw-r--r--doc/gitian-building/create_vm_storage_physical_hard_drive.pngbin0 -> 90350 bytes
-rw-r--r--doc/gitian-building/debian_install_10_configure_clock.pngbin0 -> 7892 bytes
-rw-r--r--doc/gitian-building/debian_install_11_partition_disks.pngbin0 -> 9511 bytes
-rw-r--r--doc/gitian-building/debian_install_12_choose_disk.pngbin0 -> 6613 bytes
-rw-r--r--doc/gitian-building/debian_install_13_partition_scheme.pngbin0 -> 8082 bytes
-rw-r--r--doc/gitian-building/debian_install_14_finish.pngbin0 -> 10467 bytes
-rw-r--r--doc/gitian-building/debian_install_15_write_changes.pngbin0 -> 8790 bytes
-rw-r--r--doc/gitian-building/debian_install_16_choose_a_mirror.pngbin0 -> 11340 bytes
-rw-r--r--doc/gitian-building/debian_install_17_choose_a_mirror2.pngbin0 -> 9788 bytes
-rw-r--r--doc/gitian-building/debian_install_18_proxy_settings.pngbin0 -> 7582 bytes
-rw-r--r--doc/gitian-building/debian_install_19_software_selection.pngbin0 -> 8939 bytes
-rw-r--r--doc/gitian-building/debian_install_1_boot_menu.pngbin0 -> 76176 bytes
-rw-r--r--doc/gitian-building/debian_install_20_install_grub.pngbin0 -> 9784 bytes
-rw-r--r--doc/gitian-building/debian_install_21_finish_installation.pngbin0 -> 6964 bytes
-rw-r--r--doc/gitian-building/debian_install_2_select_a_language.pngbin0 -> 13118 bytes
-rw-r--r--doc/gitian-building/debian_install_3_select_location.pngbin0 -> 9613 bytes
-rw-r--r--doc/gitian-building/debian_install_4_configure_keyboard.pngbin0 -> 10220 bytes
-rw-r--r--doc/gitian-building/debian_install_5_configure_the_network.pngbin0 -> 6774 bytes
-rw-r--r--doc/gitian-building/debian_install_6_domain_name.pngbin0 -> 6526 bytes
-rw-r--r--doc/gitian-building/debian_install_6a_set_up_root_password.pngbin0 -> 11876 bytes
-rw-r--r--doc/gitian-building/debian_install_7_set_up_user_fullname.pngbin0 -> 7528 bytes
-rw-r--r--doc/gitian-building/debian_install_8_set_up_username.pngbin0 -> 6304 bytes
-rw-r--r--doc/gitian-building/debian_install_9_user_password.pngbin0 -> 6323 bytes
-rw-r--r--doc/gitian-building/network_settings.pngbin0 -> 59986 bytes
-rw-r--r--doc/gitian-building/port_forwarding_rules.pngbin0 -> 14044 bytes
-rw-r--r--doc/gitian-building/select_startup_disk.pngbin0 -> 86323 bytes
-rw-r--r--doc/release-notes.md5
-rw-r--r--doc/release-notes/release-notes-0.3.12.md13
-rw-r--r--doc/release-notes/release-notes-0.3.13.md26
-rw-r--r--doc/release-notes/release-notes-0.3.14.md11
-rw-r--r--doc/release-notes/release-notes-0.3.15.md6
-rw-r--r--doc/release-notes/release-notes-0.3.16.md1
-rw-r--r--doc/release-notes/release-notes-0.3.17.md12
-rw-r--r--doc/release-notes/release-notes-0.3.18.md11
-rw-r--r--doc/release-notes/release-notes-0.3.19.md9
-rw-r--r--doc/release-notes/release-notes-0.3.20.1.md1
-rw-r--r--doc/release-notes/release-notes-0.3.20.2.md17
-rw-r--r--doc/release-notes/release-notes-0.3.20.md22
-rw-r--r--doc/release-notes/release-notes-0.3.21.md20
-rw-r--r--doc/release-notes/release-notes-0.3.22.md16
-rw-r--r--doc/release-notes/release-notes-0.3.23.md10
-rw-r--r--doc/release-notes/release-notes-0.3.24.md20
-rw-r--r--doc/release-notes/release-notes-0.4.0.md70
-rw-r--r--doc/release-notes/release-notes-0.4.1.md38
-rw-r--r--doc/release-notes/release-notes-0.4.2.md1
-rw-r--r--doc/release-notes/release-notes-0.4.3.md21
-rw-r--r--doc/release-notes/release-notes-0.4.4.md30
-rw-r--r--doc/release-notes/release-notes-0.4.5.md1
-rw-r--r--doc/release-notes/release-notes-0.4.6.md37
-rw-r--r--doc/release-notes/release-notes-0.5.0.md70
-rw-r--r--doc/release-notes/release-notes-0.5.1.md43
-rw-r--r--doc/release-notes/release-notes-0.5.2.md22
-rw-r--r--doc/release-notes/release-notes-0.5.3.md42
-rw-r--r--doc/release-notes/release-notes-0.5.4.md39
-rw-r--r--doc/release-notes/release-notes-0.5.5.md37
-rw-r--r--doc/release-notes/release-notes-0.6.0.md138
-rw-r--r--doc/release-notes/release-notes-0.6.1.md2
-rw-r--r--doc/release-notes/release-notes-0.6.2.md50
-rw-r--r--doc/release-notes/release-notes-0.6.3.md29
-rw-r--r--doc/release-notes/release-notes-0.7.0.md169
-rw-r--r--doc/release-notes/release-notes-0.7.1.md110
-rw-r--r--doc/release-notes/release-notes-0.7.2.md68
-rw-r--r--doc/release-notes/release-notes-0.8.0.md139
-rw-r--r--doc/release-notes/release-notes-0.8.1.md22
-rw-r--r--doc/release-notes/release-notes-0.8.2.md137
-rw-r--r--doc/release-notes/release-notes-0.8.3.md18
-rw-r--r--doc/release-notes/release-notes-0.8.4.md83
-rw-r--r--doc/release-notes/release-notes-0.8.5.md44
-rw-r--r--doc/release-notes/release-notes-0.8.6.md66
-rw-r--r--doc/release-notes/release-notes-0.9.0.md411
-rw-r--r--doc/release-process.md103
-rw-r--r--doc/tor.md2
-rw-r--r--doc/translation_process.md8
86 files changed, 2823 insertions, 158 deletions
diff --git a/doc/Doxyfile b/doc/Doxyfile
index 9bad2d0759..e0339e652e 100644
--- a/doc/Doxyfile
+++ b/doc/Doxyfile
@@ -34,7 +34,7 @@ PROJECT_NAME = Bitcoin
# This could be handy for archiving the generated documentation or
# if some version control system is used.
-PROJECT_NUMBER = 0.9.0
+PROJECT_NUMBER = 0.9.99
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer
@@ -683,7 +683,7 @@ RECURSIVE = YES
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
-EXCLUDE =
+EXCLUDE = src/leveldb src/json src/test /src/qt/test
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
@@ -705,7 +705,7 @@ EXCLUDE_PATTERNS =
# wildcard * is used, a substring. Examples: ANamespace, AClass,
# AClass::ANamespace, ANamespace::*Test
-EXCLUDE_SYMBOLS =
+EXCLUDE_SYMBOLS = boost google
# The EXAMPLE_PATH tag can be used to specify one or more files or
# directories that contain example code fragments that are included (see
@@ -1577,7 +1577,7 @@ HIDE_UNDOC_RELATIONS = YES
# toolkit from AT&T and Lucent Bell Labs. The other options in this section
# have no effect if this option is set to NO (the default)
-HAVE_DOT = NO
+HAVE_DOT = YES
# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
# allowed to run in parallel. When set to 0 (the default) doxygen will
@@ -1659,7 +1659,7 @@ INCLUDED_BY_GRAPH = YES
# the time of a run. So in most cases it will be better to enable call graphs
# for selected functions only using the \callgraph command.
-CALL_GRAPH = NO
+CALL_GRAPH = YES
# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
# doxygen will generate a caller dependency graph for every global function
@@ -1667,7 +1667,7 @@ CALL_GRAPH = NO
# the time of a run. So in most cases it will be better to enable caller
# graphs for selected functions only using the \callergraph command.
-CALLER_GRAPH = NO
+CALLER_GRAPH = YES
# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
# will generate a graphical hierarchy of all classes instead of a textual one.
@@ -1685,7 +1685,7 @@ DIRECTORY_GRAPH = YES
# generated by dot. Possible values are svg, png, jpg, or gif.
# If left blank png will be used.
-DOT_IMAGE_FORMAT = png
+DOT_IMAGE_FORMAT = svg
# The tag DOT_PATH can be used to specify the path where the dot tool can be
# found. If left blank, it is assumed the dot tool can be found in the path.
diff --git a/doc/README.md b/doc/README.md
index dd76f28bac..a215824582 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -1,7 +1,7 @@
-Bitcoin 0.8.2 BETA
-====================
+Bitcoin 0.9.0 BETA
+=====================
-Copyright (c) 2009-2013 Bitcoin Developers
+Copyright (c) 2009-2014 Bitcoin Developers
Setup
diff --git a/doc/README_windows.txt b/doc/README_windows.txt
index f120b8eb2f..abca4894e2 100644
--- a/doc/README_windows.txt
+++ b/doc/README_windows.txt
@@ -1,6 +1,7 @@
-Bitcoin 0.8.2 BETA
+Bitcoin 0.9.0rc1 BETA
+
+Copyright (c) 2009-2014 Bitcoin Core Developers
-Copyright (c) 2009-2013 Bitcoin Developers
Distributed under the MIT/X11 software license, see the accompanying
file COPYING or http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by the OpenSSL Project for use in
diff --git a/doc/assets-attribution.md b/doc/assets-attribution.md
index e85e74522d..61b457a282 100644
--- a/doc/assets-attribution.md
+++ b/doc/assets-attribution.md
@@ -4,29 +4,29 @@ The following is a list of assets used in the bitcoin source and their proper at
-----------------------
#### Info
* License: MIT
-### Assets Used
- src/qt/res/icons/clock*.png, src/qt/res/icons/tx*.png,
- src/qt/res/src/clock_green.svg, src/qt/res/src/clock1.svg,
- src/qt/res/src/clock2.svg, src/qt/res/src/clock3.svg,
- src/qt/res/src/clock4.svg, src/qt/res/src/clock5.svg,
- src/qt/res/src/inout.svg, src/qt/res/src/questionmark.svg
+### Assets Used
+ src/qt/res/icons/clock*.png, src/qt/res/icons/tx*.png,
+ src/qt/res/src/clock_green.svg, src/qt/res/src/clock1.svg,
+ src/qt/res/src/clock2.svg, src/qt/res/src/clock3.svg,
+ src/qt/res/src/clock4.svg, src/qt/res/src/clock5.svg,
+ src/qt/res/src/inout.svg, src/qt/res/src/questionmark.svg
-[David Vignoni](www.icon-king.com)
+[David Vignoni](http://www.icon-king.com)
-----------------------
### Info
* Icon Pack: NUVOLA ICON THEME for KDE 3.x
* Designer: David Vignoni (david@icon-king.com)
* License: LGPL
-* Site: [http://www.icon-king.com/projects/nuvola/](http://www.icon-king.com/projects/nuvola/)
+* Site: [http://www.icon-king.com/projects/nuvola](http://www.icon-king.com/projects/nuvola)
### Assets Used
- src/qt/res/icons/address-book.png, src/qt/res/icons/export.png,
- src/qt/res/icons/history.png, src/qt/res/icons/key.png,
- src/qt/res/icons/lock_*.png, src/qt/res/icons/overview.png,
- src/qt/res/icons/receive.png, src/qt/res/icons/send.png,
- src/qt/res/icons/synced.png, src/qt/res/icons/filesave.png
+ src/qt/res/icons/address-book.png, src/qt/res/icons/export.png,
+ src/qt/res/icons/history.png, src/qt/res/icons/key.png,
+ src/qt/res/icons/lock_*.png, src/qt/res/icons/overview.png,
+ src/qt/res/icons/receive.png, src/qt/res/icons/send.png,
+ src/qt/res/icons/synced.png, src/qt/res/icons/filesave.png
schollidesign
-----------------------
@@ -38,17 +38,16 @@ schollidesign
* Site: [http://findicons.com/icon/93743/blocks_gnome_netstatus_0](http://findicons.com/icon/93743/blocks_gnome_netstatus_0)
### Assets Used
- src/qt/res/icons/connect*.png
+ src/qt/res/icons/connect*.png
md2k7
-----------------------
### Info
* Designer: md2k7
-* Site: https://bitcointalk.org/index.php?topic=15276.0
-* License: You are free to do with these icons as you wish, including selling,
- copying, modifying etc.
+* License: You are free to do with these icons as you wish, including selling, copying, modifying etc.
* License: MIT
+* Site: [https://bitcointalk.org/index.php?topic=15276.0](https://bitcointalk.org/index.php?topic=15276.0)
### Assets Used
src/qt/res/icons/transaction*.png
@@ -57,15 +56,15 @@ md2k7
-----------------------
### Info
-* Designer: [http://www.everaldo.com](http://www.everaldo.com)
* Icon Pack: Crystal SVG
+* Designer: [http://www.everaldo.com](http://www.everaldo.com)
* License: LGPL
### Assets Used
src/qt/res/icons/configure.png, src/qt/res/icons/quit.png,
- src/qt/res/icons/editcopy.png, src/qt/res/icons/editpaste.png,
- src/qt/res/icons/add.png, src/qt/res/icons/edit.png,
- src/qt/res/icons/remove.png (edited)
+ src/qt/res/icons/editcopy.png, src/qt/res/icons/editpaste.png,
+ src/qt/res/icons/add.png, src/qt/res/icons/edit.png,
+ src/qt/res/icons/remove.png (edited)
Everaldo (Everaldo Coelho)
-----------------------
@@ -75,16 +74,17 @@ Everaldo (Everaldo Coelho)
* Designer: Everaldo (Everaldo Coelho)
* License: GNU/GPL
* Site: [http://findicons.com/icon/17102/reload?id=17102](http://findicons.com/icon/17102/reload?id=17102)
+
### Assets Used
- scripts/img/reload.xcf (modified), src/qt/res/movies/update_spinner.mng
+ scripts/img/reload.xcf (modified), src/qt/res/movies/*.png
-[Vignoni David](http://www.oxygen-icons.org/)
+[Vignoni David](http://techbase.kde.org/Projects/Oxygen)
-----------------------
### Info
* Designer: Vignoni David
-* Site: http://www.oxygen-icons.org/
* License: Oxygen icon theme is dual licensed. You may copy it under the Creative Common Attribution-ShareAlike 3.0 License or the GNU Library General Public License.
+* Site: [http://techbase.kde.org/Projects/Oxygen](http://techbase.kde.org/Projects/Oxygen)
### Assets Used
src/qt/res/icons/debugwindow.png
@@ -101,4 +101,4 @@ Jonas Schnelli
src/qt/res/src/bitcoin.ico, src/qt/res/src/bitcoin.png,
src/qt/res/src/bitcoin_testnet.png, docs/bitcoin_logo_doxygen.png,
src/qt/res/icons/toolbar.png, src/qt/res/icons/toolbar_testnet.png,
- src/qt/res/images/splash.png, src/qt/res/images/splash_testnet.png \ No newline at end of file
+ src/qt/res/images/splash.png, src/qt/res/images/splash_testnet.png
diff --git a/doc/build-osx.md b/doc/build-osx.md
index 6268a440a8..0de5c792e9 100644
--- a/doc/build-osx.md
+++ b/doc/build-osx.md
@@ -5,8 +5,9 @@ This guide will show you how to build bitcoind(headless client) for OSX.
Notes
-----
-* Tested on OS X 10.5 through 10.8 on Intel processors only. PPC is not
-supported because it is big-endian.
+* Tested on OS X 10.6 through 10.9 on 64-bit Intel processors only.
+Older OSX releases or 32-bit processors are no longer supported.
+
* All of the commands should be executed in a Terminal application. The
built-in one is located in `/Applications/Utilities`.
@@ -27,7 +28,7 @@ not, it's the path of least resistance to install [Github for Mac](https://mac.g
[Git for OS X](https://code.google.com/p/git-osx-installer/). It is also
available via Homebrew or MacPorts.
-You will also need to install [Homebrew](http://mxcl.github.io/homebrew/)
+You will also need to install [Homebrew](http://brew.sh)
or [MacPorts](https://www.macports.org/) in order to install library
dependencies. It's largely a religious decision which to choose, but, as of
December 2012, MacPorts is a little easier because you can just install the
@@ -45,7 +46,11 @@ Instructions: MacPorts
Installing the dependencies using MacPorts is very straightforward.
- sudo port install boost db48@+no_java openssl miniupnpc
+ sudo port install boost db48@+no_java openssl miniupnpc autoconf pkgconfig automake
+
+Optional: install Qt4
+
+ sudo port install qt4-mac qrencode protobuf-cpp
### Building `bitcoind`
@@ -54,7 +59,7 @@ Installing the dependencies using MacPorts is very straightforward.
git clone git@github.com:bitcoin/bitcoin.git bitcoin
cd bitcoin
-2. Build bitcoind:
+2. Build bitcoind (and Bitcoin-Qt, if configured):
./autogen.sh
./configure
@@ -64,24 +69,26 @@ Installing the dependencies using MacPorts is very straightforward.
make check
-Instructions: HomeBrew
+Instructions: Homebrew
----------------------
#### Install dependencies using Homebrew
- brew install boost miniupnpc openssl berkeley-db4
+ brew install autoconf automake berkeley-db4 boost miniupnpc openssl pkg-config protobuf qt
-Note: After you have installed the dependencies, you should check that the Brew installed version of OpenSSL is the one available for compilation. You can check this by typing
+Note: After you have installed the dependencies, you should check that the Homebrew installed version of OpenSSL is the one available for compilation. You can check this by typing
openssl version
-into Terminal. You should see OpenSSL 1.0.1e 11 Feb 2013.
+into Terminal. You should see OpenSSL 1.0.1f 6 Jan 2014.
-If not, you can ensure that the Brew OpenSSL is correctly linked by running
+If not, you can ensure that the Homebrew OpenSSL is correctly linked by running
brew link openssl --force
-Rerunning "openssl version" should now return the correct version.
+Rerunning "openssl version" should now return the correct version. If it
+doesn't, make sure `/usr/local/bin` comes before `/usr/bin` in your
+PATH.
### Building `bitcoind`
@@ -102,35 +109,33 @@ Rerunning "openssl version" should now return the correct version.
Creating a release build
------------------------
+You can ignore this section if you are building `bitcoind` for your own use.
-A bitcoind binary is not included in the Bitcoin-Qt.app bundle. You can ignore
-this section if you are building `bitcoind` for your own use.
+bitcoind/bitcoin-cli binaries are not included in the Bitcoin-Qt.app bundle.
-If you are building `bitcoind` for others, your build machine should be set up
+If you are building `bitcoind` or `Bitcoin-Qt` for others, your build machine should be set up
as follows for maximum compatibility:
All dependencies should be compiled with these flags:
- -mmacosx-version-min=10.5 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk
+ -mmacosx-version-min=10.6
+ -arch x86_64
+ -isysroot $(xcode-select --print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk
For MacPorts, that means editing your macports.conf and setting
`macosx_deployment_target` and `build_arch`:
- macosx_deployment_target=10.5
- build_arch=i386
+ macosx_deployment_target=10.6
+ build_arch=x86_64
... and then uninstalling and re-installing, or simply rebuilding, all ports.
As of December 2012, the `boost` port does not obey `macosx_deployment_target`.
Download `http://gavinandresen-bitcoin.s3.amazonaws.com/boost_macports_fix.zip`
-for a fix. Some ports also seem to obey either `build_arch` or
-`macosx_deployment_target`, but not both at the same time. For example, building
-on an OS X 10.6 64-bit machine fails. Official release builds of Bitcoin-Qt are
-compiled on an OS X 10.6 32-bit machine to workaround that problem.
-
-Once dependencies are compiled, creating `Bitcoin-Qt.app` is easy:
+for a fix.
- make -f Makefile.osx RELEASE=1
+Once dependencies are compiled, see release-process.md for how the Bitcoin-Qt.app
+bundle is packaged and signed to create the .dmg disk image that is distributed.
Running
-------
@@ -145,10 +150,13 @@ commands:
chmod 600 "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
When next you run it, it will start downloading the blockchain, but it won't
-output anything while it's doing this. This process may take several hours.
+output anything while it's doing this. This process may take several hours;
+you can monitor its process by looking at the debug.log file, like this:
+
+ tail -f $HOME/Library/Application\ Support/Bitcoin/debug.log
Other commands:
- ./bitcoind --help # for a list of command-line options.
./bitcoind -daemon # to start the bitcoin daemon.
- ./bitcoind help # When the daemon is running, to get a list of RPC commands
+ ./bitcoin-cli --help # for a list of command-line options.
+ ./bitcoin-cli help # When the daemon is running, to get a list of RPC commands
diff --git a/doc/build-unix.md b/doc/build-unix.md
index b88186a70e..d08c327ff9 100644
--- a/doc/build-unix.md
+++ b/doc/build-unix.md
@@ -14,21 +14,21 @@ This will build bitcoin-qt as well if the dependencies are met.
Dependencies
---------------------
- Library Purpose Description
- ------- ------- -----------
- libssl SSL Support Secure communications
- libdb4.8 Berkeley DB Wallet storage
- libboost Boost C++ Library
- miniupnpc UPnP Support Optional firewall-jumping support
- qt GUI GUI toolkit
- protobuf Payments in GUI Data interchange format used for payment protocol
- libqrencode QR codes in GUI Optional for generating QR codes
+ Library | Purpose | Description
+ ------------|------------------|----------------------
+ libssl | SSL Support | Secure communications
+ libdb4.8 | Berkeley DB | Wallet storage
+ libboost | Boost | C++ Library
+ miniupnpc | UPnP Support | Optional firewall-jumping support
+ qt | GUI | GUI toolkit
+ protobuf | Payments in GUI | Data interchange format used for payment protocol
+ libqrencode | QR codes in GUI | Optional for generating QR codes
[miniupnpc](http://miniupnp.free.fr/) may be used for UPnP port mapping. It can be downloaded from [here](
http://miniupnp.tuxfamily.org/files/). UPnP support is compiled in and
turned off by default. See the configure options for upnp behavior desired:
- --with-miniupnpc No UPnP support miniupnp not required
+ --without-miniupnpc No UPnP support miniupnp not required
--disable-upnp-default (the default) UPnP support turned off by default at runtime
--enable-upnp-default UPnP support turned on by default at runtime
@@ -42,15 +42,14 @@ Licenses of statically linked libraries:
Boost MIT-like license
miniupnpc New (3-clause) BSD license
-- Versions used in this release:
-- GCC 4.3.3
-- OpenSSL 1.0.1c
-- Berkeley DB 4.8.30.NC
-- Boost 1.37
-- miniupnpc 1.6
-- qt 4.8.3
-- protobuf 2.5.0
-- libqrencode 3.2.0
+- For the versions used in this release, see doc/release-process.md under *Fetch and build inputs*.
+
+System requirements
+--------------------
+
+C++ compilers are memory-hungry. It is recommended to have at least 1 GB of
+memory available when compiling Bitcoin Core. With 512MB of memory or less
+compilation will take much longer due to swap thrashing.
Dependency Build Instructions: Ubuntu & Debian
----------------------------------------------
@@ -65,16 +64,34 @@ for Ubuntu 12.04 and later:
sudo apt-get install libboost-all-dev
db4.8 packages are available [here](https://launchpad.net/~bitcoin/+archive/bitcoin).
+ You can add the repository using the following command:
+
+ sudo add-apt-repository ppa:bitcoin/bitcoin
+ sudo apt-get update
Ubuntu 12.04 and later have packages for libdb5.1-dev and libdb5.1++-dev,
but using these will break binary wallet compatibility, and is not recommended.
+for Ubuntu 13.10:
+ libboost1.54 will not work,
+ remove libboost1.54-all-dev and install libboost1.53-all-dev instead.
+
+for Debian 7 (Wheezy) and later:
+ The oldstable repository contains db4.8 packages.
+ Add the following line to /etc/apt/sources.list,
+ replacing [mirror] with any official debian mirror.
+
+ deb http://[mirror]/debian/ oldstable main
+
+To enable the change run
+
+ sudo apt-get update
+
for other Ubuntu & Debian:
sudo apt-get install libdb4.8-dev
sudo apt-get install libdb4.8++-dev
- sudo apt-get install libboost1.37-dev
- (If using Boost 1.37, append -mt to the boost libraries in the makefile)
+ sudo apt-get install libboost1.55-all-dev
Optional:
@@ -84,15 +101,21 @@ Dependencies for the GUI: Ubuntu & Debian
-----------------------------------------
If you want to build Bitcoin-Qt, make sure that the required packages for Qt development
-are installed. Qt 4 is currently necessary to build the GUI.
+are installed. Either Qt 4 or Qt 5 are necessary to build the GUI.
+If both Qt 4 and Qt 5 are installed, Qt 4 will be used. Pass `--with-gui=qt5` to configure to choose Qt5.
+To build without GUI pass `--without-gui`.
To build with Qt 4 you need the following:
- apt-get install libqt4-dev libprotobuf-dev protobuf-compiler
+ sudo apt-get install libqt4-dev libprotobuf-dev protobuf-compiler
+
+For Qt 5 you need the following:
+
+ sudo apt-get install libqt5gui5 libqt5core5 libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev
libqrencode (optional) can be installed with:
- apt-get install libqrencode-dev
+ sudo apt-get install libqrencode-dev
Once these are installed, they will be found by configure and a bitcoin-qt executable will be
built by default.
@@ -116,8 +139,10 @@ Berkeley DB
-----------
You need Berkeley DB 4.8. If you have to build Berkeley DB yourself:
+ cd build_unix/
../dist/configure --enable-cxx
make
+ sudo make install
Boost
diff --git a/doc/coding.md b/doc/coding.md
index 3581d7deb2..69388c9ce2 100644
--- a/doc/coding.md
+++ b/doc/coding.md
@@ -43,8 +43,61 @@ Common types:
set set or multiset
bn CBigNum
--------------------------
+Doxygen comments
+-----------------
+
+To facilitate the generation of documentation, use doxygen-compatible comment blocks for functions, methods and fields.
+
+For example, to describe a function use:
+```c++
+/**
+ * ... text ...
+ * @param[in] arg1 A description
+ * @param[in] arg2 Another argument description
+ * @pre Precondition for function...
+ */
+bool function(int arg1, const char *arg2)
+```
+A complete list of `@xxx` commands can be found at http://www.stack.nl/~dimitri/doxygen/manual/commands.html.
+As Doxygen recognizes the comments by the delimiters (`/**` and `*/` in this case), you don't
+*need* to provide any commands for a comment to be valid, just a description text is fine.
+
+To describe a class use the same construct above the class definition:
+```c++
+/**
+ * Alerts are for notifying old versions if they become too obsolete and
+ * need to upgrade. The message is displayed in the status bar.
+ * @see GetWarnings()
+ */
+class CAlert
+{
+```
+
+To describe a member or variable use:
+```c++
+int var; //!< Detailed description after the member
+```
+
+Also OK:
+```c++
+///
+/// ... text ...
+///
+bool function2(int arg1, const char *arg2)
+```
+
+Not OK (used plenty in the current source, but not picked up):
+```c++
+//
+// ... text ...
+//
+```
+
+A full list of comment syntaxes picked up by doxygen can be found at http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html,
+but if possible use one of the above styles.
+
Locking/mutex usage notes
+-------------------------
The code is multi-threaded, and uses mutexes and the
LOCK/TRY_LOCK macros to protect data structures.
@@ -60,35 +113,35 @@ between the various components is a goal, with any necessary locking
done by the components (e.g. see the self-contained CKeyStore class
and its cs_KeyStore lock for example).
--------
Threads
+-------
+
+- ThreadScriptCheck : Verifies block scripts.
+
+- ThreadImport : Loads blocks from blk*.dat files or bootstrap.dat.
- StartNode : Starts other threads.
-- ThreadGetMyExternalIP : Determines outside-the-firewall IP address, sends addr message to connected peers when it determines it.
+- ThreadGetMyExternalIP : Determines outside-the-firewall IP address, sends addr message to connected peers when it determines it.
+
+- ThreadDNSAddressSeed : Loads addresses of peers from the DNS.
+
+- ThreadMapPort : Universal plug-and-play startup/shutdown
- ThreadSocketHandler : Sends/Receives data from peers on port 8333.
-
-- ThreadMessageHandler : Higher-level message handling (sending and receiving).
-
+
+- ThreadOpenAddedConnections : Opens network connections to added nodes.
+
- ThreadOpenConnections : Initiates new connections to peers.
-- ThreadTopUpKeyPool : replenishes the keystore's keypool.
-
-- ThreadCleanWalletPassphrase : re-locks an encrypted wallet after user has unlocked it for a period of time.
-
-- SendingDialogStartTransfer : used by pay-via-ip-address code (obsolete)
-
-- ThreadDelayedRepaint : repaint the gui
+- ThreadMessageHandler : Higher-level message handling (sending and receiving).
+
+- DumpAddresses : Dumps IP addresses of nodes to peers.dat.
- ThreadFlushWalletDB : Close the wallet.dat file if it hasn't been used in 500ms.
-
+
- ThreadRPCServer : Remote procedure call handler, listens on port 8332 for connections and services them.
-
-- ThreadBitcoinMiner : Generates bitcoins
-
-- ThreadMapPort : Universal plug-and-play startup/shutdown
-
-- Shutdown : Does an orderly shutdown of everything
-
-- ExitTimeout : Windows-only, sleeps 5 seconds then exits application
+
+- BitcoinMiner : Generates bitcoins (if wallet is enabled).
+
+- Shutdown : Does an orderly shutdown of everything.
diff --git a/doc/gitian-building.md b/doc/gitian-building.md
new file mode 100644
index 0000000000..23059a0506
--- /dev/null
+++ b/doc/gitian-building.md
@@ -0,0 +1,424 @@
+Gitian building
+================
+
+*Setup instructions for a gitian build of Bitcoin using a Debian VM or physical system.*
+
+Gitian is the deterministic build process that is used to build the Bitcoin
+Core executables [1]. It provides a way to be reasonably sure that the
+executables are really built from source on github. It also makes sure that
+the same, tested dependencies are used and statically built into the executable.
+
+Multiple developers build the source code by following a specific descriptor
+("recipe"), cryptographically sign the result, and upload the resulting signature.
+These results are compared and only if they match, the build is accepted and uploaded
+to bitcoin.org.
+
+More independent gitian builders are needed, which is why I wrote this
+guide. It is preferred to follow these steps yourself instead of using someone else's
+VM image to avoid 'contaminating' the build.
+
+[1] For all platforms except for MacOSX, at this point. Work for deterministic
+builds for Mac is under way here: https://github.com/theuni/osx-cross-depends .
+
+Table of Contents
+------------------
+
+- [Create a new VirtualBox VM](#create-a-new-virtualbox-vm)
+- [Connecting to the VM](#connecting-to-the-vm)
+- [Setting up Debian for gitian building](#setting-up-debian-for-gitian-building)
+- [Installing gitian](#installing-gitian)
+- [Setting up gitian images](#setting-up-gitian-images)
+- [Getting and building the inputs](#getting-and-building-the-inputs)
+- [Building Bitcoin](#building-bitcoin)
+- [Building an alternative repository](#building-an-alternative-repository)
+- [Signing externally](#signing-externally)
+- [Uploading signatures](#uploading-signatures)
+
+Create a new VirtualBox VM
+---------------------------
+
+The first step is to create a new Virtual Machine, which will be explained in
+this section. This VM will be used to do the Gitian builds. In this guide it
+will be explained how to set up the environment, and how to get the builds
+started.
+
+Debian Linux was chosen as the host distribution because it has a lightweight install (in
+contrast to Ubuntu) and is readily available. We here show the steps for
+VirtualBox [1], but any kind of virtualization can be used. You can also install
+on actual hardware instead of using a VM, in this case you can skip this section.
+
+In the VirtualBox GUI click "Create" and choose the following parameters in the wizard:
+
+![](gitian-building/create_vm_page1.png)
+
+- Type: Linux, Debian (64 bit)
+
+![](gitian-building/create_vm_memsize.png)
+
+- Memory Size: at least 1024MB, anything lower will really slow the build down
+
+![](gitian-building/create_vm_hard_drive.png)
+
+- Hard Drive: Create a virtual hard drive now
+
+![](gitian-building/create_vm_hard_drive_file_type.png)
+
+- Hard Drive file type: Use the default, VDI (VirtualBox Disk Image)
+
+![](gitian-building/create_vm_storage_physical_hard_drive.png)
+
+- Storage on Physical hard drive: Dynamically Allocated
+
+![](gitian-building/create_vm_file_location_size.png)
+
+- Disk size: at least 40GB; as low as 20GB *may* be possible, but better to err on the safe side
+- Push the `Create` button
+
+Get the [Debian 7.4 net installer](http://cdimage.debian.org/debian-cd/7.4.0/amd64/iso-cd/debian-7.4.0-amd64-netinst.iso).
+This DVD image can be validated using a SHA256 hashing tool, for example on
+Unixy OSes by entering the following in a terminal:
+
+ echo "b712a141bc60269db217d3b3e456179bd6b181645f90e4aac9c42ed63de492e9 /home/orion/Downloads/debian-7.4.0-amd64-netinst.iso" | sha256sum -c
+ # (must return OK)
+
+After creating the VM, we need to configure it.
+
+- Click the `Settings` button, then go to the `Network` tab. Adapter 1 should be attacked to `NAT`.
+
+![](gitian-building/network_settings.png)
+
+- Click `Advanced`, then `Port Forwarding`. We want to set up a port through where we can reach the VM to get files in and out.
+- Create a new rule by clicking the plus icon.
+
+![](gitian-building/port_forwarding_rules.png)
+
+- Set up the new rule the following way:
+ - Name: `SSH`
+ - Protocol: `TCP`
+ - Leave Host IP empty
+ - Host Port: `22222`
+ - Leave Guest IP empty
+ - Guest Port: `22`
+
+- Click `Ok` twice to save.
+
+Then start the VM. On the first launch you will be asked for a CD or DVD image. Choose the downloaded iso.
+
+![](gitian-building/select_startup_disk.png)
+
+[1] https://www.virtualbox.org/
+
+Installing Debian
+------------------
+
+In this section it will be explained how to install Debian on the newly created VM.
+
+- Choose the non-graphical installer. We do not need the graphical environment, it will only increase installation time and disk usage.
+
+![](gitian-building/debian_install_1_boot_menu.png)
+
+**Note**: Navigation in the Debian installer: To keep a setting at the default
+and proceed, just press `Enter`. To select a different button, press `Tab`.
+
+- Choose locale and keyboard settings (doesn't matter, you can just go with the defaults or select your own information)
+
+![](gitian-building/debian_install_2_select_a_language.png)
+![](gitian-building/debian_install_3_select_location.png)
+![](gitian-building/debian_install_4_configure_keyboard.png)
+
+- The VM will detect network settings using DHCP, this should all proceed automatically
+- Configure the network:
+ - System name `debian`.
+ - Leave domain name empty.
+
+![](gitian-building/debian_install_5_configure_the_network.png)
+
+- Choose a root password and enter it twice (and remember it for later)
+
+![](gitian-building/debian_install_6a_set_up_root_password.png)
+
+- Name the new user `debian` (the full name doesn't matter, you can leave it empty)
+
+![](gitian-building/debian_install_7_set_up_user_fullname.png)
+![](gitian-building/debian_install_8_set_up_username.png)
+
+- Choose a user password and enter it twice (and remember it for later)
+
+![](gitian-building/debian_install_9_user_password.png)
+
+- The installer will set up the clock using a time server, this process should be automatic
+- Set up the clock: choose a time zone (depends on the locale settings that you picked earlier; specifics don't matter)
+
+![](gitian-building/debian_install_10_configure_clock.png)
+
+- Disk setup
+ - Partitioning method: Guided - Use the entire disk
+
+![](gitian-building/debian_install_11_partition_disks.png)
+
+ - Select disk to partition: SCSI1 (0,0,0)
+
+![](gitian-building/debian_install_12_choose_disk.png)
+
+ - Partitioning scheme: All files in one partition
+
+![](gitian-building/debian_install_13_partition_scheme.png)
+
+ - Finish partitioning and write changes to disk -> *Yes* (`Tab`, `Enter` to select the `Yes` button)
+
+![](gitian-building/debian_install_14_finish.png)
+![](gitian-building/debian_install_15_write_changes.png)
+
+- The base system will be installed, this will take a minute or so
+- Choose a mirror (any will do)
+
+![](gitian-building/debian_install_16_choose_a_mirror.png)
+
+- Enter proxy information (unless you are on an intranet, you can leave this empty)
+
+![](gitian-building/debian_install_18_proxy_settings.png)
+
+- Wait a bit while 'Select and install software' runs
+- Participate in popularity contest -> *No*
+- Choose software to install. We need just the base system.
+
+![](gitian-building/debian_install_19_software_selection.png)
+
+- Make sure only 'SSH server' and 'Standard System Utilities' are checked
+- Uncheck 'Debian Desktop Environment' and 'Print Server'
+
+![](gitian-building/debian_install_20_install_grub.png)
+
+- Install the GRUB boot loader to the master boot record? -> Yes
+
+![](gitian-building/debian_install_21_finish_installation.png)
+
+- Installation Complete -> *Continue*
+- After installation, the VM will reboot and you will have a working Debian VM. Congratulations!
+
+Connecting to the VM
+----------------------
+
+After the VM has booted you can connect to it using SSH, and files can be copied from and to the VM using a SFTP utility.
+Connect to `localhost`, port `22222` (or the port configured when installing the VM).
+On Windows you can use putty[1] and WinSCP[2].
+
+For example to connect as `root` from a Linux command prompt use
+
+ $ ssh root@localhost -p 22222
+ The authenticity of host '[localhost]:22222 ([127.0.0.1]:22222)' can't be established.
+ ECDSA key fingerprint is 8e:71:f9:5b:62:46:de:44:01:da:fb:5f:34:b5:f2:18.
+ Are you sure you want to continue connecting (yes/no)? yes
+ Warning: Permanently added '[localhost]:22222' (ECDSA) to the list of known hosts.
+ root@localhost's password: (enter root password configured during install)
+ Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64
+ root@debian:~#
+
+Replace `root` with `debian` to log in as user.
+
+[1] http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
+[2] http://winscp.net/eng/index.php
+
+Setting up Debian for gitian building
+--------------------------------------
+
+In this section we will be setting up the Debian installation for Gitian building.
+
+First we need to log in as `root` to set up dependencies and make sure that our
+user can use the sudo command. Type/paste the following in the terminal:
+
+
+```bash
+apt-get install git ruby sudo apt-cacher-ng qemu-utils debootstrap lxc python-cheetah parted kpartx bridge-utils
+adduser debian sudo
+```
+
+When you get a colorful screen with a question about the 'LXC directory', just
+go with the default (`/var/lib/lxc`).
+
+Then set up LXC and the rest with the following is a complex jumble of settings and workarounds:
+
+```bash
+# the version of lxc-start in Debian 7.4 needs to run as root, so make sure
+# that the build script can exectute it without providing a password
+echo "%sudo ALL=NOPASSWD: /usr/bin/lxc-start" > /etc/sudoers.d/gitian-lxc
+# add cgroup for LXC
+echo "cgroup /sys/fs/cgroup cgroup defaults 0 0" >> /etc/fstab
+# make /etc/rc.local script that sets up bridge between guest and host
+echo '#!/bin/sh -e' > /etc/rc.local
+echo 'brctl addbr br0' >> /etc/rc.local
+echo 'ifconfig br0 10.0.3.2/24 up' >> /etc/rc.local
+echo 'exit 0' >> /etc/rc.local
+# make sure that USE_LXC is always set when logging in as debian
+echo 'export USE_LXC=1' >> /home/debian/.profile
+reboot
+```
+
+At the end the VM is rebooted to make sure that the changes take effect.
+
+**Note**: If you're following this guide on a physical system instead of a VirtualBox VM you could use `10.0.2.2` instead
+of `10.0.3.2` in the above `ifconfig` line. This avoids having to patch gitian-builder in next section.
+
+Installing gitian
+------------------
+
+Re-login as the user `debian` that was created during installation.
+The rest of the steps in this guide will be performed as that user.
+
+There is no `python-vm-builder` package in Debian, so we need to install it from source ourselves,
+
+```bash
+wget http://archive.ubuntu.com/ubuntu/pool/universe/v/vm-builder/vm-builder_0.12.4+bzr489.orig.tar.gz
+echo "ec12e0070a007989561bfee5862c89a32c301992dd2771c4d5078ef1b3014f03 vm-builder_0.12.4+bzr489.orig.tar.gz" | sha256sum -c
+# (verification -- must return OK)
+tar -zxvf vm-builder_0.12.4+bzr489.orig.tar.gz
+cd vm-builder-0.12.4+bzr489
+sudo python setup.py install
+cd ..
+```
+
+**Note**: When sudo asks for a password, enter the password for the user *debian* not for *root*.
+
+Clone the git repositories for bitcoin and gitian,
+
+```bash
+git clone https://github.com/devrandom/gitian-builder.git
+git clone https://github.com/bitcoin/bitcoin
+```
+
+We need to change the guest IP range for the gitian builder because otherwise it will
+collide with VirtualBox its NAT IP range. Gitian does not have a way yet to configure
+this, so we need to patch the IPs using `sed`. This is not nice but it will
+have to do for now... (a [pull request
+(#52)](https://github.com/devrandom/gitian-builder/pull/52) to make this
+configurable without patching has been submitted):
+
+```bash
+sed -i 's/10.0.2.2/10.0.3.2/g' gitian-builder/target-bin/bootstrap-fixup
+sed -i 's/10.0.2.5/10.0.3.5/g' gitian-builder/etc/lxc.config.in
+```
+
+*note* After you update the gitian-builder repository, you may need to repeat these manual changes.
+
+Setting up gitian images
+-------------------------
+
+Gitian needs virtual images of the operating system to build in.
+Currently this is Ubuntu Precise for both x86 architectures.
+These images will be copied and used every time that a build is started to
+make sure that the build is deterministic.
+Creating the images will take a while, but only has to be done once.
+
+Execute the following as user `debian`:
+
+```bash
+cd gitian-builder
+bin/make-base-vm --lxc --arch i386 --suite precise
+bin/make-base-vm --lxc --arch amd64 --suite precise
+```
+
+There will be a lot of warnings printed during build of the images. These can be ignored.
+
+**Note**: When sudo asks for a password, enter the password for the user *debian* not for *root*.
+
+Getting and building the inputs
+--------------------------------
+
+In [doc/release-process.md](release-process.md) in the bitcoin repository under 'Fetch and build inputs'.
+you will find a list of `wget` commands that can be executed to get the dependencies.
+
+I needed to add `--no-check-certificate` to the OpenSSL wget line to make it work.
+Likely this is because the ca-certificates in Debian 7.4 is fairly old. This does not create a
+security issue as the gitian descriptors check integrity of the input archives and refuse to work
+if any one is corrupted.
+
+After downloading the archives, execute the `gbuild` commends to build the dependencies.
+This can take a long time, but only has to be done when the dependencies change, for example
+to upgrade the used version.
+
+**Note**: Do not forget to copy the result from `build/out` to `inputs` after every gbuild command! This will save
+you a lot of time.
+
+At any time you can check the package installation and build progress with
+
+```bash
+tail -f var/install.log
+tail -f var/build.log
+```
+
+Building Bitcoin
+----------------
+
+To build Bitcoin (for Linux and/or Windows) just follow the steps under 'perform
+gitian builds' in [doc/release-process.md](release-process.md) in the bitcoin repository.
+
+Output from `gbuild` will look something like
+
+ Initialized empty Git repository in /home/debian/gitian-builder/inputs/bitcoin/.git/
+ remote: Reusing existing pack: 35606, done.
+ remote: Total 35606 (delta 0), reused 0 (delta 0)
+ Receiving objects: 100% (35606/35606), 26.52 MiB | 4.28 MiB/s, done.
+ Resolving deltas: 100% (25724/25724), done.
+ From https://github.com/bitcoin/bitcoin
+ ... (new tags, new branch etc)
+ --- Building for precise i386 ---
+ Stopping target if it is up
+ Making a new image copy
+ stdin: is not a tty
+ Starting target
+ Checking if target is up
+ Preparing build environment
+ Updating apt-get repository (log in var/install.log)
+ Installing additional packages (log in var/install.log)
+ Grabbing package manifest
+ stdin: is not a tty
+ Creating build script (var/build-script)
+ lxc-start: Connection refused - inotify event with no name (mask 32768)
+ Running build script (log in var/build.log)
+
+As when building the dependencies, the progress of package installation and building
+can be inspected in `var/install.log` and `var/build.log`.
+
+Building an alternative repository
+-----------------------------------
+
+If you want to do a test build of a pull on github it can be useful to point
+the gitian builder at an alternative repository, using the same descriptors
+and inputs.
+
+For example:
+```bash
+URL=https://github.com/laanwj/bitcoin.git
+COMMIT=2014_03_windows_unicode_path
+./bin/gbuild --commit bitcoin=${COMMIT} --url bitcoin=${URL} ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
+./bin/gbuild --commit bitcoin=${COMMIT} --url bitcoin=${URL} ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
+```
+
+Signing externally
+-------------------
+
+If you want to do the PGP signing on another device that's possible too; just define `SIGNER` as mentioned
+and follow the steps in the build process as normally.
+
+ gpg: skipped "laanwj": secret key not available
+
+When you execute `gsign` you will get an error from GPG, which can be ignored. Copy the resulting `.assert` files
+in `gitian.sigs` to your signing machine and do
+
+```bash
+ gpg --detach-sign ${VERSION}/${SIGNER}/bitcoin-build.assert
+ gpg --detach-sign ${VERSION}-win/${SIGNER}/bitcoin-build.assert
+```
+
+This will create the `.sig` files that can be committed together with the `.assert` files to assert your
+gitian build.
+
+Uploading signatures
+---------------------
+
+After building and signing you can push your signatures (both the `.assert` and
+`.assert.sig` files) to the
+[bitcoin/gitian.sigs](https://github.com/bitcoin/gitian.sigs/) repository, or
+if not possible create a pull request. You can also mail the files to me
+(laanwj@gmail.com) and I'll commit them.
+
diff --git a/doc/gitian-building/create_vm_file_location_size.png b/doc/gitian-building/create_vm_file_location_size.png
new file mode 100644
index 0000000000..14aef5abae
--- /dev/null
+++ b/doc/gitian-building/create_vm_file_location_size.png
Binary files differ
diff --git a/doc/gitian-building/create_vm_hard_drive.png b/doc/gitian-building/create_vm_hard_drive.png
new file mode 100644
index 0000000000..a1706e14fd
--- /dev/null
+++ b/doc/gitian-building/create_vm_hard_drive.png
Binary files differ
diff --git a/doc/gitian-building/create_vm_hard_drive_file_type.png b/doc/gitian-building/create_vm_hard_drive_file_type.png
new file mode 100644
index 0000000000..251b8ee3e2
--- /dev/null
+++ b/doc/gitian-building/create_vm_hard_drive_file_type.png
Binary files differ
diff --git a/doc/gitian-building/create_vm_memsize.png b/doc/gitian-building/create_vm_memsize.png
new file mode 100644
index 0000000000..33717867a5
--- /dev/null
+++ b/doc/gitian-building/create_vm_memsize.png
Binary files differ
diff --git a/doc/gitian-building/create_vm_page1.png b/doc/gitian-building/create_vm_page1.png
new file mode 100644
index 0000000000..edaebc6223
--- /dev/null
+++ b/doc/gitian-building/create_vm_page1.png
Binary files differ
diff --git a/doc/gitian-building/create_vm_storage_physical_hard_drive.png b/doc/gitian-building/create_vm_storage_physical_hard_drive.png
new file mode 100644
index 0000000000..987efaa40c
--- /dev/null
+++ b/doc/gitian-building/create_vm_storage_physical_hard_drive.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_10_configure_clock.png b/doc/gitian-building/debian_install_10_configure_clock.png
new file mode 100644
index 0000000000..467c79018e
--- /dev/null
+++ b/doc/gitian-building/debian_install_10_configure_clock.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_11_partition_disks.png b/doc/gitian-building/debian_install_11_partition_disks.png
new file mode 100644
index 0000000000..18110734df
--- /dev/null
+++ b/doc/gitian-building/debian_install_11_partition_disks.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_12_choose_disk.png b/doc/gitian-building/debian_install_12_choose_disk.png
new file mode 100644
index 0000000000..a00d4abf17
--- /dev/null
+++ b/doc/gitian-building/debian_install_12_choose_disk.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_13_partition_scheme.png b/doc/gitian-building/debian_install_13_partition_scheme.png
new file mode 100644
index 0000000000..2f80f19b63
--- /dev/null
+++ b/doc/gitian-building/debian_install_13_partition_scheme.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_14_finish.png b/doc/gitian-building/debian_install_14_finish.png
new file mode 100644
index 0000000000..411d457e95
--- /dev/null
+++ b/doc/gitian-building/debian_install_14_finish.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_15_write_changes.png b/doc/gitian-building/debian_install_15_write_changes.png
new file mode 100644
index 0000000000..f26093982c
--- /dev/null
+++ b/doc/gitian-building/debian_install_15_write_changes.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_16_choose_a_mirror.png b/doc/gitian-building/debian_install_16_choose_a_mirror.png
new file mode 100644
index 0000000000..d2c2e9523b
--- /dev/null
+++ b/doc/gitian-building/debian_install_16_choose_a_mirror.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_17_choose_a_mirror2.png b/doc/gitian-building/debian_install_17_choose_a_mirror2.png
new file mode 100644
index 0000000000..cef2db0781
--- /dev/null
+++ b/doc/gitian-building/debian_install_17_choose_a_mirror2.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_18_proxy_settings.png b/doc/gitian-building/debian_install_18_proxy_settings.png
new file mode 100644
index 0000000000..24ba25c109
--- /dev/null
+++ b/doc/gitian-building/debian_install_18_proxy_settings.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_19_software_selection.png b/doc/gitian-building/debian_install_19_software_selection.png
new file mode 100644
index 0000000000..d462757aff
--- /dev/null
+++ b/doc/gitian-building/debian_install_19_software_selection.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_1_boot_menu.png b/doc/gitian-building/debian_install_1_boot_menu.png
new file mode 100644
index 0000000000..27fd849b4f
--- /dev/null
+++ b/doc/gitian-building/debian_install_1_boot_menu.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_20_install_grub.png b/doc/gitian-building/debian_install_20_install_grub.png
new file mode 100644
index 0000000000..de4f9be0c9
--- /dev/null
+++ b/doc/gitian-building/debian_install_20_install_grub.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_21_finish_installation.png b/doc/gitian-building/debian_install_21_finish_installation.png
new file mode 100644
index 0000000000..b967c3550d
--- /dev/null
+++ b/doc/gitian-building/debian_install_21_finish_installation.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_2_select_a_language.png b/doc/gitian-building/debian_install_2_select_a_language.png
new file mode 100644
index 0000000000..1c9e0bcfc1
--- /dev/null
+++ b/doc/gitian-building/debian_install_2_select_a_language.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_3_select_location.png b/doc/gitian-building/debian_install_3_select_location.png
new file mode 100644
index 0000000000..005c395656
--- /dev/null
+++ b/doc/gitian-building/debian_install_3_select_location.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_4_configure_keyboard.png b/doc/gitian-building/debian_install_4_configure_keyboard.png
new file mode 100644
index 0000000000..580c8af7c5
--- /dev/null
+++ b/doc/gitian-building/debian_install_4_configure_keyboard.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_5_configure_the_network.png b/doc/gitian-building/debian_install_5_configure_the_network.png
new file mode 100644
index 0000000000..a7fdffc66b
--- /dev/null
+++ b/doc/gitian-building/debian_install_5_configure_the_network.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_6_domain_name.png b/doc/gitian-building/debian_install_6_domain_name.png
new file mode 100644
index 0000000000..7a986d92f4
--- /dev/null
+++ b/doc/gitian-building/debian_install_6_domain_name.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_6a_set_up_root_password.png b/doc/gitian-building/debian_install_6a_set_up_root_password.png
new file mode 100644
index 0000000000..31bd210f38
--- /dev/null
+++ b/doc/gitian-building/debian_install_6a_set_up_root_password.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_7_set_up_user_fullname.png b/doc/gitian-building/debian_install_7_set_up_user_fullname.png
new file mode 100644
index 0000000000..bffc6ccd7a
--- /dev/null
+++ b/doc/gitian-building/debian_install_7_set_up_user_fullname.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_8_set_up_username.png b/doc/gitian-building/debian_install_8_set_up_username.png
new file mode 100644
index 0000000000..9e2750ad4e
--- /dev/null
+++ b/doc/gitian-building/debian_install_8_set_up_username.png
Binary files differ
diff --git a/doc/gitian-building/debian_install_9_user_password.png b/doc/gitian-building/debian_install_9_user_password.png
new file mode 100644
index 0000000000..a26d30cba5
--- /dev/null
+++ b/doc/gitian-building/debian_install_9_user_password.png
Binary files differ
diff --git a/doc/gitian-building/network_settings.png b/doc/gitian-building/network_settings.png
new file mode 100644
index 0000000000..1d9b6428a7
--- /dev/null
+++ b/doc/gitian-building/network_settings.png
Binary files differ
diff --git a/doc/gitian-building/port_forwarding_rules.png b/doc/gitian-building/port_forwarding_rules.png
new file mode 100644
index 0000000000..e45c9efffc
--- /dev/null
+++ b/doc/gitian-building/port_forwarding_rules.png
Binary files differ
diff --git a/doc/gitian-building/select_startup_disk.png b/doc/gitian-building/select_startup_disk.png
new file mode 100644
index 0000000000..729b368fd1
--- /dev/null
+++ b/doc/gitian-building/select_startup_disk.png
Binary files differ
diff --git a/doc/release-notes.md b/doc/release-notes.md
index acaeef1d60..f16eec32a2 100644
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -1,3 +1,2 @@
-(note: this is a temporary file, to be added-to by anybody, and deleted at
-release time)
-
+(note: this is a temporary file, to be added-to by anybody, and moved to
+release-notes at release time)
diff --git a/doc/release-notes/release-notes-0.3.12.md b/doc/release-notes/release-notes-0.3.12.md
new file mode 100644
index 0000000000..38715bc75f
--- /dev/null
+++ b/doc/release-notes/release-notes-0.3.12.md
@@ -0,0 +1,13 @@
+Version 0.3.12 is now available.
+
+Features:
+* json-rpc errors return a more standard error object. (thanks to Gavin Andresen)
+* json-rpc command line returns exit codes.
+* json-rpc "backupwallet" command.
+* Recovers and continues if an exception is caused by a message you received. Other nodes shouldn't be able to cause an exception, and it hasn't happened before, but if a way is found to cause an exception, this would keep it from being used to stop network nodes.
+
+If you have json-rpc code that checks the contents of the error string, you need to change it to expect error objects of the form {"code":<number>,"message":<string>}, which is the standard. See this thread:
+http://www.bitcoin.org/smf/index.php?topic=969.0
+
+Download:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.12/
diff --git a/doc/release-notes/release-notes-0.3.13.md b/doc/release-notes/release-notes-0.3.13.md
new file mode 100644
index 0000000000..2b95ff233d
--- /dev/null
+++ b/doc/release-notes/release-notes-0.3.13.md
@@ -0,0 +1,26 @@
+Version 0.3.13 is now available. You should upgrade to prevent potential problems with 0/unconfirmed transactions. Note: 0.3.13 prevents problems if you haven't already spent a 0/unconfirmed transaction, but if that already happened, you need 0.3.13.2.
+
+Changes:
+* Don't count or spend payments until they have 1 confirmation.
+* Internal version number from 312 to 31300.
+* Only accept transactions sent by IP address if -allowreceivebyip is specified.
+* Dropped DB_PRIVATE Berkeley DB flag.
+* Fix problem sending the last cent with sub-cent fractional change.
+* Auto-detect whether to use 128-bit 4-way SSE2 on Linux.
+Gavin Andresen:
+* Option -rpcallowip= to accept json-rpc connections from another machine.
+* Clean shutdown on SIGTERM on Linux.
+
+Download:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.13/
+
+(Thanks Laszlo for the Mac OSX build!)
+
+Note:
+The SSE2 auto-detect in the Linux 64-bit version doesn't work with AMD in 64-bit mode. Please try this instead and let me know if it gets it right:
+http://www.bitcoin.org/download/bitcoin-0.3.13.1-specialbuild-linux64.tar.gz
+
+You can still control the SSE2 use manually with -4way and -4way=0.
+
+Version 0.3.13.2 (SVN rev 161) has improvements for the case where you already had 0/unconfirmed transactions that you might have already spent. Here's a Windows build of it:
+http://www.bitcoin.org/download/bitcoin-0.3.13.2-win32-setup.exe
diff --git a/doc/release-notes/release-notes-0.3.14.md b/doc/release-notes/release-notes-0.3.14.md
new file mode 100644
index 0000000000..e73052ed9b
--- /dev/null
+++ b/doc/release-notes/release-notes-0.3.14.md
@@ -0,0 +1,11 @@
+Version 0.3.14 is now available
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.14/
+
+Changes:
+* Key pool feature for safer wallet backup
+Gavin Andresen:
+* TEST network mode with switch -testnet
+* Option to use SSL for JSON-RPC connections on unix/osx
+* validateaddress RPC command
+eurekafag:
+* Russian translation
diff --git a/doc/release-notes/release-notes-0.3.15.md b/doc/release-notes/release-notes-0.3.15.md
new file mode 100644
index 0000000000..b98052ef59
--- /dev/null
+++ b/doc/release-notes/release-notes-0.3.15.md
@@ -0,0 +1,6 @@
+* paytxfee switch is now per KB, so it adds the correct fee for large transactions
+* sending avoids using coins with less than 6 confirmations if it can
+* BitcoinMiner processes transactions in priority order based on age of dependencies
+* make sure generation doesn't start before block 74000 downloaded
+* bugfixes by Dean Gores
+* testnet, keypoololdest and paytxfee added to getinfo
diff --git a/doc/release-notes/release-notes-0.3.16.md b/doc/release-notes/release-notes-0.3.16.md
new file mode 100644
index 0000000000..743f84f30e
--- /dev/null
+++ b/doc/release-notes/release-notes-0.3.16.md
@@ -0,0 +1 @@
+Never released.
diff --git a/doc/release-notes/release-notes-0.3.17.md b/doc/release-notes/release-notes-0.3.17.md
new file mode 100644
index 0000000000..d3604b8f88
--- /dev/null
+++ b/doc/release-notes/release-notes-0.3.17.md
@@ -0,0 +1,12 @@
+Version 0.3.17 is now available.
+
+Changes:
+* new getwork, thanks m0mchil
+* added transaction fee setting in UI options menu
+* free transaction limits
+* sendtoaddress returns transaction id instead of "sent"
+* getaccountaddress <account>
+
+The UI transaction fee setting was easy since it was still there from 0.1.5 and all I had to do was re-enable it.
+
+The accounts-based commands: move, sendfrom and getbalance <account> will be in the next release. We still have some more changes to make first.
diff --git a/doc/release-notes/release-notes-0.3.18.md b/doc/release-notes/release-notes-0.3.18.md
new file mode 100644
index 0000000000..ab1c2e0692
--- /dev/null
+++ b/doc/release-notes/release-notes-0.3.18.md
@@ -0,0 +1,11 @@
+Changes:
+* Fixed a wallet.dat compatibility problem if you downgraded from 0.3.17 and then upgraded again
+* IsStandard() check to only include known transaction types in blocks
+* Jgarzik's optimisation to speed up the initial block download a little
+
+The main addition in this release is the Accounts-Based JSON-RPC commands that Gavin's been working on (more details at http://www.bitcoin.org/smf/index.php?topic=1886.0).
+* getaccountaddress
+* sendfrom
+* move
+* getbalance
+* listtransactions
diff --git a/doc/release-notes/release-notes-0.3.19.md b/doc/release-notes/release-notes-0.3.19.md
new file mode 100644
index 0000000000..fcd867561d
--- /dev/null
+++ b/doc/release-notes/release-notes-0.3.19.md
@@ -0,0 +1,9 @@
+There's more work to do on DoS, but I'm doing a quick build of what I have so far in case it's needed, before venturing into more complex ideas. The build for this is version 0.3.19.
+
+- Added some DoS controls
+As Gavin and I have said clearly before, the software is not at all resistant to DoS attack. This is one improvement, but there are still more ways to attack than I can count.
+
+I'm leaving the -limitfreerelay part as a switch for now and it's there if you need it.
+
+- Removed "safe mode" alerts
+"safe mode" alerts was a temporary measure after the 0.3.9 overflow bug. We can say all we want that users can just run with "-disablesafemode", but it's better just not to have it for the sake of appearances. It was never intended as a long term feature. Safe mode can still be triggered by seeing a longer (greater total PoW) invalid block chain.
diff --git a/doc/release-notes/release-notes-0.3.20.1.md b/doc/release-notes/release-notes-0.3.20.1.md
new file mode 100644
index 0000000000..6c5682ea4e
--- /dev/null
+++ b/doc/release-notes/release-notes-0.3.20.1.md
@@ -0,0 +1 @@
+Never released or release notes were lost.
diff --git a/doc/release-notes/release-notes-0.3.20.2.md b/doc/release-notes/release-notes-0.3.20.2.md
new file mode 100644
index 0000000000..09ecb736bd
--- /dev/null
+++ b/doc/release-notes/release-notes-0.3.20.2.md
@@ -0,0 +1,17 @@
+The maxsendbuffer bug (0.3.20.1 clients not being able to download the block chain from other 0.3.20.1 clients) was only going to get
+worse as people upgraded, so I cherry-picked the bug fix and created a minor release yesterday.
+
+The Amazon Machine Images I used to do the builds are available:
+
+ ami-38a05251 Bitcoin-v0.3.20.2 Mingw (Windows; Administrator password 'bitcoin development')
+ ami-30a05259 Bitcoin_0.3.20.2 Linux32
+ ami-8abc4ee3 Bitcoin_0.3.20.2 Linux64
+
+(mac build will be done soon)
+
+If you have already downloaded version 0.3.20.1, please either add this to your bitcoin.conf file:
+
+ maxsendbuffer=10000
+ maxreceivebuffer=10000
+
+... or download the new version.
diff --git a/doc/release-notes/release-notes-0.3.20.md b/doc/release-notes/release-notes-0.3.20.md
new file mode 100644
index 0000000000..9ae21802ee
--- /dev/null
+++ b/doc/release-notes/release-notes-0.3.20.md
@@ -0,0 +1,22 @@
+Please checkout the git integration branch from:
+
+https://github.com/bitcoin/bitcoin
+
+... and help test. The new features that need testing are:
+
+* -nolisten : https://github.com/bitcoin/bitcoin/pull/11
+* -rescan : scan block chain for missing wallet transactions
+* -printtoconsole : https://github.com/bitcoin/bitcoin/pull/37
+* RPC gettransaction details : https://github.com/bitcoin/bitcoin/pull/24
+* listtransactions new features : https://github.com/bitcoin/bitcoin/pull/10
+
+Bug fixes that also need testing:
+
+* -maxconnections= : https://github.com/bitcoin/bitcoin/pull/42
+* RPC listaccounts minconf : https://github.com/bitcoin/bitcoin/pull/27
+* RPC move, add time to output : https://github.com/bitcoin/bitcoin/pull/21
+* ...and several improvements to --help output.
+
+This needs more testing on Windows! Please drop me a quick private message, email, or IRC message if you are able to do some testing. If you find bugs, please open an issue at:
+
+https://github.com/bitcoin/bitcoin/issues
diff --git a/doc/release-notes/release-notes-0.3.21.md b/doc/release-notes/release-notes-0.3.21.md
new file mode 100644
index 0000000000..f3b6bc4264
--- /dev/null
+++ b/doc/release-notes/release-notes-0.3.21.md
@@ -0,0 +1,20 @@
+Binaries for Bitcoin version 0.3.21 are available at:
+ https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.21/
+
+Changes and new features from the 0.3.20 release include:
+
+* Universal Plug and Play support. Enable automatic opening of a port for incoming connections by running bitcoin or bitcoind with the - -upnp=1 command line switch or using the Options dialog box.
+
+* Support for full-precision bitcoin amounts. You can now send, and bitcoin will display, bitcoin amounts smaller than 0.01. However, sending fewer than 0.01 bitcoins still requires a 0.01 bitcoin fee (so you can send 1.0001 bitcoins without a fee, but you will be asked to pay a fee if you try to send 0.0001).
+
+* A new method of finding bitcoin nodes to connect with, via DNS A records. Use the -dnsseed option to enable.
+
+For developers, changes to bitcoin's remote-procedure-call API:
+
+* New rpc command "sendmany" to send bitcoins to more than one address in a single transaction.
+
+* Several bug fixes, including a serious intermittent bug that would sometimes cause bitcoind to stop accepting rpc requests.
+
+* -logtimestamps option, to add a timestamp to each line in debug.log.
+
+* Immature blocks (newly generated, under 120 confirmations) are now shown in listtransactions.
diff --git a/doc/release-notes/release-notes-0.3.22.md b/doc/release-notes/release-notes-0.3.22.md
new file mode 100644
index 0000000000..4c05e3e5e7
--- /dev/null
+++ b/doc/release-notes/release-notes-0.3.22.md
@@ -0,0 +1,16 @@
+Download URL: https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.22/
+
+This is largely a bugfix and TX fee schedule release. We also hope to make 0.3.23 a quick release, to fix problems that the network has seen due to explosive growth in the past week.
+
+Notable changes:
+* Client will accept and relay TX's with 0.0005 BTC fee schedule (users still pay 0.01 BTC per kb, until next version)
+* Non-standard transactions accepted on testnet
+* Source code tree reorganized (prep for autotools build)
+* Remove "Generate Coins" option from GUI, and remove 4way SSE miner. Internal reference CPU miner remains available, but users are directed to external miners for best hash production.
+* IRC is overflowing. Client now bootstraps to channels #bitcoin00 - #bitcoin99
+* DNS names now may be used with -addnode, -connect (requires -dns to enable)
+
+RPC changes:
+* 'listtransactions' adds 'from' param, for range queries
+* 'move' may take account balances negative
+* 'settxfee' added, to manually set TX fee
diff --git a/doc/release-notes/release-notes-0.3.23.md b/doc/release-notes/release-notes-0.3.23.md
new file mode 100644
index 0000000000..c1d520e492
--- /dev/null
+++ b/doc/release-notes/release-notes-0.3.23.md
@@ -0,0 +1,10 @@
+Win32, Linux, MacOSX and source releases for bitcoin v0.3.23 have been uploaded to
+https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.23/
+
+This is another quick bugfix release, trying to deal with the influx of new bitcoin users.
+
+Main items of note:
+
+* P2P connect-to-node logic changed to reduce timeout a bit. The network saw a huge influx of new users, who do not permit incoming connections. This change is a short-term hack, to more quickly hunt for useful P2P connections. Better "leaf node" logic is in the works, but this should let us limp along until then. One may use -upnp to properly forward ports, and help the network.
+* Transaction fee reduced to 0.0005 for new transactions
+* Client will relay transactions with fees as low as 0.0001 BTC
diff --git a/doc/release-notes/release-notes-0.3.24.md b/doc/release-notes/release-notes-0.3.24.md
new file mode 100644
index 0000000000..d35ac66f2c
--- /dev/null
+++ b/doc/release-notes/release-notes-0.3.24.md
@@ -0,0 +1,20 @@
+Bitcoin v0.3.24 is now available for download at
+https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.24/
+
+This is another bug fix release. We had hoped to have wallet encryption ready for release, but more urgent fixes for existing clients were needed -- most notably block download problems were getting severe. Wallet encryption is ready for testing at https://github.com/bitcoin/bitcoin/pull/352 for the git-savvy, and hopefully will follow shortly in the next release, v0.4.
+
+Notable fixes in v0.3.24, and the main reasons for this release:
+
+F1) Block downloads were failing or taking unreasonable amounts of time to complete, because the increased size of the block chain was bumping up against some earlier buffer-size DoS limits.
+
+F2) Fix crash caused by loss/lack of network connection.
+
+Notable changes in v0.3.24:
+
+C1) DNS seeding enabled by default.
+
+C2) UPNP enabled by default in the GUI client. The percentage of bitcoin clients that accept incoming connections is quite small, and that is a problem. This should help. bitcoind, and unofficial builds, are unchanged (though we encourage use of "-upnp" to help the network!)
+
+C3) Initial unit testing framework. Bitcoin sorely needs automated tests, and this is a beginning. Contributions welcome.
+
+C4) Internal wallet code cleanup. While invisible to an end user, this change provides the basis for v0.4's wallet encryption.
diff --git a/doc/release-notes/release-notes-0.4.0.md b/doc/release-notes/release-notes-0.4.0.md
new file mode 100644
index 0000000000..145072a369
--- /dev/null
+++ b/doc/release-notes/release-notes-0.4.0.md
@@ -0,0 +1,70 @@
+Bitcoin version 0.4.0 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.4.0/
+
+The main feature in this release is wallet private key encryption;
+you can set a passphrase that must be entered before sending coins.
+See below for more information; if you decide to encrypt your wallet,
+WRITE DOWN YOUR PASSPHRASE AND PUT IT IN A SECURE LOCATION. If you
+forget or lose your wallet passphrase, you lose your bitcoins.
+Previous versions of bitcoin are unable to read encrypted wallets,
+and will crash on startup if the wallet is encrypted.
+
+Also note: bitcoin version 0.4 uses a newer version of Berkeley DB
+(bdb version 4.8) than previous versions (bdb 4.7). If you upgrade
+to version 0.4 and then revert back to an earlier version of bitcoin
+the it may be unable to start because bdb 4.7 cannot read bdb 4.8
+"log" files.
+
+
+Notable bug fixes from version 0.3.24:
+
+Fix several bitcoin-becomes-unresponsive bugs due to multithreading
+deadlocks.
+
+Optimize database writes for large (lots of inputs) transactions
+(fixes a potential denial-of-service attack)
+
+
+Wallet Encryption
+
+Bitcoin supports native wallet encryption so that people who steal your
+wallet file don't automatically get access to all of your Bitcoins.
+In order to enable this feature, choose "Encrypt Wallet" from the
+Options menu. You will be prompted to enter a passphrase, which
+will be used as the key to encrypt your wallet and will be needed
+every time you wish to send Bitcoins. If you lose this passphrase,
+you will lose access to spend all of the bitcoins in your wallet,
+no one, not even the Bitcoin developers can recover your Bitcoins.
+This means you are responsible for your own security, store your
+passphrase in a secure location and do not forget it.
+
+Remember that the encryption built into bitcoin only encrypts the
+actual keys which are required to send your bitcoins, not the full
+wallet. This means that someone who steals your wallet file will
+be able to see all the addresses which belong to you, as well as the
+relevant transactions, you are only protected from someone spending
+your coins.
+
+It is recommended that you backup your wallet file before you
+encrypt your wallet. To do this, close the Bitcoin client and
+copy the wallet.dat file from ~/.bitcoin/ on Linux, /Users/(user
+name)/Application Support/Bitcoin/ on Mac OSX, and %APPDATA%/Bitcoin/
+on Windows (that is /Users/(user name)/AppData/Roaming/Bitcoin on
+Windows Vista and 7 and /Documents and Settings/(user name)/Application
+Data/Bitcoin on Windows XP). Once you have copied that file to a
+safe location, reopen the Bitcoin client and Encrypt your wallet.
+If everything goes fine, delete the backup and enjoy your encrypted
+wallet. Note that once you encrypt your wallet, you will never be
+able to go back to a version of the Bitcoin client older than 0.4.
+
+Keep in mind that you are always responsible for your own security.
+All it takes is a slightly more advanced wallet-stealing trojan which
+installs a keylogger to steal your wallet passphrase as you enter it
+in addition to your wallet file and you have lost all your Bitcoins.
+Wallet encryption cannot keep you safe if you do not practice
+good security, such as running up-to-date antivirus software, only
+entering your wallet passphrase in the Bitcoin client and using the
+same passphrase only as your wallet passphrase.
+
+See the doc/README file in the bitcoin source for technical details
+of wallet encryption.
diff --git a/doc/release-notes/release-notes-0.4.1.md b/doc/release-notes/release-notes-0.4.1.md
new file mode 100644
index 0000000000..ac471a8d7f
--- /dev/null
+++ b/doc/release-notes/release-notes-0.4.1.md
@@ -0,0 +1,38 @@
+Bitcoin version 0.4.1 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.4.1/
+
+This is a bugfix only release based on 0.4.0.
+
+Please report bugs by replying to this forum thread.
+
+MAJOR BUG FIX (CVE-2011-4447)
+
+The wallet encryption feature introduced in Bitcoin version 0.4.0 did not sufficiently secure the private keys. An attacker who
+managed to get a copy of your encrypted wallet.dat file might be able to recover some or all of the unencrypted keys and steal the
+associated coins.
+
+If you have a previously encrypted wallet.dat, the first time you run wxbitcoin or bitcoind the wallet will be rewritten, Bitcoin will
+shut down, and you will be prompted to restart it to run with the new, properly encrypted file.
+
+If you had a previously encrypted wallet.dat that might have been copied or stolen (for example, you backed it up to a public
+location) you should send all of your bitcoins to yourself using a new bitcoin address and stop using any previously generated addresses.
+
+Wallets encrypted with this version of Bitcoin are written properly.
+
+Technical note: the encrypted wallet's 'keypool' will be regenerated the first time you request a new bitcoin address; to be certain that the
+new private keys are properly backed up you should:
+
+1. Run Bitcoin and let it rewrite the wallet.dat file
+
+2. Run it again, then ask it for a new bitcoin address.
+wxBitcoin: new address visible on main window
+bitcoind: run the 'walletpassphrase' RPC command to unlock the wallet, then run the 'getnewaddress' RPC command.
+
+3. If your encrypted wallet.dat may have been copied or stolen, send all of your bitcoins to the new bitcoin address.
+
+4. Shut down Bitcoin, then backup the wallet.dat file.
+IMPORTANT: be sure to request a new bitcoin address before backing up, so that the 'keypool' is regenerated and backed up.
+
+"Security in depth" is always a good idea, so choosing a secure location for the backup and/or encrypting the backup before uploading it is recommended. And as in previous releases, if your machine is infected by malware there are several ways an attacker might steal your bitcoins.
+
+Thanks to Alan Reiner (etotheipi) for finding and reporting this bug.
diff --git a/doc/release-notes/release-notes-0.4.2.md b/doc/release-notes/release-notes-0.4.2.md
new file mode 100644
index 0000000000..6c5682ea4e
--- /dev/null
+++ b/doc/release-notes/release-notes-0.4.2.md
@@ -0,0 +1 @@
+Never released or release notes were lost.
diff --git a/doc/release-notes/release-notes-0.4.3.md b/doc/release-notes/release-notes-0.4.3.md
new file mode 100644
index 0000000000..fea1ae75b5
--- /dev/null
+++ b/doc/release-notes/release-notes-0.4.3.md
@@ -0,0 +1,21 @@
+bitcoind version 0.4.3 is now available for download at:
+http://luke.dashjr.org/programs/bitcoin/files/bitcoind-0.4.3/ (until Gavin uploads to SourceForge)
+
+This is a bugfix-only release based on 0.4.0.
+
+Please note that the wxBitcoin GUI client is no longer maintained nor supported. If someone would like to step up to maintain this, they should contact Luke-Jr.
+
+Please report bugs for the daemon only using the issue tracker at github:
+https://github.com/bitcoin/bitcoin/issues
+
+Stable source code is hosted at Gitorious:
+http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v0.4.3#.tar.gz
+
+BUG FIXES
+
+Cease locking memory used by non-sensitive information (this caused a huge performance hit on some platforms, especially noticable during initial blockchain download).
+Fixed some address-handling deadlocks (client freezes).
+No longer accept inbound connections over the internet when Bitcoin is being used with Tor (identity leak).
+Use the correct base transaction fee of 0.0005 BTC for accepting transactions into mined blocks (since 0.4.0, it was incorrectly accepting 0.0001 BTC which was only meant to be relayed).
+Add new DNS seeds (maintained by Pieter Wuille and Luke Dashjr).
+
diff --git a/doc/release-notes/release-notes-0.4.4.md b/doc/release-notes/release-notes-0.4.4.md
new file mode 100644
index 0000000000..f435ba7160
--- /dev/null
+++ b/doc/release-notes/release-notes-0.4.4.md
@@ -0,0 +1,30 @@
+Bitcoin version 0.4.4 is now available for download at:
+http://luke.dashjr.org/programs/bitcoin/files/bitcoind-0.4.4/
+
+This is a bugfix-only release based on 0.4.0.
+
+Please note that the wxBitcoin GUI client is no longer maintained nor supported. If someone would like to step up to maintain this, they should contact Luke-Jr.
+
+Please report bugs for the daemon only using the issue tracker at github:
+https://github.com/bitcoin/bitcoin/issues
+
+Stable source code is hosted at Gitorious:
+http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v0.4.4#.tar.gz
+
+BUG FIXES
+
+Limit the number of orphan transactions stored in memory, to prevent a potential denial-of-service attack by flooding orphan transactions. Also never store invalid transactions at all.
+Fix possible buffer overflow on systems with very long application data paths. This is not exploitable.
+Resolved multiple bugs preventing long-term unlocking of encrypted wallets (issue #922).
+Only send local IP in "version" messages if it is globally routable (ie, not private), and try to get such an IP from UPnP if applicable.
+Reannounce UPnP port forwards every 20 minutes, to workaround routers expiring old entries, and allow the -upnp option to override any stored setting.
+Various memory leaks and potential null pointer deferences have been
+fixed.
+Several shutdown issues have been fixed.
+Check that keys stored in the wallet are valid at startup, and if not,
+report corruption.
+Various build fixes.
+If no password is specified to bitcoind, recommend a secure password.
+Update hard-coded fallback seed nodes, choosing recent ones with long uptime and versions at least 0.4.0.
+Add checkpoint at block 168,000.
+
diff --git a/doc/release-notes/release-notes-0.4.5.md b/doc/release-notes/release-notes-0.4.5.md
new file mode 100644
index 0000000000..6c5682ea4e
--- /dev/null
+++ b/doc/release-notes/release-notes-0.4.5.md
@@ -0,0 +1 @@
+Never released or release notes were lost.
diff --git a/doc/release-notes/release-notes-0.4.6.md b/doc/release-notes/release-notes-0.4.6.md
new file mode 100644
index 0000000000..07c5e4b694
--- /dev/null
+++ b/doc/release-notes/release-notes-0.4.6.md
@@ -0,0 +1,37 @@
+bitcoind version 0.4.6 is now available for download at:
+Windows: installer | zip (sig)
+Source: tar.gz
+bitcoind and Bitcoin-Qt version 0.6.0.7 are also tagged in git, but it is recommended to upgrade to 0.6.1.
+
+These are bugfix-only releases.
+
+Please report bugs by replying to this forum thread. Note that the 0.4.x wxBitcoin GUI client is no longer maintained nor supported. If someone would like to step up to maintain this, they should contact Luke-Jr.
+
+BUG FIXES
+
+Version 0.6.0 allowed importing invalid "private keys", which would be unspendable; 0.6.0.7 will now verify the private key is valid, and refuse to import an invalid one
+Verify status of encrypt/decrypt calls to detect failed padding
+Check blocks for duplicate transactions earlier. Fixes #1167
+Upgrade Windows builds to OpenSSL 1.0.1b
+Set label when selecting an address that already has a label. Fixes #1080 (Bitcoin-Qt)
+JSON-RPC listtransactions's from/count handling is now fixed
+Optimize and fix multithreaded access, when checking whether we already know about transactions
+Fix potential networking deadlock
+Proper support for Growl 1.3 notifications
+Display an error, rather than crashing, if encoding a QR Code failed (0.6.0.7)
+Don't erroneously set "Display addresses" for users who haven't explicitly enabled it (Bitcoin-Qt)
+Some non-ASCII input in JSON-RPC expecting hexadecimal may have been misinterpreted rather than rejected
+Missing error condition checking added
+Do not show green tick unless all known blocks are downloaded. Fixes #921 (Bitcoin-Qt)
+Increase time ago of last block for "up to date" status from 30 to 90 minutes
+Show a message box when runaway exception happens (Bitcoin-Qt)
+Use a messagebox to display the error when -server is provided without providing a rpc password
+Show error message instead of exception crash when unable to bind RPC port (Bitcoin-Qt)
+Correct sign message bitcoin address tooltip. Fixes #1050 (Bitcoin-Qt)
+Removed "(no label)" from QR Code dialog titlebar if we have no label (0.6.0.7)
+Removed an ugly line break in tooltip for mature transactions (0.6.0.7)
+Add missing tooltip and key shortcut in settings dialog (part of #1088) (Bitcoin-Qt)
+Work around issue in boost::program_options that prevents from compiling in clang
+Fixed bugs occurring only on platforms with unsigned characters (such as ARM).
+Rename make_windows_icon.py to .sh as it is a shell script. Fixes #1099 (Bitcoin-Qt)
+Various trivial internal corrections to types used for counting/size loops and warnings
diff --git a/doc/release-notes/release-notes-0.5.0.md b/doc/release-notes/release-notes-0.5.0.md
new file mode 100644
index 0000000000..baa409b5f2
--- /dev/null
+++ b/doc/release-notes/release-notes-0.5.0.md
@@ -0,0 +1,70 @@
+Bitcoin version 0.5.0 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.0/
+
+The major change for this release is a completely new graphical interface that uses the Qt user interface toolkit.
+
+This release include German, Spanish, Spanish-Castilian, Norwegian and Dutch translations. More translations are welcome; join the project at Transifex if you can help:
+https://www.transifex.net/projects/p/bitcoin/
+
+Please report bugs using the issue tracker at github:
+https://github.com/bitcoin/bitcoin/issues
+
+For Ubuntu users, there is a new ppa maintained by Matt Corallo which you can add to your system so that it will automatically keep bitcoin up-to-date. Just type "sudo apt-add-repository ppa:bitcoin/bitcoin" in your terminal, then install the bitcoin-qt package.
+
+MAJOR BUG FIX (CVE-2011-4447)
+
+The wallet encryption feature introduced in Bitcoin version 0.4.0 did not sufficiently secure the private keys. An attacker who
+managed to get a copy of your encrypted wallet.dat file might be able to recover some or all of the unencrypted keys and steal the
+associated coins.
+
+If you have a previously encrypted wallet.dat, the first time you run bitcoin-qt or bitcoind the wallet will be rewritten, Bitcoin will
+shut down, and you will be prompted to restart it to run with the new, properly encrypted file.
+
+If you had a previously encrypted wallet.dat that might have been copied or stolen (for example, you backed it up to a public
+location) you should send all of your bitcoins to yourself using a new bitcoin address and stop using any previously generated addresses.
+
+Wallets encrypted with this version of Bitcoin are written properly.
+
+Technical note: the encrypted wallet's 'keypool' will be regenerated the first time you request a new bitcoin address; to be certain that the
+new private keys are properly backed up you should:
+
+1. Run Bitcoin and let it rewrite the wallet.dat file
+
+2. Run it again, then ask it for a new bitcoin address.
+Bitcoin-Qt: Address Book, then New Address...
+bitcoind: run the 'walletpassphrase' RPC command to unlock the wallet, then run the 'getnewaddress' RPC command.
+
+3. If your encrypted wallet.dat may have been copied or stolen, send all of your bitcoins to the new bitcoin address.
+
+4. Shut down Bitcoin, then backup the wallet.dat file.
+IMPORTANT: be sure to request a new bitcoin address before backing up, so that the 'keypool' is regenerated and backed up.
+
+"Security in depth" is always a good idea, so choosing a secure location for the backup and/or encrypting the backup before uploading it is recommended. And as in previous releases, if your machine is infected by malware there are several ways an attacker might steal your bitcoins.
+
+Thanks to Alan Reiner (etotheipi) for finding and reporting this bug.
+
+MAJOR GUI CHANGES
+
+"Splash" graphics at startup that show address/wallet/blockchain loading progress.
+
+"Synchronizing with network" progress bar to show block-chain download progress.
+
+Icons at the bottom of the window that show how well connected you are to the network, with tooltips to display details.
+
+Drag and drop support for bitcoin: URIs on web pages.
+
+Export transactions as a .csv file.
+
+Many other GUI improvements, large and small.
+
+RPC CHANGES
+
+getmemorypool : new RPC command, provides everything needed to construct a block with a custom generation transaction and submit a solution
+
+listsinceblock : new RPC command, list transactions since given block
+
+signmessage/verifymessage : new RPC commands to sign a message with one of your private keys or verify that a message signed by the private key associated with a bitcoin address.
+
+GENERAL CHANGES
+
+Faster initial block download.
diff --git a/doc/release-notes/release-notes-0.5.1.md b/doc/release-notes/release-notes-0.5.1.md
new file mode 100644
index 0000000000..d56bff6d95
--- /dev/null
+++ b/doc/release-notes/release-notes-0.5.1.md
@@ -0,0 +1,43 @@
+Bitcoin version 0.5.1 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.1/
+
+This is a bugfix-only release.
+
+This release includes 13 translations, including 5 new translations:
+Italian, Hungarian, Ukranian, Portuguese (Brazilian) and Simplified Chinese.
+More translations are welcome; join the project at Transifex if you can help:
+https://www.transifex.net/projects/p/bitcoin/
+
+Please report bugs using the issue tracker at github:
+https://github.com/bitcoin/bitcoin/issues
+
+Project source code is hosted at github; we are no longer
+distributing .tar.gz files here, you can get them
+directly from github:
+https://github.com/bitcoin/bitcoin/tarball/v0.5.1 # .tar.gz
+https://github.com/bitcoin/bitcoin/zipball/v0.5.1 # .zip
+
+For Ubuntu users, there is a new ppa maintained by Matt Corallo which
+you can add to your system so that it will automatically keep
+bitcoin up-to-date. Just type
+sudo apt-add-repository ppa:bitcoin/bitcoin
+in your terminal, then install the bitcoin-qt package.
+
+
+BUG FIXES
+
+Re-enable SSL support for the JSON-RPC interface (it was unintentionally
+disabled for the 0.5.0 release binaries).
+
+The code that finds peers via "dns seeds" no longer stops bitcoin startup
+if one of the dns seed machines is down.
+
+Tooltips on the transaction list view were rendering incorrectly (as black boxes
+or with a transparent background).
+
+Prevent a denial-of-service attack involving flooding a bitcoin node with
+orphan blocks.
+
+The wallet passphrase dialog now warns you if the caps lock key was pressed.
+
+Improved searching in addresses and labels in bitcoin-qt.
diff --git a/doc/release-notes/release-notes-0.5.2.md b/doc/release-notes/release-notes-0.5.2.md
new file mode 100644
index 0000000000..f79816668d
--- /dev/null
+++ b/doc/release-notes/release-notes-0.5.2.md
@@ -0,0 +1,22 @@
+Bitcoin version 0.5.2 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.2/
+
+This is a bugfix-only release based on 0.5.1.
+
+Please report bugs using the issue tracker at github:
+https://github.com/bitcoin/bitcoin/issues
+
+Stable source code is hosted at Gitorious:
+http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v0.5.2#.tar.gz
+
+BUG FIXES
+
+Check all transactions in blocks after the last checkpoint (0.5.0 and 0.5.1 skipped checking ECDSA signatures during initial blockchain download).
+Cease locking memory used by non-sensitive information (this caused a huge performance hit on some platforms, especially noticable during initial blockchain download; this was
+not a security vulnerability).
+Fixed some address-handling deadlocks (client freezes).
+No longer accept inbound connections over the internet when Bitcoin is being used with Tor (identity leak).
+Re-enable SSL support for the JSON-RPC interface (it was unintentionally disabled for the 0.5.0 and 0.5.1 release Linux binaries).
+Use the correct base transaction fee of 0.0005 BTC for accepting transactions into mined blocks (since 0.4.0, it was incorrectly accepting 0.0001 BTC which was only meant to be relayed).
+Don't show "IP" for transactions which are not necessarily IP transactions.
+Add new DNS seeds (maintained by Pieter Wuille and Luke Dashjr).
diff --git a/doc/release-notes/release-notes-0.5.3.md b/doc/release-notes/release-notes-0.5.3.md
new file mode 100644
index 0000000000..7c84c53325
--- /dev/null
+++ b/doc/release-notes/release-notes-0.5.3.md
@@ -0,0 +1,42 @@
+Bitcoin version 0.5.3 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.3/
+
+This is a bugfix-only release based on 0.5.1.
+It also includes a few protocol updates.
+
+Please report bugs using the issue tracker at github:
+https://github.com/bitcoin/bitcoin/issues
+
+Stable source code is hosted at Gitorious:
+http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v0.5.3#.tar.gz
+
+PROTOCOL UPDATES
+
+BIP 30: Introduce a new network rule: "a block is not valid if it contains a transaction whose hash already exists in the block chain, unless all that transaction's outputs were already spent before said block" beginning on March 15, 2012, 00:00 UTC.
+On testnet, allow mining of min-difficulty blocks if 20 minutes have gone by without mining a regular-difficulty block. This is to make testing Bitcoin easier, and will not affect normal mode.
+
+BUG FIXES
+
+Limit the number of orphan transactions stored in memory, to prevent a potential denial-of-service attack by flooding orphan transactions. Also never store invalid transactions at all.
+Fix possible buffer overflow on systems with very long application data paths. This is not exploitable.
+Resolved multiple bugs preventing long-term unlocking of encrypted wallets
+(issue #922).
+Only send local IP in "version" messages if it is globally routable (ie, not private), and try to get such an IP from UPnP if applicable.
+Reannounce UPnP port forwards every 20 minutes, to workaround routers expiring old entries, and allow the -upnp option to override any stored setting.
+Skip splash screen when -min is used, and fix Minimize to Tray function.
+Do not blank "label" in Bitcoin-Qt "Send" tab, if the user has already entered something.
+Correct various labels and messages.
+Various memory leaks and potential null pointer deferences have been fixed.
+Handle invalid Bitcoin URIs using "bitcoin://" instead of "bitcoin:".
+Several shutdown issues have been fixed.
+Revert to "global progress indication", as starting from zero every time was considered too confusing for many users.
+Check that keys stored in the wallet are valid at startup, and if not, report corruption.
+Enable accessible widgets on Windows, so that people with screen readers such as NVDA can make sense of it.
+Various build fixes.
+If no password is specified to bitcoind, recommend a secure password.
+Automatically focus and scroll to new "Send coins" entries in Bitcoin-Qt.
+Show a message box for --help on Windows, for Bitcoin-Qt.
+Add missing "About Qt" menu option to show built-in Qt About dialog.
+Don't show "-daemon" as an option for Bitcoin-Qt, since it isn't available.
+Update hard-coded fallback seed nodes, choosing recent ones with long uptime and versions at least 0.4.0.
+Add checkpoint at block 168,000.
diff --git a/doc/release-notes/release-notes-0.5.4.md b/doc/release-notes/release-notes-0.5.4.md
new file mode 100644
index 0000000000..fcde3ac4e3
--- /dev/null
+++ b/doc/release-notes/release-notes-0.5.4.md
@@ -0,0 +1,39 @@
+Bitcoin version 0.5.4 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.4/
+NOTE: 0.5.4rc3 is being renamed to 0.5.4 final with no changes.
+
+This is a bugfix-only release in the 0.5.x series, plus a few protocol updates.
+
+Please report bugs using the issue tracker at github:
+https://github.com/bitcoin/bitcoin/issues
+
+Stable source code is hosted at Gitorious:
+http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v0.5.4#.tar.gz
+
+PROTOCOL UPDATES
+
+BIP 16: Special-case "pay to script hash" logic to enable minimal validation of new transactions.
+Support for validating message signatures produced with compressed public keys.
+
+BUG FIXES
+
+Build with thread-safe MingW libraries for Windows, fixing a dangerous memory corruption scenario when exceptions are thrown.
+Fix broken testnet mining.
+Stop excess inventory relay during initial block download.
+When disconnecting a node, clear the received buffer so that we do not process any already received messages.
+Yet another attempt at implementing "minimize to tray" that works on all operating systems.
+Fix Bitcoin-Qt notifications under Growl 1.3.
+Increase required age of Bitcoin-Qt's "not up to date" status from 30 to 90 minutes.
+Implemented missing verifications that led to crash on entering some wrong passphrases for encrypted wallets.
+Fix default filename suffixes in GNOME save dialog.
+Make the "Send coins" tab use the configured unit type, even on the first attempt.
+Print detailed wallet loading errors to debug.log when it is corrupt.
+Allocate exactly the amount of space needed for signing transactions, instead of a fixed 10k buffer.
+Workaround for improbable memory access violation.
+Check wallet's minimum version before trying to load it.
+Remove wxBitcoin properly when installing Bitcoin-Qt over it. (Windows)
+Detail reorganization information better in debug log.
+Use a messagebox to display the error when -server is provided without configuring a RPC password.
+Testing suite build now honours provided CXXFLAGS.
+Removed an extraneous line-break in mature transaction tooltips.
+Fix some grammatical errors in translation process documentation.
diff --git a/doc/release-notes/release-notes-0.5.5.md b/doc/release-notes/release-notes-0.5.5.md
new file mode 100644
index 0000000000..75ebc3e6b6
--- /dev/null
+++ b/doc/release-notes/release-notes-0.5.5.md
@@ -0,0 +1,37 @@
+bitcoind and Bitcoin-Qt version 0.5.5 are now available for download at:
+Windows: installer | zip (sig)
+Source: tar.gz
+bitcoind and Bitcoin-Qt version 0.6.0.7 are also tagged in git, but it is recommended to upgrade to 0.6.1.
+
+These are bugfix-only releases.
+
+Please report bugs by replying to this forum thread. Note that the 0.4.x wxBitcoin GUI client is no longer maintained nor supported. If someone would like to step up to maintain this, they should contact Luke-Jr.
+
+BUG FIXES
+
+Version 0.6.0 allowed importing invalid "private keys", which would be unspendable; 0.6.0.7 will now verify the private key is valid, and refuse to import an invalid one
+Verify status of encrypt/decrypt calls to detect failed padding
+Check blocks for duplicate transactions earlier. Fixes #1167
+Upgrade Windows builds to OpenSSL 1.0.1b
+Set label when selecting an address that already has a label. Fixes #1080 (Bitcoin-Qt)
+JSON-RPC listtransactions's from/count handling is now fixed
+Optimize and fix multithreaded access, when checking whether we already know about transactions
+Fix potential networking deadlock
+Proper support for Growl 1.3 notifications
+Display an error, rather than crashing, if encoding a QR Code failed (0.6.0.7)
+Don't erroneously set "Display addresses" for users who haven't explicitly enabled it (Bitcoin-Qt)
+Some non-ASCII input in JSON-RPC expecting hexadecimal may have been misinterpreted rather than rejected
+Missing error condition checking added
+Do not show green tick unless all known blocks are downloaded. Fixes #921 (Bitcoin-Qt)
+Increase time ago of last block for "up to date" status from 30 to 90 minutes
+Show a message box when runaway exception happens (Bitcoin-Qt)
+Use a messagebox to display the error when -server is provided without providing a rpc password
+Show error message instead of exception crash when unable to bind RPC port (Bitcoin-Qt)
+Correct sign message bitcoin address tooltip. Fixes #1050 (Bitcoin-Qt)
+Removed "(no label)" from QR Code dialog titlebar if we have no label (0.6.0.7)
+Removed an ugly line break in tooltip for mature transactions (0.6.0.7)
+Add missing tooltip and key shortcut in settings dialog (part of #1088) (Bitcoin-Qt)
+Work around issue in boost::program_options that prevents from compiling in clang
+Fixed bugs occurring only on platforms with unsigned characters (such as ARM).
+Rename make_windows_icon.py to .sh as it is a shell script. Fixes #1099 (Bitcoin-Qt)
+Various trivial internal corrections to types used for counting/size loops and warnings
diff --git a/doc/release-notes/release-notes-0.6.0.md b/doc/release-notes/release-notes-0.6.0.md
new file mode 100644
index 0000000000..1963a36259
--- /dev/null
+++ b/doc/release-notes/release-notes-0.6.0.md
@@ -0,0 +1,138 @@
+Bitcoin version 0.6.0 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.6.0/test/
+
+This release includes more than 20 language localizations.
+More translations are welcome; join the
+project at Transifex to help:
+https://www.transifex.net/projects/p/bitcoin/
+
+Please report bugs using the issue tracker at github:
+https://github.com/bitcoin/bitcoin/issues
+
+Project source code is hosted at github; we are no longer
+distributing .tar.gz files here, you can get them
+directly from github:
+https://github.com/bitcoin/bitcoin/tarball/v0.6.0 # .tar.gz
+https://github.com/bitcoin/bitcoin/zipball/v0.6.0 # .zip
+
+For Ubuntu users, there is a ppa maintained by Matt Corallo which
+you can add to your system so that it will automatically keep
+bitcoin up-to-date. Just type
+sudo apt-add-repository ppa:bitcoin/bitcoin
+in your terminal, then install the bitcoin-qt package.
+
+
+KNOWN ISSUES
+
+Shutting down while synchronizing with the network
+(downloading the blockchain) can take more than a minute,
+because database writes are queued to speed up download
+time.
+
+
+NEW FEATURES SINCE BITCOIN VERSION 0.5
+
+Initial network synchronization should be much faster
+(one or two hours on a typical machine instead of ten or more
+hours).
+
+Backup Wallet menu option.
+
+Bitcoin-Qt can display and save QR codes for sending
+and receiving addresses.
+
+New context menu on addresses to copy/edit/delete them.
+
+New Sign Message dialog that allows you to prove that you
+own a bitcoin address by creating a digital
+signature.
+
+New wallets created with this version will
+use 33-byte 'compressed' public keys instead of
+65-byte public keys, resulting in smaller
+transactions and less traffic on the bitcoin
+network. The shorter keys are already supported
+by the network but wallet.dat files containing
+short keys are not compatible with earlier
+versions of Bitcoin-Qt/bitcoind.
+
+New command-line argument -blocknotify=<command>
+that will spawn a shell process to run <command>
+when a new block is accepted.
+
+New command-line argument -splash=0 to disable
+Bitcoin-Qt's initial splash screen
+
+validateaddress JSON-RPC api command output includes
+two new fields for addresses in the wallet:
+pubkey : hexadecimal public key
+iscompressed : true if pubkey is a short 33-byte key
+
+New JSON-RPC api commands for dumping/importing
+private keys from the wallet (dumprivkey, importprivkey).
+
+New JSON-RPC api command for getting information about
+blocks (getblock, getblockhash).
+
+New JSON-RPC api command (getmininginfo) for getting
+extra information related to mining. The getinfo
+JSON-RPC command no longer includes mining-related
+information (generate/genproclimit/hashespersec).
+
+
+
+NOTABLE CHANGES
+
+BIP30 implemented (security fix for an attack involving
+duplicate "coinbase transactions").
+
+The -nolisten, -noupnp and -nodnsseed command-line
+options were renamed to -listen, -upnp and -dnsseed,
+with a default value of 1. The old names are still
+supported for compatibility (so specifying -nolisten
+is automatically interpreted as -listen=0; every
+boolean argument can now be specified as either
+-foo or -nofoo).
+
+The -noirc command-line options was renamed to
+-irc, with a default value of 0. Run -irc=1 to
+get the old behavior.
+
+Three fill-up-available-memory denial-of-service
+attacks were fixed.
+
+
+NOT YET IMPLEMENTED FEATURES
+
+Support for clicking on bitcoin: URIs and
+opening/launching Bitcoin-Qt is available only on Linux,
+and only if you configure your desktop to launch
+Bitcoin-Qt. All platforms support dragging and dropping
+bitcoin: URIs onto the Bitcoin-Qt window to start
+payment.
+
+
+PRELIMINARY SUPPORT FOR MULTISIGNATURE TRANSACTIONS
+
+This release has preliminary support for multisignature
+transactions-- transactions that require authorization
+from more than one person or device before they
+will be accepted by the bitcoin network.
+
+Prior to this release, multisignature transactions
+were considered 'non-standard' and were ignored;
+with this release multisignature transactions are
+considered standard and will start to be relayed
+and accepted into blocks.
+
+It is expected that future releases of Bitcoin-Qt
+will support the creation of multisignature transactions,
+once enough of the network has upgraded so relaying
+and validating them is robust.
+
+For this release, creation and testing of multisignature
+transactions is limited to the bitcoin test network using
+the "addmultisigaddress" JSON-RPC api call.
+
+Short multisignature address support is included in this
+release, as specified in BIP 13 and BIP 16.
diff --git a/doc/release-notes/release-notes-0.6.1.md b/doc/release-notes/release-notes-0.6.1.md
new file mode 100644
index 0000000000..ef7966ecd6
--- /dev/null
+++ b/doc/release-notes/release-notes-0.6.1.md
@@ -0,0 +1,2 @@
+Never released
+
diff --git a/doc/release-notes/release-notes-0.6.2.md b/doc/release-notes/release-notes-0.6.2.md
new file mode 100644
index 0000000000..bb85fb23a0
--- /dev/null
+++ b/doc/release-notes/release-notes-0.6.2.md
@@ -0,0 +1,50 @@
+Bitcoin version 0.6.2 is now available for download at:
+http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.6.2/
+
+This is a bug-fix and code-cleanup release, with no major new features.
+
+Please report bugs using the github issue tracker at:
+https://github.com/bitcoin/bitcoin/issues
+
+
+NOTABLE CHANGES
+
+Much faster shutdowns. However, the blkindex.dat file is no longer
+portable to different data directories by default. If you need a
+portable blkindex.dat file then run with the new -detachdb=1 option
+or the "Detach databases at shutdown" GUI preference.
+
+Fixed https://github.com/bitcoin/bitcoin/issues/1065, a bug that
+could cause long-running nodes to crash.
+
+Mac and Windows binaries are compiled against OpenSSL 1.0.1b (Linux
+binaries are dynamically linked to the version of OpenSSL on the system).
+
+
+CHANGE SUMMARY
+
+Use 'git shortlog --no-merges v0.6.0..' for a summary of this release.
+
+Source codebase changes:
+- Many source code cleanups and warnings fixes. Close to building with -Wall
+- Locking overhaul, and several minor locking fixes
+- Several source code portability fixes, e.g. FreeBSD
+
+JSON-RPC interface changes:
+- addmultisigaddress enabled for mainnet (previously only enabled for testnet)
+
+Network protocol changes:
+- protocol version 60001
+- added nonce value to "ping" message (BIP 31)
+- added new "pong" message (BIP 31)
+
+Backend storage changes:
+- Less redundant database flushing, especially during initial block download
+- Shutdown improvements (see above)
+
+Qt user interface:
+- minor URI handling improvements
+- progressbar improvements
+- error handling improvements (show message box rather than console exception,
+etc.)
+- by popular request, make 4th bar of connection icon green
diff --git a/doc/release-notes/release-notes-0.6.3.md b/doc/release-notes/release-notes-0.6.3.md
new file mode 100644
index 0000000000..28bb20e104
--- /dev/null
+++ b/doc/release-notes/release-notes-0.6.3.md
@@ -0,0 +1,29 @@
+Bitcoin version 0.6.3 is now available for download at:
+ http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.6.3/
+
+This is a bug-fix release, with no new features.
+
+Please report bugs using the issue tracker at github:
+ https://github.com/bitcoin/bitcoin/issues
+
+CHANGE SUMMARY
+
+Fixed a serious denial-of-service attack that could cause the
+bitcoin process to become unresponsive. Thanks to Sergio Lerner
+for finding and responsibly reporting the problem. (CVE-2012-3789)
+
+Optimized the process of checking transaction signatures, to
+speed up processing of new block messages and make propagating
+blocks across the network faster.
+
+Fixed an obscure bug that could cause the bitcoin process to get
+stuck on an invalid block-chain, if the invalid chain was
+hundreds of blocks long.
+
+Bitcoin-Qt no longer automatically selects the first address
+in the address book (Issue #1384).
+
+Fixed minimize-to-dock behavior of Bitcon-Qt on the Mac.
+
+Added a block checkpoint at block 185,333 to speed up initial
+blockchain download.
diff --git a/doc/release-notes/release-notes-0.7.0.md b/doc/release-notes/release-notes-0.7.0.md
new file mode 100644
index 0000000000..d33a58f99f
--- /dev/null
+++ b/doc/release-notes/release-notes-0.7.0.md
@@ -0,0 +1,169 @@
+Bitcoin version 0.7.0 is now available for download at:
+ http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.7.0/
+
+We recommend that everybody running prior versions of bitcoind/Bitcoin-Qt
+upgrade to this release, except for users running Mac OSX 10.5.
+
+Please report bugs using the issue tracker at github:
+ https://github.com/bitcoin/bitcoin/issues
+
+Project source code is hosted at github; you can get
+source-only tarballs/zipballs directly from there:
+ https://github.com/bitcoin/bitcoin/tarball/v0.7.0 # .tar.gz
+ https://github.com/bitcoin/bitcoin/zipball/v0.7.0 # .zip
+
+Ubuntu Linux users can use the "Personal Package Archive" (PPA)
+maintained by Matt Corallo to automatically keep
+bitcoin up-to-date. Just type
+ sudo apt-add-repository ppa:bitcoin/bitcoin
+ sudo apt-get update
+in your terminal, then install the bitcoin-qt package:
+ sudo apt-get install bitcoin-qt
+
+
+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
+Code:
+/Applications/Bitcoin-Qt
+(on Mac) or
+Code:
+bitcoind/bitcoin-qt
+(on Linux).
+
+If you were running on Linux with a version that might have been compiled
+with a different version of Berkeley DB (for example, if you were using the
+PPA and are switching to the binary release), then run the old version again
+with the -detachdb argument and shut it down; if you do not, then the new
+version will not be able to read the database files and will exit with an error.
+
+Incompatible Changes
+
+* Replaced the 'getmemorypool' RPC command with 'getblocktemplate/submitblock'
+ and 'getrawmempool' commands.
+* Remove deprecated RPC 'getblocknumber'
+
+Bitcoin Improvement Proposals implemented
+
+BIP 22 - 'getblocktemplate', 'submitblock' RPCs
+BIP 34 - block version 2, height in coinbase
+BIP 35 - 'mempool' message, extended 'getdata' message behavior
+
+
+Core bitcoin handling and blockchain database
+
+* Reduced CPU usage, by eliminating some redundant hash calculations
+* Cache signature verifications, to eliminate redundant signature checks
+* Transactions with zero-value outputs are considered non-standard
+* Mining: when creating new blocks, sort 'paid' area by fee-per-kb
+* Database: better validation of on-disk stored data
+* Database: minor optimizations and reliability improvements
+* -loadblock=FILE will import an external block file
+* Additional DoS (denial-of-service) prevention measures
+* New blockchain checkpoint at block 193,000
+
+
+JSON-RPC API
+
+* Internal HTTP server is now thread-per-connection, rather than
+ a single-threaded queue that would stall on network I/O.
+* Internal HTTP server supports HTTP/1.1, pipelined requests and
+ connection keep-alive.
+* Support JSON-RPC 2.0 batches, to encapsulate multiple JSON-RPC requests
+ within a single HTTP request.
+* IPv6 support
+* Added raw transaction API. See https://gist.github.com/2839617
+* Added 'getrawmempool', to list contents of TX memory pool
+* Added 'getpeerinfo', to list data about each connected network peer
+* Added 'listaddressgroupings' for better coin control
+* Rework getblock call.
+* Remove deprecated RPC 'getblocknumber'
+* Remove superceded RPC 'getmemorypool' (see BIP 22, above)
+* listtransactions output now displays "smart" times for transactions,
+ and 'blocktime' and 'timereceived' fields were added
+
+
+P2P networking
+
+* IPv6 support
+* Tor hidden service support (see doc/Tor.txt)
+* Attempts to fix "stuck blockchain download" problems
+* Replace BDB database "addr.dat" with internally-managed "peers.dat"
+ file containing peer address data.
+* Lower default send buffer from 10MB to 1MB
+* proxy: SOCKS5 by default
+* Support connecting by hostnames passed to proxy
+* Add -seednode connections, and use this instead of DNS seeds when proxied
+* Added -externalip and -discover
+* Add -onlynet to connect only to a given network (IPv4, IPv6, or Tor)
+* Separate listening sockets, -bind=<addr>
+
+
+Qt GUI
+
+* Add UI RPC console / debug window
+* Re-Enable URI handling on Windows, add safety checks and tray-notifications
+* Harmonize the use of ellipsis ("...") to be used in menus, but not on buttons
+* Add 2 labels to the overviewpage that display Wallet and Transaction status (obsolete or current)
+* Extend the optionsdialog (e.g. language selection) and re-work it to a tabbed UI
+* Merge sign/verify message into a single window with tabbed UI
+* Ensure a changed bitcoin unit immediately updates all GUI elements that use units
+* Update QR Code dialog
+* Improve error reporting at startup
+* Fine-grained UI updates for a much smoother UI during block downloads
+* Remove autocorrection of 0/i in addresses in UI
+* Reorganize tray icon menu into more logical order
+* Persistently poll for balance change when number of blocks changed
+* Much better translations
+* Override progress bar design on platforms with segmented progress bars to assist with readability
+* Added 'immature balance' display on the overview page
+* (Windows only): enable ASLR and DEP for bitcoin-qt.exe
+* (Windows only): add meta-data to bitcoin-qt.exe (e.g. description)
+
+Internal codebase
+
+* Additional unit tests
+* Compile warning fixes
+
+
+Miscellaneous
+
+* Reopen debug.log upon SIGHUP
+* Bash programmable completion for bitcoind(1)
+* On supported OS's, each thread is given a useful name
+
+
+Thanks to everybody who contributed to this release:
+
+Chris Moore
+Christian von Roques
+David Joel Schwartz
+Douglas Huff
+Fordy
+Gavin Andresen
+Giel van Schijndel
+Gregory Maxwell
+Jeff Garzik
+Luke Dashjr
+Matt Corallo
+Michael Ford
+Michael Hendricks
+Peter Todd
+Philip Kaufmann
+Pieter Wuille
+R E Broadley
+Ricardo M. Correia
+Rune K. Svendsen
+Scott Ellis
+Stephane Glondu
+Wladimir J. van der Laan
+cardpuncher
+coderrr
+fanquake
+grimd34th
+sje397
+xanatos
+
+Thanks to Sergio Lerner for reporting denial-of-service vulnerabilities fixed in this release.
diff --git a/doc/release-notes/release-notes-0.7.1.md b/doc/release-notes/release-notes-0.7.1.md
new file mode 100644
index 0000000000..22e910c09f
--- /dev/null
+++ b/doc/release-notes/release-notes-0.7.1.md
@@ -0,0 +1,110 @@
+Bitcoin version 0.7.1 is now available from:
+ http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.7.1/
+
+This is a bug-fix minor release.
+
+Please report bugs using the issue tracker at github:
+ https://github.com/bitcoin/bitcoin/issues
+
+Project source code is hosted at github; you can get
+source-only tarballs/zipballs directly from there:
+ https://github.com/bitcoin/bitcoin/tarball/v0.7.1 # .tar.gz
+ https://github.com/bitcoin/bitcoin/zipball/v0.7.1 # .zip
+
+Ubuntu Linux users can use the "Personal Package Archive" (PPA)
+maintained by Matt Corallo to automatically keep
+up-to-date. Just type:
+ sudo apt-add-repository ppa:bitcoin/bitcoin
+ sudo apt-get update
+in your terminal, then install the bitcoin-qt package:
+ sudo apt-get install bitcoin-qt
+
+KNOWN ISSUES
+------------
+
+Mac OSX 10.5 is no longer supported.
+
+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 bitcoind/bitcoin-qt (on Linux).
+
+If you were running on Linux with a version that might have been compiled
+with a different version of Berkeley DB (for example, if you were using an
+Ubuntu PPA version), then run the old version again with the -detachdb
+argument and shut it down; if you do not, then the new version will not
+be able to read the database files and will exit with an error.
+
+Explanation of -detachdb (and the new "stop true" RPC command):
+The Berkeley DB database library stores data in both ".dat" and
+"log" files, so the database is always in a consistent state,
+even in case of power failure or other sudden shutdown. The
+format of the ".dat" files is portable between different
+versions of Berkeley DB, but the "log" files are not-- even minor
+version differences may have incompatible "log" files. The
+-detachdb option moves any pending changes from the "log" files
+to the "blkindex.dat" file for maximum compatibility, but makes
+shutdown much slower. Note that the "wallet.dat" file is always
+detached, and versions prior to 0.6.0 detached all databases
+at shutdown.
+
+New features
+------------
+
+* Added a boolean argument to the RPC 'stop' command, if true sets
+ -detachdb to create standalone database .dat files before shutting down.
+
+* -salvagewallet command-line option, which moves any existing wallet.dat
+ to wallet.{timestamp}.dat and then attempts to salvage public/private
+ keys and master encryption keys (if the wallet is encrypted) into
+ a new wallet.dat. This should only be used if your wallet becomes
+ corrupted, and is not intended to replace regular wallet backups.
+
+* Import $DataDir/bootstrap.dat automatically, if it exists.
+
+Dependency changes
+------------------
+
+* Qt 4.8.2 for Windows builds
+
+* openssl 1.0.1c
+
+Bug fixes
+---------
+
+* Clicking on a bitcoin: URI on Windows should now launch Bitcoin-Qt properly.
+
+* When running -testnet, use RPC port 18332 by default.
+
+* Better detection and handling of corrupt wallet.dat and blkindex.dat files.
+ Previous versions would crash with a DB_RUNRECOVERY exception, this
+ version detects most problems and tells you how to recover if it
+ cannot recover itself.
+
+* Fixed an uninitialized variable bug that could cause transactions to
+ be reported out of order.
+
+* Fixed a bug that could cause occasional crashes on exit.
+
+* Warn the user that they need to create fresh wallet backups after they
+ encrypt their wallet.
+
+----------------------------------------------------
+Thanks to everybody who contributed to this release:
+
+Gavin Andresen
+Jeff Garzik
+Luke Dashjr
+Mark Friedenbach
+Matt Corallo
+Philip Kaufmann
+Pieter Wuille
+Rune K. Svendsen
+Virgil Dupras
+Wladimir J. van der Laan
+fanquake
+kjj2
+xanatos
diff --git a/doc/release-notes/release-notes-0.7.2.md b/doc/release-notes/release-notes-0.7.2.md
new file mode 100644
index 0000000000..40af34962b
--- /dev/null
+++ b/doc/release-notes/release-notes-0.7.2.md
@@ -0,0 +1,68 @@
+Bitcoin version 0.7.2 is now available from:
+ http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.7.2
+
+This is a bug-fix minor release.
+
+Please report bugs using the issue tracker at github:
+ https://github.com/bitcoin/bitcoin/issues
+
+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 bitcoind/bitcoin-qt (on Linux).
+
+If you were running on Linux with a version that might have been compiled
+with a different version of Berkeley DB (for example, if you were using an
+Ubuntu PPA version), then run the old version again with the -detachdb
+argument and shut it down; if you do not, then the new version will not
+be able to read the database files and will exit with an error.
+
+Explanation of -detachdb (and the new "stop true" RPC command):
+The Berkeley DB database library stores data in both ".dat" and
+"log" files, so the database is always in a consistent state,
+even in case of power failure or other sudden shutdown. The
+format of the ".dat" files is portable between different
+versions of Berkeley DB, but the "log" files are not-- even minor
+version differences may have incompatible "log" files. The
+-detachdb option moves any pending changes from the "log" files
+to the "blkindex.dat" file for maximum compatibility, but makes
+shutdown much slower. Note that the "wallet.dat" file is always
+detached, and versions prior to 0.6.0 detached all databases
+at shutdown.
+
+Bug fixes
+---------
+
+* Prevent RPC 'move' from deadlocking. This was caused by trying to lock the
+ database twice.
+
+* Fix use-after-free problems in initialization and shutdown, the latter of
+ which caused Bitcoin-Qt to crash on Windows when exiting.
+
+* Correct library linking so building on Windows natively works.
+
+* Avoid a race condition and out-of-bounds read in block creation/mining code.
+
+* Improve platform compatibility quirks, including fix for 100% CPU utilization
+ on FreeBSD 9.
+
+* A few minor corrections to error handling, and updated translations.
+
+* OSX 10.5 supported again
+
+----------------------------------------------------
+Thanks to everybody who contributed to this release:
+
+Alex
+dansmith
+Gavin Andresen
+Gregory Maxwell
+Jeff Garzik
+Luke Dashjr
+Philip Kaufmann
+Pieter Wuille
+Wladimir J. van der Laan
+grimd34th
diff --git a/doc/release-notes/release-notes-0.8.0.md b/doc/release-notes/release-notes-0.8.0.md
new file mode 100644
index 0000000000..4e98a7740f
--- /dev/null
+++ b/doc/release-notes/release-notes-0.8.0.md
@@ -0,0 +1,139 @@
+Bitcoin-Qt version 0.8.0 is now available from:
+ http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.0/
+
+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:
+ https://github.com/bitcoin/bitcoin/issues
+
+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 bitcoind/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.
+
+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
+details).
+
+Improvements
+------------
+
+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 less working 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 : controls LevelDB memory usage.
+
+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
+Sergio Demian Lerner
+Wladimir J. van der Laan
+burger2
+default
+fanquake
+grimd34th
+justmoon
+redshark1802
+tucenaber
+xanatos
diff --git a/doc/release-notes/release-notes-0.8.1.md b/doc/release-notes/release-notes-0.8.1.md
new file mode 100644
index 0000000000..4fd546bee0
--- /dev/null
+++ b/doc/release-notes/release-notes-0.8.1.md
@@ -0,0 +1,22 @@
+Bitcoin-Qt/bitcoind version 0.8.1 is now available from:
+ http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/
+
+This is a maintenance release that adds a new network rule to avoid
+a chain-forking incompatibility with versions 0.7.2 and earlier.
+
+Please report bugs using the issue tracker at github:
+ https://github.com/bitcoin/bitcoin/issues
+
+
+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 bitcoind/bitcoin-qt (on Linux).
+
+If you are upgrading from version 0.7.2 or earlier, the first time you
+run 0.8.1 your blockchain files will be re-indexed, which will take
+anywhere from 30 minutes to several hours, depending on the speed of
+your machine.
diff --git a/doc/release-notes/release-notes-0.8.2.md b/doc/release-notes/release-notes-0.8.2.md
new file mode 100644
index 0000000000..eea9ba2a2c
--- /dev/null
+++ b/doc/release-notes/release-notes-0.8.2.md
@@ -0,0 +1,137 @@
+Bitcoin-Qt version 0.8.2 is now available from:
+ http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.2/
+
+This is a maintenance release that fixes many bugs and includes
+a few small new features.
+
+Please report bugs using the issue tracker at github:
+ https://github.com/bitcoin/bitcoin/issues
+
+
+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 bitcoind/bitcoin-qt (on Linux).
+
+If you are upgrading from version 0.7.2 or earlier, the first time you
+run 0.8.2 your blockchain files will be re-indexed, which will take
+anywhere from 30 minutes to several hours, depending on the speed of
+your machine.
+
+0.8.2 Release notes
+
+Fee Policy changes
+
+The default fee for low-priority transactions is lowered from 0.0005 BTC
+(for each 1,000 bytes in the transaction; an average transaction is
+about 500 bytes) to 0.0001 BTC.
+
+Payments (transaction outputs) of 0.543 times the minimum relay fee
+(0.00005430 BTC) are now considered 'non-standard', because storing them
+costs the network more than they are worth and spending them will usually
+cost their owner more in transaction fees than they are worth.
+
+Non-standard transactions are not relayed across the network, are not included
+in blocks by most miners, and will not show up in your wallet until they are
+included in a block.
+
+The default fee policy can be overridden using the -mintxfee and -minrelaytxfee
+command-line options, but note that we intend to replace the hard-coded fees
+with code that automatically calculates and suggests appropriate fees in the
+0.9 release and note that if you set a fee policy significantly different from
+the rest of the network your transactions may never confirm.
+
+Bitcoin-Qt changes
+
+* New icon and splash screen
+* Improve reporting of synchronization process
+* Remove hardcoded fee recommendations
+* Improve metadata of executable on MacOSX and Windows
+* Move export button to individual tabs instead of toolbar
+* Add "send coins" command to context menu in address book
+* Add "copy txid" command to copy transaction IDs from transaction overview
+* Save & restore window size and position when showing & hiding window
+* New translations: Arabic (ar), Bosnian (bs), Catalan (ca), Welsh (cy),
+ Esperanto (eo), Interlingua (la), Latvian (lv) and many improvements
+ to current translations
+
+MacOSX:
+* OSX support for click-to-pay (bitcoin:) links
+* Fix GUI disappearing problem on MacOSX (issue #1522)
+
+Linux/Unix:
+* Copy addresses to middle-mouse-button clipboard
+
+
+Command-line options
+
+* -walletnotify will call a command on receiving transactions that affect the wallet.
+* -alertnotify will call a command on receiving an alert from the network.
+* -par now takes a negative number, to leave a certain amount of cores free.
+
+JSON-RPC API changes
+
+* fixed a getblocktemplate bug that caused excessive CPU creating blocks.
+* listunspent now lists account and address information.
+* getinfo now also returns the time adjustment estimated from your peers.
+* getpeerinfo now returns bytessent, bytesrecv and syncnode.
+* gettxoutsetinfo returns statistics about the unspent transaction output database.
+* gettxout returns information about a specific unspent transaction output.
+
+
+Networking changes
+
+* Significant changes to the networking code, reducing latency and memory consumption.
+* Avoid initial block download stalling.
+* Remove IRC seeding support.
+* Performance tweaks.
+* Added testnet DNS seeds.
+
+Wallet compatibility/rescuing
+
+* Cases where wallets cannot be opened in another version/installation should be reduced.
+* -salvagewallet now works for encrypted wallets.
+
+
+Known Bugs
+
+* Entering the 'getblocktemplate' or 'getwork' RPC commands into the Bitcoin-Qt debug
+console will cause Bitcoin-Qt to crash. Run Bitcoin-Qt with the -server command-line
+option to workaround.
+
+Thanks to everybody who contributed to the 0.8.2 release!
+
+APerson241
+Andrew Poelstra
+Calvin Owens
+Chuck LeDuc Díaz
+Colin Dean
+David Griffith
+David Serrano
+Eric Lombrozo
+Gavin Andresen
+Gregory Maxwell
+Jeff Garzik
+Jonas Schnelli
+Larry Gilbert
+Luke Dashjr
+Matt Corallo
+Michael Ford
+Mike Hearn
+Patrick Brown
+Peter Todd
+Philip Kaufmann
+Pieter Wuille
+Richard Schwab
+Roman Mindalev
+Scott Howard
+Tariq Bashir
+Warren Togami
+Wladimir J. van der Laan
+freewil
+gladoscc
+kjj2
+mb300sd
+super3
diff --git a/doc/release-notes/release-notes-0.8.3.md b/doc/release-notes/release-notes-0.8.3.md
new file mode 100644
index 0000000000..856c20aa33
--- /dev/null
+++ b/doc/release-notes/release-notes-0.8.3.md
@@ -0,0 +1,18 @@
+Bitcoin-Qt version 0.8.3 is now available from:
+ http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.3/
+
+This is a maintenance release to fix a denial-of-service attack that
+can cause nodes to crash.
+
+Please report bugs using the issue tracker at github:
+ https://github.com/bitcoin/bitcoin/issues
+
+0.8.3 Release notes
+
+Truncate over-size messages to prevent a memory exhaustion attack.
+
+Fix a regression that causes excessive re-writing of the 'peers.dat' file.
+
+
+Thanks to Peter Todd for responsibly disclosing the vulnerability
+( CVE-2013-4627 ) and creating a fix.
diff --git a/doc/release-notes/release-notes-0.8.4.md b/doc/release-notes/release-notes-0.8.4.md
new file mode 100644
index 0000000000..c6f31f1fa4
--- /dev/null
+++ b/doc/release-notes/release-notes-0.8.4.md
@@ -0,0 +1,83 @@
+Bitcoin-Qt version 0.8.4 is now available from:
+ http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.4/
+
+This is a maintenance release to fix a critical bug and three
+security issues; we urge all users to upgrade.
+
+Please report bugs using the issue tracker at github:
+ https://github.com/bitcoin/bitcoin/issues
+
+
+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 bitcoind/bitcoin-qt (on Linux).
+
+If you are upgrading from version 0.7.2 or earlier, the first time you
+run 0.8.4 your blockchain files will be re-indexed, which will take
+anywhere from 30 minutes to several hours, depending on the speed of
+your machine.
+
+0.8.4 Release notes
+===================
+
+Security issues
+---------------
+
+An attacker could send a series of messages that resulted in
+an integer division-by-zero error in the Bloom Filter handling
+code, causing the Bitcoin-Qt or bitcoind process to crash.
+Bloom filters were introduced with version 0.8, so versions 0.8.0
+through 0.8.3 are vulnerable to this critical denial-of-service attack.
+
+A constant-time algorithm is now used to check RPC password
+guess attempts; fixes https://github.com/bitcoin/bitcoin/issues/2838
+(CVE-2013-4165)
+
+Implement a better fix for the fill-memory-with-orphan-transactions
+attack that was fixed in 0.8.3. See
+https://bitslog.wordpress.com/2013/07/18/buggy-cve-2013-4627-patch-open-new-vectors-of-attack/
+for a description of the weaknesses of the previous fix.
+(CVE-2013-4627)
+
+Bugs fixed
+----------
+
+Fix multi-block reorg transaction resurrection.
+
+Fix non-standard disconnected transactions causing mempool orphans.
+This bug could cause nodes running with the -debug flag to crash.
+
+OSX: use 'FD_FULLSYNC' with LevelDB, which will (hopefully!)
+prevent the database corruption issues many people have
+experienced on OSX.
+
+Linux: clicking on bitcoin: links was broken if you were using
+a Gnome-based desktop.
+
+Fix a hang-at-shutdown bug that only affects users that compile
+their own version of Bitcoin against Boost versions 1.50-1.52.
+
+Other changes
+-------------
+
+Checkpoint at block 250,000 to speed up initial block downloads
+and make the progress indicator when downloading more accurate.
+
+
+Thanks to everybody who contributed to the 0.8.4 releases!
+----------------------------------------------------------
+
+Pieter Wuille
+Warren Togami
+Patrick Strateman
+pakt
+Gregory Maxwell
+Sergio Demian Lerner
+grayleonard
+Cory Fields
+Matt Corallo
+Gavin Andresen
diff --git a/doc/release-notes/release-notes-0.8.5.md b/doc/release-notes/release-notes-0.8.5.md
new file mode 100644
index 0000000000..aa93fe7c71
--- /dev/null
+++ b/doc/release-notes/release-notes-0.8.5.md
@@ -0,0 +1,44 @@
+Bitcoin-Qt version 0.8.5 is now available from:
+ http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.5/
+
+This is a maintenance release to fix a critical bug;
+we urge all users to upgrade.
+
+Please report bugs using the issue tracker at github:
+ https://github.com/bitcoin/bitcoin/issues
+
+
+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 bitcoind/bitcoin-qt (on Linux).
+
+If you are upgrading from version 0.7.2 or earlier, the first time you
+run 0.8.5 your blockchain files will be re-indexed, which will take
+anywhere from 30 minutes to several hours, depending on the speed of
+your machine.
+
+0.8.5 Release notes
+===================
+
+Bugs fixed
+----------
+
+Transactions with version numbers larger than 0x7fffffff were
+incorrectly being relayed and included in blocks.
+
+Blocks containing transactions with version numbers larger
+than 0x7fffffff caused the code that checks for LevelDB database
+inconsistencies at startup to erroneously report database
+corruption and suggest that you reindex your database.
+
+This release also contains a non-critical fix to the code that
+enforces BIP 34 (block height in the coinbase transaction).
+
+--
+
+Thanks to Gregory Maxwell and Pieter Wuille for quickly
+identifying and fixing the transaction version number bug.
diff --git a/doc/release-notes/release-notes-0.8.6.md b/doc/release-notes/release-notes-0.8.6.md
new file mode 100644
index 0000000000..39a45e0db5
--- /dev/null
+++ b/doc/release-notes/release-notes-0.8.6.md
@@ -0,0 +1,66 @@
+Bitcoin-Qt version 0.8.6 final is now available from:
+
+ http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.6/
+
+This is a maintenance release to fix a critical bug; we urge all users to upgrade.
+
+Please report bugs using the issue tracker at github:
+
+ https://github.com/bitcoin/bitcoin/issues
+
+How to Upgrade
+--------------
+
+If you already downloaded 0.8.6rc1 you do not need to re-download. This release is exactly the same.
+
+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 bitcoind/bitcoin-qt (on Linux).
+
+If you are upgrading from version 0.7.2 or earlier, the first time you
+run 0.8.6 your blockchain files will be re-indexed, which will take
+anywhere from 30 minutes to several hours, depending on the speed of
+your machine.
+
+0.8.6 Release notes
+===================
+
+- Default block size increase for miners.
+ (see https://gist.github.com/gavinandresen/7670433#086-accept-into-block)
+
+- Remove the all-outputs-must-be-greater-than-CENT-to-qualify-as-free rule for relaying
+ (see https://gist.github.com/gavinandresen/7670433#086-relaying)
+
+- Lower maximum size for free transaction creation
+ (see https://gist.github.com/gavinandresen/7670433#086-wallet)
+
+- OSX block chain database corruption fixes
+ - Update leveldb to 1.13
+ - Use fcntl with `F_FULLSYNC` instead of fsync on OSX
+ - Use native Darwin memory barriers
+ - Replace use of mmap in leveldb for improved reliability (only on OSX)
+
+- Fix nodes forwarding transactions with empty vins and getting banned
+
+- Network code performance and robustness improvements
+
+- Additional debug.log logging for diagnosis of network problems, log timestamps by default
+
+- Fix Bitcoin-Qt startup crash when clicking dock icon on OSX
+
+- Fix memory leaks in CKey::SetCompactSignature() and Key::SignCompact()
+
+- Fix rare GUI crash on send
+
+- Various small GUI, documentation and build fixes
+
+Warning
+-------
+
+- There have been frequent reports of users running out of virtual memory on 32-bit systems
+ during the initial sync.
+ Hence it is recommended to use a 64-bit executable if possible.
+ A 64-bit executable for Windows is planned for 0.9.
+
+Note: Gavin Andresen's GPG signing key for SHA256SUMS.asc has been changed from key id 1FC730C1 to sub key 7BF6E212 (see https://github.com/bitcoin/bitcoin.org/pull/279).
diff --git a/doc/release-notes/release-notes-0.9.0.md b/doc/release-notes/release-notes-0.9.0.md
new file mode 100644
index 0000000000..170410ca40
--- /dev/null
+++ b/doc/release-notes/release-notes-0.9.0.md
@@ -0,0 +1,411 @@
+Bitcoin Core version 0.9.0 is now available from:
+
+ https://bitcoin.org/bin/0.9.0/
+
+This is a new major version release, bringing both new features and
+bug fixes.
+
+Please report bugs using the issue tracker at github:
+
+ https://github.com/bitcoin/bitcoin/issues
+
+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), uninstall all
+earlier versions of Bitcoin, then run the installer (on Windows) or just copy
+over /Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
+
+If you are upgrading from version 0.7.2 or earlier, the first time you run
+0.9.0 your blockchain files will be re-indexed, which will take anywhere from
+30 minutes to several hours, depending on the speed of your machine.
+
+On Windows, do not forget to uninstall all earlier versions of the Bitcoin
+client first, especially if you are switching to the 64-bit version.
+
+Windows 64-bit installer
+-------------------------
+
+New in 0.9.0 is the Windows 64-bit version of the client. There have been
+frequent reports of users running out of virtual memory on 32-bit systems
+during the initial sync. Because of this it is recommended to install the
+64-bit version if your system supports it.
+
+NOTE: Release candidate 2 Windows binaries are not code-signed; use PGP
+and the SHA256SUMS.asc file to make sure your binaries are correct.
+In the final 0.9.0 release, Windows setup.exe binaries will be code-signed.
+
+OSX 10.5 / 32-bit no longer supported
+-------------------------------------
+
+0.9.0 drops support for older Macs. The minimum requirements are now:
+* A 64-bit-capable CPU (see http://support.apple.com/kb/ht3696);
+* Mac OS 10.6 or later (see https://support.apple.com/kb/ht1633).
+
+Downgrading warnings
+--------------------
+
+The 'chainstate' for this release is not always compatible with previous
+releases, so if you run 0.9 and then decide to switch back to a
+0.8.x release you might get a blockchain validation error when starting the
+old release (due to 'pruned outputs' being omitted from the index of
+unspent transaction outputs).
+
+Running the old release with the -reindex option will rebuild the chainstate
+data structures and correct the problem.
+
+Also, the first time you run a 0.8.x release on a 0.9 wallet it will rescan
+the blockchain for missing spent coins, which will take a long time (tens
+of minutes on a typical machine).
+
+Rebranding to Bitcoin Core
+---------------------------
+
+To reduce confusion between Bitcoin-the-network and Bitcoin-the-software we
+have renamed the reference client to Bitcoin Core.
+
+
+OP_RETURN and data in the block chain
+-------------------------------------
+On OP_RETURN: There was been some confusion and misunderstanding in
+the community, regarding the OP_RETURN feature in 0.9 and data in the
+blockchain. This change is not an endorsement of storing data in the
+blockchain. The OP_RETURN change creates a provably-prunable output,
+to avoid data storage schemes -- some of which were already deployed --
+that were storing arbitrary data such as images as forever-unspendable
+TX outputs, bloating bitcoin's UTXO database.
+
+Storing arbitrary data in the blockchain is still a bad idea; it is less
+costly and far more efficient to store non-currency data elsewhere.
+
+Autotools build system
+-----------------------
+
+For 0.9.0 we switched to an autotools-based build system instead of individual
+(q)makefiles.
+
+Using the standard "./autogen.sh; ./configure; make" to build Bitcoin-Qt and
+bitcoind makes it easier for experienced open source developers to contribute
+to the project.
+
+Be sure to check doc/build-*.md for your platform before building from source.
+
+Bitcoin-cli
+-------------
+
+Another change in the 0.9 release is moving away from the bitcoind executable
+functioning both as a server and as a RPC client. The RPC client functionality
+("tell the running bitcoin daemon to do THIS") was split into a separate
+executable, 'bitcoin-cli'. The RPC client code will eventually be removed from
+bitcoind, but will be kept for backwards compatibility for a release or two.
+
+`walletpassphrase` RPC
+-----------------------
+
+The behavior of the `walletpassphrase` RPC when the wallet is already unlocked
+has changed between 0.8 and 0.9.
+
+The 0.8 behavior of `walletpassphrase` is to fail when the wallet is already unlocked:
+
+ > walletpassphrase 1000
+ walletunlocktime = now + 1000
+ > walletpassphrase 10
+ Error: Wallet is already unlocked (old unlock time stays)
+
+The new behavior of `walletpassphrase` is to set a new unlock time overriding
+the old one:
+
+ > walletpassphrase 1000
+ walletunlocktime = now + 1000
+ > walletpassphrase 10
+ walletunlocktime = now + 10 (overriding the old unlock time)
+
+Transaction malleability-related fixes
+--------------------------------------
+
+This release contains a few fixes for transaction ID (TXID) malleability
+issues:
+
+- -nospendzeroconfchange command-line option, to avoid spending
+ zero-confirmation change
+- IsStandard() transaction rules tightened to prevent relaying and mining of
+ mutated transactions
+- Additional information in listtransactions/gettransaction output to
+ report wallet transactions that conflict with each other because
+ they spend the same outputs.
+- Bug fixes to the getbalance/listaccounts RPC commands, which would report
+ incorrect balances for double-spent (or mutated) transactions.
+- New option: -zapwallettxes to rebuild the wallet's transaction information
+
+Transaction Fees
+----------------
+
+This release drops the default fee required to relay transactions across the
+network and for miners to consider the transaction in their blocks to
+0.01mBTC per kilobyte.
+
+Note that getting a transaction relayed across the network does NOT guarantee
+that the transaction will be accepted by a miner; by default, miners fill
+their blocks with 50 kilobytes of high-priority transactions, and then with
+700 kilobytes of the highest-fee-per-kilobyte transactions.
+
+The minimum relay/mining fee-per-kilobyte may be changed with the
+minrelaytxfee option. Note that previous releases incorrectly used
+the mintxfee setting to determine which low-priority transactions should
+be considered for inclusion in blocks.
+
+The wallet code still uses a default fee for low-priority transactions of
+0.1mBTC per kilobyte. During periods of heavy transaction volume, even this
+fee may not be enough to get transactions confirmed quickly; the mintxfee
+option may be used to override the default.
+
+0.9.0 Release notes
+=======================
+
+RPC:
+
+- New notion of 'conflicted' transactions, reported as confirmations: -1
+- 'listreceivedbyaddress' now provides tx ids
+- Add raw transaction hex to 'gettransaction' output
+- Updated help and tests for 'getreceivedby(account|address)'
+- In 'getblock', accept 2nd 'verbose' parameter, similar to getrawtransaction,
+ but defaulting to 1 for backward compatibility
+- Add 'verifychain', to verify chain database at runtime
+- Add 'dumpwallet' and 'importwallet' RPCs
+- 'keypoolrefill' gains optional size parameter
+- Add 'getbestblockhash', to return tip of best chain
+- Add 'chainwork' (the total work done by all blocks since the genesis block)
+ to 'getblock' output
+- Make RPC password resistant to timing attacks
+- Clarify help messages and add examples
+- Add 'getrawchangeaddress' call for raw transaction change destinations
+- Reject insanely high fees by default in 'sendrawtransaction'
+- Add RPC call 'decodescript' to decode a hex-encoded transaction script
+- Make 'validateaddress' provide redeemScript
+- Add 'getnetworkhashps' to get the calculated network hashrate
+- New RPC 'ping' command to request ping, new 'pingtime' and 'pingwait' fields
+ in 'getpeerinfo' output
+- Adding new 'addrlocal' field to 'getpeerinfo' output
+- Add verbose boolean to 'getrawmempool'
+- Add rpc command 'getunconfirmedbalance' to obtain total unconfirmed balance
+- Explicitly ensure that wallet is unlocked in `importprivkey`
+- Add check for valid keys in `importprivkey`
+
+Command-line options:
+
+- New option: -nospendzeroconfchange to never spend unconfirmed change outputs
+- New option: -zapwallettxes to rebuild the wallet's transaction information
+- Rename option '-tor' to '-onion' to better reflect what it does
+- Add '-disablewallet' mode to let bitcoind run entirely without wallet (when
+ built with wallet)
+- Update default '-rpcsslciphers' to include TLSv1.2
+- make '-logtimestamps' default on and rework help-message
+- RPC client option: '-rpcwait', to wait for server start
+- Remove '-logtodebugger'
+- Allow `-noserver` with bitcoind
+
+Block-chain handling and storage:
+
+- Update leveldb to 1.15
+- Check for correct genesis (prevent cases where a datadir from the wrong
+ network is accidentally loaded)
+- Allow txindex to be removed and add a reindex dialog
+- Log aborted block database rebuilds
+- Store orphan blocks in serialized form, to save memory
+- Limit the number of orphan blocks in memory to 750
+- Fix non-standard disconnected transactions causing mempool orphans
+- Add a new checkpoint at block 279,000
+
+Wallet:
+
+- Bug fixes and new regression tests to correctly compute
+ the balance of wallets containing double-spent (or mutated) transactions
+- Store key creation time. Calculate whole-wallet birthday.
+- Optimize rescan to skip blocks prior to birthday
+- Let user select wallet file with -wallet=foo.dat
+- Consider generated coins mature at 101 instead of 120 blocks
+- Improve wallet load time
+- Don't count txins for priority to encourage sweeping
+- Don't create empty transactions when reading a corrupted wallet
+- Fix rescan to start from beginning after importprivkey
+- Only create signatures with low S values
+
+Mining:
+
+- Increase default -blockmaxsize/prioritysize to 750K/50K
+- 'getblocktemplate' does not require a key to create a block template
+- Mining code fee policy now matches relay fee policy
+
+Protocol and network:
+
+- Drop the fee required to relay a transaction to 0.01mBTC per kilobyte
+- Send tx relay flag with version
+- New 'reject' P2P message (BIP 0061, see
+ https://gist.github.com/gavinandresen/7079034 for draft)
+- Dump addresses every 15 minutes instead of 10 seconds
+- Relay OP_RETURN data TxOut as standard transaction type
+- Remove CENT-output free transaction rule when relaying
+- Lower maximum size for free transaction creation
+- Send multiple inv messages if mempool.size > MAX_INV_SZ
+- Split MIN_PROTO_VERSION into INIT_PROTO_VERSION and MIN_PEER_PROTO_VERSION
+- Do not treat fFromMe transaction differently when broadcasting
+- Process received messages one at a time without sleeping between messages
+- Improve logging of failed connections
+- Bump protocol version to 70002
+- Add some additional logging to give extra network insight
+- Added new DNS seed from bitcoinstats.com
+
+Validation:
+
+- Log reason for non-standard transaction rejection
+- Prune provably-unspendable outputs, and adapt consistency check for it.
+- Detect any sufficiently long fork and add a warning
+- Call the -alertnotify script when we see a long or invalid fork
+- Fix multi-block reorg transaction resurrection
+- Reject non-canonically-encoded serialization sizes
+- Reject dust amounts during validation
+- Accept nLockTime transactions that finalize in the next block
+
+Build system:
+
+- Switch to autotools-based build system
+- Build without wallet by passing `--disable-wallet` to configure, this
+ removes the BerkeleyDB dependency
+- Upgrade gitian dependencies (libpng, libz, libupnpc, boost, openssl) to more
+ recent versions
+- Windows 64-bit build support
+- Solaris compatibility fixes
+- Check integrity of gitian input source tarballs
+- Enable full GCC Stack-smashing protection for all OSes
+
+GUI:
+
+- Switch to Qt 5.2.0 for Windows build
+- Add payment request (BIP 0070) support
+- Improve options dialog
+- Show transaction fee in new send confirmation dialog
+- Add total balance in overview page
+- Allow user to choose data directory on first start, when data directory is
+ missing, or when the -choosedatadir option is passed
+- Save and restore window positions
+- Add vout index to transaction id in transactions details dialog
+- Add network traffic graph in debug window
+- Add open URI dialog
+- Add Coin Control Features
+- Improve receive coins workflow: make the 'Receive' tab into a form to request
+ payments, and move historical address list functionality to File menu.
+- Rebrand to `Bitcoin Core`
+- Move initialization/shutdown to a thread. This prevents "Not responding"
+ messages during startup. Also show a window during shutdown.
+- Don't regenerate autostart link on every client startup
+- Show and store message of normal bitcoin:URI
+- Fix richtext detection hang issue on very old Qt versions
+- OS X: Make use of the 10.8+ user notification center to display Growl-like
+ notifications
+- OS X: Added NSHighResolutionCapable flag to Info.plist for better font
+ rendering on Retina displays.
+- OS X: Fix bitcoin-qt startup crash when clicking dock icon
+- Linux: Fix Gnome bitcoin: URI handler
+
+Miscellaneous:
+
+- Add Linux script (contrib/qos/tc.sh) to limit outgoing bandwidth
+- Add '-regtest' mode, similar to testnet but private with instant block
+ generation with 'setgenerate' RPC.
+- Add 'linearize.py' script to contrib, for creating bootstrap.dat
+- Add separate bitcoin-cli client
+
+Credits
+--------
+
+Thanks to everyone who contributed to this release:
+
+- Andrey
+- Ashley Holman
+- b6393ce9-d324-4fe1-996b-acf82dbc3d53
+- bitsofproof
+- Brandon Dahler
+- Calvin Tam
+- Christian Decker
+- Christian von Roques
+- Christopher Latham
+- Chuck
+- coblee
+- constantined
+- Cory Fields
+- Cozz Lovan
+- daniel
+- Daniel Larimer
+- David Hill
+- Dmitry Smirnov
+- Drak
+- Eric Lombrozo
+- fanquake
+- fcicq
+- Florin
+- frewil
+- Gavin Andresen
+- Gregory Maxwell
+- gubatron
+- Guillermo Céspedes Tabárez
+- Haakon Nilsen
+- HaltingState
+- Han Lin Yap
+- harry
+- Ian Kelling
+- Jeff Garzik
+- Johnathan Corgan
+- Jonas Schnelli
+- Josh Lehan
+- Josh Triplett
+- Julian Langschaedel
+- Kangmo
+- Lake Denman
+- Luke Dashjr
+- Mark Friedenbach
+- Matt Corallo
+- Michael Bauer
+- Michael Ford
+- Michagogo
+- Midnight Magic
+- Mike Hearn
+- Nils Schneider
+- Noel Tiernan
+- Olivier Langlois
+- patrick s
+- Patrick Strateman
+- paveljanik
+- Peter Todd
+- phantomcircuit
+- phelixbtc
+- Philip Kaufmann
+- Pieter Wuille
+- Rav3nPL
+- R E Broadley
+- regergregregerrge
+- Robert Backhaus
+- Roman Mindalev
+- Rune K. Svendsen
+- Ryan Niebur
+- Scott Ellis
+- Scott Willeke
+- Sergey Kazenyuk
+- Shawn Wilkinson
+- Sined
+- sje
+- Subo1978
+- super3
+- Tamas Blummer
+- theuni
+- Thomas Holenstein
+- Timon Rapp
+- Timothy Stranex
+- Tom Geller
+- Torstein Husebø
+- Vaclav Vobornik
+- vhf / victor felder
+- Vinnie Falco
+- Warren Togami
+- Wil Bown
+- Wladimir J. van der Laan
diff --git a/doc/release-process.md b/doc/release-process.md
index 2c0e2a3677..bf289805ca 100644
--- a/doc/release-process.md
+++ b/doc/release-process.md
@@ -39,48 +39,67 @@ Release Process
Fetch and build inputs: (first time, or when dependency versions change)
mkdir -p inputs; cd inputs/
- wget 'http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.6.tar.gz' -O miniupnpc-1.6.tar.gz
- wget 'https://www.openssl.org/source/openssl-1.0.1c.tar.gz'
+ wget 'http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.9.tar.gz' -O miniupnpc-1.9.tar.gz
+ wget 'https://www.openssl.org/source/openssl-1.0.1g.tar.gz'
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
- wget 'ftp://ftp.simplesystems.org/pub/libpng/png/src/history/zlib/zlib-1.2.6.tar.gz'
- wget 'ftp://ftp.simplesystems.org/pub/libpng/png/src/history/libpng15/libpng-1.5.9.tar.gz'
- wget 'https://fukuchi.org/works/qrencode/qrencode-3.2.0.tar.bz2'
- wget 'https://downloads.sourceforge.net/project/boost/boost/1.54.0/boost_1_54_0.tar.bz2'
+ wget 'http://zlib.net/zlib-1.2.8.tar.gz'
+ wget 'ftp://ftp.simplesystems.org/pub/png/src/history/libpng16/libpng-1.6.8.tar.gz'
+ wget 'https://fukuchi.org/works/qrencode/qrencode-3.4.3.tar.bz2'
+ wget 'https://downloads.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.bz2'
wget 'https://svn.boost.org/trac/boost/raw-attachment/ticket/7262/boost-mingw.patch' -O \
boost-mingw-gas-cross-compile-2013-03-03.patch
- wget 'https://download.qt-project.org/archive/qt/4.8/4.8.3/qt-everywhere-opensource-src-4.8.3.tar.gz'
+ wget 'https://download.qt-project.org/official_releases/qt/5.2/5.2.0/single/qt-everywhere-opensource-src-5.2.0.tar.gz'
wget 'https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.bz2'
cd ..
- ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/boost-win32.yml
- mv build/out/boost-win32-*.zip inputs/
- ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/deps-win32.yml
+ ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/boost-linux.yml
+ mv build/out/boost-*.zip inputs/
+ ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/deps-linux.yml
mv build/out/bitcoin-deps-*.zip inputs/
- ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/qt-win32.yml
- mv build/out/qt-win32-*.zip inputs/
- ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/protobuf-win32.yml
- mv build/out/protobuf-win32-*.zip inputs/
+ ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/boost-win.yml
+ mv build/out/boost-*.zip inputs/
+ ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/deps-win.yml
+ mv build/out/bitcoin-deps-*.zip inputs/
+ ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/qt-win.yml
+ mv build/out/qt-*.zip inputs/
+ ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/protobuf-win.yml
+ mv build/out/protobuf-*.zip inputs/
+
+ The expected SHA256 hashes of the intermediate inputs are:
+
+ 35c3dfd8b9362f59e81b51881b295232e3bc9e286f1add193b59d486d9ac4a5c bitcoin-deps-linux32-gitian-r5.zip
+ 571789867d172500fa96d63d0ba8c5b1e1a3d6f44f720eddf2f93665affc88b3 bitcoin-deps-linux64-gitian-r5.zip
+ f29b7d9577417333fb56e023c2977f5726a7c297f320b175a4108cf7cd4c2d29 boost-linux32-1.55.0-gitian-r1.zip
+ 88232451c4104f7eb16e469ac6474fd1231bd485687253f7b2bdf46c0781d535 boost-linux64-1.55.0-gitian-r1.zip
+ 60dc2d3b61e9c7d5dbe2f90d5955772ad748a47918ff2d8b74e8db9b1b91c909 boost-win32-1.55.0-gitian-r6.zip
+ f65fcaf346bc7b73bc8db3a8614f4f6bee2f61fcbe495e9881133a7c2612a167 boost-win64-1.55.0-gitian-r6.zip
+ 97e62002d338885336bb24e7cbb9471491294bd8857af7a83d18c0961f864ec0 bitcoin-deps-win32-gitian-r11.zip
+ ee3ea2d5aac1a67ea6bfbea2c04068a7c0940616ce48ee4f37c264bb9d4438ef bitcoin-deps-win64-gitian-r11.zip
+ 963e3e5e85879010a91143c90a711a5d1d5aba992e38672cdf7b54e42c56b2f1 qt-win32-5.2.0-gitian-r3.zip
+ 751c579830d173ef3e6f194e83d18b92ebef6df03289db13ab77a52b6bc86ef0 qt-win64-5.2.0-gitian-r3.zip
+ e2e403e1a08869c7eed4d4293bce13d51ec6a63592918b90ae215a0eceb44cb4 protobuf-win32-2.5.0-gitian-r4.zip
+ a0999037e8b0ef9ade13efd88fee261ba401f5ca910068b7e0cd3262ba667db0 protobuf-win64-2.5.0-gitian-r4.zip
Build bitcoind and bitcoin-qt on Linux32, Linux64, and Win32:
- ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian.yml
- ./bin/gsign --signer $SIGNER --release ${VERSION} --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian.yml
+ ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
+ ./bin/gsign --signer $SIGNER --release ${VERSION} --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
pushd build/out
zip -r bitcoin-${VERSION}-linux-gitian.zip *
mv bitcoin-${VERSION}-linux-gitian.zip ../../../
popd
- ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml
- ./bin/gsign --signer $SIGNER --release ${VERSION}-win32 --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml
+ ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
+ ./bin/gsign --signer $SIGNER --release ${VERSION}-win --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
pushd build/out
- zip -r bitcoin-${VERSION}-win32-gitian.zip *
- mv bitcoin-${VERSION}-win32-gitian.zip ../../../
+ zip -r bitcoin-${VERSION}-win-gitian.zip *
+ mv bitcoin-${VERSION}-win-gitian.zip ../../../
popd
popd
Build output expected:
1. linux 32-bit and 64-bit binaries + source (bitcoin-${VERSION}-linux-gitian.zip)
- 2. windows 32-bit binary, installer + source (bitcoin-${VERSION}-win32-gitian.zip)
- 3. Gitian signatures (in gitian.sigs/${VERSION}[-win32]/(your gitian key)/
+ 2. windows 32-bit and 64-bit binaries + installer + source (bitcoin-${VERSION}-win-gitian.zip)
+ 3. Gitian signatures (in gitian.sigs/${VERSION}[-win]/(your gitian key)/
repackage gitian builds for release as stand-alone zip/tar/installer exe
@@ -92,28 +111,30 @@ repackage gitian builds for release as stand-alone zip/tar/installer exe
**Windows .zip and setup.exe:**
- unzip bitcoin-${VERSION}-win32-gitian.zip -d bitcoin-${VERSION}-win32
- mv bitcoin-${VERSION}-win32/bitcoin-*-setup.exe .
- zip -r bitcoin-${VERSION}-win32.zip bitcoin-${VERSION}-win32
- rm -rf bitcoin-${VERSION}-win32
+ unzip bitcoin-${VERSION}-win-gitian.zip -d bitcoin-${VERSION}-win
+ mv bitcoin-${VERSION}-win/bitcoin-*-setup.exe .
+ zip -r bitcoin-${VERSION}-win.zip bitcoin-${VERSION}-win
+ rm -rf bitcoin-${VERSION}-win
**Perform Mac build:**
- OSX binaries are created by Gavin Andresen on a 32-bit, OSX 10.6 machine.
+ OSX binaries are created by Gavin Andresen on a 64-bit, OSX 10.6 machine.
- qmake RELEASE=1 USE_UPNP=1 USE_QRCODE=1 bitcoin-qt.pro
+ ./autogen.sh
+ SDK=$(xcode-select --print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk
+ CXXFLAGS="-mmacosx-version-min=10.6 -isysroot $SDK" ./configure --enable-upnp-default
make
export QTDIR=/opt/local/share/qt4 # needed to find translations/qt_*.qm files
T=$(contrib/qt_translations.py $QTDIR/translations src/qt/locale)
- python2.7 share/qt/clean_mac_info_plist.py
- python2.7 contrib/macdeploy/macdeployqtplus Bitcoin-Qt.app -add-qt-tr $T -dmg -fancy contrib/macdeploy/fancy.plist
+ export CODESIGNARGS='--keychain ...path_to_keychain --sign "Developer ID Application: BITCOIN FOUNDATION, INC., THE"'
+ python2.7 contrib/macdeploy/macdeployqtplus Bitcoin-Qt.app -sign -add-qt-tr $T -dmg -fancy contrib/macdeploy/fancy.plist
Build output expected: Bitcoin-Qt.dmg
###Next steps:
-* Code-sign Windows -setup.exe (in a Windows virtual machine) and
- OSX Bitcoin-Qt.app (Note: only Gavin has the code-signing keys currently)
+* Code-sign Windows -setup.exe (in a Windows virtual machine using signtool)
+ Note: only Gavin has the code-signing keys currently.
* upload builds to SourceForge
@@ -134,7 +155,7 @@ Commit your signature to gitian.sigs:
pushd gitian.sigs
git add ${VERSION}/${SIGNER}
- git add ${VERSION}-win32/${SIGNER}
+ git add ${VERSION}-win/${SIGNER}
git commit -a
git push # Assuming you can push to the gitian.sigs tree
popd
@@ -158,17 +179,17 @@ From a directory containing bitcoin source, gitian.sigs and gitian zips
zip -r bitcoin-${VERSION}-linux-gitian.zip *
cp bitcoin-${VERSION}-linux-gitian.zip ../
popd
- mkdir bitcoin-${VERSION}-win32-gitian
- pushd bitcoin-${VERSION}-win32-gitian
- unzip ../bitcoin-${VERSION}-win32-gitian.zip
+ mkdir bitcoin-${VERSION}-win-gitian
+ pushd bitcoin-${VERSION}-win-gitian
+ unzip ../bitcoin-${VERSION}-win-gitian.zip
mkdir gitian
cp ../bitcoin/contrib/gitian-downloader/*.pgp ./gitian/
- for signer in $(ls ../gitian.sigs/${VERSION}-win32/); do
- cp ../gitian.sigs/${VERSION}-win32/${signer}/bitcoin-build.assert ./gitian/${signer}-build.assert
- cp ../gitian.sigs/${VERSION}-win32/${signer}/bitcoin-build.assert.sig ./gitian/${signer}-build.assert.sig
+ for signer in $(ls ../gitian.sigs/${VERSION}-win/); do
+ cp ../gitian.sigs/${VERSION}-win/${signer}/bitcoin-build.assert ./gitian/${signer}-build.assert
+ cp ../gitian.sigs/${VERSION}-win/${signer}/bitcoin-build.assert.sig ./gitian/${signer}-build.assert.sig
done
- zip -r bitcoin-${VERSION}-win32-gitian.zip *
- cp bitcoin-${VERSION}-win32-gitian.zip ../
+ zip -r bitcoin-${VERSION}-win-gitian.zip *
+ cp bitcoin-${VERSION}-win-gitian.zip ../
popd
- Upload gitian zips to SourceForge
diff --git a/doc/tor.md b/doc/tor.md
index 41dd71209f..b5eb91e12e 100644
--- a/doc/tor.md
+++ b/doc/tor.md
@@ -11,7 +11,7 @@ configure Tor.
---------------------------------
The first step is running Bitcoin behind a Tor proxy. This will already make all
-outgoing connections be anonimized, but more is possible.
+outgoing connections be anonymized, but more is possible.
-socks=5 SOCKS5 supports connecting-to-hostname, which can be used instead
of doing a (leaking) local DNS lookup. SOCKS5 is the default,
diff --git a/doc/translation_process.md b/doc/translation_process.md
index 006726b953..4b7b19f82f 100644
--- a/doc/translation_process.md
+++ b/doc/translation_process.md
@@ -70,7 +70,7 @@ We are using https://transifex.com as a frontend for translating the client.
https://www.transifex.com/projects/p/bitcoin/resource/tx/
-The "Transifex client" (see: http://help.transifex.com/features/client/)
+The "Transifex client" (see: http://support.transifex.com/customer/portal/topics/440187-transifex-client/articles)
will help with fetching new translations from Transifex. Use the following
config to be able to connect with the client:
@@ -100,5 +100,7 @@ It is also possible to directly download new translations one by one from the Tr
1. `tx pull -a`
2. update `src/qt/bitcoin.qrc` manually or via
- `ls src/qt/locale/*ts|xargs -n1 basename|sed 's/\(bitcoin_\(.*\)\).ts/<file alias="\2">locale/\1.qm<\/file>/'`
-3. `git add` new translations from `src/qt/locale/`
+ `ls src/qt/locale/*ts|xargs -n1 basename|sed 's/\(bitcoin_\(.*\)\).ts/<file alias="\2">locale\/\1.qm<\/file>/'`
+3. update `src/qt/Makefile.am` manually or via
+ `ls src/qt/locale/*ts|xargs -n1 basename|sed 's/\(bitcoin_\(.*\)\).ts/ locale\/\1.ts \\/'`
+4. `git add` new translations from `src/qt/locale/`