diff --git a/doc/release-process.md b/doc/release-process.md
index b568573c8c80a..d7644093a64a5 100644
--- a/doc/release-process.md
+++ b/doc/release-process.md
@@ -1,25 +1,23 @@
-TODO : Release Process
+DMS Release Process
====================
-* Update translations, see [translation_process.md](https://github.com/Krekeler/documentchain/blob/master/doc/translation_process.md#synchronising-translations).
+* (Update translations, see [translation_process.md](https://github.com/Krekeler/documentchain/blob/master/doc/translation_process.md#synchronising-translations).)
-* Update manpages, see [gen-manpages.sh](https://github.com/Krekeler/documentchain/blob/master/contrib/devtools/README.md#gen-manpagessh).
+* (Update manpages, see [gen-manpages.sh](https://github.com/Krekeler/documentchain/blob/master/contrib/devtools/README.md#gen-manpagessh).)
Before every minor and major release:
-* Update [bips.md](bips.md) to account for changes since the last release.
+* (Update [bips.md](bips.md) to account for changes since the last release.)
* Update version in sources (see below)
* Write release notes (see below)
-* Update `src/chainparams.cpp` nMinimumChainWork with information from the getblockchaininfo rpc.
-* Update `src/chainparams.cpp` defaultAssumeValid with information from the getblockhash rpc.
- - The selected value must not be orphaned so it may be useful to set the value two blocks back from the tip.
- - Testnet should be set some tens of thousands back from the tip due to reorgs there.
- - This update should be reviewed with a reindex-chainstate with assumevalid=0 to catch any defect
- that causes rejection of blocks in the past history.
-
-Before every major release:
-
-* Update hardcoded [seeds](/contrib/seeds/README.md). TODO: Give example PR for Dash
+* Update `src/chainparams.cpp`
+ - nMinimumChainWork with information from the getblockchaininfo rpc.
+ - Add checkpointData
+ - Set defaultAssumeValid to latest checkpoint (with information from the getblockhash rpc).
+ The selected value must not be orphaned so it may be useful to set the value two blocks back from the tip.
+ Testnet should be set some tens of thousands back from the tip due to reorgs there.
+ This update should be reviewed with a reindex-chainstate with assumevalid=0 to catch any defect that causes rejection of blocks in the past history.
+* Update hardcoded [seeds](/contrib/seeds/README.md) with stable Masternodes.
* Update [`BLOCK_CHAIN_SIZE`](/src/qt/intro.cpp) to the current size plus some overhead.
### First time / New builders
@@ -34,21 +32,25 @@ Check out the source code in the following directory hierarchy.
git clone https://github.com/devrandom/gitian-builder.git
git clone https://github.com/Krekeler/documentchain.git
-### DMS Core maintainers/release engineers, update (commit) version in sources
+### Update version in sources and write release notes
+
+Client version
- `configure.ac`:
- `_CLIENT_VERSION_MAJOR`
- `_CLIENT_VERSION_MINOR`
- `_CLIENT_VERSION_REVISION`
- - Don't forget to set `_CLIENT_VERSION_IS_RELEASE` to `true`
+ - Set `_CLIENT_VERSION_IS_RELEASE` to `true`
- `src/clientversion.h`: (this mirrors `configure.ac` - see issue #3539)
- `CLIENT_VERSION_MAJOR`
- `CLIENT_VERSION_MINOR`
- `CLIENT_VERSION_REVISION`
- - Don't forget to set `CLIENT_VERSION_IS_RELEASE` to `true`
+ - Set `CLIENT_VERSION_IS_RELEASE` to `true`
+ - `COPYRIGHT_YEAR`
+ - `RELEASE_CODE_NAME` **A**lice, **B**ob, **C**arol etc.
- `doc/README.md` and `doc/README_windows.txt`
- `doc/Doxyfile`: `PROJECT_NUMBER` contains the full version
-- `contrib/gitian-descriptors/*.yml`: usually one'd want to do this on master after branching off the release - but be sure to at least do it before a new major release
+- `contrib/gitian-descriptors/*.yml`: documentchain-win-0.12
Write release notes. git shortlog helps a lot, for example:
diff --git a/src/clientversion.h b/src/clientversion.h
index aa2e25d19b543..f062c83600c65 100644
--- a/src/clientversion.h
+++ b/src/clientversion.h
@@ -32,6 +32,9 @@
#endif //HAVE_CONFIG_H
+// Release code names: Alice 0.12.9, Bob 0.12.10, Carol 0.12.11
+#define RELEASE_CODE_NAME "Carol"
+
/**
* Converts the parameter X to a string after macro replacement on X has been performed.
* Don't merge these into one macro!
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index af461f0ec3486..5aabea894fad8 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -13,6 +13,7 @@
#include "bitcoinunits.h"
#include "clientmodel.h"
+#include "clientversion.h"
#include "guiconstants.h"
#include "guiutil.h"
#include "modaloverlay.h"
@@ -146,6 +147,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *_platformStyle, const NetworkStyle *
} else {
windowTitle += tr("Node");
}
+ windowTitle += " \"" RELEASE_CODE_NAME "\"";
QString userWindowTitle = QString::fromStdString(GetArg("-windowtitle", ""));
if(!userWindowTitle.isEmpty()) windowTitle += " - " + userWindowTitle;
windowTitle += " " + networkStyle->getTitleAddText();
diff --git a/src/qt/splashscreen.cpp b/src/qt/splashscreen.cpp
index d6a4744432b82..797f5efbb3e36 100644
--- a/src/qt/splashscreen.cpp
+++ b/src/qt/splashscreen.cpp
@@ -49,7 +49,7 @@ SplashScreen::SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle)
// define text to place
QString titleText = tr(PACKAGE_NAME);
- QString versionText = QString(tr("Version %1")).arg(QString::fromStdString(FormatFullVersion()));
+ QString versionText = QString(tr("Version %1")).arg(QString::fromStdString(FormatFullVersion()) + " \"" + RELEASE_CODE_NAME + "\"");
QString copyrightText = QString::fromUtf8(CopyrightHolders("\xc2\xA9", 2014, COPYRIGHT_YEAR).c_str());
QString titleAddText = networkStyle->getTitleAddText();
// networkstyle.cpp can't (yet) read themes, so we do it here to get the correct Splash-screen
diff --git a/src/qt/utilitydialog.cpp b/src/qt/utilitydialog.cpp
index 76772403d90d8..3b5f23aba9a20 100644
--- a/src/qt/utilitydialog.cpp
+++ b/src/qt/utilitydialog.cpp
@@ -52,7 +52,7 @@ HelpMessageDialog::HelpMessageDialog(QWidget *parent, HelpMode helpMode) :
if (helpMode == about)
{
- setWindowTitle(tr("About %1").arg(tr(PACKAGE_NAME)));
+ setWindowTitle(tr("About %1").arg(tr(PACKAGE_NAME)) + " \"" + RELEASE_CODE_NAME + "\"");
/// HTML-format the license message from the core
QString licenseInfo = QString::fromStdString(LicenseInfo());
@@ -68,7 +68,7 @@ HelpMessageDialog::HelpMessageDialog(QWidget *parent, HelpMode helpMode) :
ui->aboutMessage->setTextFormat(Qt::RichText);
ui->scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
text = version + "\n" + licenseInfo;
- ui->aboutMessage->setText(version + "
" + licenseInfoHTML);
+ ui->aboutMessage->setText(version + ", code name \"" + RELEASE_CODE_NAME + "\"
" + licenseInfoHTML);
ui->aboutMessage->setWordWrap(true);
ui->helpMessage->setVisible(false);
} else if (helpMode == cmdline) {