From 1d6f7acf4d86c242a78a24f21f31b6cd0b8f52af Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Wed, 28 Feb 2018 16:44:07 +0000 Subject: [PATCH 1/3] make-release.py: Versioning changes for 1.0.15. --- 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 499035161..586ca76b4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Zcash 1.0.15-rc1 +Zcash 1.0.15 ============= What is Zcash? diff --git a/configure.ac b/configure.ac index 3028dc6e5..86b3fdd30 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 1) define(_CLIENT_VERSION_MINOR, 0) define(_CLIENT_VERSION_REVISION, 15) -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 e10d4585f..de9e405e1 100644 --- a/contrib/gitian-descriptors/gitian-linux.yml +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -1,5 +1,5 @@ --- -name: "zcash-1.0.15-rc1" +name: "zcash-1.0.15" enable_cache: true distro: "debian" suites: diff --git a/src/clientversion.h b/src/clientversion.h index 4182b7084..393eef40a 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -18,7 +18,7 @@ #define CLIENT_VERSION_MAJOR 1 #define CLIENT_VERSION_MINOR 0 #define CLIENT_VERSION_REVISION 15 -#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 6678e4969..3e361cab7 100644 --- a/src/deprecation.h +++ b/src/deprecation.h @@ -8,7 +8,7 @@ // Deprecation policy: // * Shut down 16 weeks' worth of blocks after the estimated release block height. // * A warning is shown during the 2 weeks' worth of blocks prior to shut down. -static const int APPROX_RELEASE_HEIGHT = 277725; +static const int APPROX_RELEASE_HEIGHT = 280300; static const int WEEKS_UNTIL_DEPRECATION = 16; static const int DEPRECATION_HEIGHT = APPROX_RELEASE_HEIGHT + (WEEKS_UNTIL_DEPRECATION * 7 * 24 * 24); From f58b1536b4dc7526fa92608b310f4733404656fc Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Wed, 28 Feb 2018 16:58:10 +0000 Subject: [PATCH 2/3] make-release.py: Updated manpages for 1.0.15. --- doc/man/zcash-cli.1 | 6 +++--- doc/man/zcash-tx.1 | 6 +++--- doc/man/zcashd.1 | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1 index d67fbeac4..a30af6fe6 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.3. -.TH ZCASH-CLI "1" "February 2018" "zcash-cli v1.0.15-rc1" "User Commands" +.TH ZCASH-CLI "1" "February 2018" "zcash-cli v1.0.15" "User Commands" .SH NAME -zcash-cli \- manual page for zcash-cli v1.0.15-rc1 +zcash-cli \- manual page for zcash-cli v1.0.15 .SH DESCRIPTION -Zcash RPC client version v1.0.15\-rc1 +Zcash RPC client version v1.0.15 .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 5dc42af77..f5830e6de 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.3. -.TH ZCASH-TX "1" "February 2018" "zcash-tx v1.0.15-rc1" "User Commands" +.TH ZCASH-TX "1" "February 2018" "zcash-tx v1.0.15" "User Commands" .SH NAME -zcash-tx \- manual page for zcash-tx v1.0.15-rc1 +zcash-tx \- manual page for zcash-tx v1.0.15 .SH DESCRIPTION -Zcash zcash\-tx utility version v1.0.15\-rc1 +Zcash zcash\-tx utility version v1.0.15 .SS "Usage:" .TP zcash\-tx [options] [commands] diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1 index 6bfa1ae28..eaef634c0 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.3. -.TH ZCASHD "1" "February 2018" "zcashd v1.0.15-rc1" "User Commands" +.TH ZCASHD "1" "February 2018" "zcashd v1.0.15" "User Commands" .SH NAME -zcashd \- manual page for zcashd v1.0.15-rc1 +zcashd \- manual page for zcashd v1.0.15 .SH DESCRIPTION -Zcash Daemon version v1.0.15\-rc1 +Zcash Daemon version v1.0.15 .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.15\-rc1) +\fB\-disabledeprecation\fR=\fI\,1\/\fR.0.15) .HP \fB\-exportdir=\fR .IP From 25b080a33ba1ed6dab06493d372f871a29d53f9b Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Wed, 28 Feb 2018 16:58:19 +0000 Subject: [PATCH 3/3] make-release.py: Updated release notes and changelog for 1.0.15. --- contrib/debian/changelog | 6 + doc/authors.md | 32 ++-- doc/release-notes.md | 62 ------- doc/release-notes/release-notes-1.0.15.md | 209 ++++++++++++++++++++++ 4 files changed, 236 insertions(+), 73 deletions(-) create mode 100644 doc/release-notes/release-notes-1.0.15.md diff --git a/contrib/debian/changelog b/contrib/debian/changelog index d29b0967e..c0b1d157f 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -1,3 +1,9 @@ +zcash (1.0.15) stable; urgency=medium + + * 1.0.15 release. + + -- Zcash Company Wed, 28 Feb 2018 16:58:19 +0000 + zcash (1.0.15~rc1) stable; urgency=medium * 1.0.15-rc1 release. diff --git a/doc/authors.md b/doc/authors.md index e576a5e2c..8f249b1c0 100644 --- a/doc/authors.md +++ b/doc/authors.md @@ -1,21 +1,22 @@ Zcash Contributors ================== -Jack Grigg (558) -Simon Liu (286) +Jack Grigg (601) +Simon Liu (297) Sean Bowe (193) Daira Hopwood (102) Wladimir J. van der Laan (71) Taylor Hornby (65) +Jay Graber (61) Nathan Wilcox (56) -Jay Graber (53) Jonas Schnelli (49) Kevin Gallagher (38) -Cory Fields (28) -Pieter Wuille (16) -syd (13) +Cory Fields (30) +Pieter Wuille (24) +syd (15) nomnombtc (9) Paige Peterson (9) +Matt Corallo (9) fanquake (8) MarcoFalke (7) Luke Dashjr (6) @@ -26,14 +27,16 @@ kozyilmaz (4) Philip Kaufmann (4) Peter Todd (4) Patrick Strateman (4) -Matt Corallo (4) Karl-Johan Alm (4) +Jorge Timón (4) Jeff Garzik (4) David Mercer (4) Daniel Cousens (4) lpescher (3) +Suhas Daftuar (3) Pavel Janík (3) João Barbosa (3) +Ariel (3) Alfie John (3) str4d (2) paveljanik (2) @@ -42,11 +45,13 @@ aniemerg (2) Scott (2) Robert C. Seacord (2) Per Grön (2) +Pavel Vasin (2) Joe Turgeon (2) Jason Davies (2) Jack Gavigan (2) ITH4Coinomia (2) Gavin Andresen (2) +Daniel Kraft (2) Bjorn Hjortsberg (2) Amgad Abdelhafez (2) zathras-crypto (1) @@ -55,6 +60,7 @@ practicalswift (1) mruddy (1) mrbandrews (1) kazcw (1) +jc (1) isle2983 (1) instagibbs (1) emilrus (1) @@ -67,18 +73,21 @@ Stephen (1) S. Matthew English (1) Ross Nicoll (1) René Nyffenegger (1) -Pavel Vasin (1) Paul Georgiou (1) Paragon Initiative Enterprises, LLC (1) +Nicolas DORIER (1) Nathaniel Mahieu (1) Murilo Santana (1) +Maxwell Gubler (1) Matt Quinn (1) +Mark Friedenbach (1) +Marius Kjærstad (1) Louis Nyffenegger (1) Leo Arias (1) Lars-Magnus Skog (1) Kevin Pan (1) -Jorge Timón (1) Jonathan "Duke" Leto (1) +Jonas Nick (1) Jeffrey Walton (1) Ian Kelling (1) Gaurav Rana (1) @@ -87,7 +96,6 @@ Florian Schmaus (1) Ethan Heilman (1) Eran Tromer (1) Duke Leto (1) -Daniel Kraft (1) Christian von Roques (1) Chirag Davé (1) Casey Rodarmor (1) @@ -97,11 +105,13 @@ Bruno Arueira (1) Boris Hajduk (1) Bob McElrath (1) Bitcoin Error Log (1) -Ariel (1) +Ashley Holman (1) Anthony Towns (1) Allan Niemerg (1) Alex van der Peet (1) +Alex Morcos (1) Alex (1) Adam Weiss (1) Adam Brown (1) 4ZEC (1) +21E14 (1) diff --git a/doc/release-notes.md b/doc/release-notes.md index c07ab3d9f..a29094b51 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -4,65 +4,3 @@ release-notes at release time) Notable changes =============== -Overwinter network upgrade --------------------------- - -The code preparations for the Overwinter network upgrade, as described in [ZIP -200](https://github.com/zcash/zips/blob/master/zip-0200.rst), [ZIP -201](https://github.com/zcash/zips/blob/master/zip-0201.rst), [ZIP -202](https://github.com/zcash/zips/blob/master/zip-0202.rst), [ZIP -203](https://github.com/zcash/zips/blob/master/zip-0203.rst), and [ZIP -143](https://github.com/zcash/zips/blob/master/zip-0143.rst) are -finished and included in this release. Overwinter will activate on testnet at -height 207500, and can also be activated at a specific height in regtest mode -by setting the config option `-nuparams=5ba81b19:HEIGHT`. - -However, because the Overwinter activation height is not yet specified for -mainnet, version 1.0.15 will behave similarly as other pre-Overwinter releases -even after a future activation of Overwinter on the network. Upgrading from -1.0.15 will be required in order to follow the Overwinter network upgrade on -mainnet. - -Overwinter transaction format ------------------------------ - -Once Overwinter has activated, transactions must use the new v3 format -(including coinbase transactions). All RPC methods that create new transactions -(such as `createrawtransaction` and `getblocktemplate`) will create v3 -transactions once the Overwinter activation height has been reached. - -Overwinter transaction expiry ------------------------------ - -Overwinter transactions created by `zcashd` will also have a default expiry -height set (the block height after which the transaction becomes invalid) of 20 -blocks after the height of the next block. This can be configured with the -config option `-txexpirydelta`. - -UTXO and note merging ---------------------- - -In order to simplify the process of combining many small UTXOs and notes into a -few larger ones, a new RPC method `z_mergetoaddress` has been added. It merges -funds from t-addresses, z-addresses, or both, and sends them to a single -t-address or z-address. - -Unlike most other RPC methods, `z_mergetoaddress` operates over a particular -quantity of UTXOs and notes, instead of a particular amount of ZEC. By default, -it will merge 50 UTXOs and 10 notes at a time; these limits can be adjusted with -the parameters `transparent_limit` and `shielded_limit`. - -`z_mergetoaddress` also returns the number of UTXOs and notes remaining in the -given addresses, which can be used to automate the merging process (for example, -merging until the number of UTXOs falls below some value). - -UTXO memory accounting ----------------------- - -The default `-dbcache` has been changed in this release to 450MiB. Users can set -`-dbcache` to a higher value (e.g. to keep the UTXO set more fully cached in -memory). Users on low-memory systems (such as systems with 1GB or less) should -consider specifying a lower value for this parameter. - -Additional information relating to running on low-memory systems can be found -here: [reducing-memory-usage.md](https://github.com/zcash/zcash/blob/master/doc/reducing-memory-usage.md). diff --git a/doc/release-notes/release-notes-1.0.15.md b/doc/release-notes/release-notes-1.0.15.md new file mode 100644 index 000000000..3195c955a --- /dev/null +++ b/doc/release-notes/release-notes-1.0.15.md @@ -0,0 +1,209 @@ +Notable changes +=============== + +Overwinter network upgrade +-------------------------- + +The code preparations for the Overwinter network upgrade, as described in [ZIP +200](https://github.com/zcash/zips/blob/master/zip-0200.rst), [ZIP +201](https://github.com/zcash/zips/blob/master/zip-0201.rst), [ZIP +202](https://github.com/zcash/zips/blob/master/zip-0202.rst), [ZIP +203](https://github.com/zcash/zips/blob/master/zip-0203.rst), and [ZIP +143](https://github.com/zcash/zips/blob/master/zip-0143.rst) are +finished and included in this release. Overwinter will activate on testnet at +height 207500, and can also be activated at a specific height in regtest mode +by setting the config option `-nuparams=5ba81b19:HEIGHT`. + +However, because the Overwinter activation height is not yet specified for +mainnet, version 1.0.15 will behave similarly as other pre-Overwinter releases +even after a future activation of Overwinter on the network. Upgrading from +1.0.15 will be required in order to follow the Overwinter network upgrade on +mainnet. + +Overwinter transaction format +----------------------------- + +Once Overwinter has activated, transactions must use the new v3 format +(including coinbase transactions). All RPC methods that create new transactions +(such as `createrawtransaction` and `getblocktemplate`) will create v3 +transactions once the Overwinter activation height has been reached. + +Overwinter transaction expiry +----------------------------- + +Overwinter transactions created by `zcashd` will also have a default expiry +height set (the block height after which the transaction becomes invalid) of 20 +blocks after the height of the next block. This can be configured with the +config option `-txexpirydelta`. + +UTXO and note merging +--------------------- + +In order to simplify the process of combining many small UTXOs and notes into a +few larger ones, a new RPC method `z_mergetoaddress` has been added. It merges +funds from t-addresses, z-addresses, or both, and sends them to a single +t-address or z-address. + +Unlike most other RPC methods, `z_mergetoaddress` operates over a particular +quantity of UTXOs and notes, instead of a particular amount of ZEC. By default, +it will merge 50 UTXOs and 10 notes at a time; these limits can be adjusted with +the parameters `transparent_limit` and `shielded_limit`. + +`z_mergetoaddress` also returns the number of UTXOs and notes remaining in the +given addresses, which can be used to automate the merging process (for example, +merging until the number of UTXOs falls below some value). + +UTXO memory accounting +---------------------- + +The default `-dbcache` has been changed in this release to 450MiB. Users can set +`-dbcache` to a higher value (e.g. to keep the UTXO set more fully cached in +memory). Users on low-memory systems (such as systems with 1GB or less) should +consider specifying a lower value for this parameter. + +Additional information relating to running on low-memory systems can be found +here: [reducing-memory-usage.md](https://github.com/zcash/zcash/blob/master/doc/reducing-memory-usage.md). + +Changelog +========= + +21E14 (1): + Remove obsolete reference to CValidationState from UpdateCoins. + +Alex Morcos (1): + Implement helper class for CTxMemPoolEntry constructor + +Ariel (2): + add blake2b writer + update SignatureHash according to Overwinter spec + +Ashley Holman (1): + TxMemPool: Change mapTx to a boost::multi_index_container + +Cory Fields (2): + chainparams: move CCheckpointData into chainparams.h + chainparams: don't use std namespace + +Daniel Kraft (1): + Clean up chainparams some more. + +Jack Grigg (43): + Scope the ECDSA constant sizes to CPubKey / CKey classes + Enable Bash completion for -exportdir + Check chainValueZat when checking value pool monitoring + Add missing namespace for boost::get + Add viewing key prefix to regtest parameters + zkey_import_export: Synchronize mempools before mining + Use JoinSplitTestingSetup for Boost sighash tests + Network upgrade activation mechanism + Allow changing network upgrade parameters on regtest + Test network upgrade logic + Adjust rewind logic to use the network upgrade mechanism + Add Overwinter to upgrade list + Add method for fetching the next activation height after a given block height + Use a boost::optional for nCachedBranchId + Change UI/log status message for block rewinding + Update quote from ZIP 200 + Update SignatureHash tests for transaction format changes + Implement roll-back limit for reorganisation + Add rollback limit to block index rewinding + Remove mempool transactions which commit to an unmineable branch ID + Remove P2WPKH and P2WSH from signing logic + Add consensus branch ID parameter to SignatureHash, remove SigVersion parameter + Cleanup: Wrap function arguments + Regenerate SignatureHash tests + Make number of inputs configurable in validatelargetx test + Use v3 transactions with caching for validatelargetx benchmark + Extend CWallet::GetFilteredNotes to enable filtering on a set of addresses + Add branch IDs for current and next block to getblockchaininfo + Check Equihash solution when loading block index + Implement z_mergetoaddress for combining UTXOs and notes + Gate z_mergetoaddress as an experimental feature + Add z_mergetoaddress to release notes + Check upgrade status in wallet_overwintertx RPC test + Document that consensus.chaintip != consensus.nextblock just before an upgrade + Regenerate sighash tests + wallet_mergetoaddress: Add additional syncs to prevent race conditions + make-release.py: Versioning changes for 1.0.15-rc1. + make-release.py: Updated manpages for 1.0.15-rc1. + make-release.py: Updated release notes and changelog for 1.0.15-rc1. + Use block hash comparison for consistency check when loading block index + Overwinter release notes and testnet activation height + make-release.py: Versioning changes for 1.0.15. + make-release.py: Updated manpages for 1.0.15. + +Jay Graber (8): + Add getdeprecationinfo rpc call to return current version and deprecation block height. + Make applicable only on mainnet + Add upgrades field to RPC call getblockchaininfo + Implement transaction expiry for Overwinter + Add -txexpirydelta cli option + Add mempool_tx_expiry.py test + Add expiry to z_mergetoaddress + Change rpc_tests to 21 + +Jonas Nick (1): + Reduce unnecessary hashing in signrawtransaction + +Jorge Timón (3): + Chainparams: Introduce CreateGenesisBlock() static function + Chainparams: CTestNetParams and CRegTestParams extend directly from CChainParams + Mempool: Use Consensus::CheckTxInputs direclty over main::CheckInputs + +Marius Kjærstad (1): + Changed http:// to https:// on some links + +Mark Friedenbach (1): + Explicitly set tx.nVersion for the genesis block and mining tests + +Matt Corallo (5): + Add failing test checking timelocked-txn removal during reorg + Fix removal of time-locked transactions during reorg + Fix comment in removeForReorg + Make indentation in ActivateBestChainStep readable + removeForReorg calls once-per-disconnect-> once-per-reorg + +Maxwell Gubler (1): + Fix syntax examples for z_importwallet and export + +Nicolas DORIER (1): + Unit test for sighash caching + +Pavel Vasin (1): + remove unused NOBLKS_VERSION_{START,END} constants + +Pieter Wuille (8): + Add rewind logic to deal with post-fork software updates + Support -checkmempool=N, which runs checks on average once every N transactions + Report non-mandatory script failures correctly + Refactor script validation to observe amounts + BIP143: Verification logic + BIP143: Signing logic + Precompute sighashes + Rename to PrecomputedTransactionData + +Simon Liu (11): + Fixes #2793. Backport commit f33afd3 to increase dbcache default. + Add documentation about dbcache. + Add note about dbcache to 1.0.15 release notes. + Remove redundant service flag NODE_GETUTXO meant for Bitcoin XT. + Implementation of Overwinter transaction format ZIP 202. + Add test to check malformed v1 transaction against Overwinter tx parser + Closes #2964. z_sendmany once again makes v1 tx for taddr to taddr. + Closes #2954 and #2959. Fixes Overwinter issues in sighash_tests. + Add field nProtocolVersion to struct NetworkUpgrade. + Overwinter peer management and network handshaking. + Add python qa test overwinter_peer_management. + +Suhas Daftuar (3): + Track coinbase spends in CTxMemPoolEntry + Don't call removeForReorg if DisconnectTip fails + Fix removeForReorg to use MedianTimePast + +jc (1): + read hashReserved from disk block index + +syd (2): + Fix libsnark dependency build. + Remove OSX and Windows files from Makefile + share directory. +