From dc2ead60211bd58d62501421dd43534b2ce941be Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Thu, 22 Jun 2017 14:47:15 +1200 Subject: [PATCH 1/4] make-release.py: Versioning changes for 1.0.10. --- 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 6ad2f1b38..93cff70b4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Zcash 1.0.9 +Zcash 1.0.10 ============= What is Zcash? diff --git a/configure.ac b/configure.ac index e2e4074be..597e4138f 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N) AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 1) define(_CLIENT_VERSION_MINOR, 0) -define(_CLIENT_VERSION_REVISION, 9) +define(_CLIENT_VERSION_REVISION, 10) 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))) diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml index 9281d4378..bfb3f3d90 100644 --- a/contrib/gitian-descriptors/gitian-linux.yml +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -1,5 +1,5 @@ --- -name: "zcash-1.0.9" +name: "zcash-1.0.10" enable_cache: true distro: "debian" suites: diff --git a/src/clientversion.h b/src/clientversion.h index 3bd8540c3..9692d9682 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -17,7 +17,7 @@ //! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 1 #define CLIENT_VERSION_MINOR 0 -#define CLIENT_VERSION_REVISION 9 +#define CLIENT_VERSION_REVISION 10 #define CLIENT_VERSION_BUILD 50 //! Set to true for release, false for prerelease or test build diff --git a/src/deprecation.h b/src/deprecation.h index 0b8e20b92..98c624942 100644 --- a/src/deprecation.h +++ b/src/deprecation.h @@ -6,7 +6,7 @@ #define ZCASH_DEPRECATION_H // Deprecation policy is 4th third-Tuesday after a release -static const int APPROX_RELEASE_HEIGHT = 120500; +static const int APPROX_RELEASE_HEIGHT = 136000; static const int WEEKS_UNTIL_DEPRECATION = 18; static const int DEPRECATION_HEIGHT = APPROX_RELEASE_HEIGHT + (WEEKS_UNTIL_DEPRECATION * 7 * 24 * 24); From c04ffa0e32a2db6bdf03b7442444cb11229125fb Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Thu, 22 Jun 2017 15:05:04 +1200 Subject: [PATCH 2/4] make-release.py: Updated manpages for 1.0.10. --- doc/man/zcash-cli.1 | 8 ++++---- doc/man/zcash-tx.1 | 8 ++++---- doc/man/zcashd.1 | 17 +++++++++++------ 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1 index ab37c76f8..423b46134 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.4. -.TH ZCASH-CLI "1" "May 2017" "zcash-cli v1.0.9" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. +.TH ZCASH-CLI "1" "June 2017" "zcash-cli v1.0.10" "User Commands" .SH NAME -zcash-cli \- manual page for zcash-cli v1.0.9 +zcash-cli \- manual page for zcash-cli v1.0.10 .SH DESCRIPTION -Zcash RPC client version v1.0.9 +Zcash RPC client version v1.0.10 .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 a7468d7a8..ac4119969 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.4. -.TH ZCASH-TX "1" "May 2017" "zcash-tx v1.0.9" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. +.TH ZCASH-TX "1" "June 2017" "zcash-tx v1.0.10" "User Commands" .SH NAME -zcash-tx \- manual page for zcash-tx v1.0.9 +zcash-tx \- manual page for zcash-tx v1.0.10 .SH DESCRIPTION -Zcash zcash\-tx utility version v1.0.9 +Zcash zcash\-tx utility version v1.0.10 .SS "Usage:" .TP zcash\-tx [options] [commands] diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1 index eed39a4e2..9c450b4ec 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.4. -.TH ZCASHD "1" "May 2017" "zcashd v1.0.9" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. +.TH ZCASHD "1" "June 2017" "zcashd v1.0.10" "User Commands" .SH NAME -zcashd \- manual page for zcashd v1.0.9 +zcashd \- manual page for zcashd v1.0.10 .SH DESCRIPTION -Zcash Daemon version v1.0.9 +Zcash Daemon version v1.0.10 .PP In order to ensure you are adequately protecting your privacy when using Zcash, please see . @@ -54,7 +54,7 @@ Specify data directory \fB\-disabledeprecation=\fR .IP Disable block\-height node deprecation and automatic shutdown (example: -\fB\-disabledeprecation\fR=\fI\,1\/\fR.0.9) +\fB\-disabledeprecation\fR=\fI\,1\/\fR.0.10) .HP \fB\-exportdir=\fR .IP @@ -72,9 +72,14 @@ Imports blocks from external blk000??.dat file on startup .IP Keep at most unconnectable transactions in memory (default: 100) .HP +\fB\-mempooltxinputlimit=\fR +.IP +Set the maximum number of transparent inputs in a transaction that the +mempool will accept (default: 0 = no limit applied) +.HP \fB\-par=\fR .IP -Set the number of script verification threads (\fB\-4\fR to 16, 0 = auto, <0 = +Set the number of script verification threads (\fB\-2\fR to 16, 0 = auto, <0 = leave that many cores free, default: 0) .HP \fB\-pid=\fR From 93a63765b62f0934372008930bf87b8be58af66e Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Thu, 22 Jun 2017 15:13:04 +1200 Subject: [PATCH 3/4] make-release.py: Updated release notes and changelog for 1.0.10. --- contrib/debian/changelog | 6 +++ doc/authors.md | 13 +++-- doc/release-notes/release-notes-1.0.10.md | 58 +++++++++++++++++++++++ 3 files changed, 72 insertions(+), 5 deletions(-) create mode 100644 doc/release-notes/release-notes-1.0.10.md diff --git a/contrib/debian/changelog b/contrib/debian/changelog index 43ef18295..7bc699f88 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -1,3 +1,9 @@ +zcash (1.0.10) stable; urgency=medium + + * 1.0.10 release. + + -- Zcash Company Thu, 22 Jun 2017 15:13:04 +1200 + zcash (1.0.9) stable; urgency=medium * 1.0.9 release. diff --git a/doc/authors.md b/doc/authors.md index a2336391b..612e133af 100644 --- a/doc/authors.md +++ b/doc/authors.md @@ -1,18 +1,18 @@ Zcash Contributors ================== -Jack Grigg (407) -Simon Liu (259) +Jack Grigg (427) +Simon Liu (264) Sean Bowe (186) -Daira Hopwood (87) +Daira Hopwood (95) Taylor Hornby (65) -Wladimir J. van der Laan (58) +Wladimir J. van der Laan (60) Nathan Wilcox (51) Jay Graber (49) Jonas Schnelli (48) Kevin Gallagher (38) +Pieter Wuille (16) Cory Fields (15) -Pieter Wuille (14) nomnombtc (9) Paige Peterson (9) fanquake (5) @@ -28,6 +28,7 @@ Jeff Garzik (4) David Mercer (4) Daniel Cousens (4) lpescher (3) +kozyilmaz (3) Pavel Janík (3) Alfie John (3) str4d (2) @@ -65,6 +66,7 @@ Matt Quinn (1) Louis Nyffenegger (1) Leo Arias (1) Lars-Magnus Skog (1) +Kevin Pan (1) Jorge Timón (1) Jeffrey Walton (1) Ian Kelling (1) @@ -79,6 +81,7 @@ Chirag Davé (1) Casey Rodarmor (1) Cameron Boehmer (1) Bryan Stitt (1) +Boris Hajduk (1) Bob McElrath (1) Bitcoin Error Log (1) Allan Niemerg (1) diff --git a/doc/release-notes/release-notes-1.0.10.md b/doc/release-notes/release-notes-1.0.10.md new file mode 100644 index 000000000..640b834a9 --- /dev/null +++ b/doc/release-notes/release-notes-1.0.10.md @@ -0,0 +1,58 @@ +Boris Hajduk (1): + documentatin z_validateaddress was missing param + +Daira Hopwood (8): + Delete old protocol version constants and simplify code that used them. fixes #2244 + Remove an unneeded version workaround as per @str4d's review comment. + Remove unneeded lax ECDSA signature verification. + Strict DER signatures are always enforced; remove the flag and code that used it. + Repair tests for strict DER signatures. While we're at it, repair a similar test for CLTV, and make the repaired RPC tests run by default. + Make transaction test failures print the comments preceding the test JSON. + Fix a comment that was made stale before launch by #1016 (commit 542da61). + Delete test that is redundant and inapplicable to Zcash. + +Jack Grigg (20): + Fix incorrect locking in CCryptoKeyStore + Use AtomicTimer for metrics screen thread count + Revert "Fix secp256k1 test compilation" + Squashed 'src/secp256k1/' changes from 22f60a6..84973d3 + Fix potential overflows in ECDSA DER parsers + Rename FALLBACK_DOWNLOAD_PATH to PRIORITY_DOWNLOAD_PATH + Add test for incorrect consensus logic + Correct consensus logic in ContextualCheckInputs + Add comments + Update Debian copyright list + Specify ECDSA constant sizes as constants + Remove redundant `= 0` initialisations + Ensure that ECDSA constant sizes are correctly-sized + Add test for -mempooltxinputlimit + Hold an ECCVerifyHandle in zcash-gtest + Additional testing of -mempooltxinputlimit + Fix comment + Use sendfrom for both t-addr calls + make-release.py: Versioning changes for 1.0.10. + make-release.py: Updated manpages for 1.0.10. + +Kevin Pan (1): + "getblocktemplate" could work without wallet + +Pieter Wuille (2): + Update key.cpp to new secp256k1 API + Switch to libsecp256k1-based validation for ECDSA + +Simon Liu (5): + Fix intermediate vpub_new leakage in multi joinsplit tx (#1360) + Add option 'mempooltxinputlimit' so the mempool can reject a transaction based on the number of transparent inputs. + Check mempooltxinputlimit when creating a transaction to avoid local mempool rejection. + Partial revert & fix for commit 9e84b5a ; code block in wrong location. + Fix #b1eb4f2 so test checks sendfrom as originally intended. + +Wladimir J. van der Laan (2): + Use real number of cores for default -par, ignore virtual cores + Remove ChainParams::DefaultMinerThreads + +kozyilmaz (3): + [macOS] system linker does not support “--version” option but only “-v” + option to disable building libraries (zcutil/build.sh) + support per platform filename and hash setting for dependencies + From 5073467dadb4a5d68cc7e52fc2d434383ea00f4f Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Thu, 22 Jun 2017 15:23:02 +1200 Subject: [PATCH 4/4] Move temporary release notes to final ones --- doc/release-notes.md | 14 -------------- doc/release-notes/release-notes-1.0.10.md | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/doc/release-notes.md b/doc/release-notes.md index 67ef103b3..a29094b51 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -4,17 +4,3 @@ release-notes at release time) Notable changes =============== -Signature validation using libsecp256k1 ---------------------------------------- - -ECDSA signatures inside Zcash transactions now use validation using -[https://github.com/bitcoin/secp256k1](libsecp256k1) instead of OpenSSL. - -Depending on the platform, this means a significant speedup for raw signature -validation speed. The advantage is largest on x86_64, where validation is over -five times faster. In practice, this translates to a raw reindexing and new -block validation times that are less than half of what it was before. - -Libsecp256k1 has undergone very extensive testing and validation upstream. - -A side effect of this change is that libconsensus no longer depends on OpenSSL. diff --git a/doc/release-notes/release-notes-1.0.10.md b/doc/release-notes/release-notes-1.0.10.md index 640b834a9..16d2a62ba 100644 --- a/doc/release-notes/release-notes-1.0.10.md +++ b/doc/release-notes/release-notes-1.0.10.md @@ -1,3 +1,24 @@ +Notable changes +=============== + +Signature validation using libsecp256k1 +--------------------------------------- + +ECDSA signatures inside Zcash transactions now use validation using +[https://github.com/bitcoin/secp256k1](libsecp256k1) instead of OpenSSL. + +Depending on the platform, this means a significant speedup for raw signature +validation speed. The advantage is largest on x86_64, where validation is over +five times faster. In practice, this translates to a raw reindexing and new +block validation times that are less than half of what it was before. + +Libsecp256k1 has undergone very extensive testing and validation upstream. + +A side effect of this change is that libconsensus no longer depends on OpenSSL. + +Changelog +========= + Boris Hajduk (1): documentatin z_validateaddress was missing param