Commit Graph

17306 Commits

Author SHA1 Message Date
Jack Grigg 7628ec7dfa Postpone dependency updates for v5.4.1 2023-02-13 18:05:35 +00:00
Jack Grigg f5288d44d7 Write release notes for v5.4.1 2023-02-13 18:01:55 +00:00
Daira Hopwood 4a7ba2268e
Merge pull request #6416 from softminus/partial-github-url-revert
Partially revert PR #6384 for URLs using a git commit hash, and make the `native_cctools` tarballs download to meaningful names
2023-02-11 14:57:02 +00:00
Kris Nuttycombe 97aa2b9442
Merge pull request #6423 from str4d/6420-allowdeprecated-in-config-file
Load `-allowdeprecated` settings after reading the config file
2023-02-10 17:53:20 -07:00
Kris Nuttycombe cb22267fa3
Merge pull request #6399 from str4d/6396-retroactive-zip-216
Retroactively enable ZIP 216 before NU5 activation
2023-02-10 17:36:11 -07:00
Jack Grigg 1ceb4c19cc qa: Extend `wallet_deprecation` to test `allowdeprecated` in config file
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2023-02-10 23:57:05 +00:00
Jack Grigg 8dd3e6135d qa: Refactor `wallet_deprecation` test to extract common logic
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2023-02-10 23:57:05 +00:00
Kris Nuttycombe 8707a8e9f5
Merge pull request #6424 from str4d/sideport-reindex-lock-contention-fix-5.4.1
Sleep for 200µs before each `ActivateBestChainStep` call
2023-02-10 15:40:51 -07:00
Jack Grigg b814336aec Load `-allowdeprecated` settings after reading the config file
We need to load these early so that it's possible for other
initialization steps to respect them. However, we were loading them
slightly too early, before the config file had been read, which meant
that only CLI arguments were being used.

We now load the `-allowdeprecated` settings just after the config file
is parsed and the chain parameters are prepared; neither of these are
features we would ever consider deprecating (at least while `zcashd`
exists in its Bitcoin Core-derived form).

Closes zcash/zcash#6420.
2023-02-10 22:14:10 +00:00
Greg Pfeil 3178296c38
Make extra newline more explicit
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2023-02-09 13:51:46 -07:00
Greg Pfeil cbc0511cd2
Show in-progress tests when rpc-tests is interrupted
Interrupting rpc-tests (e.g., with Ctrl-c) will print a list of the tests that were running when the
interrupt was received. This is useful for identifying tests that aren’t terminating.

For example:
```
wallet_broadcast.py:
Pass: True, Duration: 62 s

.................
zmq_test.py:
Pass: True, Duration: 29 s

.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................^C
The following tests were running when interrupted:
• mempool_reorg.py

Traceback (most recent call last):
...
```
2023-02-09 09:53:24 -07:00
Daira Hopwood 965a908eba
Use the same convention for the tl_expected download files as for native_cctools
No 1.0.1 version has been released, and it would be at a different commit if it were.
2023-02-09 11:25:46 +00:00
Daira Hopwood a65b04a4f5 Update copyright date and email for tl_expected.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2023-02-09 00:48:40 +00:00
sasha 48b7d5ab56 Download `native_cctools` and its `libtapi` to meaningful filenames
Previously, they downloaded to filenames that were simply the git hashes
followed by .tar.gz, now this creates
`native_cctools_55562e4073dea0fbfd0b20e0bf69ffe6390c7f97.tar.gz` and
`native_cctools_libtapi_3efb201881e7a76a21e0554906cf306432539cef.tar.gz`

Note that those are the filenames that must exist on download.z.cash
as well, since the alternate URLs fetched refer to the
*destination filename* and not the original (here, github) filename.
2023-02-08 15:50:17 -08:00
sasha 5feec46456 Partially revert PR #6384, but only for URLs using a git commit hash
The new URLs (with `archive/ref/tags`) are good for tag-based references
so we leave them alone, and only revert the hash-based URLs to GitHub
URLs which doesn't 404 and give us files with the expected hashes today.

Currently, the three repos in question (`cctools-port`, `apple-libtapi`,
and `expected`) do not have usable tags/releases we can use instead of
the hashes.

We will also upload correct versions of those files to the
download.z.cash server (with the correct filenames) so if there's
another issue with hash stability (like there was on 30 January 2023
https://github.com/orgs/community/discussions/46034)
it won't instantly break the build.
2023-02-08 15:03:12 -08:00
Kris Nuttycombe af4994c1ae
Merge pull request #6414 from zcash/version-5.4.0 2023-02-08 15:28:18 -07:00
Kris Nuttycombe 3ffa99f1ad
Merge pull request #6413 from zcash/release-v5.4.0
Release v5.4.0
2023-02-08 12:23:55 -07:00
Jack Grigg 774f2d8eda Document known issues in v5.4.0 release notes 2023-02-08 17:50:06 +00:00
Jack Grigg 0e277800bb make-release.py: Updated release notes and changelog for 5.4.0. 2023-02-08 17:21:10 +00:00
Jack Grigg 3ca7d806fa make-release.py: Updated manpages for 5.4.0. 2023-02-08 17:21:09 +00:00
Jack Grigg 4cb8973c22 make-release.py: Versioning changes for 5.4.0. 2023-02-08 17:07:58 +00:00
str4d 8b8fcddffa
Merge pull request #6406 from str4d/lower-reindex-lock-contention
Sleep for 200µs before each ActivateBestChainStep call
2023-02-07 20:36:17 +00:00
str4d 048af2d7a3
Adjust documentation of 200µs sleep
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2023-02-07 19:08:59 +00:00
str4d 932241595c
Merge pull request #6407 from str4d/6065-thin-lto
rust: Compile with ThinLTO
2023-02-06 21:33:21 +00:00
Jack Grigg 3c78835498 rust: Compile with ThinLTO
This should achieve similar performance gains to "fat" LTO (which we
were previously using) while taking substantially less time to run
(over 20s saved on a Ryzen 9 5950X).

Part of zcash/zcash#6065.
2023-02-06 18:43:51 +00:00
Daira Hopwood 1156e43992 Clarify that patches to a dependency are under the same license as that dependency.
The relevant licenses are:

* bdb: BDB (variant of Gnu Affero GPL)
* libevent: BSD-3-clause
* libsodium: ISC
* tl_expected: CC0-1.0
* zeromq: LGPL-3+ with ZeroMQ exception

In the case of zeromq, this is an explicit condition of the license --
specifically its static linking exception, which we rely on:
"If you modify this library, you must extend this exception to your
version of the library."

In all cases, patches are necessarily derived (even if only trivially)
from the code they are patching. We technically could relicense to MIT
in some cases, but using the original license for patches we've written
is a courtesy that makes it easier for upstream to adopt the patch, even
if we don't specifically file a PR.

native_cctools is also patched, but Debian copyright policy does not
require `contrib/debian/copyright` to mention this dependency, because
it is only part of the build process and its contents do not get compiled
into the resulting build:
https://www.debian.org/doc/debian-policy/ch-archive.html#s-pkgcopyright

In all cases I checked that we have the right to distribute the patch
under the relevant license (i.e. it doesn't depend on any incompatible
third-party contributions). Reviewers should satisfy themselves of this.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2023-02-06 15:17:51 +00:00
Daira Hopwood feec543abf
Merge pull request #6384 from daira/fix-github-deps
Change to a more recent URL format for GitHub archives
2023-02-06 14:13:09 +00:00
Jack Grigg e2cd1b761f Sleep for 200us before each ActivateBestChainStep call
This should lower the main thread's likelihood to immediately reacquire
cs_main after dropping it, which should help ThreadNotifyWallets and the
RPC methods to acquire cs_main more quickly.

Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2023-02-03 23:12:28 +00:00
Jack Grigg 9ce6753909 Retroactively enable ZIP 216 before NU5 activation
This completes the work started in zcash/zcash#6000.

Closes zcash/zcash#6396.
2023-02-02 22:48:00 +00:00
Charlie O'Keefe 251432966f
Merge pull request #6401 from nuttycom/version-5.4.0-back_merge
Back-merge version-5.4.0 changes to `master`.
2023-02-02 15:36:12 -07:00
Charlie O'Keefe b7d613b6ca
Merge pull request #6313 from str4d/6309-backport-blockassembler
Backport `BlockAssembler` class
2023-02-02 15:33:45 -07:00
Jack Grigg f789229a33 CreateNewBlock: Leave more space for Orchard shielded coinbase 2023-02-02 21:47:16 +00:00
Kris Nuttycombe bd2cabf6fd
Merge pull request #6391 from nuttycom/release-v5.4.0-rc4
Release v5.4.0-rc4
2023-02-01 19:51:10 -07:00
Charlie O'Keefe adfc721843
Merge pull request #6176 from nuttycom/metrics_docker_compose
Add a docker-compose.yml for prometheus/grafana metrics collection.
2023-02-01 18:19:37 -07:00
Kris Nuttycombe 7b28054e8b make-release.py: Updated release notes and changelog for 5.4.0-rc4. 2023-02-01 17:37:55 -07:00
Kris Nuttycombe 6abe21ba45 make-release.py: Updated manpages for 5.4.0-rc4. 2023-02-01 17:37:54 -07:00
Kris Nuttycombe 6ae749d4d9 make-release.py: Versioning changes for 5.4.0-rc4. 2023-02-01 17:35:05 -07:00
Kris Nuttycombe 582dc52b67 Add #6387 fix to v5.4.0 release notes. 2023-02-01 17:34:35 -07:00
Kris Nuttycombe 5fb4385c5a Postpone rustcxx and native_cxxbridge versions 1.0.89 2023-02-01 17:28:38 -07:00
Charlie O'Keefe e8ae3d97a1
Merge pull request #6394 from nuttycom/zmq_check_snprintf_return
Patch zeromq to check the return value of snprintf where necessary.
2023-02-01 17:19:45 -07:00
Kris Nuttycombe 141d7c29d3
Merge pull request #6236 from zcash/fix_tar_extractall
Adding tarfile member sanitization to extractall()
2023-02-01 16:33:34 -07:00
Kris Nuttycombe c6b1b98389 Apply suggestions from code review
Co-authored-by: Greg Pfeil <greg@technomadic.org>
2023-02-01 13:56:25 -07:00
Kris Nuttycombe 7024b7f5c0 Patch zeromq to check the return value of snprintf where necessary.
@daira identified an error in https://github.com/zeromq/libzmq/pull/4494
that we reproduced in zcash/zcash#6393. This adds @daira's patch from
https://github.com/zeromq/libzmq/pull/4507 to ensure we handle this
potential case of undefined behavior.

Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2023-02-01 12:31:13 -07:00
Kris Nuttycombe aef66f4845 Add a docker-compose.yml for prometheus/grafana metrics collection.
@str4d provided the zcashd-metrics dashboard.

Co-authored-by: Jack Grigg <jack@z.cash>
2023-02-01 08:51:23 -07:00
Kris Nuttycombe db0d0deef8
Merge pull request #6385 from rex4539/typos
Fix typo
2023-02-01 07:02:58 -07:00
Kris Nuttycombe 0fab09d46e
Merge pull request #6393 from nuttycom/fix/zeromq_macos_build
Patch uses of `sprintf` in `zeromq` that break the build on macOS
2023-01-31 21:26:33 -07:00
Kris Nuttycombe 9751b18207 Patch uses of `sprintf` in `zeromq` that break the build on macOS
Fixes #6006, #6296
2023-01-31 15:55:33 -07:00
Kris Nuttycombe 26dbee2c5f
Merge pull request #6387 from str4d/6004-orchard-reindex
Reset Orchard wallet state in `CWallet::ClearNoteWitnessCache`
2023-01-31 13:36:33 -07:00
str4d bb675d9799
Merge pull request #6390 from nuttycom/merge/version-5.4.0
Partial merge of v5.4.0 release content back to `master`.
2023-01-31 19:01:05 +00:00
Kris Nuttycombe 192804a081 Merge branch 'version-5.4.0' into 'master' 2023-01-30 21:19:54 -07:00