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) {