diff --git a/README.md b/README.md index 6c03aec85..59f7aa509 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Zcash 4.0.0-rc1 +Zcash 4.0.0 =========== diff --git a/configure.ac b/configure.ac index 352b9d486..b25c75956 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 4) define(_CLIENT_VERSION_MINOR, 0) 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/debian/changelog b/contrib/debian/changelog index 506967ea3..adff3fe11 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -1,3 +1,9 @@ +zcash (4.0.0) stable; urgency=medium + + * 4.0.0 release. + + -- Electric Coin Company Tue, 01 Sep 2020 13:31:19 -0600 + zcash (4.0.0~rc1) stable; urgency=medium * 4.0.0-rc1 release. diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml index f2838f546..917d2f4ba 100644 --- a/contrib/gitian-descriptors/gitian-linux.yml +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -1,5 +1,5 @@ --- -name: "zcash-4.0.0-rc1" +name: "zcash-4.0.0" enable_cache: true distro: "debian" suites: diff --git a/doc/authors.md b/doc/authors.md index 974b8d70c..5683071d4 100644 --- a/doc/authors.md +++ b/doc/authors.md @@ -1,48 +1,51 @@ Zcash Contributors ================== -Jack Grigg (1048) +Jack Grigg (1050) Simon Liu (460) -Sean Bowe (348) +Sean Bowe (361) Eirik Ogilvie-Wigley (216) -Daira Hopwood (207) -Taylor Hornby (104) +Daira Hopwood (214) +Taylor Hornby (109) +Alfredo Garcia (102) Marshall Gaucher (100) Wladimir J. van der Laan (99) -Alfredo Garcia (99) Jay Graber (89) Jonas Schnelli (71) -Pieter Wuille (66) +Kris Nuttycombe (69) +Pieter Wuille (67) Nathan Wilcox (56) -Kris Nuttycombe (56) -Larry Ruane (50) -Cory Fields (41) +Cory Fields (55) +Larry Ruane (52) +Ying Tong Lai (43) Kevin Gallagher (38) -therealyingtong (36) Marco Falke (31) Matt Corallo (25) -Dimitris Apostolou (22) +Dimitris Apostolou (23) Jonathan "Duke" Leto (18) +fanquake (16) Luke Dashjr (16) syd (15) avnish (14) +Per Grön (14) Jorge Timón (14) Gregory Maxwell (12) +Ariel Gabizon (12) Paige Peterson (11) -Ariel Gabizon (11) +Benjamin Winston (11) +Carl Dong (10) practicalswift (9) nomnombtc (9) -Benjamin Winston (9) kozyilmaz (8) -fanquake (8) Peter Todd (8) +Charlie O'Keefe (8) Pavel Janík (7) Jeff Garzik (7) -Charlie O'Keefe (7) Marius Kjærstad (6) Karl-Johan Alm (6) David Mercer (6) Daniel Cousens (6) +ying tong (5) ca333 (5) Suhas Daftuar (5) Philip Kaufmann (5) @@ -54,15 +57,15 @@ Gareth Davies (5) Alex Morcos (5) sandakersmann (4) gladcow (4) +Zancas Wilcox (4) WO (4) João Barbosa (4) Jeremy Rubin (4) James O'Beirne (4) Daniel Kraft (4) Ben Wilson (4) -zancas (3) lpescher (3) -Per Grön (3) +elbandi (3) Patick Strateman (3) NikVolf (3) MeshCollider (3) @@ -71,6 +74,7 @@ Jason Davies (3) Danny Willems (3) Alfie John (3) rofl0r (2) +noname45688@gmail.com (2) mruddy (2) kpcyrd (2) face (2) @@ -92,7 +96,6 @@ ITH4Coinomia (2) Evan Klitzke (2) Dagur Valberg Johannsson (2) Casey Rodarmor (2) -Carl Dong (2) Bryant Eisenbach (2) Brad Miller (2) Bjorn Hjortsberg (2) @@ -100,9 +103,9 @@ Anthony Towns (2) Amgad Abdelhafez (2) Alex Tsankov (2) zathras-crypto (1) -ying tong (1) unsystemizer (1) tpantin (1) +teor (1) ptschip (1) murrayn (1) mrbandrews (1) @@ -147,6 +150,7 @@ Maxwell Gubler (1) Matt Quinn (1) Mark Friedenbach (1) Louis Nyffenegger (1) +LongShao007 (1) LitecoinZ (1) Leo Arias (1) Lauda (1) @@ -178,6 +182,7 @@ Bob McElrath (1) Bitcoin Error Log (1) Ben Woosley (1) Ashley Holman (1) +Andrew Chow (1) Allan Niemerg (1) Alex van der Peet (1) Alex (1) diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1 index 6fcd1c1dc..dd12c2ff6 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.16. -.TH ZCASH-CLI "1" "August 2020" "zcash-cli v4.0.0-rc1" "User Commands" +.TH ZCASH-CLI "1" "September 2020" "zcash-cli v4.0.0" "User Commands" .SH NAME -zcash-cli \- manual page for zcash-cli v4.0.0-rc1 +zcash-cli \- manual page for zcash-cli v4.0.0 .SH DESCRIPTION -Zcash RPC client version v4.0.0\-rc1 +Zcash RPC client version v4.0.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 a3e869b55..381645985 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.16. -.TH ZCASH-TX "1" "August 2020" "zcash-tx v4.0.0-rc1" "User Commands" +.TH ZCASH-TX "1" "September 2020" "zcash-tx v4.0.0" "User Commands" .SH NAME -zcash-tx \- manual page for zcash-tx v4.0.0-rc1 +zcash-tx \- manual page for zcash-tx v4.0.0 .SH DESCRIPTION -Zcash zcash\-tx utility version v4.0.0\-rc1 +Zcash zcash\-tx utility version v4.0.0 .SS "Usage:" .TP zcash\-tx [options] [commands] diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1 index 7e3a67ae4..a5a209d7a 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.16. -.TH ZCASHD "1" "August 2020" "zcashd v4.0.0-rc1" "User Commands" +.TH ZCASHD "1" "September 2020" "zcashd v4.0.0" "User Commands" .SH NAME -zcashd \- manual page for zcashd v4.0.0-rc1 +zcashd \- manual page for zcashd v4.0.0 .SH DESCRIPTION -Zcash Daemon version v4.0.0\-rc1 +Zcash Daemon version v4.0.0 .PP In order to ensure you are adequately protecting your privacy when using Zcash, please see . diff --git a/doc/release-notes.md b/doc/release-notes.md index 157948496..a29094b51 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -4,59 +4,3 @@ release-notes at release time) Notable changes =============== -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 -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 ------------------- - -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. diff --git a/doc/release-notes/release-notes-4.0.0.md b/doc/release-notes/release-notes-4.0.0.md new file mode 100644 index 000000000..5870bd251 --- /dev/null +++ b/doc/release-notes/release-notes-4.0.0.md @@ -0,0 +1,290 @@ +Notable changes +=============== + +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 +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 +------------------ + +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 (7): + 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. + Clarify a comment about the ZF and MG addresses + +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 (13): + 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. + make-release.py: Updated release notes and changelog for 4.0.0-rc1. + Add release notes to describe the Canopy network upgrade. + Update names of contributors in release notes. + Specify 4.0.0 in release notes + Add dev fund addresses for mainnet. + Set activation height for Canopy on mainnet. + Postpone updates for dependencies until after 4.0.0 release. + make-release.py: Versioning changes for 4.0.0. + make-release.py: Updated manpages for 4.0.0. + +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 + +Benjamin Winston (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 + +Ying Tong Lai (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 Wilcox (1): + make deprecation.h include consensus/params.h + diff --git a/qa/zcash/postponed-updates.txt b/qa/zcash/postponed-updates.txt index f9a6f8683..befd3659a 100644 --- a/qa/zcash/postponed-updates.txt +++ b/qa/zcash/postponed-updates.txt @@ -50,6 +50,7 @@ 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 +native_rust 1.46.0 2020-10-01 zeromq 4.3.2 2020-10-01 leveldb 1.19 2020-10-01 leveldb 1.20 2020-10-01 @@ -68,6 +69,10 @@ crate_aesni 0.9.0 2020-11-01 crate_crunchy 0.2.1 2020-11-01 crate_crunchy 0.2.2 2020-11-01 +# These are being deferred until after 4.0.0 to avoid blocking the release. +crate_time 0.1.44 2020-10-01 +crate_redox_users 0.3.5 2020-10-01 + # The chrono crate depends on "time ^0.1.43", and is highly unlikely to # upgrade to v0.2: https://github.com/chronotope/chrono/issues/400 crate_time 0.2.0 2021-02-01 @@ -103,11 +108,14 @@ crate_futures 0.3.5 2021-02-01 # The redox_users crate depends on: # - "redox_syscall ^0.1" # - "rust-argon2 ^0.7", which in turn depends on "base64 ^0.11" +# +# redox_users 0.3.5 depends on rust-argon2 ^0.8 which will address some of this. crate_base64 0.12.0 2020-11-01 crate_base64 0.12.1 2020-11-01 crate_base64 0.12.2 2020-11-01 crate_base64 0.12.3 2020-11-01 crate_redox_syscall 0.2.0 2020-11-01 +crate_redox_syscall 0.2.1 2020-11-01 crate_rust_argon2 0.8.0 2020-11-01 crate_rust_argon2 0.8.1 2020-11-01 crate_rust_argon2 0.8.2 2020-11-01 diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 56ac2aaeb..3aae1183d 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -123,8 +123,7 @@ public: consensus.vUpgrades[Consensus::UPGRADE_HEARTWOOD].nProtocolVersion = 170011; consensus.vUpgrades[Consensus::UPGRADE_HEARTWOOD].nActivationHeight = 903000; consensus.vUpgrades[Consensus::UPGRADE_CANOPY].nProtocolVersion = 170013; - consensus.vUpgrades[Consensus::UPGRADE_CANOPY].nActivationHeight = - Consensus::NetworkUpgrade::NO_ACTIVATION_HEIGHT; + consensus.vUpgrades[Consensus::UPGRADE_CANOPY].nActivationHeight = 1046400; consensus.nFundingPeriodLength = consensus.nPostBlossomSubsidyHalvingInterval / 48; @@ -150,8 +149,7 @@ public: keyConstants.bech32HRPs[SAPLING_EXTENDED_SPEND_KEY] = "secret-extended-key-main"; keyConstants.bech32HRPs[SAPLING_EXTENDED_FVK] = "zxviews"; - // TODO: This `if` can be removed once canopy activation height is set. - if (consensus.vUpgrades[Consensus::UPGRADE_CANOPY].nActivationHeight != Consensus::NetworkUpgrade::NO_ACTIVATION_HEIGHT) { + { std::vector ecc_addresses = { "t3LmX1cxWPPPqL4TZHx42HU3U5ghbFjRiif", "t3Toxk1vJQ6UjWQ42tUJz2rV2feUWkpbTDs", diff --git a/src/clientversion.h b/src/clientversion.h index a3fd50e77..9cee57fde 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -18,7 +18,7 @@ #define CLIENT_VERSION_MAJOR 4 #define CLIENT_VERSION_MINOR 0 #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 8e8c0dd3f..52203fcea 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 = 950238; +static const int APPROX_RELEASE_HEIGHT = 957287; 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."); diff --git a/src/version.h b/src/version.h index 60807beee..f8376bfb8 100644 --- a/src/version.h +++ b/src/version.h @@ -9,7 +9,7 @@ * network protocol versioning */ -static const int PROTOCOL_VERSION = 170012; +static const int PROTOCOL_VERSION = 170013; //! initial proto version, to be increased after version/verack negotiation static const int INIT_PROTO_VERSION = 209;