From f4d88aec2061b3f092d146ebd6d64259a5ccd04c Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Fri, 9 Apr 2021 17:32:49 +1200 Subject: [PATCH 1/3] make-release.py: Versioning changes for 4.4.0-rc1. --- README.md | 2 +- configure.ac | 4 ++-- contrib/gitian-descriptors/gitian-linux.yml | 2 +- src/clientversion.h | 4 ++-- src/deprecation.h | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 2440da094..2d56aa932 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Zcash 4.3.0 +Zcash 4.4.0-rc1 =========== diff --git a/configure.ac b/configure.ac index fec56f337..b6f3285ac 100644 --- a/configure.ac +++ b/configure.ac @@ -1,9 +1,9 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N) AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 4) -define(_CLIENT_VERSION_MINOR, 3) +define(_CLIENT_VERSION_MINOR, 4) define(_CLIENT_VERSION_REVISION, 0) -define(_CLIENT_VERSION_BUILD, 50) +define(_CLIENT_VERSION_BUILD, 25) define(_ZC_BUILD_VAL, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, m4_incr(_CLIENT_VERSION_BUILD), m4_eval(_CLIENT_VERSION_BUILD < 50), 1, m4_eval(_CLIENT_VERSION_BUILD - 24), m4_eval(_CLIENT_VERSION_BUILD == 50), 1, , m4_eval(_CLIENT_VERSION_BUILD - 50))) define(_CLIENT_VERSION_SUFFIX, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, _CLIENT_VERSION_REVISION-beta$1, m4_eval(_CLIENT_VERSION_BUILD < 50), 1, _CLIENT_VERSION_REVISION-rc$1, m4_eval(_CLIENT_VERSION_BUILD == 50), 1, _CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION-$1))) define(_CLIENT_VERSION_IS_RELEASE, true) diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml index fc8a47071..503a73051 100644 --- a/contrib/gitian-descriptors/gitian-linux.yml +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -1,5 +1,5 @@ --- -name: "zcash-4.3.0" +name: "zcash-4.4.0-rc1" enable_cache: true distro: "debian" suites: diff --git a/src/clientversion.h b/src/clientversion.h index 98588fb22..c4f612bbf 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -16,9 +16,9 @@ //! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 4 -#define CLIENT_VERSION_MINOR 3 +#define CLIENT_VERSION_MINOR 4 #define CLIENT_VERSION_REVISION 0 -#define CLIENT_VERSION_BUILD 50 +#define CLIENT_VERSION_BUILD 25 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true diff --git a/src/deprecation.h b/src/deprecation.h index 30b64e00e..34926d494 100644 --- a/src/deprecation.h +++ b/src/deprecation.h @@ -10,7 +10,7 @@ // Per https://zips.z.cash/zip-0200 // Shut down nodes running this version of code, 16 weeks' worth of blocks after the estimated // release block height. A warning is shown during the 14 days' worth of blocks prior to shut down. -static const int APPROX_RELEASE_HEIGHT = 1159500; +static const int APPROX_RELEASE_HEIGHT = 1209500; static const int RELEASE_TO_DEPRECATION_WEEKS = 16; static const int EXPECTED_BLOCKS_PER_HOUR = 3600 / Consensus::POST_BLOSSOM_POW_TARGET_SPACING; static_assert(EXPECTED_BLOCKS_PER_HOUR == 48, "The value of Consensus::POST_BLOSSOM_POW_TARGET_SPACING was chosen such that this assertion holds."); From 253da68a2df14599b723d7bb0bd64180b993b23e Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Fri, 9 Apr 2021 17:40:36 +1200 Subject: [PATCH 2/3] make-release.py: Updated manpages for 4.4.0-rc1. --- doc/man/zcash-cli.1 | 8 ++++---- doc/man/zcash-tx.1 | 8 ++++---- doc/man/zcashd.1 | 39 +++++++++++++++++++++++++++++++++++---- 3 files changed, 43 insertions(+), 12 deletions(-) diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1 index 74f17bea3..9a97d9e4c 100644 --- a/doc/man/zcash-cli.1 +++ b/doc/man/zcash-cli.1 @@ -1,9 +1,9 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13. -.TH ZCASH-CLI "1" "February 2021" "zcash-cli v4.3.0" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. +.TH ZCASH-CLI "1" "April 2021" "zcash-cli v4.4.0-rc1" "User Commands" .SH NAME -zcash-cli \- manual page for zcash-cli v4.3.0 +zcash-cli \- manual page for zcash-cli v4.4.0-rc1 .SH DESCRIPTION -Zcash RPC client version v4.3.0 +Zcash RPC client version v4.4.0\-rc1 .PP In order to ensure you are adequately protecting your privacy when using Zcash, please see . diff --git a/doc/man/zcash-tx.1 b/doc/man/zcash-tx.1 index 52ff1f195..e1785f96a 100644 --- a/doc/man/zcash-tx.1 +++ b/doc/man/zcash-tx.1 @@ -1,9 +1,9 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13. -.TH ZCASH-TX "1" "February 2021" "zcash-tx v4.3.0" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. +.TH ZCASH-TX "1" "April 2021" "zcash-tx v4.4.0-rc1" "User Commands" .SH NAME -zcash-tx \- manual page for zcash-tx v4.3.0 +zcash-tx \- manual page for zcash-tx v4.4.0-rc1 .SH DESCRIPTION -Zcash zcash\-tx utility version v4.3.0 +Zcash zcash\-tx utility version v4.4.0\-rc1 .SS "Usage:" .TP zcash\-tx [options] [commands] diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1 index 4da80d028..18c99299c 100644 --- a/doc/man/zcashd.1 +++ b/doc/man/zcashd.1 @@ -1,9 +1,9 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13. -.TH ZCASHD "1" "February 2021" "zcashd v4.3.0" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. +.TH ZCASHD "1" "April 2021" "zcashd v4.4.0-rc1" "User Commands" .SH NAME -zcashd \- manual page for zcashd v4.3.0 +zcashd \- manual page for zcashd v4.4.0-rc1 .SH DESCRIPTION -Zcash Daemon version v4.3.0 +Zcash Daemon version v4.4.0\-rc1 .PP In order to ensure you are adequately protecting your privacy when using Zcash, please see . @@ -256,6 +256,16 @@ specified multiple times. Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway .HP +\fB\-whitelistrelay\fR +.IP +Accept relayed transactions received from whitelisted inbound peers even +when not relaying transactions (default: 1) +.HP +\fB\-whitelistforcerelay\fR +.IP +Force relay of transactions from whitelisted inbound peers even they +violate local relay policy (default: 1) +.HP \fB\-maxuploadtarget=\fR .IP Tries to keep outbound traffic under the given target (in MiB per 24h), @@ -357,6 +367,27 @@ Enable publish raw block in
.IP Enable publish raw transaction in
.PP +Monitoring options: +.HP +\fB\-metricsallowip=\fR +.IP +Allow metrics connections from specified source. Valid for are a +single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) +or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified +multiple times. (default: only localhost) +.HP +\fB\-metricsbind=\fR +.IP +Bind to given address to listen for metrics connections. (default: bind +to all interfaces) +.HP +\fB\-prometheusport=\fR +.IP +Expose node metrics in the Prometheus exposition format. An HTTP +listener will be started on , which responds to GET requests on +any request path. Use \fB\-metricsallowip\fR and \fB\-metricsbind\fR to control +access. +.PP Debugging/Testing options: .HP \fB\-debug=\fR From 30f68da525919ebc1a207d00bae1acce7dc8e581 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Fri, 9 Apr 2021 17:40:36 +1200 Subject: [PATCH 3/3] make-release.py: Updated release notes and changelog for 4.4.0-rc1. --- contrib/debian/changelog | 6 + doc/release-notes/release-notes-4.4.0-rc1.md | 187 +++++++++++++++++++ 2 files changed, 193 insertions(+) create mode 100644 doc/release-notes/release-notes-4.4.0-rc1.md diff --git a/contrib/debian/changelog b/contrib/debian/changelog index 63c24fc20..3e9e4cf3b 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -1,3 +1,9 @@ +zcash (4.4.0~rc1) stable; urgency=medium + + * 4.4.0-rc1 release. + + -- Electric Coin Company Fri, 09 Apr 2021 17:40:36 +1200 + zcash (4.3.0) stable; urgency=medium * 4.3.0 release. diff --git a/doc/release-notes/release-notes-4.4.0-rc1.md b/doc/release-notes/release-notes-4.4.0-rc1.md new file mode 100644 index 000000000..6a84fc879 --- /dev/null +++ b/doc/release-notes/release-notes-4.4.0-rc1.md @@ -0,0 +1,187 @@ +Notable changes +=============== + +Prometheus metrics +------------------ + +`zcashd` can now be configured to optionally expose an HTTP server that acts as +a Prometheus scrape endpoint. The server will respond to `GET` requests on any +request path. + +To enable the endpoint, add `-prometheusport=` to your `zcashd` +configuration (either in `zcash.conf` or on the command line). After +restarting `zcashd` you can then test the endpoint by querying it with e.g. +`curl http://127.0.0.1:`. + +By default, access is restricted to localhost. This can be expanded with +`-metricsallowip=`, which can specify IPs or subnets. Note that HTTPS is not +supported, and therefore connections to the endpoint are not encrypted or +authenticated. Access to the endpoint should be assumed to compromise the +privacy of node operations, by the provided metrics and/or by timing side +channels. Non-localhost access is **strongly discouraged** if the node has a +wallet holding live funds. + +The specific metrics names may change in subsequent releases, in particular to +improve interoperability with `zebrad`. + +Changelog +========= + +Cory Fields (3): + net: rearrange so that socket accesses can be grouped together + net: add a lock around hSocket + net: fix a few races. Credit @TheBlueMatt + +Daira Hopwood (6): + Fix regression introduced in e286250ce49309bfa931b622fabfc37100246266 by adding #include . fixes #5014 + native_rust: don't install Rust docs. This speeds up builds, especially native builds on macOS. fixes #5042 + Delete spare mainnet Founders' Reward addresses that will never be used. + configure.ac: Add check for ntdll on Windows. + configure.ac: tidy up spacing. + Cleanup: get the definition of ENABLE_VIRTUAL_TERMINAL_PROCESSING from wincon.h. + +Gregory Maxwell (5): + Replace setInventoryKnown with a rolling bloom filter. + Remove mruset as it is no longer used. + Actually only use filterInventoryKnown with MSG_TX inventory messages. + Add whitelistforcerelay to control forced relaying. + Blacklist -whitelistalwaysrelay; replaced by -whitelistrelay. + +Jack Grigg (39): + Squashed 'src/secp256k1/' changes from c6b6b8f1bb..3967d96bf1 + Squashed 'src/secp256k1/' changes from 3967d96bf1..a4abaab793 + CI: Correctly build zcashd book + cargo update + rust: zcash_{primitives, proofs} 0.5.0 + depends: Update Rust to 1.51.0 + qa: Update BerkeleyDB downloads page URL + rust: Implement FFI interface to metrics crate + rust: Add a Prometheus metrics exporter + Add some metrics that match existing zebrad metrics + metrics: Add documentation and example configs + tracing: Merge TracingSpanFields macro into TracingSpan + rust: Move helper macros into rust/helpers.h + metrics: Add support for labels + metrics: Expose binary metadata + Add more detailed metrics + rust: Use consistent include guards in header files + rust: Check for invalid UTF-8 in -prometheusmetrics argument + Add -prometheusmetrics to release notes + Mention in release notes that metrics names may still change + metrics: Implement IP access control on Prometheus scrape endpoint + rust: Pin hyper 0.14.2 + metrics: Move documentation into zcashd book + metrics: Enable gauges with fully-static labels + metrics: Use labels for pool statistics + metrics: Rename metrics with consistent naming scheme + metrics: Remove zcash.sync.* metrics + metrics: Rework pool metrics in anticipation of transparent pool + net: Clear CNode::strSendCommand if a message is aborted + rust: Add license header to metrics_ffi::prometheus + book: Fix typo in metrics documentation + metrics: Don't assert that the Sprout tree is accessible + Remove usage of local from fetch-params.sh + lint: Fix false positive + qa: Point univalue update checker at correct upstream + qa: Postpone updates that require CMake in the build system + qa: Postpone Boost 1.75.0 + make-release.py: Versioning changes for 4.4.0-rc1. + make-release.py: Updated manpages for 4.4.0-rc1. + +Jeremy Rubin (2): + Fix CCheckQueue IsIdle (potential) race condition and remove dangerous constructors. + Add CheckQueue Tests + +Jonas Schnelli (1): + Move -blocksonly parameter interaction to the new ParameterInteraction() function + +Kaz Wesley (2): + lock cs_main for State/Misbehaving + lock cs_main for chainActive + +Kris Nuttycombe (14): + Ignore temporary build artifacts. + Add feature flagging infrastructure to consensus parameters. + Relocate contextual Sapling version checks + Add TxVersionInfo for feature/future-base transaction construction. + Move sapling version group checks back inside of saplingActive check. + Add future version group & version checks + Use SPROUT_MAX_CURRENT_VERSION + Apply suggestions from code review + Add feature flagging tests. + Document FeatureSet type. + Document UPGRADE_ZFUTURE + Ensure that Sapling version range checks are always guarded by SAPLING_VERSION_GROUP_ID + Address review comments. + CurrentTxVersionInfo should return SPROUT_MIN_CURRENT_VERSION pre-overwinter. + +Marco Falke (2): + Move blocksonly parameter interaction to InitParameterInteraction() + doc: Mention blocksonly in reduce-traffic.md, unhide option + +Matt Corallo (13): + Fix race when accessing std::locale::classic() + Lock mapArgs/mapMultiArgs access in util + Ensure cs_vNodes is held when using the return value from FindNode + Access WorkQueue::running only within the cs lock. + Make nTimeConnected const in CNode + Avoid copying CNodeStats to make helgrind OK with buggy std::string + Access fRelayTxes with cs_filter lock in copyStats + Make nStartingHeight atomic + Make nServices atomic + Move [clean|str]SubVer writes/copyStats into a lock + Make nTimeBestReceived atomic + Move CNode::addrName accesses behind locked accessors + Move CNode::addrLocal access behind locked accessors + +Patick Strateman (13): + Add blocksonly mode + Do not process tx inv's in blocksonly mode + Add whitelistalwaysrelay option + Add help text for blocksonly and whitelistalwaysrelay + Use DEFAULT_BLOCKSONLY and DEFAULT_WHITELISTALWAYSRELAY constants + Display DEFAULT_WHITELISTALWAYSRELAY in help text + Fix fRelayTxs comment + Fix comment for blocksonly parameter interactions + Fix relay mechanism for whitelisted peers under blocks only mode. + Bail early in processing transactions in blocks only mode. + Improve log messages for blocks only violations. + Rename setInventoryKnown filterInventoryKnown + Only use filterInventoryKnown with MSG_TX inventory messages. + +Patrick Strateman (1): + Make nWalletDBUpdated atomic to avoid a potential race. + +Pavel Janík (2): + Notify other serviceQueue thread we are finished to prevent deadlocks. + Do not shadow LOCK's criticalblock variable for LOCK inside LOCK + +Peter Todd (1): + Add relaytxes status to getpeerinfo + +Pieter Wuille (2): + Clean up lockorder data of destroyed mutexes + Fix some locks + +Russell Yanofsky (1): + Add missing cs_wallet lock that triggers new lock held assertion + +Sjors Provoost (1): + [doc] mention whitelist is inbound, and applies to blocksonly + +Steven Smith (1): + Adding base NU5 declarations and logic + +Yuri Zhykin (1): + Fix for incorrect locking in GetPubKey() (keystore.cpp) + +glowang (1): + Update -blocksonly documentation + +plutoforever (1): + removed bashisms from build scripts + +Jack Grigg (2): + Add security warnings for -prometheusmetrics option + Clean up comment +