From c54fdeed3542d1bbc6a51e1598d5801614e368b3 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Thu, 15 Apr 2021 16:42:53 +1200 Subject: [PATCH 1/3] make-release.py: Versioning changes for 4.4.0. --- README.md | 2 +- configure.ac | 2 +- contrib/gitian-descriptors/gitian-linux.yml | 2 +- src/clientversion.h | 2 +- src/deprecation.h | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 2d56aa932..f8be1b3b4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Zcash 4.4.0-rc1 +Zcash 4.4.0 =========== diff --git a/configure.ac b/configure.ac index b6f3285ac..4151a2965 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 4) define(_CLIENT_VERSION_MINOR, 4) define(_CLIENT_VERSION_REVISION, 0) -define(_CLIENT_VERSION_BUILD, 25) +define(_CLIENT_VERSION_BUILD, 50) 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 503a73051..33e0ecefa 100644 --- a/contrib/gitian-descriptors/gitian-linux.yml +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -1,5 +1,5 @@ --- -name: "zcash-4.4.0-rc1" +name: "zcash-4.4.0" enable_cache: true distro: "debian" suites: diff --git a/src/clientversion.h b/src/clientversion.h index c4f612bbf..7eaf54cee 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -18,7 +18,7 @@ #define CLIENT_VERSION_MAJOR 4 #define CLIENT_VERSION_MINOR 4 #define CLIENT_VERSION_REVISION 0 -#define CLIENT_VERSION_BUILD 25 +#define CLIENT_VERSION_BUILD 50 //! 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 34926d494..59254b4f9 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 = 1209500; +static const int APPROX_RELEASE_HEIGHT = 1216000; 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 a32841d999d5571178c93f93875cbde49aa1e349 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Thu, 15 Apr 2021 16:55:39 +1200 Subject: [PATCH 2/3] make-release.py: Updated manpages for 4.4.0. --- doc/man/zcash-cli.1 | 6 +++--- doc/man/zcash-tx.1 | 6 +++--- doc/man/zcashd.1 | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1 index 9a97d9e4c..912c8fc77 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.6. -.TH ZCASH-CLI "1" "April 2021" "zcash-cli v4.4.0-rc1" "User Commands" +.TH ZCASH-CLI "1" "April 2021" "zcash-cli v4.4.0" "User Commands" .SH NAME -zcash-cli \- manual page for zcash-cli v4.4.0-rc1 +zcash-cli \- manual page for zcash-cli v4.4.0 .SH DESCRIPTION -Zcash RPC client version v4.4.0\-rc1 +Zcash RPC client version v4.4.0 .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 e1785f96a..0bb4bcc16 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.6. -.TH ZCASH-TX "1" "April 2021" "zcash-tx v4.4.0-rc1" "User Commands" +.TH ZCASH-TX "1" "April 2021" "zcash-tx v4.4.0" "User Commands" .SH NAME -zcash-tx \- manual page for zcash-tx v4.4.0-rc1 +zcash-tx \- manual page for zcash-tx v4.4.0 .SH DESCRIPTION -Zcash zcash\-tx utility version v4.4.0\-rc1 +Zcash zcash\-tx utility version v4.4.0 .SS "Usage:" .TP zcash\-tx [options] [commands] diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1 index 18c99299c..82c3f2be0 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.6. -.TH ZCASHD "1" "April 2021" "zcashd v4.4.0-rc1" "User Commands" +.TH ZCASHD "1" "April 2021" "zcashd v4.4.0" "User Commands" .SH NAME -zcashd \- manual page for zcashd v4.4.0-rc1 +zcashd \- manual page for zcashd v4.4.0 .SH DESCRIPTION -Zcash Daemon version v4.4.0\-rc1 +Zcash Daemon version v4.4.0 .PP In order to ensure you are adequately protecting your privacy when using Zcash, please see . From ad1c30873dc19b8ba232b1586b680d3f0ddfb766 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Thu, 15 Apr 2021 16:55:39 +1200 Subject: [PATCH 3/3] make-release.py: Updated release notes and changelog for 4.4.0. --- contrib/debian/changelog | 6 + doc/authors.md | 38 +++-- doc/release-notes.md | 22 --- doc/release-notes/release-notes-4.4.0.md | 197 +++++++++++++++++++++++ 4 files changed, 224 insertions(+), 39 deletions(-) create mode 100644 doc/release-notes/release-notes-4.4.0.md diff --git a/contrib/debian/changelog b/contrib/debian/changelog index 3e9e4cf3b..c6b16b2be 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -1,3 +1,9 @@ +zcash (4.4.0) stable; urgency=medium + + * 4.4.0 release. + + -- Electric Coin Company Thu, 15 Apr 2021 16:55:39 +1200 + zcash (4.4.0~rc1) stable; urgency=medium * 4.4.0-rc1 release. diff --git a/doc/authors.md b/doc/authors.md index 4289c384b..e7b5ec7f4 100644 --- a/doc/authors.md +++ b/doc/authors.md @@ -1,58 +1,59 @@ Zcash Contributors ================== -Jack Grigg (1097) +Jack Grigg (1099) Simon Liu (460) Sean Bowe (367) -Daira Hopwood (256) +Daira Hopwood (262) Eirik Ogilvie-Wigley (216) Wladimir J. van der Laan (130) +Kris Nuttycombe (117) Alfredo Garcia (116) Taylor Hornby (114) -Kris Nuttycombe (103) Marshall Gaucher (102) Jay Graber (89) -Jonas Schnelli (87) -Pieter Wuille (81) -Marco Falke (78) -Cory Fields (70) +Jonas Schnelli (88) +Pieter Wuille (83) +Marco Falke (80) +Cory Fields (73) Larry Ruane (59) Ying Tong Lai (56) Nathan Wilcox (56) +Matt Corallo (44) Kevin Gallagher (38) practicalswift (36) Dimitris Apostolou (34) -Matt Corallo (31) fanquake (30) Carl Dong (26) Jorge Timón (22) +Gregory Maxwell (19) Luke Dashjr (18) Jonathan "Duke" Leto (18) syd (16) +Patick Strateman (16) furszy (15) avnish (14) Per Grön (14) -Gregory Maxwell (14) Benjamin Winston (13) Ariel Gabizon (12) +Pavel Janík (11) Paige Peterson (11) +Kaz Wesley (11) John Newbery (11) Philip Kaufmann (10) +Peter Todd (10) nomnombtc (9) -Peter Todd (9) -Pavel Janík (9) Marius Kjærstad (9) -Kaz Wesley (9) kozyilmaz (8) Suhas Daftuar (8) +Jeremy Rubin (8) Jeff Garzik (8) Charlie O'Keefe (8) Ben Wilson (8) +Patrick Strateman (7) Alex Morcos (7) ying tong (6) -Patrick Strateman (6) Karl-Johan Alm (6) -Jeremy Rubin (6) James O'Beirne (6) David Mercer (6) Daniel Kraft (6) @@ -69,14 +70,13 @@ sandakersmann (4) gladcow (4) Zancas Wilcox (4) WO (4) +Sjors Provoost (4) Nate Wilcox (4) MeshCollider (4) mruddy (3) lpescher (3) isle2983 (3) elbandi (3) -Sjors Provoost (3) -Patick Strateman (3) NikVolf (3) Julian Fleischer (3) Jim Posen (3) @@ -93,6 +93,7 @@ noname45688@gmail.com (2) kpcyrd (2) face (2) aniemerg (2) +Yuri Zhykin (2) UdjinM6 (2) Tim Ruffing (2) Thomas Snider (2) @@ -125,6 +126,7 @@ tulip (1) tpantin (1) teor (1) randy-waterhouse (1) +plutoforever (1) murrayn (1) mrbandrews (1) kirkalx (1) @@ -132,6 +134,7 @@ kazcw (1) jeff-liang (1) jc (1) instagibbs (1) +glowang (1) ewillbefull@gmail.com (1) emilrus (1) dexX7 (1) @@ -142,15 +145,16 @@ ayleph (1) avnish98 (1) adityapk00 (1) Za Wilcox (1) -Yuri Zhykin (1) William M Peaster (1) Vidar Holen (1) Vasil Dimov (1) Ulrich Kempken (1) Tom Ritter (1) Tom Harding (1) +Steven Smith (1) Stephen (1) S. Matthew English (1) +Russell Yanofsky (1) Ross Nicoll (1) Rod Vagg (1) Richard Littauer (1) diff --git a/doc/release-notes.md b/doc/release-notes.md index 8cce56b9c..a29094b51 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -4,25 +4,3 @@ release-notes at release time) 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`. diff --git a/doc/release-notes/release-notes-4.4.0.md b/doc/release-notes/release-notes-4.4.0.md new file mode 100644 index 000000000..2bae0c2c7 --- /dev/null +++ b/doc/release-notes/release-notes-4.4.0.md @@ -0,0 +1,197 @@ +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 (49): + 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. + make-release.py: Updated release notes and changelog for 4.4.0-rc1. + scripted-diff: Remove direct usages of boost::filesystem + Remove duplicate / unused includes + Fix include guards + python: Use UTF-8 encodings for opened files + clean.sh: Remove secp256k1 test log + Postpone Clang 12 + book: Fix comment in metrics example, and clarify usage + make-release.py: Versioning changes for 4.4.0. + make-release.py: Updated manpages for 4.4.0. + +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 +