The tree stamped 1.2.0 in both configure.ac and src/clientversion.h, but
v1.2.0 is an annotated tag already pushed at fad05d3ab and dev is 27
commits past it. Both trees therefore produced CLIENT_VERSION 1020050 and
announced an identical /DragonX:1.2.0/ subversion, so a released binary
would have been indistinguishable from the tag on the wire, in
getnetworkinfo, and to the wallet's in-app updater -- destroying the only
provenance check users have: build the tag, compare the binary.
Bump MINOR rather than REVISION: the delta since v1.2.0 adds a subsystem
(RandomX stratum) and a new RPC (stratummine).
configure.ac, src/clientversion.h 1.2.0 -> 1.3.0 (CLIENT_VERSION 1030050)
doc/man/*.1 version strings restamped
contrib/debian/changelog 1.3.0 entry for the 27 commits
src/chain.h stale "CLIENT_VERSION is 1010050" comment
Man page *content* still needs a real regeneration: util/gen-manpages.sh
requires help2man and built 1.3.0 binaries, so it belongs in the release
build, where it will also pick up the new stratum options.
doc/release-process.md is why v1.1.0 and v1.2.0 were tagged but never
became releases. Followed verbatim it produced a release the wallet
refuses to install:
- it directed releases to a branch named `dragonx`, which does not
exist; releases are cut on `master`
- it never once mentioned signing, yet the updater pins an ed25519 key
and sets kDaemonRequireSignature = true, so an unsigned release is
refused outright and every user silently stays on their old daemon
- it did not require the release tag to be annotated, and genbuild.sh
calls `git describe` without --tags, so a lightweight tag stamps the
build `v<older-tag>-<sha>` instead of the release version -- which is
exactly what happened to v1.0.0 through v1.0.3
- it referenced util/build-debian-package-ARM.sh, which is not in tree
Adds the signing and checksum-table steps, the annotated-tag requirement
with a `git describe` verification, and the rule that a new version must
exceed every existing tag including unpublished ones.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FU87LdsJZiZkfq1eXubpeo
85 lines
3.3 KiB
C++
85 lines
3.3 KiB
C++
// Copyright (c) 2009-2014 The Bitcoin Core developers
|
|
// Copyright (c) 2016-2017 The Zcash developers
|
|
// Copyright (c) 2016-2026 The Hush developers
|
|
// Distributed under the GPLv3 software license, see the accompanying
|
|
// file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html
|
|
// What happened to the SuperNET developers, who cared about privacy?
|
|
/******************************************************************************
|
|
* Copyright © 2014-2019 The SuperNET Developers. *
|
|
* *
|
|
* See the AUTHORS, DEVELOPER-AGREEMENT and LICENSE files at *
|
|
* the top-level directory of this distribution for the individual copyright *
|
|
* holder information and the developer policies on copyright and licensing. *
|
|
* *
|
|
* Unless otherwise agreed in a custom licensing agreement, no part of the *
|
|
* SuperNET software, including this file may be copied, modified, propagated *
|
|
* or distributed except according to the terms contained in the LICENSE file *
|
|
* *
|
|
* Removal or modification of this copyright notice is prohibited. *
|
|
* *
|
|
******************************************************************************/
|
|
#ifndef HUSH_CLIENTVERSION_H
|
|
#define HUSH_CLIENTVERSION_H
|
|
|
|
#if defined(HAVE_CONFIG_H)
|
|
#include "config/bitcoin-config.h"
|
|
#else
|
|
|
|
// client versioning and copyright year
|
|
//! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it
|
|
// Must be kept in sync with configure.ac , ugh!
|
|
#define CLIENT_VERSION_MAJOR 1
|
|
#define CLIENT_VERSION_MINOR 3
|
|
#define CLIENT_VERSION_REVISION 0
|
|
#define CLIENT_VERSION_BUILD 50
|
|
|
|
//! Set to true for release, false for prerelease or test build
|
|
#define CLIENT_VERSION_IS_RELEASE true
|
|
|
|
/**
|
|
* Copyright year (2009-this)
|
|
* Todo: update this when changing our copyright comments in the source
|
|
*/
|
|
#define COPYRIGHT_YEAR 2026
|
|
|
|
#endif //HAVE_CONFIG_H
|
|
|
|
/**
|
|
* Converts the parameter X to a string after macro replacement on X has been performed.
|
|
* Don't merge these into one macro!
|
|
*/
|
|
#define STRINGIZE(X) DO_STRINGIZE(X)
|
|
#define DO_STRINGIZE(X) #X
|
|
|
|
//! Copyright string used in Windows .rc files
|
|
#define COPYRIGHT_STR "2009-" STRINGIZE(COPYRIGHT_YEAR) " The Bitcoin Core, Zcash, Komodo, Hush Developers"
|
|
|
|
/**
|
|
* bitcoind-res.rc includes this file, but it cannot cope with real c++ code.
|
|
* WINDRES_PREPROC is defined to indicate that its pre-processor is running.
|
|
* Anything other than a define should be guarded below.
|
|
*/
|
|
|
|
#if !defined(WINDRES_PREPROC)
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
static const int CLIENT_VERSION =
|
|
1000000 * CLIENT_VERSION_MAJOR
|
|
+ 10000 * CLIENT_VERSION_MINOR
|
|
+ 100 * CLIENT_VERSION_REVISION
|
|
+ 1 * CLIENT_VERSION_BUILD;
|
|
|
|
extern const std::string CLIENT_NAME;
|
|
extern const std::string CLIENT_BUILD;
|
|
|
|
|
|
std::string FormatVersion(int nVersion);
|
|
std::string FormatFullVersion();
|
|
std::string FormatSubVersion(const std::string& name, int nClientVersion, const std::vector<std::string>& comments);
|
|
|
|
#endif // WINDRES_PREPROC
|
|
|
|
#endif // HUSH_CLIENTVERSION_H
|