From 651721dcd8d011b3de964f9cb1bae25cb1b52c42 Mon Sep 17 00:00:00 2001 From: Sean Bowe Date: Wed, 26 Aug 2020 10:04:20 -0600 Subject: [PATCH 1/8] Postpone boost 1.74.0 update --- qa/zcash/postponed-updates.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/qa/zcash/postponed-updates.txt b/qa/zcash/postponed-updates.txt index a2b374365..402f326e8 100644 --- a/qa/zcash/postponed-updates.txt +++ b/qa/zcash/postponed-updates.txt @@ -8,6 +8,7 @@ bdb 18.1.40 2020-10-01 boost 1.71.0 2020-10-01 boost 1.72.0 2020-10-01 boost 1.73.0 2020-10-01 +boost 1.74.0 2020-10-01 googletest 1.8.1 2020-10-01 googletest 1.10.0 2020-10-01 libevent 2.1.10 2020-10-01 From 104cc4dc77a01274b11de7935f4f2f9e81b829fe Mon Sep 17 00:00:00 2001 From: Sean Bowe Date: Wed, 26 Aug 2020 10:08:35 -0600 Subject: [PATCH 2/8] Postpone rust updates --- qa/zcash/postponed-updates.txt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/qa/zcash/postponed-updates.txt b/qa/zcash/postponed-updates.txt index 402f326e8..f9a6f8683 100644 --- a/qa/zcash/postponed-updates.txt +++ b/qa/zcash/postponed-updates.txt @@ -43,10 +43,13 @@ openssl 1.1.1.e 2020-10-01 openssl 1.1.1.f 2020-10-01 openssl 1.1.1.g 2020-10-01 proton 0.31.0 2020-10-01 -rust 1.43.0 2020-10-01 -rust 1.43.1 2020-10-01 -rust 1.44.0 2020-10-01 -rust 1.44.1 2020-10-01 +native_rust 1.43.0 2020-10-01 +native_rust 1.43.1 2020-10-01 +native_rust 1.44.0 2020-10-01 +native_rust 1.44.1 2020-10-01 +native_rust 1.45.0 2020-10-01 +native_rust 1.45.1 2020-10-01 +native_rust 1.45.2 2020-10-01 zeromq 4.3.2 2020-10-01 leveldb 1.19 2020-10-01 leveldb 1.20 2020-10-01 From a5d6dbde1ee5533e25c6b14b600dc582d375b91c Mon Sep 17 00:00:00 2001 From: Sean Bowe Date: Wed, 26 Aug 2020 10:09:33 -0600 Subject: [PATCH 3/8] make-release.py: Versioning changes for 4.0.0-rc1. --- README.md | 2 +- configure.ac | 6 +++--- contrib/gitian-descriptors/gitian-linux.yml | 2 +- src/clientversion.h | 6 +++--- src/deprecation.h | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 7635a6821..6c03aec85 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Zcash 3.1.0 +Zcash 4.0.0-rc1 =========== diff --git a/configure.ac b/configure.ac index 19752fea7..352b9d486 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, 3) -define(_CLIENT_VERSION_MINOR, 1) +define(_CLIENT_VERSION_MAJOR, 4) +define(_CLIENT_VERSION_MINOR, 0) 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 bdeda7922..f2838f546 100644 --- a/contrib/gitian-descriptors/gitian-linux.yml +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -1,5 +1,5 @@ --- -name: "zcash-3.1.0" +name: "zcash-4.0.0-rc1" enable_cache: true distro: "debian" suites: diff --git a/src/clientversion.h b/src/clientversion.h index 0ec1630b2..a3fd50e77 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -15,10 +15,10 @@ */ //! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it -#define CLIENT_VERSION_MAJOR 3 -#define CLIENT_VERSION_MINOR 1 +#define CLIENT_VERSION_MAJOR 4 +#define CLIENT_VERSION_MINOR 0 #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 f50c3183a..8e8c0dd3f 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 = 917000; +static const int APPROX_RELEASE_HEIGHT = 950238; 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 4ce87e9e1645201b99e002f5d944a88599f23b63 Mon Sep 17 00:00:00 2001 From: Sean Bowe Date: Wed, 26 Aug 2020 10:17:06 -0600 Subject: [PATCH 4/8] make-release.py: Updated manpages for 4.0.0-rc1. --- doc/man/zcash-cli.1 | 8 ++++---- doc/man/zcash-tx.1 | 8 ++++---- doc/man/zcashd.1 | 14 +++++++++----- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1 index 1a1909b79..6fcd1c1dc 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" "July 2020" "zcash-cli v3.1.0" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH ZCASH-CLI "1" "August 2020" "zcash-cli v4.0.0-rc1" "User Commands" .SH NAME -zcash-cli \- manual page for zcash-cli v3.1.0 +zcash-cli \- manual page for zcash-cli v4.0.0-rc1 .SH DESCRIPTION -Zcash RPC client version v3.1.0 +Zcash RPC client version v4.0.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 0d494b087..a3e869b55 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" "July 2020" "zcash-tx v3.1.0" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH ZCASH-TX "1" "August 2020" "zcash-tx v4.0.0-rc1" "User Commands" .SH NAME -zcash-tx \- manual page for zcash-tx v3.1.0 +zcash-tx \- manual page for zcash-tx v4.0.0-rc1 .SH DESCRIPTION -Zcash zcash\-tx utility version v3.1.0 +Zcash zcash\-tx utility version v4.0.0\-rc1 .SS "Usage:" .TP zcash\-tx [options] [commands] diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1 index 6115731fe..7e3a67ae4 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" "July 2020" "zcashd v3.1.0" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH ZCASHD "1" "August 2020" "zcashd v4.0.0-rc1" "User Commands" .SH NAME -zcashd \- manual page for zcashd v3.1.0 +zcashd \- manual page for zcashd v4.0.0-rc1 .SH DESCRIPTION -Zcash Daemon version v3.1.0 +Zcash Daemon version v4.0.0\-rc1 .PP In order to ensure you are adequately protecting your privacy when using Zcash, please see . @@ -51,6 +51,10 @@ Run in the background as a daemon and accept commands .IP Specify data directory .HP +\fB\-paramsdir=\fR +.IP +Specify Zcash network parameters directory +.HP \fB\-dbcache=\fR .IP Set database cache size in megabytes (4 to 16384, default: 450) @@ -74,7 +78,7 @@ Keep at most unconnectable transactions in memory (default: 100) .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\-16\fR to 16, 0 = auto, <0 = leave that many cores free, default: 0) .HP \fB\-pid=\fR From 95d159c0e78ce6d751f37f27891535569925d16b Mon Sep 17 00:00:00 2001 From: Sean Bowe Date: Wed, 26 Aug 2020 10:17:07 -0600 Subject: [PATCH 5/8] make-release.py: Updated release notes and changelog for 4.0.0-rc1. --- contrib/debian/changelog | 6 + doc/release-notes/release-notes-4.0.0-rc1.md | 252 +++++++++++++++++++ 2 files changed, 258 insertions(+) create mode 100644 doc/release-notes/release-notes-4.0.0-rc1.md diff --git a/contrib/debian/changelog b/contrib/debian/changelog index 199f41416..506967ea3 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -1,3 +1,9 @@ +zcash (4.0.0~rc1) stable; urgency=medium + + * 4.0.0-rc1 release. + + -- Electric Coin Company Wed, 26 Aug 2020 10:17:07 -0600 + zcash (3.1.0) stable; urgency=medium * 3.1.0 release. diff --git a/doc/release-notes/release-notes-4.0.0-rc1.md b/doc/release-notes/release-notes-4.0.0-rc1.md new file mode 100644 index 000000000..629849bd0 --- /dev/null +++ b/doc/release-notes/release-notes-4.0.0-rc1.md @@ -0,0 +1,252 @@ +Notable changes +=============== + +New logging system +------------------ + +The `zcashd` logging system is now powered by the Rust `tracing` crate. This +has two main benefits: + +- `tracing` supports the concept of "spans", which represent periods of time + with a beginning and end. These enable logging additional information about + temporality and causality of events. (Regular log lines, which represent + moments in time, are called `events` in `tracing`.) +- Spans and events are structured, and can record typed data in addition to text + messages. This structure can then be filtered dynamically. + +The existing `-debug=target` config flags are mapped to `tracing` log filters, +and will continue to correctly enable additional logging when starting `zcashd`. +A new `setlogfilter` RPC method has been introduced that enables reconfiguring +the log filter at runtime. See `zcash-cli help setlogfilter` for its syntax. + +As a minor note, `zcashd` no longer reopens the `debug.log` file on `SIGHUP`. +This behaviour was originally introduced in upstream Bitcoin Core to support log +rotation using external tools. `tracing` supports log rotation internally (which +is currently disabled), as well as a variety of interesting backends (such as +`journald` and OpenTelemetry integration); we are investigating how these might +be exposed in future releases. + +Compatibility +------------- +macOS versions earlier than 10.12 (Sierra) are no longer supported. + +Changelog +========= + +Alfredo Garcia (3): + only allow duplicates for certain options of the config + install bdb binaries + add more allowed duplicates + +Andrew Chow (1): + Fix naming of macOS SDK and clarify version + +Carl Dong (8): + contrib: macdeploy: Correctly generate macOS SDK + Adapt rest of tooling to new SDK naming scheme + native_cctools: Don't use libc++ from pinned clang + contrib: macdeploy: Use apple-sdk-tools instead of xar+pbzx + contrib: macdeploy: Remove historical extraction notes + depends: Decouple toolchain + binutils + depends: Specify path to native binaries as clang argument + depends: Add justifications for macOS clang flags + +Charlie O'Keefe (1): + Remove 'jessie' (debian 8) from suites list in linux gitian descriptors + +Cory Fields (14): + crypto: add AES 128/256 CBC classes + crypto: add aes cbc tests + crypter: fix the stored initialization vector size + crypter: constify encrypt/decrypt + crypter: hook up the new aes cbc classes + crypter: add a BytesToKey clone to replace the use of openssl + crypter: add tests for crypter + build: Enumerate ctaes rather than globbing + depends: bump MacOS toolchain + macos: Bump to xcode 11.3.1 and 10.15 SDK + darwin: pass mlinker-version so that clang enables new features + depends: specify libc++ header location for darwin + depends: enable lto support for Apple's ld64 + depends: bump native_cctools for fixed lto with external clang + +Daira Hopwood (6): + zcutil/distclean.sh: remove BDB utility programs. + Update .gitignore. + Fix a return status issue. + Update Makefile.am + Newer version of checksec.sh from https://github.com/slimm609/checksec.sh/commit/a6df608ac077689b2160e521db6601abc7b9e26e + Repair full_test_suite.py for new checksec.sh. + +Dimitris Apostolou (1): + Remove deprecated contrib utilities + +Jack Grigg (65): + Move GrothProof and SproutProof definitions into zcash/Proof.hpp + Remove unused declarations left over from libsnark verification + Make ZCJoinSplit::prove static and remove ZCJoinSplit globals + Move ProofVerifier out of the libzcash namespace + Move JSDescription::Verify to ProofVerifier::VerifySprout + Skip Sprout proof verification for ProofVerifier::Disabled + Send alert to put pre-Heartwood nodes into safe mode. + Squashed 'src/crypto/ctaes/' content from commit 003a4acfc + build: shuffle gtest Makefile so that crypto can be used by the wallet + metrics: Collect general stats before clearing screen + Debian: Add copyright entries for ctaes and secp256k1 + Revert "Rename FALLBACK_DOWNLOAD_PATH to PRIORITY_DOWNLOAD_PATH" + Revert "Try downloading from our mirror first to avoid headaches." + depends: Use FALLBACK_DOWNLOAD_PATH if the primary's hash doesn't match + test: Remove obsolete TransactionBuilder test + Add tracing to librustzcash dependencies + FFI wrapper around tracing crate + Replace C++ logging with tracing logging + Use a tracing EnvFilter directive for -debug flags + Add support for reloading the tracing filter + Add an RPC method for setting the tracing filter directives + Add support for tracing spans + Add some spans to the Zcash codebase + FFI: Extract common codeunit types into a rust/types.h header + tracing: Use 'static constexpr' hack in macros + wallet: Fix logging to satisfy constexpr requirements + FFI: Add missing includes + init: Place additional constraints on pathDebug + rpc: Throw error in setlogfilter if filter reloading fails + tracing: Log field values that aren't valid UTF-8 + tracing: Document macro arguments that MUST be static constant UTF-8 strings + doc: Update release notes for tracing backend + qa: Add tracing dependencies to updatecheck.py + depends: tracing-core 0.1.13 + Revert "Add check-depends step to STAGE_COMMANDS list" + contrib: Update macdeploy README + depends: Rework Rust integration + depends: Add platform-specific overrides for download files + depends: Split check-packages and check-sources across categories + FFI: Fix tracing log path handling on Windows + tracing: Add MAP macro + tracing: Add support for event fields + tracing: Add support for span fields + tracing: Format field values with Display + Add fields to logging in CNode and UpdateTip + util: Use DEBUG level for LogPrint(), leaving INFO for LogPrintf() + tracing: Parse log_path into an Option + tracing: Rework tracing_init into a single function + init: Rework tracing_init call + init: Add spans for initialization and shutdown + Replace libsodium's randombytes_buf with rand_core::OsRng::fill_bytes + consensus: Add assertions for Params::HalvingHeight parameters + consensus: Document the empty conditional branch in ContextualCheckBlock + consensus: Statically check funding stream numerators and denominators + consensus: Clearly gate active funding stream elements on Canopy + Replace libsodium's crypto_sign with ed25519-zebra + ed25519: Panic (triggering abort) if nullptr passed into APIs + test: Update ZIP 215 test cases from ed25519-zebra + depends: Migrate to zcash_* 0.3.0 Rust crates + FFI: Remove circuit parameter hashes from librustzcash_init_zksnark_params + FFI: Migrate to bls12_381 and jubjub crates + depends: cargo update + qa: Update list of postponed crate versions + FFI: Rename to librustzcash_sapling_compute_cmu + FFI: Rename r to rcm + +Kris Nuttycombe (13): + Remove amqp code and Proton library depenencies & flags. + Remove Proton license from contrib/debian/copyright + consensus: Clean up some whitespace and variable names + consensus: Refactor Sprout contextual rules to match the rest + consensus: Remove canopyActive gate around GetActiveFundingStreamElements + consensus: Combine heartwoodActive conditionals + consensus: Add a placeholder for !canopyActive + consensus: Move overwinterActive rules ahead of saplingActive rules + consensus: Combine saplingActive conditionals + consensus: Move Sapling-disabled Overwinter rules above Sapling rules + consensus: Reorder Overwinter+!Sapling rules + consensus: Remove redundant contextual consensus rules + Add comment in lieu of redundant overwinter version check & fix tests. + +Larry Ruane (2): + flush wallet db (SetBestChain()) on clean shutdown + wallet: lock cs_main while accessing chainActive + +LongShao007 (1): + fix bug of bdb.mk + +Per Grön (11): + Get rid of implicit hidden dependencies between test .cpp files + Add missing #includes to test_block.cpp + Add actual header file for utilities in gtest/utils.cpp + Fix linkage issue with consts in primitives/block.h + Remove Checkpoints_tests.cpp + libsnark: Don't (implicitly) rely on other tests initializing the public params + Add missing libsnark initialization call + Don't clobber cwd in rpc_wallet_tests.cpp + Include header files within the source tree using "" instead of <> + Be consistent about what path to include bitcoin-config.h with + Be consistent with how to #include test data headers + +Pieter Wuille (1): + Add ctaes-based constant time AES implementation + +Sean Bowe (4): + Postpone boost 1.74.0 update + Postpone rust updates + make-release.py: Versioning changes for 4.0.0-rc1. + make-release.py: Updated manpages for 4.0.0-rc1. + +Taylor Hornby (5): + Implement system for postponing dependency updates. + Change release instructions to block the release when dependencies are not updated and not postponed. + Enforce pre-release dependency update check in make-release.py + Extend deadline for postponing dependency updates + Add new dependencies to updatecheck.py, add a flag we can use to have our CI test it. + +Ariel Gabizon (1): + explain expiry error + +bambam (2): + Added support for afl-clang-fast. + Added libfuzzer support. + +elbandi (3): + Allow configure params directory + Add paramsdir option for manpage + Throw error if -paramsdir not a valid directory + +fanquake (8): + depends: set OSX_MIN_VERSION to 10.10 + doc: mention that macOS 10.10 is now required + scripted-diff: prefer MAC_OSX over __APPLE__ + build: set minimum supported macOS to 10.12 + depends: clang 6.0.1 + depends: native_cctools 921, ld64 409.12, libtapi 1000.10.8 + build: use macOS 10.14 SDK + doc: explain why passing -mlinker-version is required + +noname45688@gmail.com (2): + Updating to Python 3 + Update to Python 3 + +Jack Grigg (2): + debian: Rename X11 to Expat-with-advertising-clause in copyright + Adjust GetActiveFundingStream* comments + +teor (1): + Fix a comment typo in pow.cpp + +therealyingtong (7): + Add Debian8 deprecation to release notes + Add missing curly braces after if statement + Add test for garbage memory in history nodes + Add documentation specific to ZIP 212 + Move esk derivation check to beginning of plaintext_checks_without_height() + Define PRF diversifiers in prf.h + assert(leadbyte == 0x02) after every if(leadbyte != 0x01) + +ying tong (4): + Update doc/release-notes/release-notes-3.1.0.md + Make sure garbage bytes are different + Rename PRV_DIVERSIFIER to PRF_TAG + Add link to ZIP212 in coinbase comment + +zancas (1): + make deprecation.h include consensus/params.h + From af36ceae887b9f32721f1604c785269576ae2fea Mon Sep 17 00:00:00 2001 From: Sean Bowe Date: Wed, 26 Aug 2020 12:04:50 -0600 Subject: [PATCH 6/8] Add release notes to describe the Canopy network upgrade. --- doc/release-notes.md | 28 ++++++++++++++++++++ doc/release-notes/release-notes-4.0.0-rc1.md | 28 ++++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/doc/release-notes.md b/doc/release-notes.md index 767fd5e07..652e5e943 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -4,6 +4,34 @@ release-notes at release time) Notable changes =============== +The mainnet activation of the Canopy network upgrade is supported by this +release, with an activation height of 1046400, which should occur roughly in the +middle of November — following the targeted EOS halt of our 3.1.0 release. +Please upgrade to this release, or any subsequent release, in order to follow +the Canopy network upgrade. + +The following ZIPs are being deployed as part of this upgrade: + +* [ZIP 207: Funding Streams](https://zips.z.cash/zip-0207) in conjunction with [ZIP 214: Consensus rules for a Zcash Development Fund](https://zips.z.cash/zip-0214) +* [ZIP 211: Disabling Addition of New Value to the Sprout Value Pool](https://zips.z.cash/zip-0211) +* [ZIP 212: Allow Recipient to Derive Sapling Ephemeral Secret from Note Plaintext](https://zips.z.cash/zip-0212) +* [ZIP 215: Explicitly Defining and Modifying Ed25519 Validation Rules](https://zips.z.cash/zip-0215) + +In order to help the ecosystem prepare for the mainnet activiation, Canopy has +already been activated on the Zcash testnet. Any node version 3.1.0 or higher, +including this release, supports the Canopy activation on testnet. + +Disabling new value in the Sprout value pool +-------------------------------------------- + +After the mainnet activation of Canopy, it will not be possible to send funds to +Sprout z-addresses from any _other_ kind of address, as described in [ZIP 211](https://zips.z.cash/zip-0211). +It will still be possible to send funds _from_ a Sprout z-address and to send +funds between Sprout addresses. Users of Sprout z-addresses are encouraged to +use Sapling z-addresses instead, and to migrate their remaining Sprout funds +into a Sapling z-address using the migration utility in zcashd: set `migrate=1` +in your `zcash.conf` file, or use the `z_setmigration` RPC. + New logging system ------------------ diff --git a/doc/release-notes/release-notes-4.0.0-rc1.md b/doc/release-notes/release-notes-4.0.0-rc1.md index 629849bd0..77c531539 100644 --- a/doc/release-notes/release-notes-4.0.0-rc1.md +++ b/doc/release-notes/release-notes-4.0.0-rc1.md @@ -1,6 +1,34 @@ Notable changes =============== +The mainnet activation of the Canopy network upgrade is supported by this +release, with an activation height of 1046400, which should occur roughly in the +middle of November — following the targeted EOS halt of our 3.1.0 release. +Please upgrade to this release, or any subsequent release, in order to follow +the Canopy network upgrade. + +The following ZIPs are being deployed as part of this upgrade: + +* [ZIP 207: Funding Streams](https://zips.z.cash/zip-0207) in conjunction with [ZIP 214: Consensus rules for a Zcash Development Fund](https://zips.z.cash/zip-0214) +* [ZIP 211: Disabling Addition of New Value to the Sprout Value Pool](https://zips.z.cash/zip-0211) +* [ZIP 212: Allow Recipient to Derive Sapling Ephemeral Secret from Note Plaintext](https://zips.z.cash/zip-0212) +* [ZIP 215: Explicitly Defining and Modifying Ed25519 Validation Rules](https://zips.z.cash/zip-0215) + +In order to help the ecosystem prepare for the mainnet activiation, Canopy has +already been activated on the Zcash testnet. Any node version 3.1.0 or higher, +including this release, supports the Canopy activation on testnet. + +Disabling new value in the Sprout value pool +-------------------------------------------- + +After the mainnet activation of Canopy, it will not be possible to send funds to +Sprout z-addresses from any _other_ kind of address, as described in [ZIP 211](https://zips.z.cash/zip-0211). +It will still be possible to send funds _from_ a Sprout z-address and to send +funds between Sprout addresses. Users of Sprout z-addresses are encouraged to +use Sapling z-addresses instead, and to migrate their remaining Sprout funds +into a Sapling z-address using the migration utility in zcashd: set `migrate=1` +in your `zcash.conf` file, or use the `z_setmigration` RPC. + New logging system ------------------ From 5a56246b91f7688907a5b81acbd62dc025e8775a Mon Sep 17 00:00:00 2001 From: Sean Bowe Date: Thu, 27 Aug 2020 09:07:15 -0600 Subject: [PATCH 7/8] Update names of contributors in release notes. --- doc/release-notes/release-notes-4.0.0-rc1.md | 16 ++++++---------- zcutil/release-notes.py | 5 ++++- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/doc/release-notes/release-notes-4.0.0-rc1.md b/doc/release-notes/release-notes-4.0.0-rc1.md index 77c531539..e681ba65c 100644 --- a/doc/release-notes/release-notes-4.0.0-rc1.md +++ b/doc/release-notes/release-notes-4.0.0-rc1.md @@ -109,7 +109,7 @@ Daira Hopwood (6): Dimitris Apostolou (1): Remove deprecated contrib utilities -Jack Grigg (65): +Jack Grigg (67): Move GrothProof and SproutProof definitions into zcash/Proof.hpp Remove unused declarations left over from libsnark verification Make ZCJoinSplit::prove static and remove ZCJoinSplit globals @@ -175,6 +175,8 @@ Jack Grigg (65): qa: Update list of postponed crate versions FFI: Rename to librustzcash_sapling_compute_cmu FFI: Rename r to rcm + debian: Rename X11 to Expat-with-advertising-clause in copyright + Adjust GetActiveFundingStream* comments Kris Nuttycombe (13): Remove amqp code and Proton library depenencies & flags. @@ -230,7 +232,7 @@ Taylor Hornby (5): Ariel Gabizon (1): explain expiry error -bambam (2): +Benjamin Winston (2): Added support for afl-clang-fast. Added libfuzzer support. @@ -253,14 +255,10 @@ noname45688@gmail.com (2): Updating to Python 3 Update to Python 3 -Jack Grigg (2): - debian: Rename X11 to Expat-with-advertising-clause in copyright - Adjust GetActiveFundingStream* comments - teor (1): Fix a comment typo in pow.cpp -therealyingtong (7): +Ying Tong Lai (11): Add Debian8 deprecation to release notes Add missing curly braces after if statement Add test for garbage memory in history nodes @@ -268,13 +266,11 @@ therealyingtong (7): Move esk derivation check to beginning of plaintext_checks_without_height() Define PRF diversifiers in prf.h assert(leadbyte == 0x02) after every if(leadbyte != 0x01) - -ying tong (4): Update doc/release-notes/release-notes-3.1.0.md Make sure garbage bytes are different Rename PRV_DIVERSIFIER to PRF_TAG Add link to ZIP212 in coinbase comment -zancas (1): +Zancas Wilcox (1): make deprecation.h include consensus/params.h diff --git a/zcutil/release-notes.py b/zcutil/release-notes.py index fdd23cf42..26674a822 100755 --- a/zcutil/release-notes.py +++ b/zcutil/release-notes.py @@ -35,7 +35,10 @@ author_aliases = { 'paveljanik': 'Pavel Janík', 'Simon': 'Simon Liu', 'str4d': 'Jack Grigg', - 'zebambam': 'Benjamin Winston' + 'zebambam': 'Benjamin Winston', + 'therealyingtong': 'Ying Tong Lai', + 'zancas': 'Zancas Wilcox', + 'bambam': 'Benjamin Winston' } def apply_author_aliases(name): From c0f50ef8e65af97815e7c1e88844d257edb5ef3c Mon Sep 17 00:00:00 2001 From: Sean Bowe Date: Thu, 27 Aug 2020 09:08:22 -0600 Subject: [PATCH 8/8] Specify 4.0.0 in release notes --- doc/release-notes.md | 2 +- doc/release-notes/release-notes-4.0.0-rc1.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/release-notes.md b/doc/release-notes.md index 652e5e943..157948496 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -4,7 +4,7 @@ release-notes at release time) Notable changes =============== -The mainnet activation of the Canopy network upgrade is supported by this +The mainnet activation of the Canopy network upgrade is supported by the 4.0.0 release, with an activation height of 1046400, which should occur roughly in the middle of November — following the targeted EOS halt of our 3.1.0 release. Please upgrade to this release, or any subsequent release, in order to follow diff --git a/doc/release-notes/release-notes-4.0.0-rc1.md b/doc/release-notes/release-notes-4.0.0-rc1.md index e681ba65c..66caec9e4 100644 --- a/doc/release-notes/release-notes-4.0.0-rc1.md +++ b/doc/release-notes/release-notes-4.0.0-rc1.md @@ -1,7 +1,7 @@ Notable changes =============== -The mainnet activation of the Canopy network upgrade is supported by this +The mainnet activation of the Canopy network upgrade is supported by the 4.0.0 release, with an activation height of 1046400, which should occur roughly in the middle of November — following the targeted EOS halt of our 3.1.0 release. Please upgrade to this release, or any subsequent release, in order to follow