diff --git a/Cargo.lock b/Cargo.lock index bf6931a9d..d4d3ad161 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -439,9 +439,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.68" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e599641dff337570f6aa9c304ecca92341d30bf72e1c50287869ed6a36615a6" +checksum = "b7c14d679239b1ccaad7acaf972a19b41b6c1d7a8cb942158294b4f11ec71bd8" dependencies = [ "cc", "cxxbridge-flags", @@ -451,15 +451,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.68" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3894ad0c6d517cb5a4ce8ec20b37cd0ea31b480fe582a104c5db67ae21270853" +checksum = "2fdfa84261f05a9b69c0afe03270f9f26d6899ca7df6f442563908b646e8a376" [[package]] name = "cxxbridge-macro" -version = "1.0.68" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34fa7e395dc1c001083c7eed28c8f0f0b5a225610f3b6284675f444af6fab86b" +checksum = "0269826813dfbda75223169c774fede73401793e9af3970e4edbe93879782c1d" dependencies = [ "proc-macro2", "quote", @@ -1472,11 +1472,11 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.37" +version = "1.0.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1" +checksum = "cdcc2916cde080c1876ff40292a396541241fe0072ef928cd76582e9ea5d60d2" dependencies = [ - "unicode-xid", + "unicode-ident", ] [[package]] @@ -1861,13 +1861,13 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.91" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d" +checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" dependencies = [ "proc-macro2", "quote", - "unicode-xid", + "unicode-ident", ] [[package]] @@ -2076,6 +2076,12 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "unicode-ident" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7" + [[package]] name = "unicode-normalization" version = "0.1.19" diff --git a/Cargo.toml b/Cargo.toml index e4e22ab9a..13d830915 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -63,7 +63,7 @@ zeroize = "1.4.2" # Rust/C++ interop # The version needs to match depends/packages/native_cxxbridge.mk -cxx = { version = "=1.0.68", features = ["c++17"] } +cxx = { version = "=1.0.72", features = ["c++17"] } # Rust threading rayon = "1.5" diff --git a/README.md b/README.md index 32d1b8296..ac54ae4cd 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Zcash 5.1.0 +Zcash 5.2.0 =========== diff --git a/configure.ac b/configure.ac index e1eb3a3f6..f787b9142 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N) AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 5) -define(_CLIENT_VERSION_MINOR, 1) +define(_CLIENT_VERSION_MINOR, 2) define(_CLIENT_VERSION_REVISION, 0) 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))) diff --git a/contrib/debian/changelog b/contrib/debian/changelog index a3beaee95..32fb6c5d2 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -1,3 +1,15 @@ +zcash (5.2.0) stable; urgency=medium + + * 5.2.0 release. + + -- Electric Coin Company Mon, 25 Jul 2022 12:42:25 -0600 + +zcash (5.2.0~rc1) stable; urgency=medium + + * 5.2.0-rc1 release. + + -- Electric Coin Company Fri, 22 Jul 2022 15:07:59 -0600 + zcash (5.1.0) stable; urgency=medium * 5.1.0 release. diff --git a/contrib/debian/copyright b/contrib/debian/copyright index 808b41e10..b86334da3 100644 --- a/contrib/debian/copyright +++ b/contrib/debian/copyright @@ -227,6 +227,12 @@ Files: depends/*/vendored-sources/terminfo/* Copyright: 2016-2020 meh License: WTFPL +Files: depends/*/vendored-sources/unicode-ident/src/tables.rs +Copyright: 1991-2022 Unicode, Inc +License: Unicode +Comment: This entry is for code in the unicode-ident crate generated from Unicode data tables. + The license of the unicode-ident crate itself is MIT/Expat or Apache-2.0. + Files: src/crypto/ctaes/* Copyright: 2016 Pieter Wuille License: Expat @@ -1893,3 +1899,51 @@ License: BOSL-1 above with the notice "Licensed under " or with a notice of your own that is not confusingly similar to the notice in this License. + +License: Unicode + UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE + . + See Terms of Use + for definitions of Unicode Inc.’s Data Files and Software. + . + NOTICE TO USER: Carefully read the following legal agreement. + BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S + DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), + YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE + TERMS AND CONDITIONS OF THIS AGREEMENT. + IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE + THE DATA FILES OR SOFTWARE. + . + COPYRIGHT AND PERMISSION NOTICE + . + Copyright © 1991-2022 Unicode, Inc. All rights reserved. + Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + . + Permission is hereby granted, free of charge, to any person obtaining + a copy of the Unicode data files and any associated documentation + (the "Data Files") or Unicode software and any associated documentation + (the "Software") to deal in the Data Files or Software + without restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, and/or sell copies of + the Data Files or Software, and to permit persons to whom the Data Files + or Software are furnished to do so, provided that either + (a) this copyright and permission notice appear with all copies + of the Data Files or Software, or + (b) this copyright and permission notice appear in associated + Documentation. + . + THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF + ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT OF THIRD PARTY RIGHTS. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS + NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL + DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THE DATA FILES OR SOFTWARE. + . + Except as contained in this notice, the name of a copyright holder + shall not be used in advertising or otherwise to promote the sale, + use or other dealings in these Data Files or Software without prior + written authorization of the copyright holder. diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml index d25403476..fc7de7de5 100644 --- a/contrib/gitian-descriptors/gitian-linux.yml +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -1,5 +1,5 @@ --- -name: "zcash-5.1.0" +name: "zcash-5.2.0" enable_cache: true distro: "debian" suites: diff --git a/depends/packages/native_cxxbridge.mk b/depends/packages/native_cxxbridge.mk index 996fa59e9..865cadaf0 100644 --- a/depends/packages/native_cxxbridge.mk +++ b/depends/packages/native_cxxbridge.mk @@ -1,24 +1,25 @@ package=native_cxxbridge # The version needs to match cxx in Cargo.toml -$(package)_version=1.0.68 +$(package)_version=1.0.72 $(package)_download_path=https://github.com/dtolnay/cxx/archive/refs/tags $(package)_file_name=native_cxxbridge-$($(package)_version).tar.gz $(package)_download_file=$($(package)_version).tar.gz -$(package)_sha256_hash=6fed9ef1c64a37c343727368b38c27fa4e15b27ca9924c6672a6a5496080c832 +$(package)_sha256_hash=22b2ec9b6cbec281f4b4d8dc8e403e7ab276b9d2140d4e7074a1388a252c4c0b $(package)_build_subdir=gen/cmd $(package)_dependencies=native_rust # This file is somewhat annoying to update, but can be done like so from the repo base: +# $ export VERSION=1.0.72 # $ rm .cargo/config .cargo/.configured-for-offline # $ mkdir tmp # $ cd tmp -# $ tar xf ../depends/sources/native_cxxbridge-1.0.68.tar.gz -# $ cd cxx-1.0.68 +# $ tar xf ../depends/sources/native_cxxbridge-$VERSION.tar.gz +# $ cd cxx-$VERSION # $ cargo build --release --package=cxxbridge-cmd --bin=cxxbridge # $ cargo clean # $ cd .. -# $ mv cxx-1.0.68 cxx-1.0.68-locked -# $ tar xf ../depends/sources/native_cxxbridge-1.0.68.tar.gz -# $ diff -urN cxx-1.0.68 cxx-1.0.68-locked >../depends/patches/native_cxxbridge/lockfile.diff +# $ mv cxx-$VERSION cxx-$VERSION-locked +# $ tar xf ../depends/sources/native_cxxbridge-$VERSION.tar.gz +# $ diff -urN cxx-$VERSION cxx-$VERSION-locked >../depends/patches/native_cxxbridge/lockfile.diff $(package)_patches=lockfile.diff $(package)_extra_sources=$(package)-$($(package)_version)-vendored.tar.gz diff --git a/depends/patches/native_cxxbridge/lockfile.diff b/depends/patches/native_cxxbridge/lockfile.diff index 67a23584a..91d3bf7a3 100644 --- a/depends/patches/native_cxxbridge/lockfile.diff +++ b/depends/patches/native_cxxbridge/lockfile.diff @@ -1,7 +1,7 @@ -diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock ---- cxx-1.0.68/Cargo.lock 1970-01-01 00:00:00.000000000 +0000 -+++ cxx-1.0.68-locked/Cargo.lock 2022-05-27 23:14:22.902459945 +0000 -@@ -0,0 +1,447 @@ +diff -urN cxx-1.0.72/Cargo.lock cxx-1.0.72-locked/Cargo.lock +--- cxx-1.0.72/Cargo.lock 1970-01-01 01:00:00.000000000 +0100 ++++ cxx-1.0.72-locked/Cargo.lock 2022-07-25 13:19:29.023791072 +0100 +@@ -0,0 +1,445 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 @@ -50,9 +50,9 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "clap" -+version = "3.1.18" ++version = "3.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d2dbdf4bdacb33466e854ce889eee8dfd5729abf7ccd7664d0a2d60cd384440b" ++checksum = "54635806b078b7925d6e36810b1755f2a4b5b4d57560432c1ecf60bcbe10602b" +dependencies = [ + "bitflags", + "clap_lex", @@ -63,9 +63,9 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "clap_lex" -+version = "0.2.0" ++version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a37c35f1112dad5e6e0b1adaff798507497a18fceeb30cceb3bae7d1427b9213" ++checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] @@ -91,7 +91,7 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "cxx" -+version = "1.0.68" ++version = "1.0.72" +dependencies = [ + "cc", + "cxx-build", @@ -106,7 +106,7 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "cxx-build" -+version = "1.0.68" ++version = "1.0.72" +dependencies = [ + "cc", + "codespan-reporting", @@ -121,7 +121,7 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "cxx-gen" -+version = "0.7.68" ++version = "0.7.72" +dependencies = [ + "codespan-reporting", + "proc-macro2", @@ -140,7 +140,7 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "cxxbridge-cmd" -+version = "1.0.68" ++version = "1.0.72" +dependencies = [ + "clap", + "codespan-reporting", @@ -151,11 +151,11 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "cxxbridge-flags" -+version = "1.0.68" ++version = "1.0.72" + +[[package]] +name = "cxxbridge-macro" -+version = "1.0.68" ++version = "1.0.72" +dependencies = [ + "clang-ast", + "cxx", @@ -184,13 +184,11 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "flate2" -+version = "1.0.23" ++version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b39522e96686d38f4bc984b9198e3a0613264abaebaff2c5c918bfa6b6da09af" ++checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" +dependencies = [ -+ "cfg-if", + "crc32fast", -+ "libc", + "miniz_oxide", +] + @@ -202,15 +200,15 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "hashbrown" -+version = "0.11.2" ++version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" ++checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "indexmap" -+version = "1.8.1" ++version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0f647032dfaa1f8b6dc29bd3edb7bbef4861b8b8007ebb118d6db284fd59f6ee" ++checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +dependencies = [ + "autocfg", + "hashbrown", @@ -258,24 +256,24 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "miniz_oxide" -+version = "0.5.1" ++version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082" ++checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc" +dependencies = [ + "adler", +] + +[[package]] +name = "once_cell" -+version = "1.12.0" ++version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225" ++checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1" + +[[package]] +name = "os_str_bytes" -+version = "6.1.0" ++version = "6.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "21326818e99cfe6ce1e524c2a805c189a99b5ae555a35d19f9a284b427d86afa" ++checksum = "648001efe5d5c0102d8cea768e348da85d90af8ba91f0bea908f157951493cd4" + +[[package]] +name = "pkg-config" @@ -285,27 +283,27 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "proc-macro2" -+version = "1.0.39" ++version = "1.0.41" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f" ++checksum = "cdcc2916cde080c1876ff40292a396541241fe0072ef928cd76582e9ea5d60d2" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" -+version = "1.0.18" ++version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" ++checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rustversion" -+version = "1.0.6" ++version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" ++checksum = "24c8ad4f0c00e1eb5bc7614d236a7f1300e3dbd76b68cac8e06fb00b015ad8d8" + +[[package]] +name = "ryu" @@ -321,18 +319,18 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "serde" -+version = "1.0.137" ++version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1" ++checksum = "fc855a42c7967b7c369eb5860f7164ef1f6f81c20c7cc1141f2a604e18723b03" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" -+version = "1.0.137" ++version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be" ++checksum = "6f2122636b9fe3b81f1cb25099fcf2d3f542cdb1d45940d56c713158884a05da" +dependencies = [ + "proc-macro2", + "quote", @@ -341,9 +339,9 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "serde_json" -+version = "1.0.81" ++version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c" ++checksum = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7" +dependencies = [ + "itoa", + "ryu", @@ -358,9 +356,9 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "syn" -+version = "1.0.95" ++version = "1.0.98" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "fbaf6116ab8924f39d52792136fb74fd60a80194cf1b1c6ffa6453eef1c3f942" ++checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" +dependencies = [ + "proc-macro2", + "quote", @@ -393,9 +391,9 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "trybuild" -+version = "1.0.61" ++version = "1.0.63" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "7fc92f558afb6d1d7c6f175eb8d615b8ef49c227543e68e19c123d4ee43d8a7d" ++checksum = "764b9e244b482a9b81bde596aa37aa6f1347bf8007adab25e59f901b32b4e0a0" +dependencies = [ + "dissimilar", + "glob", @@ -409,9 +407,9 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "unicode-ident" -+version = "1.0.0" ++version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee" ++checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7" + +[[package]] +name = "unicode-width" diff --git a/doc/authors.md b/doc/authors.md index 35be1a2b7..d3a0e048f 100644 --- a/doc/authors.md +++ b/doc/authors.md @@ -1,39 +1,39 @@ Zcash Contributors ================== -Jack Grigg (1188) -Kris Nuttycombe (552) +Jack Grigg (1190) +Kris Nuttycombe (570) Simon Liu (460) -Sean Bowe (387) -Daira Hopwood (329) +Sean Bowe (389) +Daira Hopwood (334) Eirik Ogilvie-Wigley (216) -Wladimir J. van der Laan (150) +Wladimir J. van der Laan (152) +Pieter Wuille (142) Alfredo Garcia (119) Taylor Hornby (118) -Marshall Gaucher (114) -Pieter Wuille (108) +Marshall Gaucher (116) Ying Tong Lai (90) Jonas Schnelli (90) Jay Graber (89) Larry Ruane (88) Marco Falke (85) -Cory Fields (76) +Cory Fields (78) Matt Corallo (60) +sasha (58) Nathan Wilcox (56) -sasha (54) -practicalswift (41) +practicalswift (42) Kevin Gallagher (38) Dimitris Apostolou (38) fanquake (36) Carl Dong (26) +Luke Dashjr (24) +Gregory Maxwell (24) John Newbery (23) -Gregory Maxwell (23) Jorge Timón (22) -Luke Dashjr (21) +furszy (18) Jonathan "Duke" Leto (18) syd (16) Patick Strateman (16) -furszy (15) Charlie O'Keefe (15) avnish (14) Per Grön (14) @@ -41,6 +41,7 @@ Benjamin Winston (13) Steven Smith (12) Pavel Janík (12) Patrick Strateman (12) +Jeremy Rubin (12) Ariel Gabizon (12) Suhas Daftuar (11) Paige Peterson (11) @@ -53,14 +54,13 @@ Marius Kjærstad (10) ying tong (9) teor (9) nomnombtc (9) +Zancas Wilcox (9) Russell Yanofsky (9) kozyilmaz (8) -Zancas Wilcox (8) -Jeremy Rubin (8) Jeff Garzik (8) +Chun Kuan Lee (8) Ben Wilson (8) Karl-Johan Alm (7) -Chun Kuan Lee (7) James O'Beirne (6) David Mercer (6) Daniel Kraft (6) @@ -80,6 +80,7 @@ gladcow (4) WO (4) Sjors Provoost (4) Nate Wilcox (4) +Jim Posen (4) mruddy (3) lpescher (3) isle2983 (3) @@ -88,20 +89,22 @@ Thomas Snider (3) NikVolf (3) Martin Ankerl (3) Julian Fleischer (3) -Jim Posen (3) Jason Davies (3) Evan Klitzke (3) Ethan Heilman (3) Eric Lombrozo (3) Danny Willems (3) +Ben Woosley (3) Anthony Towns (3) Alfie John (3) +Aditya Kulkarni (3) whythat (2) rofl0r (2) ptschip (2) noname45688@gmail.com (2) kpcyrd (2) kobake (2) +instagibbs (2) hexabot (2) face (2) aniemerg (2) @@ -125,17 +128,17 @@ Jesse Cohen (2) Jeffrey Czyz (2) Jack Gavigan (2) ITH4Coinomia (2) +Hennadii Stepanov (2) +Dan Raviv (2) Dagur Valberg Johannsson (2) Conrado Gouvea (2) Bryant Eisenbach (2) Brian Stafford (2) Brad Miller (2) Bjorn Hjortsberg (2) -Ben Woosley (2) Amgad Abdelhafez (2) Alex Tsankov (2) Akio Nakamura (2) -Aditya Kulkarni (2) ロハン ダル (1) zathras-crypto (1) vim88 (1) @@ -145,13 +148,13 @@ tpantin (1) sgmoore (1) randy-waterhouse (1) plutoforever (1) +nathannaveen (1) murrayn (1) mrbandrews (1) kirkalx (1) kazcw (1) jeff-liang (1) jc (1) -instagibbs (1) glowang (1) ewillbefull@gmail.com (1) emilrus (1) @@ -208,6 +211,7 @@ Karel Bilek (1) Josh Lehan (1) Josh Ellithorpe (1) Jonas Nick (1) +Jon Layton (1) Jeffrey Walton (1) Janito Vaqueiro Ferreira Filho (1) Jainan-Tandel (1) @@ -215,7 +219,6 @@ Igor Cota (1) Ian T (1) Ian Munoz (1) Ian Kelling (1) -Hennadii Stepanov (1) Gregory Sanders (1) Gaurav Rana (1) Forrest Voight (1) @@ -226,7 +229,6 @@ Dimitris Tsapakidis (1) DesWurstes (1) Denis Lukianov (1) David Llop (1) -Dan Raviv (1) Christian von Roques (1) Chirag Davé (1) Cameron Boehmer (1) diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1 index 5724e84ae..0fdca7865 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 2022" "zcash-cli v5.1.0" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. +.TH ZCASH-CLI "1" "July 2022" "zcash-cli v5.2.0" "User Commands" .SH NAME -zcash-cli \- manual page for zcash-cli v5.1.0 +zcash-cli \- manual page for zcash-cli v5.2.0 .SH DESCRIPTION -Zcash RPC client version v5.1.0 +Zcash RPC client version v5.2.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 56d676156..948dbd3ea 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 2022" "zcash-tx v5.1.0" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. +.TH ZCASH-TX "1" "July 2022" "zcash-tx v5.2.0" "User Commands" .SH NAME -zcash-tx \- manual page for zcash-tx v5.1.0 +zcash-tx \- manual page for zcash-tx v5.2.0 .SH DESCRIPTION -Zcash zcash\-tx utility version v5.1.0 +Zcash zcash\-tx utility version v5.2.0 .SS "Usage:" .TP zcash\-tx [options] [commands] diff --git a/doc/man/zcashd-wallet-tool.1 b/doc/man/zcashd-wallet-tool.1 index 6a3ec282b..e51d09560 100644 --- a/doc/man/zcashd-wallet-tool.1 +++ b/doc/man/zcashd-wallet-tool.1 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13. -.TH ZCASHD-WALLET-TOOL "1" "July 2022" "zcashd-wallet-tool v5.1.0" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. +.TH ZCASHD-WALLET-TOOL "1" "July 2022" "zcashd-wallet-tool v5.2.0" "User Commands" .SH NAME -zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.1.0 +zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.2.0 .SH SYNOPSIS .B zcashd-wallet-tool [\fI\,OPTIONS\/\fR] diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1 index e2606d5a7..9ba4f6aea 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 2022" "zcashd v5.1.0" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. +.TH ZCASHD "1" "July 2022" "zcashd v5.2.0" "User Commands" .SH NAME -zcashd \- manual page for zcashd v5.1.0 +zcashd \- manual page for zcashd v5.2.0 .SH DESCRIPTION -Zcash Daemon version v5.1.0 +Zcash Daemon version v5.2.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 2cb9f9413..a29094b51 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -4,11 +4,3 @@ release-notes at release time) Notable changes =============== -Merkle branches removed from wallet ------------------------------------ - -Previously, every wallet transaction stored a Merkle branch to prove its -presence in blocks. This wasn't being used for more than an expensive -sanity check. Since 5.1.0, these are no longer stored. When loading a -5.1.0 wallet into an older version, it will automatically rescan to avoid -failed checks. diff --git a/doc/release-notes/release-notes-5.1.0.md b/doc/release-notes/release-notes-5.1.0.md index be2aef4a6..83a39ef97 100644 --- a/doc/release-notes/release-notes-5.1.0.md +++ b/doc/release-notes/release-notes-5.1.0.md @@ -68,6 +68,11 @@ Wallet `zcashd` now attempts to rectify the situation, and otherwise will inform the user before shutting down that a reindex is required. +- Previously, every wallet transaction stored a Merkle branch to prove its + presence in blocks. This wasn't being used for more than an expensive sanity + check. Since 5.1.0, these are no longer stored. When loading a 5.1.0 wallet + into an older version, it will automatically rescan to avoid failed checks. + Deprecated ---------- diff --git a/doc/release-notes/release-notes-5.2.0-rc1.md b/doc/release-notes/release-notes-5.2.0-rc1.md new file mode 100644 index 000000000..e49669463 --- /dev/null +++ b/doc/release-notes/release-notes-5.2.0-rc1.md @@ -0,0 +1,200 @@ +Notable changes +=============== + +Node Performance Improvements +----------------------------- + +This release makes several changes to improve the performance of node operations. +These include: + +- Backported CuckooCache from upstream to improve the performance of signature + caching. + +- Added caching of proof and signature validation results for Sapling and + Orchard to eliminate redundant computation. + +- Backported SHA-256 assembly optimizations from upstream. + +Wallet Performance Improvements +------------------------------- + +This release makes several changes to improve the performance of wallet operations. +These include: + +- We now parallelize and batch trial decryption of Sapling outputs. + +- We now prune witness data in the wallet for notes spent more than 100 blocks + in the past, so that we can avoid unnecessarily updating those witnesses. + In order to take advantage of this performance improvement, users will need + to start their nodes with `-rescan` the first time . + +- The process for incrementing the witnesses for notes the wallet is tracking + has been optimized to avoid redundant passes over the wallet. + +- Removed an assertion that was causing a slowdown in wallet scanning post-NU5. + +RPC Interface Changes +===================== + +- A `version` field was added to the result for the `gettransaction` RPC call to + avoid the need to make an extra call to `getrawtransaction` just to retrieve + the version. + +Fixes +===== + +- Fixed a regression that caused an incorrect process name to appear in the + process list. + +Changelog +========= + +Aditya Kulkarni (1): + Add tx version + +Ben Woosley (1): + build: Detect gmtime_* definitions via configure + +Chun Kuan Lee (1): + Use __cpuid_count for gnu C to avoid gitian build fail. + +Cory Fields (2): + time: add runtime sanity check + build: always attempt to enable targeted sse42 cxxflags + +Daira Hopwood (3): + This reverts part of 1f1810c37d00cb46d00d8553e6de3c6fdb991010 in #5959. Leaving the main thread unnamed causes it to be displayed as the executable name (i.e. `zcashd`) or command line in process monitoring tools. fixes #6066 + Apply doc suggestions from code review + Use crossbeam-channel instead of std::sync::mpsc. + +Dan Raviv (1): + Fix header guards using reserved identifiers + +Gregory Maxwell (1): + Add an explanation of quickly hashing onto a non-power of two range. + +Hennadii Stepanov (1): + Use correct C++11 header for std::swap() + +Jack Grigg (16): + lint: Fix include guards + wallet: Prune witnesses for notes spent more than 100 blocks ago + wallet: Make `{Increment, Decrement}NoteWitnesses`-internal helpers static + Cache Sapling and Orchard bundle validation + Add bundle kind to `BundleValidityCache` initialization log message + wallet: Throw error if `ReadBlockFromDisk` fails + wallet: Improve documentation of `SproutNotData` and `SaplingNoteData` + Move explicit instantiations for `BundleValidityCache` into `zcash/cache.cpp` + bench: Fix ConnectBlock large block benchmarks + wallet: Add `BatchScanner` interface to `CValidationInterface` + wallet: Pass `Consensus::Params` into `CWallet::FindMySaplingNotes` + wallet: Migrate `CWallet` to `CValidationInterface::InitBatchScanner` + rust: Implement multithreaded batched trial decryption for Sapling + wallet: Use batch trial decryption for Sapling outputs + wallet: Enforce an assumption about how wallet data evolves + wallet: Domain-separate batched txids with a "block tag" + +Jeremy Rubin (4): + Add CuckooCache implementation and replace the sigcache map_type with it + Add unit tests for the CuckooCache + Decrease testcase sizes in cuckoocache tests + Deduplicate SignatureCacheHasher + +Jim Posen (1): + scripted-diff: Move util files to separate directory. + +Jon Layton (1): + doc: Doxygen-friendly CuckooCache comments + +Kris Nuttycombe (15): + scripted-diff: Move utiltest to src/util + Add a clock for testing with an offset from the system clock. + Apply suggestions from code review + Add persistent Sprout test data. + Remove the temporary test that was used for setup of the cached Sprout fixtures. + Add RPC test initialization using the persisted Sprout chains. + Update sprout_sapling_migration test to use persisted sprout chains. + Update feature_zip239 test to use persisted sprout chains. + Add missing header to util/time.h + Update finalsaplingroot test to use persisted sprout chains. + Update getblocktemplate test to use persisted sprout chain + Replace setup_clean_chain with cache_behavior in rpc test init. + qa: Postpone recent native_rust, native_cxxbridge and rustcxx updates + make-release.py: Versioning changes for 5.2.0-rc1. + make-release.py: Updated manpages for 5.2.0-rc1. + +Luke Dashjr (3): + configure: Invert --enable-asm help string since default is now enabled + configure: Skip assembly support checks, when assembly is disabled + configure: Initialise assembly enable_* variables + +Marshall Gaucher (2): + Update entrypoint.sh + Update contrib/docker/entrypoint.sh + +Pieter Wuille (34): + Allow non-power-of-2 signature cache sizes + Do not store Merkle branches in the wallet. + Avoid duplicate CheckBlock checks + Add merkle.{h,cpp}, generic merkle root/branch algorithm + Switch blocks to a constant-space Merkle root/branch algorithm. + Add FastRandomContext::rand256() and ::randbytes() + scripted-diff: Rename cuckoo tests' local rand context + Merge test_random.h into test_bitcoin.h + Add various insecure_rand wrappers for tests + scripted-diff: use insecure_rand256/randrange more + Replace more rand() % NUM by randranges + Replace rand() & ((1 << N) - 1) with randbits(N) + Use randbits instead of ad-hoc emulation in prevector tests + scripted-diff: Use randbits/bool instead of randrange where possible + scripted-diff: Use new naming style for insecure_rand* functions + Support multi-block SHA256 transforms + Add SHA256 dispatcher + Add SSE4 based SHA256 + Add selftest for SHA256 transform + Protect SSE4 code behind a compile-time flag + Benchmark Merkle root computation + Refactor SHA256 code + Specialized double sha256 for 64 byte inputs + Use SHA256D64 in Merkle root computation + 4-way SSE4.1 implementation for double SHA256 on 64-byte inputs + 8-way AVX2 implementation for double SHA256 on 64-byte inputs + [MOVEONLY] Move unused Merkle branch code to tests + Enable double-SHA256-for-64-byte code on 32-bit x86 + Improve coverage of SHA256 SelfTest code + For AVX2 code, also check for AVX, XSAVE, and OS support + [Refactor] CPU feature detection logic for SHA256 + Add SHA256 implementation using using Intel SHA intrinsics + Use immintrin.h everywhere for intrinsics + Avoid non-trivial global constants in SHA-NI code + +Wladimir J. van der Laan (2): + build: Rename --enable-experimental-asm to --enable-asm and enable by default + build: Mention use of asm in summary + +furszy (3): + Fix missing vector include and vector type definition + Rework Sprout and Sapling witnesses increment and cache workflow, so it does not loop over the entire wallet txs map indiscriminately. + Use references instead of pointers where possible. + +instagibbs (1): + Return useful error message on ATMP failure + +nathannaveen (1): + chore: Set permissions for GitHub actions + +practicalswift (1): + Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion + +sasha (3): + Patch smoke_tests.py to properly handle changes in minconf behavior + Improve smoke_test.py wait_for_balance message in the minconf!=1 case + Patch smoke_tests.py to require 4 confirmations for z_mergetoaddress + +Jack Grigg (2): + Improve bundlecache documentation + Minor fixes to documentation + +Zancas Wilcox (1): + match the actual two hyphen flag + diff --git a/doc/release-notes/release-notes-5.2.0.md b/doc/release-notes/release-notes-5.2.0.md new file mode 100644 index 000000000..f5b938ec6 --- /dev/null +++ b/doc/release-notes/release-notes-5.2.0.md @@ -0,0 +1,211 @@ +Notable changes +=============== + +Node Performance Improvements +----------------------------- + +This release makes several changes to improve the performance of node operations. +These include: + +- Backported CuckooCache from upstream to improve the performance of signature + caching. + +- Added caching of proof and signature validation results for Sapling and + Orchard to eliminate redundant computation. + +- Backported SHA-256 assembly optimizations from upstream. + +Wallet Performance Improvements +------------------------------- + +This release makes several changes to improve the performance of wallet operations. +These include: + +- We now parallelize and batch trial decryption of Sapling outputs. + +- We now prune witness data in the wallet for notes spent more than 100 blocks + in the past, so that we can avoid unnecessarily updating those witnesses. + In order to take advantage of this performance improvement, users will need + to start their nodes with `-rescan` one time, in order to ensure that witnesses + for spent notes are in the wallet are properly pruned. + +- The process for incrementing the witnesses for notes the wallet is tracking + has been optimized to avoid redundant passes over the wallet. + +- Removed an assertion that was causing a slowdown in wallet scanning post-NU5. + +RPC Interface Changes +===================== + +- A `version` field was added to the result for the `gettransaction` RPC call to + avoid the need to make an extra call to `getrawtransaction` just to retrieve + the version. + +Fixes +===== + +- Fixed a regression that caused an incorrect process name to appear in the + process list. + +Changelog +========= + +Aditya Kulkarni (1): + Add tx version + +Ben Woosley (1): + build: Detect gmtime_* definitions via configure + +Chun Kuan Lee (1): + Use __cpuid_count for gnu C to avoid gitian build fail. + +Cory Fields (2): + time: add runtime sanity check + build: always attempt to enable targeted sse42 cxxflags + +Daira Hopwood (5): + This reverts part of 1f1810c37d00cb46d00d8553e6de3c6fdb991010 in #5959. Leaving the main thread unnamed causes it to be displayed as the executable name (i.e. `zcashd`) or command line in process monitoring tools. fixes #6066 + Apply doc suggestions from code review + Use crossbeam-channel instead of std::sync::mpsc. + Update cxx to 1.0.72. + Narrow the use of `#![allow(clippy::too_many_arguments)]` in src/rust/src/sapling.rs. + +Dan Raviv (1): + Fix header guards using reserved identifiers + +Gregory Maxwell (1): + Add an explanation of quickly hashing onto a non-power of two range. + +Hennadii Stepanov (1): + Use correct C++11 header for std::swap() + +Jack Grigg (16): + lint: Fix include guards + wallet: Prune witnesses for notes spent more than 100 blocks ago + wallet: Make `{Increment, Decrement}NoteWitnesses`-internal helpers static + Cache Sapling and Orchard bundle validation + Add bundle kind to `BundleValidityCache` initialization log message + wallet: Throw error if `ReadBlockFromDisk` fails + wallet: Improve documentation of `SproutNotData` and `SaplingNoteData` + Move explicit instantiations for `BundleValidityCache` into `zcash/cache.cpp` + bench: Fix ConnectBlock large block benchmarks + wallet: Add `BatchScanner` interface to `CValidationInterface` + wallet: Pass `Consensus::Params` into `CWallet::FindMySaplingNotes` + wallet: Migrate `CWallet` to `CValidationInterface::InitBatchScanner` + rust: Implement multithreaded batched trial decryption for Sapling + wallet: Use batch trial decryption for Sapling outputs + wallet: Enforce an assumption about how wallet data evolves + wallet: Domain-separate batched txids with a "block tag" + +Jeremy Rubin (4): + Add CuckooCache implementation and replace the sigcache map_type with it + Add unit tests for the CuckooCache + Decrease testcase sizes in cuckoocache tests + Deduplicate SignatureCacheHasher + +Jim Posen (1): + scripted-diff: Move util files to separate directory. + +Jon Layton (1): + doc: Doxygen-friendly CuckooCache comments + +Kris Nuttycombe (18): + scripted-diff: Move utiltest to src/util + Add a clock for testing with an offset from the system clock. + Apply suggestions from code review + Add persistent Sprout test data. + Remove the temporary test that was used for setup of the cached Sprout fixtures. + Add RPC test initialization using the persisted Sprout chains. + Update sprout_sapling_migration test to use persisted sprout chains. + Update feature_zip239 test to use persisted sprout chains. + Add missing header to util/time.h + Update finalsaplingroot test to use persisted sprout chains. + Update getblocktemplate test to use persisted sprout chain + Replace setup_clean_chain with cache_behavior in rpc test init. + qa: Postpone recent native_rust, native_cxxbridge and rustcxx updates + Update release notes for v5.2.0. + make-release.py: Versioning changes for 5.2.0-rc1. + make-release.py: Updated manpages for 5.2.0-rc1. + make-release.py: Updated release notes and changelog for 5.2.0-rc1. + Fix incomplete release notes for witness pruning. + +Luke Dashjr (3): + configure: Invert --enable-asm help string since default is now enabled + configure: Skip assembly support checks, when assembly is disabled + configure: Initialise assembly enable_* variables + +Marshall Gaucher (2): + Update entrypoint.sh + Update contrib/docker/entrypoint.sh + +Pieter Wuille (34): + Allow non-power-of-2 signature cache sizes + Do not store Merkle branches in the wallet. + Avoid duplicate CheckBlock checks + Add merkle.{h,cpp}, generic merkle root/branch algorithm + Switch blocks to a constant-space Merkle root/branch algorithm. + Add FastRandomContext::rand256() and ::randbytes() + scripted-diff: Rename cuckoo tests' local rand context + Merge test_random.h into test_bitcoin.h + Add various insecure_rand wrappers for tests + scripted-diff: use insecure_rand256/randrange more + Replace more rand() % NUM by randranges + Replace rand() & ((1 << N) - 1) with randbits(N) + Use randbits instead of ad-hoc emulation in prevector tests + scripted-diff: Use randbits/bool instead of randrange where possible + scripted-diff: Use new naming style for insecure_rand* functions + Support multi-block SHA256 transforms + Add SHA256 dispatcher + Add SSE4 based SHA256 + Add selftest for SHA256 transform + Protect SSE4 code behind a compile-time flag + Benchmark Merkle root computation + Refactor SHA256 code + Specialized double sha256 for 64 byte inputs + Use SHA256D64 in Merkle root computation + 4-way SSE4.1 implementation for double SHA256 on 64-byte inputs + 8-way AVX2 implementation for double SHA256 on 64-byte inputs + [MOVEONLY] Move unused Merkle branch code to tests + Enable double-SHA256-for-64-byte code on 32-bit x86 + Improve coverage of SHA256 SelfTest code + For AVX2 code, also check for AVX, XSAVE, and OS support + [Refactor] CPU feature detection logic for SHA256 + Add SHA256 implementation using using Intel SHA intrinsics + Use immintrin.h everywhere for intrinsics + Avoid non-trivial global constants in SHA-NI code + +Sean Bowe (2): + make-release.py: Versioning changes for 5.2.0. + make-release.py: Updated manpages for 5.2.0. + +Wladimir J. van der Laan (2): + build: Rename --enable-experimental-asm to --enable-asm and enable by default + build: Mention use of asm in summary + +furszy (3): + Fix missing vector include and vector type definition + Rework Sprout and Sapling witnesses increment and cache workflow, so it does not loop over the entire wallet txs map indiscriminately. + Use references instead of pointers where possible. + +instagibbs (1): + Return useful error message on ATMP failure + +nathannaveen (1): + chore: Set permissions for GitHub actions + +practicalswift (1): + Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion + +sasha (4): + Patch smoke_tests.py to properly handle changes in minconf behavior + Improve smoke_test.py wait_for_balance message in the minconf!=1 case + Patch smoke_tests.py to require 4 confirmations for z_mergetoaddress + Add cuckoocache.h to Makefile.am + +Jack Grigg (2): + Improve bundlecache documentation + Minor fixes to documentation + +Zancas Wilcox (1): + match the actual two hyphen flag + diff --git a/qa/supply-chain/audits.toml b/qa/supply-chain/audits.toml index 93083eb57..23037998c 100644 --- a/qa/supply-chain/audits.toml +++ b/qa/supply-chain/audits.toml @@ -13,6 +13,21 @@ criteria = ["crypto-reviewed", "safe-to-deploy"] delta = "0.13.0 -> 0.13.1" notes = "Adds multi-threaded batch validation, which I checked against the existing single-threaded batch validation." +[[audits.cxx]] +who = "Daira Hopwood " +criteria = "safe-to-deploy" +delta = "1.0.68 -> 1.0.72" + +[[audits.cxxbridge-flags]] +who = "Daira Hopwood " +criteria = "safe-to-deploy" +delta = "1.0.68 -> 1.0.72" + +[[audits.cxxbridge-macro]] +who = "Daira Hopwood " +criteria = "safe-to-deploy" +delta = "1.0.68 -> 1.0.72" + [[audits.equihash]] who = "Jack Grigg " criteria = "safe-to-deploy" @@ -67,6 +82,21 @@ criteria = ["crypto-reviewed", "safe-to-deploy"] delta = "0.1.0 -> 0.2.0" notes = "The ECC core team maintains this crate, and we have reviewed every line." +[[audits.proc-macro2]] +who = "Daira Hopwood " +criteria = "safe-to-deploy" +delta = "1.0.37 -> 1.0.41" + +[[audits.syn]] +who = "Daira Hopwood " +criteria = "safe-to-deploy" +delta = "1.0.91 -> 1.0.98" + +[[audits.unicode-ident]] +who = "Daira Hopwood " +criteria = "safe-to-deploy" +version = "1.0.2" + [[audits.zcash_address]] who = "Jack Grigg " criteria = "safe-to-deploy" diff --git a/qa/zcash/postponed-updates.txt b/qa/zcash/postponed-updates.txt index b9667095d..7ea61b87e 100644 --- a/qa/zcash/postponed-updates.txt +++ b/qa/zcash/postponed-updates.txt @@ -4,13 +4,6 @@ # bdb 18.1.40 2020-09-01 # -native_cxxbridge 1.0.69 2022-09-01 -native_cxxbridge 1.0.70 2022-09-01 -native_cxxbridge 1.0.71 2022-09-01 -rustcxx 1.0.69 2022-09-01 -rustcxx 1.0.70 2022-09-01 -rustcxx 1.0.71 2022-09-01 - # Ccache 4.0 requires adding CMake to the depends system. native_ccache 4.0 2022-09-01 native_ccache 4.1 2022-09-01 @@ -43,6 +36,7 @@ libcxx 14.0.6 2022-09-01 native_rust 1.60.0 2022-09-01 native_rust 1.61.0 2022-09-01 native_rust 1.62.0 2022-09-01 +native_rust 1.62.1 2022-09-01 # We're never updating to this version bdb 18.1.40 2024-02-01 diff --git a/src/Makefile.am b/src/Makefile.am index c5a66ee47..50bc11206 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -233,6 +233,7 @@ BITCOIN_CORE_H = \ consensus/validation.h \ core_io.h \ core_memusage.h \ + cuckoocache.h \ deprecation.h \ experimental_features.h \ fs.h \ diff --git a/src/clientversion.h b/src/clientversion.h index c1997d2d9..8e52e0e1a 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -16,7 +16,7 @@ //! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 5 -#define CLIENT_VERSION_MINOR 1 +#define CLIENT_VERSION_MINOR 2 #define CLIENT_VERSION_REVISION 0 #define CLIENT_VERSION_BUILD 50 diff --git a/src/deprecation.h b/src/deprecation.h index 72d83414e..2012b1037 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 = 1730371; +static const int APPROX_RELEASE_HEIGHT = 1750350; 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/rust/src/sapling.rs b/src/rust/src/sapling.rs index 9c25628fc..0ba8cdf4e 100644 --- a/src/rust/src/sapling.rs +++ b/src/rust/src/sapling.rs @@ -2,11 +2,6 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or https://www.opensource.org/licenses/mit-license.php . -// This is added because `check_spend` takes several arguments over FFI. This -// annotation gets removed by the cxx procedural macro so it needs to be enabled -// on the entire module. -#![allow(clippy::too_many_arguments)] - use std::convert::TryInto; use bellman::groth16::{prepare_verifying_key, Proof}; @@ -66,6 +61,7 @@ mod ffi { type Verifier; fn init_verifier() -> Box; + #[allow(clippy::too_many_arguments)] fn check_spend( self: &mut Verifier, cv: &[u8; 32], @@ -226,6 +222,7 @@ fn init_verifier() -> Box { } impl Verifier { + #[allow(clippy::too_many_arguments)] fn check_spend( &mut self, cv: &[u8; 32],